shj
2022-08-06 d6b4708cede4ae7a5e06d5fb10271d4ea1132986
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -4,7 +4,7 @@
         <div class="system-user-search mb15">
            <el-form size="default" label-width="80px" :inline="true">
               <el-form-item prop="telephone">
                  <el-input v-model="listQuery.searchParams.suppliesId" placeholder="请选择应急物资" class="input-with-select">
                  <el-input v-model="listQuery.searchParams.suppliesName" placeholder="请选择应急物资" class="input-with-select">
                     <template #append>
                        <el-button :icon="Search" @click="daiInpt" />
                     </template>
@@ -16,20 +16,14 @@
         </div>
         <div class="button_Line">
            <div class="button_Left">
               <el-button size="default" type="primary" @click="onOpenAdd">
                  <el-icon>
                     <Plus /> </el-icon
                  >新建
               <el-button size="default" type="primary" @click="onOpenAdd('新建')">
                  <el-icon> <Plus /> </el-icon>新建
               </el-button>
               <el-button size="default" type="warning" plain :disabled="warning">
                  <el-icon>
                     <Edit /> </el-icon
                  >修改
                  <el-icon> <Edit /> </el-icon>修改
               </el-button>
               <el-button size="default" type="danger" plain @click="onDeleteAll" :disabled="danger">
                  <el-icon>
                     <Delete /> </el-icon
                  >删除
                  <el-icon> <Delete /> </el-icon>删除
               </el-button>
            </div>
            <div class="button_Right">
@@ -46,33 +40,32 @@
            </div>
         </div>
         <el-table :data="tableData" style="width: 100%" ref="multipleTableRef" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" />
            <el-table-column prop="suppliesId" label="应急物资" min-width="120" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="maintainResult" label="保养结果" min-width="120" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="maintainTime" label="保养日期" min-width="120" show-overflow-tooltip sortable></el-table-column>
            <el-table-column align="center" type="selection" width="55" />
            <el-table-column align="center" prop="suppliesName" label="应急物资" min-width="120" show-overflow-tooltip sortable></el-table-column>
            <el-table-column align="center" label="保养结果" min-width="120" show-overflow-tooltip sortable>
               <template #default="scope">
                  <span v-if="scope.row.maintainResult == 1">正常</span>
                  <span v-if="scope.row.maintainResult == 2">异常</span>
               </template>
            </el-table-column>
            <el-table-column align="center" prop="maintainTime" label="保养日期" min-width="120" show-overflow-tooltip sortable></el-table-column>
            <el-table-column label="操作" width="200" align="center" fixed="right">
               <template #default="scope">
                  <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)">
                     <el-icon style="margin-right: 5px">
                        <View /> </el-icon
                     >查看
                  <el-button size="small" text type="primary" @click="onEdit('查看', scope.row.id)">
                     <el-icon style="margin-right: 5px"> <View /> </el-icon>查看
                  </el-button>
            <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)">
              <el-icon style="margin-right: 5px">
                <EditPen /> </el-icon
              >修改
            </el-button>
                  <el-button size="small" text type="primary" @click="onEdit('修改', scope.row.id)">
                     <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>修改
                  </el-button>
                  <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)">
                     <el-icon>
                        <Delete /> </el-icon
                     >删除
                     <el-icon> <Delete /> </el-icon>删除
                  </el-button>
               </template>
            </el-table-column>
         </el-table>
         <div class="pages">
            <el-pagination
          v-if="tableData.length == 0 ? false : true"
               v-if="tableData.length == 0 ? false : true"
               v-model:currentPage="pageIndex"
               v-model:page-size="pageSize"
               :page-sizes="[10, 20, 30]"
@@ -84,20 +77,15 @@
            />
         </div>
      </el-card>
      <EmergencySupplies ref="showRef" @SearchUser="onUser"/>
      <OpenSee ref="editRef"/>
      <EmergencySupplies ref="showRef" @SearchUser="onUser" />
      <OpenSee ref="editRef" />
      <upData ref="upShow"></upData>
      <OpenAdd ref="addRef"  @myAdd="onMyAdd" />
      <OpenAdd ref="addRef" @myAdd="onMyAdd" />
   </div>
</template>
<script lang="ts">
import {
  reactive,
  onMounted,
  ref,
  defineComponent
} from 'vue';
import { reactive, onMounted, ref, defineComponent } from 'vue';
import {
   ElMessageBox,
   ElMessage,
@@ -112,11 +100,11 @@
// import { contingencyApi } from '/@/api/contingency';
// import { emergencySuppliesMaintainApi } from '/@/api/emergencySuppliesMaintain';
import OpenSee from '../../emergencyPlanStartRecord/component/openSee.vue'
import UpData from '../../panManagement/component/upData.vue'
import EmergencySupplies from '../../../../components/emergencySupplies/index.vue'
import OpenAdd from '../maintenanceOfEmergencyMaterials/component/openAdd.vue'
import {maintenanceEmergencyMaterialsApi} from "/@/api/maintenanceEmergencyMaterials";
import OpenSee from '../../emergencyPlanStartRecord/component/openSee.vue';
import UpData from '../../panManagement/component/upData.vue';
import EmergencySupplies from '../../../../components/emergencySupplies/index.vue';
import OpenAdd from '../maintenanceOfEmergencyMaterials/component/openAdd.vue';
import { maintenanceEmergencyMaterialsApi } from '/@/api/maintenanceEmergencyMaterials';
export default defineComponent({
   name: 'systemUser',
@@ -142,132 +130,134 @@
            suppliesId: '',
         },
      });
    // 定义表格数据
    const tableData = ref([]);
      // 定义表格数据
      const tableData = ref([]);
      // 请求列表数据
      const onSubmit = async () => {
      let res = await maintenanceEmergencyMaterialsApi().getMaintenanceEmergencyMaterialsList(listQuery);
      if (res.data.code == 200) {
        tableData.value = res.data.data;
        pageIndex.value = res.data.pageIndex;
        pageSize.value = res.data.pageSize;
        total.value = res.data.total;
      } else {
        ElMessage({
          showClose: true,
          message: res.data.msg,
          type: 'error',
        });
      }
         let res = await maintenanceEmergencyMaterialsApi().getMaintenanceEmergencyMaterialsList(listQuery);
         if (res.data.code == 200) {
            tableData.value = res.data.data;
            pageIndex.value = res.data.pageIndex;
            pageSize.value = res.data.pageSize;
            total.value = res.data.total;
         } else {
            ElMessage({
               showClose: true,
               message: res.data.msg,
               type: 'error',
            });
         }
      };
    // 重置
    const submitReset = () => {
      listQuery.searchParams.suppliesId = '';
      onSubmit();
    };
    const warning = ref(true);
    const danger = ref(true);
    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();
      if (val.length == 1) {
        warning.value = false;
        danger.value = false;
      } else if (val.length == 0) {
        warning.value = true;
        danger.value = true;
      } else {
        warning.value = true;
        danger.value = false;
      }
    };
      // 重置
      const submitReset = () => {
         listQuery.searchParams.suppliesId = '';
         onSubmit();
      };
      const warning = ref(true);
      const danger = ref(true);
      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
         if (val.length == 1) {
            warning.value = false;
            danger.value = false;
         } else if (val.length == 0) {
            warning.value = true;
            danger.value = true;
         } else {
            warning.value = true;
            danger.value = false;
         }
      };
    // 打开新建用户弹窗
      // 打开新建用户弹窗
      const addRef = ref();
      const onOpenAdd = () => {
         addRef.value.openDialog('新建应急物资保养',false);
      const onOpenAdd = (data:any) => {
         addRef.value.openDialog(data);
      };
    // 新增后刷新
    const onMyAdd = (e: boolean) => {
      if (e) {
        onSubmit();
      } else {
        onSubmit();
      }
    };
    // 打开修改用户弹窗
    const onEdit = (val: string, row: object) => {
      if (val == '详情') {
        addRef.value.openDialog('查看应急物资保养',row,true);
      } else {
        addRef.value.openDialog('修改应急物资保养',row,false);
      }
    };
    // 删除
    const onRowDel = (data: any) => {
      ElMessageBox.confirm('确定删除所选项吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
          .then(() => {
            maintenanceEmergencyMaterialsApi()
                .deleteMaintenanceEmergencyMaterials(data)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'success',
                    });
                    onSubmit();
                  } else {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'error',
                    });
                    onSubmit();
                  }
                });
          })
          .catch(() => {});
    };
    // 多选删除
    const onDeleteAll = () => {
      ElMessageBox.confirm('确定删除所选项吗?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
          .then(() => {
            maintenanceEmergencyMaterialsApi()
                .deleteMaintenanceEmergencyMaterials(deletAll.value)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'success',
                    });
                    onSubmit();
                  } else {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'error',
                    });
                    onSubmit();
                  }
                });
          })
          .catch(() => {});
    };
      // 新增后刷新
      const onMyAdd = (e: boolean) => {
         if (e) {
            onSubmit();
         } else {
            onSubmit();
         }
      };
      // 打开修改用户弹窗
      const onEdit = (val: string, row: object) => {
         if (val == '详情') {
            addRef.value.openDialog(val, row);
         } else {
            addRef.value.openDialog(val, row);
         }
      };
      // 删除
      const onRowDel = (data: any) => {
         let arr=[]
         arr.push(data)
         ElMessageBox.confirm('确定删除所选项吗?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning',
         })
            .then(() => {
               maintenanceEmergencyMaterialsApi()
                  .deleteMaintenanceEmergencyMaterials(arr)
                  .then((res) => {
                     if (res.data.code == 200) {
                        ElMessage({
                           showClose: true,
                           message: res.data.msg,
                           type: 'success',
                        });
                        onSubmit();
                     } else {
                        ElMessage({
                           showClose: true,
                           message: res.data.msg,
                           type: 'error',
                        });
                        onSubmit();
                     }
                  });
            })
            .catch(() => {});
      };
      // 多选删除
      const onDeleteAll = () => {
         ElMessageBox.confirm('确定删除所选项吗?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning',
         })
            .then(() => {
               maintenanceEmergencyMaterialsApi()
                  .deleteMaintenanceEmergencyMaterials(deletAll.value)
                  .then((res) => {
                     if (res.data.code == 200) {
                        ElMessage({
                           showClose: true,
                           message: res.data.msg,
                           type: 'success',
                        });
                        onSubmit();
                     } else {
                        ElMessage({
                           showClose: true,
                           message: res.data.msg,
                           type: 'error',
                        });
                        onSubmit();
                     }
                  });
            })
            .catch(() => {});
      };
      // 上传
      const upShow = ref();
      const upButton = () => {
@@ -278,26 +268,27 @@
      const daiInpt = () => {
         showRef.value.openDailog();
      };
    const onUser = (e:any) => {
      listQuery.searchParams.suppliesId=e.id
    };
      const onUser = (e: any) => {
         listQuery.searchParams.suppliesId = e.id;
         listQuery.searchParams.suppliesName=e.name
      };
      // 分页
    const pageIndex = ref();
    const pageSize = ref();
    const total = ref();
      const pageIndex = ref();
      const pageSize = ref();
      const total = ref();
      // 分页改变
      const handleSizeChange = (val: number) => {
      listQuery.pageSize = val;
      onSubmit();
         listQuery.pageSize = val;
         onSubmit();
      };
      // 分页未改变
      const handleCurrentChange = (val: number) => {
      listQuery.pageIndex = val;
      onSubmit();
         listQuery.pageIndex = val;
         onSubmit();
      };
      // 页面加载时
      onMounted(() => {
      onSubmit();
         onSubmit();
      });
      return {
         upButton,
@@ -312,19 +303,19 @@
         onOpenAdd, //新增
         addRef,
         onSubmit,
      submitReset,
      onMyAdd,
      listQuery,
      warning,
      danger,
      tableData,
      pageIndex,
      pageSize,
      total,
      handleSelectionChange,
      onDeleteAll,
      onEdit,
      onUser,
         submitReset,
         onMyAdd,
         listQuery,
         warning,
         danger,
         tableData,
         pageIndex,
         pageSize,
         total,
         handleSelectionChange,
         onDeleteAll,
         onEdit,
         onUser,
      };
   },
});