feat: 权限标识

master
李小林 7 months ago
parent be5dd88986
commit 951d92e3be
  1. 4
      src/views/family/operate/order/components/ModifyOrder.vue
  2. 15
      src/views/family/operate/order/components/OrderInfoEdit.vue
  3. 1
      src/views/family/operate/order/index.vue
  4. 3
      src/views/family/operate/remote-operation/components/DeviceLinkInfo.vue
  5. 5
      src/views/family/operate/remote-operation/components/DeviceOperateLog.vue
  6. 80
      src/views/family/operate/remote-operation/components/DeviceTaskTable.vue
  7. 61
      src/views/family/operate/remote-operation/components/RemoteOperateInfo.vue
  8. 7
      src/views/family/operate/remote-operation/components/ServiceParameter.vue
  9. 3
      src/views/resources/customer/components/AddCustom.vue
  10. 7
      src/views/resources/customer/index.vue
  11. 9
      src/views/resources/device-type/components/DeviceTypeToVer.vue
  12. 27
      src/views/resources/device-type/components/DeviceTypeVersionEdit.vue
  13. 14
      src/views/resources/device-type/index.vue
  14. 12
      src/views/resources/equipment/components/EquipmentEdit.vue
  15. 8
      src/views/resources/equipment/index.vue
  16. 21
      src/views/resources/operate-type/index.vue
  17. 9
      src/views/resources/service/index.vue
  18. 10
      src/views/resources/tr069/components/BindingService.vue
  19. 6
      src/views/resources/tr069/components/Tr069DevTypeSoftVerList.vue
  20. 17
      src/views/resources/tr069/components/Tr069Service.vue
  21. 24
      src/views/resources/tr069/index.vue
  22. 1
      src/views/system/user/index.vue

@ -20,7 +20,9 @@
@confirm="submitForm(ruleFormRef)" @confirm="submitForm(ruleFormRef)"
> >
<template #reference> <template #reference>
<el-button type="primary">保存</el-button> <el-button type="primary" v-hasPerm="['order:detail:update']"
>保存</el-button
>
</template> </template>
</el-popconfirm> </el-popconfirm>
</template> </template>

@ -12,7 +12,9 @@
@confirm="save" @confirm="save"
> >
<template #reference> <template #reference>
<el-button type="primary">保存</el-button> <el-button type="primary" v-hasPerm="['order:detail:update:status']"
>保存</el-button
>
</template> </template>
</el-popconfirm> </el-popconfirm>
<el-popconfirm <el-popconfirm
@ -29,9 +31,14 @@
</template> </template>
</el-popconfirm> </el-popconfirm>
<el-button type="primary" @click="skipModifyOrder">修改</el-button> <el-button
<el-button type="primary" @click="skipOperate">设备操作维护</el-button> type="primary"
<el-button type="primary" @click="openOrderLog">工单日志</el-button> @click="skipModifyOrder"
v-hasPerm="['order:detail:update']"
>修改</el-button
>
<el-button type="primary" @click="skipOperate" v-hasPerm="['order:detail:operate:maintain']">设备操作维护</el-button>
<el-button type="primary" @click="openOrderLog" v-hasPerm="['order:detail:log']">工单日志</el-button>
</div> </div>
<el-card shadow="never" v-loading="loading"> <el-card shadow="never" v-loading="loading">
<el-scrollbar height="500"> <el-scrollbar height="500">

@ -45,6 +45,7 @@
<el-button <el-button
type="primary" type="primary"
style="margin-right: 10px" style="margin-right: 10px"
v-hasPerm="['order:index:merge']"
@click="openMergerOrder" @click="openMergerOrder"
>合并工单 >合并工单
</el-button> </el-button>

@ -7,6 +7,7 @@
type="primary" type="primary"
:disabled="linkFlag" :disabled="linkFlag"
:icon="Refresh" :icon="Refresh"
v-hasPerm="['remote:detail:device:link']"
@click="loadRemoteDeviceLinkInfo" @click="loadRemoteDeviceLinkInfo"
>获取设备链路信息</el-button >获取设备链路信息</el-button
> >
@ -14,12 +15,14 @@
<el-button <el-button
type="primary" type="primary"
:icon="Refresh" :icon="Refresh"
v-hasPerm="['remote:detail:fttr:primary']"
@click="loadRemoteFTTRPrimaryGateway" @click="loadRemoteFTTRPrimaryGateway"
>刷新设备主网关信息</el-button >刷新设备主网关信息</el-button
> >
<el-button <el-button
type="primary" type="primary"
:icon="Refresh" :icon="Refresh"
v-hasPerm="['remote:detail:fttr:sub']"
@click="loadRemoteFTTRSubGateway" @click="loadRemoteFTTRSubGateway"
>刷新设备子网关信息</el-button >刷新设备子网关信息</el-button
> >

@ -9,6 +9,9 @@
>设备日志信息列表</span >设备日志信息列表</span
> >
</div> </div>
<div>
<el-button type="primary" :icon="Refresh" @click="getData">刷新</el-button>
</div>
</div> </div>
</template> </template>
<div class="any-table"> <div class="any-table">
@ -81,7 +84,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { DeviceLogVO } from "@/api/operate-log/types"; import { DeviceLogVO } from "@/api/operate-log/types";
import { operateLogPage } from "@/api/operate-log"; import { operateLogPage } from "@/api/operate-log";
import { Grid } from "@element-plus/icons-vue"; import { Grid, Refresh } from "@element-plus/icons-vue";
const route = useRoute(); const route = useRoute();
let devId: number = parseInt(<string>route.params.devId); let devId: number = parseInt(<string>route.params.devId);

@ -1,38 +1,60 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="any-table"> <el-card shadow="never">
<el-table :data="tableData" v-loading="loading" max-height="500"> <template #header>
<el-table-column label="任务编号" prop="operTaskId" align="center"> <div class="flex justify-between">
<template #default="scope"> <div style="display: flex; align-items: center">
<el-button type="primary" link>{{ <el-icon size="15"><Grid /></el-icon>&nbsp;<span
scope.row.operTaskId style="font-weight: 700; font-size: 14px; line-height: 16px"
}}</el-button> >远程操作任务列表</span
</template> >
</el-table-column> </div>
<el-table-column label="AD编号" prop="devAdNo" align="center" /> <div>
<el-table-column label="任务描述" prop="operTaskDesc" align="center" /> <el-button type="primary" :icon="Refresh" @click="getData"
<el-table-column label="操作者" prop="userName" align="center" /> >刷新</el-button
<el-table-column >
label="创建时间" </div>
prop="operTaskCreateTime" </div>
align="center" </template>
<div class="any-table">
<el-table :data="tableData" v-loading="loading" max-height="500">
<el-table-column label="任务编号" prop="operTaskId" align="center">
<template #default="scope">
<el-button type="primary" link>{{
scope.row.operTaskId
}}</el-button>
</template>
</el-table-column>
<el-table-column label="AD编号" prop="devAdNo" align="center" />
<el-table-column
label="任务描述"
prop="operTaskDesc"
align="center"
/>
<el-table-column label="操作者" prop="userName" align="center" />
<el-table-column
label="创建时间"
prop="operTaskCreateTime"
align="center"
/>
<el-table-column label="结果" prop="resultState" align="center" />
</el-table>
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryForm.pageNum"
v-model:limit="queryForm.pageSize"
@pagination="getData"
/> />
<el-table-column label="结果" prop="resultState" align="center" /> </div>
</el-table> </el-card>
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryForm.pageNum"
v-model:limit="queryForm.pageSize"
@pagination="getData"
/>
</div>
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { OperateTask2TableVO } from "@/api/operate-task2/types"; import { OperateTask2TableVO } from "@/api/operate-task2/types";
import { operateTask2Page } from "@/api/operate-task2"; import { operateTask2Page } from "@/api/operate-task2";
import { Grid, Refresh } from "@element-plus/icons-vue";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
let devId: number = parseInt(<string>route.params.devId); let devId: number = parseInt(<string>route.params.devId);
@ -56,4 +78,8 @@ onMounted(() => {
}); });
</script> </script>
<style scoped></style> <style scoped>
:deep(.el-card__body) {
padding: 10px 0 0 0;
}
</style>

@ -29,7 +29,12 @@
title="确定解绑逻辑ID吗?" title="确定解绑逻辑ID吗?"
> >
<template #reference> <template #reference>
<el-button type="primary" class="mr-3">解绑逻辑ID</el-button> <el-button
type="primary"
v-hasPerm="['remote:detail:unbinding:logicId']"
class="mr-3"
>解绑逻辑ID</el-button
>
</template> </template>
</el-popconfirm> </el-popconfirm>
</template> </template>
@ -106,6 +111,7 @@
<el-button <el-button
v-loading="pwdLoading" v-loading="pwdLoading"
type="primary" type="primary"
v-hasPerm="['remote:detail:account:pwd']"
link link
@click="setAccountPwd" @click="setAccountPwd"
> >
@ -214,42 +220,65 @@
> >
<div class="flex justify-center"> <div class="flex justify-center">
<remote-operate-list <remote-operate-list
class="mr-2"
:pppoe="remote.devPppoe" :pppoe="remote.devPppoe"
:dev-id="devId" :dev-id="devId"
:type-and-ver-id="typeAndVerId" :type-and-ver-id="typeAndVerId"
/> />
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipDevOrder" <el-button
type="primary"
link
@click="skipDevOrder"
v-hasPerm="['remote:detail:device:order']"
>设备工单</el-button >设备工单</el-button
> >
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipDevTask2"
<el-button
type="primary"
link
@click="skipDevTask2"
v-hasPerm="['remote:detail:task:list']"
>设备任务列表</el-button >设备任务列表</el-button
> >
<el-divider direction="vertical" /> <el-button
type="primary"
<el-button type="primary" link @click="skipProfiles" link
@click="skipProfiles"
v-hasPerm="['remote:detail:profile']"
>终端配置文件</el-button >终端配置文件</el-button
> >
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipTerminalLogFiles" <el-button
type="primary"
link
@click="skipTerminalLogFiles"
v-hasPerm="['remote:detail:terminal:log']"
>终端日志文件</el-button >终端日志文件</el-button
> >
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipDeviceOperateLog" <el-button
type="primary"
link
@click="skipDeviceOperateLog"
v-hasPerm="['remote:detail:operate:log']"
>设备操作日志</el-button >设备操作日志</el-button
> >
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipSoapPackageLog" <el-button
type="primary"
link
@click="skipSoapPackageLog"
v-hasPerm="['remote:detail:soap:log']"
>SOAP包日志</el-button >SOAP包日志</el-button
> >
<el-divider direction="vertical" />
<el-button type="primary" link @click="skipDevTypeVerLog" <el-button
type="primary"
link
@click="skipDevTypeVerLog"
v-hasPerm="['remote:detail:interface:info']"
>软件版本对外接口调用信息</el-button >软件版本对外接口调用信息</el-button
> >
</div> </div>

@ -8,9 +8,14 @@
@click="compareParameter" @click="compareParameter"
plain plain
:disabled="disableFlag" :disabled="disableFlag"
v-hasPerm="['remote:detail:service:compare']"
>业务参数对照</el-button >业务参数对照</el-button
> >
<el-button type="primary" @click="resetService" plain <el-button
type="primary"
@click="resetService"
plain
v-hasPerm="['remote:detail:service:reset']"
>重置业务</el-button >重置业务</el-button
> >
</div> </div>

@ -598,4 +598,7 @@ onMounted(() => {
:deep(.my-label) { :deep(.my-label) {
background: var(--el-color-white) !important; background: var(--el-color-white) !important;
} }
:deep(.el-card__body) {
padding: 10px 5px;
}
</style> </style>

@ -58,7 +58,11 @@
<el-card shadow="never"> <el-card shadow="never">
<template #header> <template #header>
<div style="display: flex; justify-content: flex-end"> <div style="display: flex; justify-content: flex-end">
<el-button type="primary" :icon="Plus" @click="skipAddCustom" <el-button
type="primary"
v-hasPerm="['custom:index:add']"
:icon="Plus"
@click="skipAddCustom"
>新增</el-button >新增</el-button
> >
<el-popconfirm <el-popconfirm
@ -75,6 +79,7 @@
type="danger" type="danger"
:disabled="multiples.length === 0" :disabled="multiples.length === 0"
:icon="Delete" :icon="Delete"
v-hasPerm="['custom:index:delete']"
>删除</el-button >删除</el-button
> >
</template> </template>

@ -72,7 +72,11 @@
> >
</div> </div>
<div> <div>
<el-button type="primary" @click="openAddTypeVer"> <el-button
type="primary"
@click="openAddTypeVer"
v-hasPerm="['device:type:ver:add']"
>
<i-ep-plus /> <i-ep-plus />
增加设备类型软件版本 增加设备类型软件版本
</el-button> </el-button>
@ -188,6 +192,7 @@
<el-button <el-button
type="primary" type="primary"
link link
v-hasPerm="['device:type:ver:copy']"
@click="handleCopy(scope.row.typeAndVerId)" @click="handleCopy(scope.row.typeAndVerId)"
> >
<el-icon size="16px"> <el-icon size="16px">
@ -199,6 +204,7 @@
<el-button <el-button
type="primary" type="primary"
link link
v-hasPerm="['device:type:ver:delete']"
@click="handleDevTypeVer(scope.row.typeAndVerId)" @click="handleDevTypeVer(scope.row.typeAndVerId)"
> >
<i-ep-delete /> <i-ep-delete />
@ -209,6 +215,7 @@
<el-button <el-button
type="primary" type="primary"
link link
v-hasPerm="['device:type:ver:delete:file']"
@click="handleDelVerFile(scope.row)" @click="handleDelVerFile(scope.row)"
> >
<el-icon size="16px"> <el-icon size="16px">

@ -18,7 +18,10 @@
</div> </div>
</template> </template>
<template #extra> <template #extra>
<el-button @click="submitForm(typeVerFormRef)" type="primary" <el-button
@click="submitForm(typeVerFormRef)"
v-hasPerm="['device:type:ver:update:info']"
type="primary"
><el-icon><EditPen /></el-icon></el-button ><el-icon><EditPen /></el-icon></el-button
> >
</template> </template>
@ -232,7 +235,10 @@
</div> </div>
</template> </template>
<template #extra> <template #extra>
<el-button @click="submitCapabilityForm" type="primary" <el-button
@click="submitCapabilityForm"
v-hasPerm="['device:type:ver:update:capability']"
type="primary"
><el-icon><EditPen /></el-icon></el-button ><el-icon><EditPen /></el-icon></el-button
> >
</template> </template>
@ -449,7 +455,10 @@
> >
</div> </div>
<div> <div>
<el-button type="primary" @click="openVendorProfile" <el-button
type="primary"
v-hasPerm="['device:type:ver:add:profile']"
@click="openVendorProfile"
><i-ep-plus />增加厂商配置文件</el-button ><i-ep-plus />增加厂商配置文件</el-button
> >
</div> </div>
@ -483,7 +492,12 @@
@confirm="handleDeleteFile(scope.row.fileId)" @confirm="handleDeleteFile(scope.row.fileId)"
> >
<template #reference> <template #reference>
<el-button type="danger" link><i-ep-delete /></el-button> <el-button
type="danger"
v-hasPerm="['device:type:ver:delete:profile']"
link
><i-ep-delete
/></el-button>
</template> </template>
</el-popconfirm> </el-popconfirm>
</template> </template>
@ -500,7 +514,10 @@
> >
</div> </div>
<div> <div>
<el-button type="primary" @click="openDomainTree" <el-button
type="primary"
v-hasPerm="['device:type:ver:add:domain']"
@click="openDomainTree"
><i-ep-plus />增加系统管理域</el-button ><i-ep-plus />增加系统管理域</el-button
> >
</div> </div>

@ -73,8 +73,18 @@
<template #header> <template #header>
<div class="table-head-parent"> <div class="table-head-parent">
<div> <div>
<el-button type="primary" @click="skipAdd" plain><i-ep-plus />新增</el-button> <el-button
<el-button type="danger" plain @click="handleDeletes" type="primary"
@click="skipAdd"
v-hasPerm="['device:type:add']"
plain
><i-ep-plus />新增</el-button
>
<el-button
type="danger"
plain
@click="handleDeletes"
v-hasPerm="['device:type:delete']"
><i-ep-delete />删除</el-button ><i-ep-delete />删除</el-button
> >
</div> </div>

@ -10,6 +10,7 @@
@click="submitForm(editFormRef)" @click="submitForm(editFormRef)"
:icon="Position" :icon="Position"
type="primary" type="primary"
v-hasPerm="['equipment:detail:update:info']"
>保存 >保存
</el-button> </el-button>
</div> </div>
@ -326,12 +327,19 @@
title="确认解除设备与客户的绑定?" title="确认解除设备与客户的绑定?"
> >
<template #reference> <template #reference>
<el-button type="primary">解除绑定 </el-button> <el-button
type="primary"
v-hasPerm="['equipment:detail:unbinding:customer']"
>解除绑定
</el-button>
</template> </template>
</el-popconfirm> </el-popconfirm>
</div> </div>
<div v-else> <div v-else>
<el-button @click="skipBindingCustom" type="primary" <el-button
@click="skipBindingCustom"
v-hasPerm="['equipment:detail:binding:customer']"
type="primary"
>绑定客户</el-button >绑定客户</el-button
> >
</div> </div>

@ -41,7 +41,12 @@
<template #header> <template #header>
<div class="table-head-parent"> <div class="table-head-parent">
<div> <div>
<el-button type="primary" plain @click="skipAdd" :icon="Plus" <el-button
type="primary"
v-hasPerm="['equipment:index:add']"
plain
@click="skipAdd"
:icon="Plus"
>新增</el-button >新增</el-button
> >
<el-popconfirm <el-popconfirm
@ -56,6 +61,7 @@
type="danger" type="danger"
:disabled="multiples.length === 0" :disabled="multiples.length === 0"
plain plain
v-hasPerm="['equipment:index:delete']"
:icon="Delete" :icon="Delete"
>删除</el-button >删除</el-button
> >

@ -6,7 +6,11 @@
<el-button type="primary" :icon="Refresh" @click="getData" <el-button type="primary" :icon="Refresh" @click="getData"
>刷新 >刷新
</el-button> </el-button>
<el-button type="primary" :icon="Plus" @click="skipAddOperateType" <el-button
type="primary"
v-hasPerm="['operate:type:add']"
:icon="Plus"
@click="skipAddOperateType"
>新增 >新增
</el-button> </el-button>
<el-popconfirm <el-popconfirm
@ -22,6 +26,7 @@
<el-button <el-button
:disabled="multiples.length === 0" :disabled="multiples.length === 0"
type="danger" type="danger"
v-hasPerm="['operate:type:delete']"
:icon="Delete" :icon="Delete"
>删除</el-button >删除</el-button
> >
@ -67,7 +72,12 @@
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column label="组件操作者" prop="userName" align="center" /> <el-table-column label="组件操作者" prop="userName" align="center" />
<el-table-column label="组件描述" prop="remark" align="center" /> <el-table-column
label="组件描述"
prop="remark"
show-overflow-tooltip
align="center"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.fileId != undefined"> <div v-if="scope.row.fileId != undefined">
@ -81,7 +91,11 @@
title="确认删除该文件吗?" title="确认删除该文件吗?"
> >
<template #reference> <template #reference>
<el-button type="danger" :icon="Delete" link <el-button
type="danger"
v-hasPerm="['operate:type:delete:file']"
:icon="Delete"
link
>删除文件 >删除文件
</el-button> </el-button>
</template> </template>
@ -92,6 +106,7 @@
@click="openOperateFile(scope.row.operateName)" @click="openOperateFile(scope.row.operateName)"
type="primary" type="primary"
:icon="Upload" :icon="Upload"
v-hasPerm="['operate:type:upload:file']"
link link
>上传文件</el-button >上传文件</el-button
> >

@ -4,7 +4,11 @@
<div style="display: flex; justify-content: flex-end; margin-right: 10px"> <div style="display: flex; justify-content: flex-end; margin-right: 10px">
<el-form> <el-form>
<el-form-item> <el-form-item>
<el-button :icon="Plus" type="primary" @click="skipBusinessForm(0)" <el-button
:icon="Plus"
v-hasPerm="['service:index:add']"
type="primary"
@click="skipBusinessForm(0)"
>新增</el-button >新增</el-button
> >
<el-button <el-button
@ -18,6 +22,7 @@
:icon="Delete" :icon="Delete"
:disabled="multipleSelection.length === 0" :disabled="multipleSelection.length === 0"
type="danger" type="danger"
v-hasPerm="['service:index:delete']"
@click="handleDelete" @click="handleDelete"
>删除</el-button >删除</el-button
> >
@ -69,6 +74,7 @@
v-else v-else
type="danger" type="danger"
link link
v-hasPerm="['service:index:upload']"
@click="openPluginFile(scope.row.servId)" @click="openPluginFile(scope.row.servId)"
> >
上传文件</el-button 上传文件</el-button
@ -88,6 +94,7 @@
:disabled="scope.row.fileId === null" :disabled="scope.row.fileId === null"
:icon="Delete" :icon="Delete"
plain plain
v-hasPerm="['service:index:delete:file']"
link link
>删除文件</el-button >删除文件</el-button
> >

@ -2,7 +2,13 @@
<div class="app-container"> <div class="app-container">
<el-card shadow="never"> <el-card shadow="never">
<template #header> <template #header>
<div style="display: flex; justify-content: flex-end"> <div style="display: flex; justify-content: space-between">
<div style="display: flex; align-items: center; margin-left: 3px">
<el-icon size="15"><Grid /></el-icon>&nbsp;<span
style="font-weight: 700; font-size: 14px; line-height: 16px"
>业务信息列表</span
>
</div>
<el-button <el-button
type="primary" type="primary"
:disabled="multipleSelection.length === 0" :disabled="multipleSelection.length === 0"
@ -46,7 +52,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { bindingTr069Service, noBindingServiceList } from "@/api/service"; import { bindingTr069Service, noBindingServiceList } from "@/api/service";
import { ServiceVO } from "@/api/service/types"; import { ServiceVO } from "@/api/service/types";
import { Position } from "@element-plus/icons-vue"; import { Grid, Position } from "@element-plus/icons-vue";
const route = useRoute(); const route = useRoute();
let tr069VerId: number = parseInt(<string>route.params.tr069VerId); let tr069VerId: number = parseInt(<string>route.params.tr069VerId);
const totalService = ref<number>(0); const totalService = ref<number>(0);

@ -10,7 +10,11 @@
> >
</div> </div>
<div> <div>
<el-button type="primary" @click="skipBindingDevType"> <el-button
type="primary"
v-hasPerm="['te069:binding:device:type']"
@click="skipBindingDevType"
>
<i-ep-plus /> <i-ep-plus />
新增 新增
</el-button> </el-button>

@ -2,11 +2,18 @@
<div class="app-container"> <div class="app-container">
<el-card shadow="never"> <el-card shadow="never">
<template #header> <template #header>
<div style="display: flex; justify-content: flex-end"> <div style="display: flex; justify-content: space-between">
<div style="display: flex; align-items: center; margin-left: 3px">
<el-icon size="15"><Grid /></el-icon>&nbsp;<span
style="font-weight: 700; font-size: 14px; line-height: 16px"
>TR-069数据模型版本对应的业务信息列表</span
>
</div>
<el-button <el-button
:icon="Plus" :icon="Plus"
type="primary" type="primary"
plain plain
v-hasPerm="['tr069:binding:service']"
@click="skipBindingService" @click="skipBindingService"
>新增</el-button >新增</el-button
> >
@ -37,7 +44,11 @@
@confirm="removeBinding(scope.row.servId)" @confirm="removeBinding(scope.row.servId)"
> >
<template #reference> <template #reference>
<el-button type="primary" :icon="CloseBold" link <el-button
type="primary"
v-hasPerm="['tr069:unbinding:service']"
:icon="CloseBold"
link
>解除绑定</el-button >解除绑定</el-button
> >
</template> </template>
@ -59,7 +70,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { removeBindingTr069Service, tr069ServiceList } from "@/api/service"; import { removeBindingTr069Service, tr069ServiceList } from "@/api/service";
import { CloseBold, InfoFilled, Plus } from "@element-plus/icons-vue"; import { CloseBold, Grid, InfoFilled, Plus } from "@element-plus/icons-vue";
import { ServiceVO } from "@/api/service/types"; import { ServiceVO } from "@/api/service/types";
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();

@ -1,17 +1,29 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="search-container"> <div class="search-container">
<div style="display: flex; justify-content: flex-end;margin-right: 10px"> <div style="display: flex; justify-content: flex-end; margin-right: 10px">
<el-form> <el-form>
<el-form-item> <el-form-item>
<el-button type="primary" plain @click="goto(-999, -999)" <el-button
type="primary"
v-hasPerm="['tr069:index:add']"
plain
@click="goto(-999, -999)"
><i-ep-plus />新增</el-button ><i-ep-plus />新增</el-button
> >
<el-button type="primary" @click="openTr069FileForm" plain <el-button
type="primary"
v-hasPerm="['tr069:index:import']"
@click="openTr069FileForm"
plain
><i-ep-plus />导入TR069文件</el-button ><i-ep-plus />导入TR069文件</el-button
> >
<el-button @click="loadTr069Page" plain><i-ep-refresh /></el-button> <el-button @click="loadTr069Page" plain
<el-button type="danger" plain><i-ep-delete />删除</el-button> ><i-ep-refresh />刷新</el-button
>
<el-button type="danger" v-hasPerm="['tr069:index:delete']" plain
><i-ep-delete />删除</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -62,6 +74,7 @@
<el-button <el-button
type="primary" type="primary"
link link
v-hasPerm="['tr069:index:device:type:ver:list']"
@click="skipDevTypeSoftVerList(scope.row.tr069VerId)" @click="skipDevTypeSoftVerList(scope.row.tr069VerId)"
> >
<el-icon size="15"><Link /></el-icon> <el-icon size="15"><Link /></el-icon>
@ -76,6 +89,7 @@
<el-button <el-button
type="primary" type="primary"
link link
v-hasPerm="['tr069:index:service:list']"
@click="skipService(scope.row.tr069VerId)" @click="skipService(scope.row.tr069VerId)"
> >
<el-icon size="15"><View /></el-icon> <el-icon size="15"><View /></el-icon>

@ -138,6 +138,7 @@
key="username" key="username"
label="用户名" label="用户名"
align="center" align="center"
width="120"
prop="username" prop="username"
/> />
<el-table-column <el-table-column

Loading…
Cancel
Save