zhaojiale
2022-09-08 1be21989c76f0eb9a43b9ebcab322d7171dbccd6
src/views/accidentManagementSystem/accidentReport/index.vue
@@ -2,7 +2,12 @@
  <div class="system-user-container">
    <el-card shadow="hover">
      <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
        <el-tab-pane label="处理中" name="first">
        <el-tab-pane
            v-for="item in editableTabs"
            :key="item.name"
            :label="item.title"
            :name="item.name"
            >
          <div class="button_Line">
            <div class="button_Left">
              <el-button size="default" type="primary"  @click="onOpenAdd">
@@ -10,7 +15,7 @@
                  <Plus />
                </el-icon>新建
              </el-button>
              <el-button size="default" type="warning" plain :disabled="warning">
              <el-button size="default" type="warning" plain :disabled="warning" @click="onEdit('修改', deletAll[0])">
                <el-icon>
                  <Edit />
                </el-icon>修改
@@ -22,21 +27,21 @@
              </el-button>
            </div>
            <div class="button_Right">
<!--              <el-button @click="upButton">-->
<!--                <el-icon>-->
<!--                  <Upload />-->
<!--                </el-icon>-->
<!--              </el-button>-->
<!--              <el-button>-->
<!--                <el-icon>-->
<!--                  <Download />-->
<!--                </el-icon>-->
<!--              </el-button>-->
<!--              <el-button>-->
<!--                <el-icon>-->
<!--                  <Refresh />-->
<!--                </el-icon>-->
<!--              </el-button>-->
              <el-button @click="upButton">
                <el-icon>
                  <Upload />
                </el-icon>
              </el-button>
              <el-button>
                <el-icon>
                  <Download />
                </el-icon>
              </el-button>
              <el-button>
                <el-icon>
                  <Refresh />
                </el-icon>
              </el-button>
            </div>
          </div>
          <el-table
@@ -49,10 +54,25 @@
                type="selection"
                width="55"
            />
            <el-table-column prop="accidentExpressId" label="事故名称" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="accidentDepartmentId" label="事故部门" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="accidentType" label="事故类别" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="accidentGrade" label="事故等级" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="deptName" label="事故部门" show-overflow-tooltip sortable></el-table-column>
            <el-table-column label="事故类别" show-overflow-tooltip sortable>
              <template #default="scope">
              <span v-if="scope.row.accidentType==1">人员伤亡事故</span>
              <span v-if="scope.row.accidentType==2">火灾爆炸事故</span>
              <span v-if="scope.row.accidentType==3">危险品泄露事故</span>
              <span v-if="scope.row.accidentType==4">设备事故</span>
              <span v-if="scope.row.accidentType==5">工艺事故</span>
              </template>
            </el-table-column>
            <el-table-column  label="事故等级" show-overflow-tooltip sortable>
              <template #default="scope">
              <span v-if="scope.row.accidentGrade==1">一级</span>
              <span v-if="scope.row.accidentGrade==2">二级</span>
              <span v-if="scope.row.accidentGrade==3">三级</span>
              <span v-if="scope.row.accidentGrade==4">四级</span>
              </template>
            </el-table-column>
            <el-table-column prop="occurrencePlace" label="发生地点" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="occurrenceTime" label="发生时间" show-overflow-tooltip sortable></el-table-column>
            <el-table-column label="操作" width="260" align="center" fixed="right">
@@ -69,18 +89,19 @@
          </el-table>
          <div class="pages">
            <el-pagination
                v-model:currentPage="pageIndex"
                v-model:page-size="pageSize"
                :page-sizes="[10, 20, 30]"
                :pager-count="5"
                layout="total, sizes, prev, pager, next, jumper"
                :total="40"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                    v-if="tableData.length == 0 ? false : true"
                    v-model:currentPage="pageIndex"
                    v-model:page-size="pageSize"
                    :page-sizes="[10, 20, 30]"
                    :pager-count="5"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="total"
                    @size-change="handleSizeChange"
                    @current-change="handleCurrentChange"
            />
          </div>
        </el-tab-pane>
        <el-tab-pane label="已处理" name="second"></el-tab-pane>
        <!--<el-tab-pane label="已处理" name="second"></el-tab-pane>-->
      </el-tabs>
    </el-card>
    <OpenAdd ref="addRef" @myAdd="onMyAdd" />
@@ -133,16 +154,35 @@
  },
  setup() {
    const activeName = ref('first')
    const statusDisabledFlag = ref('first')//控制弹窗中的事件状态是否可以修改
    const handleClick = (tab: TabsPaneContext, event: Event) => {
      console.log(tab, event)
        if(tab.props.name=='first'){
            listQuery.searchParams.status=1
            statusDisabledFlag.value = 'first'
            listApi()
        }else if(tab.props.name=='second'){
            listQuery.searchParams.status=2
            statusDisabledFlag.value = 'second'
            listApi()
        }
    }
      const editableTabs = ref([
          {
              title: '处理中',
              name: 'first',
          },
          {
              title: '已处理',
              name: 'second',
          },
      ])
    // 列表参数
    const listQuery = reactive({
      pageIndex: 1,
      pageSize: 10,
      searchParams: {
        name: '',
        status: 1,
      },
    });
    // 定义表格数据
@@ -165,12 +205,12 @@
    const deletAll = ref();
    const handleSelectionChange = (val: any) => {
      let valId = JSON.parse(JSON.stringify(val));
      let arr = [];
      for (let i = 0; i < valId.length; i++) {
        arr.push(valId[i].id);
      }
      deletAll.value = arr.toString();
      // console.log(deletAll.value);
        let arr = [];
        for (let i = 0; i < valId.length; i++) {
            arr.push(valId[i].id);
        }
        deletAll.value = arr;
      console.log(deletAll.value);
      if (val.length == 1) {
        warning.value = false;
        danger.value = false;
@@ -189,7 +229,7 @@
    // 打开新建用户弹窗
    const addRef = ref();
    const onOpenAdd = () => {
      addRef.value.openDialog('新建事故报告',false);
      addRef.value.openDialog('新建事故报告','',false,statusDisabledFlag);
    };
    // 新增后刷新
    const onMyAdd = (e: boolean) => {
@@ -202,9 +242,9 @@
    // 打开修改用户弹窗
    const onEdit = (val: string, row: object) => {
      if (val == '详情') {
        addRef.value.openDialog('查看事故报告',row,true);
        addRef.value.openDialog('查看事故报告',row,true,statusDisabledFlag);
      } else {
        addRef.value.openDialog('修改事故报告',row,false);
        addRef.value.openDialog('修改事故报告',row,false,statusDisabledFlag);
      }
    };
    // 上传
@@ -214,6 +254,7 @@
    // }
    // 删除用户
    const onRowDel = (data: any) => {
        var deleteList = [data]
      ElMessageBox.confirm('确定删除所选项吗?', '提示', {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
@@ -221,7 +262,7 @@
      })
          .then(() => {
            accidentManagementSystemApi()
                .deleteAccidentReport(data)
                .deleteAccidentReport(deleteList)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
@@ -306,6 +347,8 @@
      onMyAdd,
      onDeleteAll,
      onEdit,
      editableTabs,
      deletAll
    };
  },
});