Browse Source

用户、矿石、溶液、实验记录添加删除提示

master
zhangjiming 5 months ago
parent
commit
624f2ea765
  1. 9
      src/views/expeRecord/index.vue
  2. 8
      src/views/liquidConfig/index.vue
  3. 25
      src/views/oreManage/index.vue
  4. 12
      src/views/userManage/UserManage.vue

9
src/views/expeRecord/index.vue

@ -30,6 +30,7 @@
<p class="w-[8rem]">操作员</p> <p class="w-[8rem]">操作员</p>
<p>实验名称</p> <p>实验名称</p>
</header> </header>
<main class="overflow-auto" style="max-height: calc(100vh - var(--headerHeight) - var(--footerHeight) - 120px)">
<div <div
v-for="record in recordList" v-for="record in recordList"
:key="record.id" :key="record.id"
@ -43,6 +44,7 @@
<p class="w-[10rem]">{{ record.name }}</p> <p class="w-[10rem]">{{ record.name }}</p>
<p class="text-primary underline leading-[3rem] text-sm px-2" @click.stop="onDetailClick(record)">详情</p> <p class="text-primary underline leading-[3rem] text-sm px-2" @click.stop="onDetailClick(record)">详情</p>
</div> </div>
</main>
</section> </section>
<van-overlay v-if="showEditDialog" :show="true"> <van-overlay v-if="showEditDialog" :show="true">
@ -62,6 +64,7 @@ import { deleteExperienceRecords, getExperienceRecords, type ExperienceRecord }
import { showToast } from "vant"; import { showToast } from "vant";
import { useUserStore } from "@/stores/user"; import { useUserStore } from "@/stores/user";
import ExpeDetail from "./components/ExpeDetail.vue"; import ExpeDetail from "./components/ExpeDetail.vue";
import { ElMessageBox } from "element-plus";
const userStore = useUserStore(); const userStore = useUserStore();
const showEditDialog = ref<boolean>(false); const showEditDialog = ref<boolean>(false);
@ -102,6 +105,11 @@ function onSelectAll() {
function onDeleteRecords() { function onDeleteRecords() {
if (selectedIds.value.length === 0) return; if (selectedIds.value.length === 0) return;
ElMessageBox.confirm("确定删除记录?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
center: true,
}).then(() => {
deleteExperienceRecords(selectedIds.value.join(",")).then(res => { deleteExperienceRecords(selectedIds.value.join(",")).then(res => {
if (res.success) { if (res.success) {
selectedIds.value = []; selectedIds.value = [];
@ -110,6 +118,7 @@ function onDeleteRecords() {
showToast(res.msg); showToast(res.msg);
} }
}); });
});
} }
function onDetailClick(item: ExperienceRecord) { function onDetailClick(item: ExperienceRecord) {
recordForEdit.value = item; recordForEdit.value = item;

8
src/views/liquidConfig/index.vue

@ -27,6 +27,7 @@
<p class="w-16">ID</p> <p class="w-16">ID</p>
<p>溶液名称</p> <p>溶液名称</p>
</header> </header>
<main class="overflow-auto" style="max-height: calc(100vh - var(--headerHeight) - var(--footerHeight) - 120px)">
<div <div
v-for="liquid in liquidList" v-for="liquid in liquidList"
:key="liquid.id" :key="liquid.id"
@ -38,6 +39,7 @@
<p class="w-16">{{ liquid.id }}</p> <p class="w-16">{{ liquid.id }}</p>
<p class="flex-auto">{{ liquid.name }}</p> <p class="flex-auto">{{ liquid.name }}</p>
</div> </div>
</main>
</section> </section>
<van-overlay v-if="showEditDialog" :show="true"> <van-overlay v-if="showEditDialog" :show="true">
@ -125,6 +127,11 @@ function onDeleteLiquid() {
}); });
return; return;
} }
ElMessageBox.confirm("确定删除溶液?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
center: true,
}).then(() => {
deleteLiquid(selectedIds.value.join(",")).then(res => { deleteLiquid(selectedIds.value.join(",")).then(res => {
if (res.success) { if (res.success) {
selectedIds.value = []; selectedIds.value = [];
@ -133,5 +140,6 @@ function onDeleteLiquid() {
showToast(res.msg); showToast(res.msg);
} }
}); });
});
} }
</script> </script>

25
src/views/oreManage/index.vue

@ -53,6 +53,7 @@
<p class="w-[18rem]">矿石名称</p> <p class="w-[18rem]">矿石名称</p>
<p>工艺</p> <p>工艺</p>
</header> </header>
<main class="overflow-auto" style="max-height: calc(100vh - var(--headerHeight) - var(--footerHeight) - 120px)">
<div <div
v-for="ore in oreList" v-for="ore in oreList"
:key="ore.id" :key="ore.id"
@ -76,6 +77,7 @@
</ul> </ul>
</div> </div>
</div> </div>
</main>
</section> </section>
<van-overlay v-if="showCraftEditDialog" :show="true"> <van-overlay v-if="showCraftEditDialog" :show="true">
@ -189,6 +191,11 @@ function onEditOre() {
} }
function onDeleteOre() { function onDeleteOre() {
if (selectedIds.value.length === 0) return; if (selectedIds.value.length === 0) return;
ElMessageBox.confirm("确定删除矿石?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
center: true,
}).then(() => {
deleteOre(selectedIds.value.join(",")).then(res => { deleteOre(selectedIds.value.join(",")).then(res => {
if (res.success) { if (res.success) {
selectedIds.value = []; selectedIds.value = [];
@ -197,6 +204,7 @@ function onDeleteOre() {
showToast(res.msg); showToast(res.msg);
} }
}); });
});
} }
function onAddCraft() { function onAddCraft() {
craftOnEdit.value = undefined; craftOnEdit.value = undefined;
@ -211,15 +219,11 @@ function onEditCraft() {
function onDeleteCraft() { function onDeleteCraft() {
if (selectedCraftIds.value.length === 0) return; if (selectedCraftIds.value.length === 0) return;
ElMessageBox.confirm(
"确定删除工艺?",
{
confirmButtonText: '确定',
cancelButtonText: '取消',
ElMessageBox.confirm("确定删除工艺?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
center: true, center: true,
}
)
.then(() => {
}).then(() => {
deleteCraft(selectedCraftIds.value.join(",")).then(res => { deleteCraft(selectedCraftIds.value.join(",")).then(res => {
if (res.success) { if (res.success) {
selectedCraftIds.value = []; selectedCraftIds.value = [];
@ -228,10 +232,7 @@ function onDeleteCraft() {
showToast(res.msg); showToast(res.msg);
} }
}); });
})
});
} }
function confirmCraftEdit(craft: Craft) { function confirmCraftEdit(craft: Craft) {
let req; let req;

12
src/views/userManage/UserManage.vue

@ -28,7 +28,7 @@
<p class="w-40">昵称</p> <p class="w-40">昵称</p>
<p>类型</p> <p>类型</p>
</header> </header>
<main class="overflow-auto" style="max-height: calc(100vh - var(--headerHeight) - var(--footerHeight) - 120px)">
<div <div
v-for="user in userList" v-for="user in userList"
:key="user.id" :key="user.id"
@ -41,6 +41,7 @@
<p class="w-40">{{ user.nickname }}</p> <p class="w-40">{{ user.nickname }}</p>
<p class="flex-auto">{{ user.role === 1 ? "管理员" : "普通用户" }}</p> <p class="flex-auto">{{ user.role === 1 ? "管理员" : "普通用户" }}</p>
</div> </div>
</main>
</section> </section>
<van-overlay :show="showEditDialog"> <van-overlay :show="showEditDialog">
@ -61,8 +62,9 @@ import { onMounted, ref } from "vue";
import { createUser, deleteUser, getUserList, type User } from "@/services/user/userManager"; import { createUser, deleteUser, getUserList, type User } from "@/services/user/userManager";
import AddUser from "./components/AddUser.vue"; import AddUser from "./components/AddUser.vue";
import { useUserStore } from "@/stores/user"; import { useUserStore } from "@/stores/user";
import { ElMessageBox } from "element-plus";
const userStore = useUserStore()
const userStore = useUserStore();
const showEditDialog = ref<boolean>(false); const showEditDialog = ref<boolean>(false);
const userList = ref<User[]>([]); const userList = ref<User[]>([]);
@ -113,6 +115,11 @@ function addUser(user: { username: string; nickname: string; password: string })
} }
function onDeleteUser() { function onDeleteUser() {
if (selectedIds.value.length === 0) return; if (selectedIds.value.length === 0) return;
ElMessageBox.confirm("确定删除用户?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
center: true,
}).then(() => {
deleteUser(selectedIds.value.join(",")).then(res => { deleteUser(selectedIds.value.join(",")).then(res => {
if (res.success) { if (res.success) {
selectedIds.value = []; selectedIds.value = [];
@ -121,5 +128,6 @@ function onDeleteUser() {
showToast(res.msg); showToast(res.msg);
} }
}); });
});
} }
</script> </script>
Loading…
Cancel
Save