zhouwx
2024-12-04 ddc85c375af71d0891708d623a94691a88847caf
src/views/basicDataManage/gasManage/index.vue
@@ -27,14 +27,34 @@
                新增气体
            </el-button>
            <el-table :data="state.tableData.data" style="width: 100%">
                <el-table-column align="center" type="index" label="序号" width="60" />
            <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="140">
                <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>
@@ -57,6 +77,7 @@
            <br />
        </el-card>
        <gas-dialog ref="gasRef" @getGasData="initGasData"></gas-dialog>
        <config-dialog ref="configRef" @getGasData="initGasData"></config-dialog>
    </div>
</template>
@@ -64,10 +85,15 @@
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: [],
@@ -87,6 +113,7 @@
    initGasData();
});
const expandRowKeys = ref([])
const initGasData = async () => {
    let res = await gasManageApi().getGasPage(state.tableData.listQuery);
    console.log("res",res)
@@ -94,11 +121,12 @@
        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
                    gasUnit: item.unit,
                }
            });
        }else {
@@ -135,6 +163,43 @@
    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">