From 7c8c06b5397d22151b02407b1f4f19d771bb15dd Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期一, 16 六月 2025 14:28:57 +0800 Subject: [PATCH] 修改 --- src/views/basicDataManage/gasManage/index.vue | 203 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 197 insertions(+), 6 deletions(-) diff --git a/src/views/basicDataManage/gasManage/index.vue b/src/views/basicDataManage/gasManage/index.vue index 9f8b0ea..63b2f38 100644 --- a/src/views/basicDataManage/gasManage/index.vue +++ b/src/views/basicDataManage/gasManage/index.vue @@ -1,15 +1,206 @@ <template> - <div> - 气体管理 + <div class="system-gas-container"> + <el-card shadow="hover"> + <div class="system-menu-search mb15"> + <el-form :inline="true" > + <el-form-item label="气体名称:"> + <el-input v-model="state.tableData.listQuery.searchParams.name" placeholder="气体名称" ></el-input> + </el-form-item> + <el-button size="default" type="primary" class="ml10" @click="search()"> + <el-icon> + <ele-Search /> + </el-icon> + 查询 + </el-button> + <el-button size="default" class="ml10" @click="reset()"> + <el-icon> + <RefreshLeft /> + </el-icon> + 重置 + </el-button> + </el-form> + </div> + <el-button size="default" class="mb10" type="success" @click="openDialog('新增',{})"> + <el-icon> + <ele-FolderAdd /> + </el-icon> + 新增气体 + </el-button> + + <el-table :data="state.tableData.data" style="width: 100%" :row-key="row => row.id" :expand-row-keys="expandRowKeys" @expand-change="handleExpandChange" > + <el-table-column type="expand"> + <template #default="props"> + <el-table :data="props.row.gasCategoryConfigurations" style="width: 90%;margin-left: 5%" border> + <el-table-column label="方位" prop="orientation" align="center"> + <template #default="scope"> + <span>{{scope.row.orientation == 1 ? '方位1' : scope.row.orientation == 2 ? '方位2' :scope.row.orientation == 3? '方位3': '--'}}</span> + </template> + </el-table-column> + <el-table-column label="本底浓度" prop="concentration" align="center" /> + <el-table-column label="倍增系数" prop="multiplication" align="center" /> + <el-table-column label="操作" show-overflow-tooltip width="120" > + <template #default="scope"> + <el-button size="small" text type="primary" @click="configP('编辑',scope.row)">编辑</el-button> + <el-button size="small" text type="danger" @click="delP(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + </template> + </el-table-column> + <el-table-column align="center" type="index" label="序号" width="70" /> + <el-table-column align="center" prop="gasName" label="气体名称"/> + <el-table-column align="center" prop="gasMolecularFormula" label="气体分子式"/> + <el-table-column align="center" prop="gasThreshold" label="气体阈值"/> + <el-table-column align="center" prop="gasUnit" label="气体单位"/> + <el-table-column label="操作" show-overflow-tooltip width="180"> + <template #default="scope"> + <el-button size="small" text type="primary" @click="configP('新增', scope.row)">参数配置</el-button> + <el-button size="small" text type="primary" @click="openDialog('查看', scope.row)">查看</el-button> + <el-button size="small" text type="primary" @click="openDialog('编辑', scope.row)">编辑</el-button> + </template> + </el-table-column> + </el-table> + <br /> + <el-pagination + @size-change="onHandleSizeChange" + @current-change="onHandleCurrentChange" + class="page-position" + :pager-count="5" + :page-sizes="[10, 20, 30]" + v-model:current-page="state.tableData.listQuery.pageIndex" + background + v-model:page-size="state.tableData.listQuery.pageSize" + layout="total, sizes, prev, pager, next, jumper" + :total="state.tableData.total"> + </el-pagination> + <br /> + <br /> + </el-card> + <gas-dialog ref="gasRef" @getGasData="initGasData"></gas-dialog> + <config-dialog ref="configRef" @getGasData="initGasData"></config-dialog> </div> </template> <script setup lang="ts"> +import {onMounted, reactive, ref} from "vue"; +import { TableDataState } from "/@/types/gasManage"; +import gasDialog from "./component/gasDialog.vue"; +import configDialog from "./component/config.vue"; +import { gasManageApi } from "/@/api/basicDataManage/gasManage"; +import {ElMessage} from "element-plus"; +import {ElMessageBox} from "element-plus/es"; +import {areaManageApi} from "/@/api/basicDataManage/areaManage"; +const gasRef = ref(); +const configRef = ref(); + +const state = reactive<TableDataState>({ + tableData: { + data: [], + total: 0, + loading: false, + listQuery: { + pageIndex: 1, + pageSize: 10, + searchParams:{ + name :'' + } + } + } +}); +//页面加载 +onMounted(() => { + initGasData(); +}); + +const expandRowKeys = ref([]) +const initGasData = async () => { + let res = await gasManageApi().getGasPage(state.tableData.listQuery); + console.log("res",res) + if (res.data.code === 100) { + if(res.data.data && res.data.data.length > 0){ + state.tableData.data = res.data.data.map((item: any) => { + return { + ...item, + id: item.id, + gasName: item.name, + gasMolecularFormula: item.molecularFormula, + gasThreshold: item.threshold, + gasUnit: item.unit, + } + }); + }else { + state.tableData.data = []; + } + state.tableData.total = res.data.total; + state.tableData.listQuery.pageIndex = res.data.pageIndex; + state.tableData.listQuery.pageSize = res.data.pageSize; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } +}; +const onHandleSizeChange = (val: number) => { + state.tableData.listQuery.pageSize = val; + initGasData(); +}; +// 分页改变 +const onHandleCurrentChange = (val: number) => { + state.tableData.listQuery.pageIndex = val; + initGasData(); +}; +const openDialog = (type: string, value: any) => { + gasRef.value.openDialog(type, value); +}; +const search = () => { + state.tableData.listQuery.pageIndex = 1; + initGasData(); +} +const reset = () => { + state.tableData.listQuery.searchParams.name = ''; + state.tableData.listQuery.pageIndex = 1; + initGasData(); +} +const configP = (type:string,value:any) => { + configRef.value.openDialog(type, value); +} + +const delP = (value:any) => { + ElMessageBox.confirm( + '确定删除此条数据?', + '提示', + { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning', + }) + .then( async() => { + let res = await gasManageApi().delConfig({id: value.id}); + if(res.data.code == 100) { + ElMessage({ + type: 'success', + message: '删除成功', + }); + reset(); + }else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }) +} +const handleExpandChange = (row:any, expandedRows:any) => { + const Ids = [] + expandedRows.forEach(element => { + Ids.push(element.id) + }) + expandRowKeys.value = Ids + console.log('展开的id,this.expandedRowIds', expandRowKeys.value) +} </script> - - - <style scoped lang="scss"> -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2