Browse Source

fix: 删除所有矿石接口

master
guoapeng 2 months ago
parent
commit
5cc0267691
  1. 9
      src/apis/ore.ts
  2. 90
      src/components/home/SelectCraft/index.vue
  3. 14
      src/components/home/SetTemperature/index.vue
  4. 2
      src/components/system/Check/index.vue
  5. 192
      src/views/ore/index.vue

9
src/apis/ore.ts

@ -1,9 +0,0 @@
import http from 'libs/http'
export const getOreList = (): Promise<System.PageResponse<Ore.OreItem>> => http.get(`/ores/list`)
export const saveOre = (params: { name: string }): Promise<null> => http.post(`/ores`, params)
export const editOre = (params: { id: number, name: string }): Promise<null> => http.put(`/ores`, params)
export const delOre = (ids: string): Promise<null> => http.delete(`/ores/${ids}`)

90
src/components/home/SelectCraft/index.vue

@ -1,90 +0,0 @@
<script setup lang="ts">
import { setCraft } from 'apis/crafts'
import { getOreList } from 'apis/ore'
import { FtMessage } from 'libs/message'
import { useHomeStore } from 'stores/homeStore'
import { onMounted, ref } from 'vue'
const emits = defineEmits(['ok', 'cancel'])
const homeStore = useHomeStore()
onMounted(() => {
getOres()
})
const form = ref({
craftId: undefined,
})
const formRef = ref()
const rules = {
craftId: [
{ required: true, message: '请选择工艺', trigger: 'change' },
],
}
const okHandle = async () => {
try {
const valid = await formRef.value.validate()
if (!valid) {
return
}
for (let i = 0; i < homeStore.heatAreaList.filter(item => item.selected).length; i++) {
await setCraft({
heatId: homeStore.heatAreaList.filter(item => item.selected)[i].value,
craftId: form.value.craftId,
})
}
FtMessage.success('工艺已设定')
emits('ok')
}
catch (error) {
console.log(error)
}
}
const cancel = () => {
emits('cancel')
}
const oreList = ref<Ore.OreItem[]>([])
const getOres = async () => {
const res = await getOreList()
oreList.value = res.list
}
</script>
<template>
<FtDialog visible title="选择工艺" width="40%" :ok-handle="okHandle" @cancel="cancel">
<el-form ref="formRef" label-width="auto" :model="form" :rules="rules">
<el-form-item label="加热区">
<el-tag v-for="item in homeStore.heatAreaList.filter(item => item.selected)" :key="item.value" class="mask-tag">
{{ item.label }}
</el-tag>
</el-form-item>
<el-form-item label="工艺" prop="craftId">
<el-select v-model="form.craftId" placeholder="请选择工艺">
<el-option-group
v-for="group in oreList"
:key="group.id"
:label="group.oresName"
>
<el-option
v-for="item in group.craftsList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-option-group>
</el-select>
</el-form-item>
</el-form>
</FtDialog>
</template>
<style scoped lang="scss">
.el-tag {
margin-right: 5px;
}
</style>

14
src/components/home/SetTemperature/index.vue

@ -1,19 +1,14 @@
<script setup lang="ts">
import { setTargetTemperature } from 'apis/home'
import { getOreList } from 'apis/ore'
import { FtMessage } from 'libs/message'
import { useSystemStore } from 'stores/systemStore'
import { computed, inject, onMounted, ref } from 'vue'
import { computed, inject, ref } from 'vue'
const emits = defineEmits(['ok', 'cancel'])
const data = inject('currentTemperatureData')
console.log(data)
onMounted(() => {
getOres()
})
const heatModule = computed(() => {
return useSystemStore().systemStatus.heatModule.find(item => item.moduleCode === data.value.id)
})
@ -82,13 +77,6 @@ const okHandle = async () => {
const cancel = () => {
emits('cancel')
}
const oreList = ref<Ore.OreItem[]>([])
const getOres = async () => {
const res = await getOreList()
oreList.value = res.list
}
</script>
<template>

2
src/components/system/Check/index.vue

@ -158,7 +158,7 @@ const heatList = ref([
params: { commandId: '', command: `tray_out`, params: { heatId: 'heat_module_02' } },
},
{
name: '加热区23',
name: '加热区3',
status: 'success',
command: 'heat_module_03',
params: { commandId: '', command: `tray_out`, params: { heatId: 'heat_module_03' } },

192
src/views/ore/index.vue

@ -1,192 +0,0 @@
<script lang="ts" setup>
import { ElMessage, ElMessageBox } from 'element-plus'
import { onMounted, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { delOre, editOre, getOreList, saveOre } from '@/apis/ore'
onMounted(() => {
queryOresList()
})
const tableData = ref<Ore.OreItem[]>([])
const visible = ref(false)
const oreForm = ref()
const name = ref()
const loading = ref(false)
const selectedList = ref<Ore.OreItem[]>([])
const showCraftCommponent = ref(false)
const router = useRouter()
const route = useRoute()
const queryOresList = () => {
getOreList().then((res) => {
if (res && res.list) {
tableData.value = res.list
}
})
}
watch(() => route.path, (newVal) => {
if (newVal === '/ore') {
queryOresList()
}
})
const onSelectionChange = (rows: Ore.OreItem[]) => {
selectedList.value = rows
}
const onAddOre = () => {
visible.value = true
}
const onEditOre = () => {
if (!selectedList.value.length) {
ElMessage.warning('请选择要编辑的数据')
return
}
if (selectedList.value.length !== 1) {
ElMessage.warning('只能编辑一条数据')
return
}
const editItem = selectedList.value[0]
oreForm.value = { ...editItem }
name.value = editItem.oresName
visible.value = true
}
const onDelOre = () => {
if (!selectedList.value.length) {
ElMessage.warning('请选择要删除的数据')
return
}
ElMessageBox.confirm(
'确认删除选中的数据吗?',
'确认提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
},
).then(() => {
const ids = selectedList.value.map(item => item.id)
delOre(ids.join(',')).then(() => {
ElMessage.success('删除成功')
queryOresList()
})
})
}
const closeDialog = () => {
visible.value = false
}
const onConfirm = () => {
if (!name.value) {
ElMessage.warning('请输入矿石名称')
return
}
loading.value = true
const params = {
...oreForm.value,
}
let apiFn = null
if (oreForm.value && oreForm.value.id) {
params.id = oreForm.value.id
apiFn = editOre
}
else {
apiFn = saveOre
}
params.oresName = name.value
params.name = name.value
apiFn(params).then(() => {
loading.value = false
visible.value = false
name.value = ''
oreForm.value = {}
queryOresList()
}).catch((e) => {
console.error('操作失败==', e)
loading.value = true
})
}
const onShowCraft = () => {
if (!selectedList.value.length) {
ElMessage.warning('请选择要查看的数据')
return
}
if (selectedList.value.length !== 1) {
ElMessage.warning('只能查看一条数据的工艺')
return
}
const editItem = selectedList.value[0]
showCraftCommponent.value = true
router.push({
path: '/ore/craft',
query: { oreId: editItem.id },
})
}
</script>
<template>
<div v-if="route.path === '/ore/craft'">
<router-view />
</div>
<div v-else>
<div>
<FtButton type="primary" @click="onAddOre">
添加矿石
</FtButton>
<FtButton type="primary" @click="onEditOre">
编辑矿石
</FtButton>
<FtButton @click="onDelOre">
删除矿石
</FtButton>
<FtButton @click="onShowCraft">
查看工艺
</FtButton>
</div>
<div>
<el-table :data="tableData" stripe style="width: 100%" @selection-change="onSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column type="index" width="50" />
<el-table-column prop="oresName" label="矿石名称" />
<el-table-column prop="craftNames" label="工艺名称">
<template #default="scoped">
<div class="craft-tag">
<el-tag v-for="item in scoped.row.craftsList" :key="item.id" type="info" style="margin-left: 5px;">
{{ item.name }}
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" />
<el-table-column prop="updateTime" label="更新时间" />
</el-table>
<!-- <FtTable :columns="columns" has-header :btn-list="btnList" :get-data-fn="queryOresList" /> -->
</div>
<FtDialog v-model="visible" title="添加矿石" width="30%" :ok-handle="onConfirm" @cancel="closeDialog">
<div class="add-content">
<label>矿石名称</label>
<span><el-input v-model="name" placeholder="矿石名称" style="width:200px" /></span>
</div>
</FtDialog>
</div>
</template>
<style scoped>
.add-content{
height: 50px;
display: flex;
align-items: center;
}
.footer{
display: flex;
justify-content: center;
align-items: center;
height: 4rem;
}
.craft-tag{
display: flex;
}
</style>
Loading…
Cancel
Save