feat: 设备操作组件删除

master
李小林 9 months ago
parent 0516fe9bdc
commit ccdaa7c7d1
  1. 7
      src/api/operate-type/index.ts
  2. 4
      src/views/resources/customer/components/AddCustom.vue
  3. 38
      src/views/resources/customer/index.vue
  4. 5
      src/views/resources/equipment/index.vue
  5. 63
      src/views/resources/operate-type/index.vue

@ -36,3 +36,10 @@ export function editOperateTypeFile(fileId?: number, operateName?: string) {
method: "PUT",
});
}
export function deleteOperateType(ids: any[]) {
return request({
url: "/api/operate/v1/delete",
method: "POST",
data: ids,
});
}

@ -94,7 +94,7 @@
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label="客户类型"
label="系统管理域"
label-align="left"
align="center"
label-class-name="my-label"
@ -476,7 +476,9 @@ const skipDev = (devId: number) => {
};
const currentDevId = ref<number>(0);
const handleDevChange = (val: EquipmentTableVO) => {
if (val.devId != null) {
currentDevId.value = val.devId;
}
};
async function loadDomainOptions() {
await getDomainOptions().then(({ data }) => {

@ -9,6 +9,7 @@
v-model="queryForm.selectName"
placeholder="请选择"
style="width: 240px"
@change="resetSelect"
clearable
>
<el-option
@ -20,13 +21,30 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="queryForm.selectName != undefined">
<el-col
:span="6"
v-if="
queryForm.selectName !== undefined &&
queryForm.selectName !== 'regionAreaId'
"
>
<el-input
v-model="queryForm.selectValue"
placeholder="请输入"
style="width: 300px"
/>
</el-col>
<el-col :span="6" v-if="queryForm.selectName === 'regionAreaId'">
<el-tree-select
v-model="queryForm.selectValue"
placeholder="请选择所属管理域"
:data="domainOptions"
filterable
check-strictly
style="width: 300px"
:render-after-expand="false"
/>
</el-col>
<el-col :span="buttonColSpan">
<el-form-item>
<el-button type="primary" :icon="Search" @click="queryCustomer"
@ -140,6 +158,7 @@ import {
import { ElTable } from "element-plus";
import { CustomerVO } from "@/api/customer/types";
import { customerPage, deleteCustom, updateStatus } from "@/api/customer";
import { getDomainOptions } from "@/api/domain";
defineOptions({
name: "Customer",
inheritAttrs: false,
@ -153,7 +172,11 @@ const loading = ref<boolean>(false);
const tableData = ref<CustomerVO[]>([]);
const total = ref<number>(0);
const router = useRouter();
const options = ref<OptionType[]>([{ label: "客户名称", value: "customName" }]);
const domainOptions = ref<OptionType[]>([]);
const options = ref<OptionType[]>([
{ label: "客户名称", value: "customName" },
{ label: "系统管理域", value: "regionAreaId" },
]);
const buttonColSpan = computed(() => {
return queryForm.value.selectName === undefined ? 18 : 12;
});
@ -222,6 +245,17 @@ const skipAddCustom = () => {
path: `/resources/custom-add`,
});
};
const resetSelect = () => {
queryForm.value.selectValue = undefined;
};
async function loadDomainOptions() {
await getDomainOptions().then(({ data }) => {
domainOptions.value = data;
});
}
onMounted(() => {
loadDomainOptions();
});
</script>
<style scoped></style>

@ -198,7 +198,10 @@ const queryForm = ref<SelectForm>({
pageSize: 10,
});
const loading = ref<boolean>(false);
const options = ref<OptionType[]>([{ label: "AD编号", value: "devAdNo" }]);
const options = ref<OptionType[]>([
{ label: "AD编号", value: "devAdNo" },
{ label: "设备序列号", value: "devSno" },
]);
const buttonColSpan = computed(() => {
return queryForm.value.selectName === undefined ? 18 : 12;
});

@ -9,11 +9,34 @@
<el-button type="primary" :icon="Plus" @click="skipAddOperateType"
>新增
</el-button>
<el-button type="danger" :icon="Delete">删除</el-button>
<el-popconfirm
width="200"
confirm-button-text="确认"
cancel-button-text="取消"
:icon="InfoFilled"
icon-color="#626AEF"
@confirm="handleDelete"
title="确认删除选中的组件吗?"
>
<template #reference>
<el-button
:disabled="multiples.length === 0"
type="danger"
:icon="Delete"
>删除</el-button
>
</template>
</el-popconfirm>
</div>
</template>
<div class="any-table">
<el-table :data="tableData" v-loading="loading" max-height="450">
<el-table
:data="tableData"
v-loading="loading"
max-height="450"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column
label="组件操作名称"
prop="operateName"
@ -41,6 +64,7 @@
label="组件上传时间"
prop="fileCreateTime"
align="center"
show-overflow-tooltip
/>
<el-table-column label="组件操作者" prop="userName" align="center" />
<el-table-column label="组件描述" prop="remark" align="center" />
@ -90,7 +114,11 @@
<script setup lang="ts">
import { DevOperateTypeVO } from "@/api/operate-type/types";
import { deleteOperateTypeFile, operateTypePage } from "@/api/operate-type";
import {
deleteOperateType,
deleteOperateTypeFile,
operateTypePage,
} from "@/api/operate-type";
import {
Delete,
InfoFilled,
@ -106,6 +134,7 @@ defineOptions({
name: "OperateType",
inheritAttrs: false,
});
const multiples = ref<DevOperateTypeVO[]>([]);
const tableData = ref<DevOperateTypeVO[]>([]);
const total = ref<number>(0);
const loading = ref<boolean>(false);
@ -152,6 +181,34 @@ const handleDeleteFile = (fileId?: number) => {
const openOperateFile = (operateName?: string) => {
operateTypeFileRef.value.open(operateName);
};
const handleSelectionChange = (val: DevOperateTypeVO[]) => {
multiples.value = val;
};
interface DeleteForm {
operateName?: string;
fileId?: number;
}
const handleDelete = () => {
let ids: DeleteForm[] = [];
multiples.value.forEach((obj) => {
ids.push({ fileId: obj.fileId, operateName: obj.operateName });
});
loading.value = true;
deleteOperateType(ids)
.then(() => {
ElMessage.success({
message: "操作成功",
type: "success",
duration: 1000,
onClose: () => {
getData();
},
});
})
.finally(() => {
loading.value = false;
});
};
onMounted(() => {
getData();
});

Loading…
Cancel
Save