权限:移除业务物理删除入口

This commit is contained in:
焦龙言
2026-09-24 08:13:16 +08:00
parent 4706c4afeb
commit ae8c4c8c38
35 changed files with 668 additions and 445 deletions
@@ -30,11 +30,10 @@
@click="handleUpdate()" v-hasPermi="['master:site:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5"><el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['master:site:remove']">删除</el-button></el-col>
<el-col :span="1.5"><el-button type="warning" plain icon="User" :disabled="single" @click="handleAssign()" v-hasPermi="['master:site:assign']">分配用户</el-button></el-col>
</el-row>
<el-row v-if="userStore.admin === true && !testBatchStore.isTestMode" :gutter="10" class="mb8 master-toolbar">
<el-col :span="1.5"><el-button type="warning" plain icon="FolderAdd" :disabled="!selectedIds.length" @click="openAdoptionDialog">纳入测试批次</el-button></el-col>
<el-col :span="1.5"><el-button type="warning" plain icon="FolderAdd" :disabled="!selectedIds.length" @click="openAdoptionDialog" v-hasPermi="['system:testbatch:adopt']">纳入测试批次</el-button></el-col>
</el-row>
<el-alert v-if="loadError" :title="loadError" type="error" :closable="false" show-icon class="mb8" />
@@ -58,10 +57,6 @@
v-if="proxy.$auth.hasPermiAnd(['master:site:query', 'master:site:edit'])"
link type="primary" icon="Edit" :disabled="detailLoading" @click="handleUpdate(scope.row)" v-hasPermi="['master:site:edit']"
>修改</el-button>
<el-button
v-if="scope.row.canRemove === true"
link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['master:site:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -128,7 +123,7 @@
<script setup name="Site">
import BusinessUserAssignDialog from "@/components/BusinessUserAssignDialog";
import { addSite, delSite, getSite, listSite, updateSite } from "@/api/master/site";
import { addSite, getSite, listSite, updateSite } from "@/api/master/site";
import TestBatchAdoptionDialog from '@/components/TestBatchAdoptionDialog'
import useUserStore from '@/store/modules/user'
import useTestBatchStore from '@/store/modules/testBatch'
@@ -141,7 +136,6 @@ const adoptionDialogRef = ref()
const { sys_normal_disable } = proxy.useDict("sys_normal_disable");
const siteList = ref([]);
const selectedIds = ref([]);
const removableIds = ref([]);
const selectedRows = ref([]);
const assignDialogRef = ref();
const loading = ref(false);
@@ -151,7 +145,6 @@ const loadError = ref("");
const formError = ref("");
const open = ref(false);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
let listGeneration = 0;
@@ -244,11 +237,7 @@ function resetQuery() { proxy.resetForm("queryRef"); handleQuery(); }
function handleSelectionChange(selection) {
selectedRows.value = selection;
selectedIds.value = selection.map((item) => item.siteId);
removableIds.value = selection
.filter((item) => item.canRemove === true)
.map((item) => item.siteId);
single.value = selectedIds.value.length !== 1;
multiple.value = removableIds.value.length === 0;
}
function openAdoptionDialog() { adoptionDialogRef.value?.open() }
@@ -343,15 +332,5 @@ function submitUpdate() {
}).finally(() => { submitLoading.value = false; });
});
}
function handleDelete(row) {
const targetIds = row?.siteId ? (row.canRemove === true ? [row.siteId] : []) : removableIds.value;
if (!targetIds.length) { proxy.$modal.msgWarning("请选择允许删除的客户现场"); return; }
proxy.$modal.confirm(`是否确认删除现场编号为“${targetIds.join(",")}”的数据项?`).then(() =>
delSite(targetIds.join(","))
).then(() => { proxy.$modal.msgSuccess("删除成功"); getList(); }).catch((error) => {
if (error !== "cancel" && error !== "close") loadError.value = "客户现场删除失败,请稍后重试";
});
}
getList();
</script>