From c53fc4edf8587a1ba44d5a57139baee3dcaba0b0 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期三, 25 十二月 2024 19:51:45 +0800
Subject: [PATCH] 参数配置

---
 src/views/basicDataManage/gasManage/index.vue |  269 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 167 insertions(+), 102 deletions(-)

diff --git a/src/views/basicDataManage/gasManage/index.vue b/src/views/basicDataManage/gasManage/index.vue
index 5c63e6a..63b2f38 100644
--- a/src/views/basicDataManage/gasManage/index.vue
+++ b/src/views/basicDataManage/gasManage/index.vue
@@ -1,139 +1,204 @@
 <template>
-    <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>
+  <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%">
-                <el-table-column align="center" type="index" label="序号" width="60" />
-                <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="140">
-                    <template #default="scope">
-                        <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 :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>
-            <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>
-    </div>
+          </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 :''
-            }
-        }
+  tableData: {
+    data: [],
+    total: 0,
+    loading: false,
+    listQuery: {
+      pageIndex: 1,
+      pageSize: 10,
+      searchParams:{
+        name :''
+      }
     }
+  }
 });
 //页面加载
 onMounted(() => {
-    initGasData();
+  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 {
-                    id: item.id,
-                    gasName: item.name,
-                    gasMolecularFormula: item.molecularFormula,
-                    gasThreshold: item.threshold,
-                    gasUnit: item.unit
-                }
-            });
-        }else {
-            state.tableData.data = [];
+  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,
         }
-        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
-        });
+      });
+    }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();
+  state.tableData.listQuery.pageSize = val;
+  initGasData();
 };
 // 分页改变
 const onHandleCurrentChange = (val: number) => {
-    state.tableData.listQuery.pageIndex = val;
-    initGasData();
+  state.tableData.listQuery.pageIndex = val;
+  initGasData();
 };
 const openDialog = (type: string, value: any) => {
-    gasRef.value.openDialog(type, value);
+  gasRef.value.openDialog(type, value);
 };
 const search = () => {
-    state.tableData.listQuery.pageIndex = 1;
-    initGasData();
+  state.tableData.listQuery.pageIndex = 1;
+  initGasData();
 }
 const reset = () => {
-    state.tableData.listQuery.searchParams.name = '';
-    state.tableData.listQuery.pageIndex = 1;
-    initGasData();
+  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">

--
Gitblit v1.9.2