From 8e4c4a93a2c55f45a2ef3a907f60b7f8f1d5a601 Mon Sep 17 00:00:00 2001
From: 13937891274 <kxc0822>
Date: 星期二, 09 八月 2022 15:39:07 +0800
Subject: [PATCH] 页面修改

---
 src/components/checkTemplate/index.vue |  192 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 135 insertions(+), 57 deletions(-)

diff --git a/src/components/checkTemplate/index.vue b/src/components/checkTemplate/index.vue
index 235d5ea..d1c750c 100644
--- a/src/components/checkTemplate/index.vue
+++ b/src/components/checkTemplate/index.vue
@@ -1,60 +1,75 @@
 <template>
-  <el-dialog v-model="dialogVisible" title="选择检查模板" width="900px" draggable>
+  <el-dialog v-model="dialogVisible" title="选择应急队伍" width="900px" draggable :fullscreen="full">
+    <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
     <el-row>
       <el-col :span="18">
         <el-row>
           <el-col :span="24">
-            <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
+            <el-form ref="ruleFormRef" :inline="true" status-icon>
               <el-form-item>
-                <el-input size="default" v-model="ruleForm.pass" placeholder="id"  style="max-width: 215px;"/>
+                <el-input size="default" v-model="listQuery.searchParams.id" placeholder="id"  style="max-width: 215px;"/>
               </el-form-item>
               <el-form-item>
-                <el-input size="default" v-model="ruleForm.checkPass" placeholder="队伍名称"  style="max-width: 215px;padding: 0 12px;"/>
+                <el-input size="default" v-model="listQuery.searchParams.teamName" placeholder="队伍名称"  style="max-width: 215px;padding: 0 12px;"/>
               </el-form-item>
               <el-form-item>
-                <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
-                <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+                <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
+                <el-button size="default" @click="submitReset">重置</el-button>
               </el-form-item>
             </el-form>
           </el-col>
           <el-col :span="24">
-            <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
+            <el-button size="default" :icon="Delete" style="margin-top: 15px;" @click="submitReset">清除选择</el-button>
           </el-col>
         </el-row>
         <el-table
             :data="tableData"
             ref="multipleTableRef"
             style="width: 100%;margin-top:20px"
+            @selection-change="handleSelectionChange"
         >
-          <el-table-column type="selection" width="55" />
-          <el-table-column align="center" prop="date" label="id" />
-          <el-table-column align="center" prop="name" label="队伍名称"/>
+          <el-table-column type="selection" width="55" v-if="types==0">
+            <template #default="scope" v-if="types!=0">
+              <el-radio-group v-model="radio1">
+                <el-radio :label="scope.row.id" @click="radio(scope.row)" size="large">{{ null }}</el-radio>
+              </el-radio-group>
+            </template>
+          </el-table-column>
+          <el-table-column align="center" prop="id" label="id" />
+          <el-table-column align="center" prop="teamName" label="队伍名称"/>
         </el-table>
         <div class="pages">
           <el-pagination
-              v-model:currentPage="currentPage4"
-              v-model:page-size="pageSize4"
-              :page-sizes="[100, 200, 300, 400]"
-              :small="small"
-              :disabled="disabled"
-              :background="background"
+              v-model:currentPage="pageIndex"
+              v-model:page-size="pageSize"
+              :page-sizes="[10, 20, 30, 40]"
               layout="total, sizes, prev, pager, next, jumper"
-              :total="400"
+              :total="total"
               @size-change="handleSizeChange"
               @current-change="handleCurrentChange"
           />
         </div>
       </el-col>
       <el-col :span="6" style="padding-left: 15px">
-        <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
-          {{ tag }}
-        </el-tag>
+        <div v-if="dynamicTags[0] == '' ? false : true">
+          <el-tag
+              v-for="tag in dynamicTags"
+              :key="tag"
+              class="mx-1"
+              style="margin: 5px"
+              closable
+              :disable-transitions="false"
+              @close="handleClose(tag)"
+          >
+            {{ tag.teamName }}
+          </el-tag>
+        </div>
       </el-col>
     </el-row>
     <template #footer>
 			<span class="dialog-footer">
 				<el-button @click="dialogVisible = false" size="default">关闭</el-button>
-				<el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+				<el-button type="primary" @click="submitForm" size="default">确定</el-button>
 			</span>
     </template>
   </el-dialog>
@@ -64,68 +79,131 @@
   defineComponent,
   reactive,
   ref,
+  onMounted,
 } from 'vue';
 import {
-  Delete
+  Delete,
+  FullScreen
 } from '@element-plus/icons-vue';
-interface User {
-  date: string
-  name: string
-  address: string
-}
+import {
+  ElMessage,
+} from 'element-plus';
+import {contingencyApi} from "/@/api/contingencyManagement/contingency";
+
 export default defineComponent({
-  setup() {
+  setup(props, { emit }) {
+    const types=ref()
     const dialogVisible = ref<boolean>(false);
-    const openDailog = () => {
+    const openDailog = (type:any) => {
+      types.value=type
       dialogVisible.value = true;
+      // onSubmit();
     };
     // 搜索条件
-    const ruleForm = reactive({
-      pass: '',
-      checkPass: '',
+    const listQuery = reactive({
+      pageIndex: 1,
+      pageSize: 10,
+      searchParams: {
+        teamName: "",
+        id: "",
+      }
     });
+    // 列表数据请求
+    const onSubmit = async () => {
+      let res = await contingencyApi().getTeamManagementList(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,
+          type:'error',
+          message:res.data.msg
+        })
+      }
+    }
+    const submitForm = () => {
+      if(types.value==0){
+        emit('SearchUser',dynamicTags.value,types.value);
+      }
+      else {
+        emit('SearchUser',dynamicTags.value[0],types.value);
+      }
+      dialogVisible.value = false;
+    };
+    const handleSelectionChange = (val:any) => {
+      dynamicTags.value=val
+    }
+    // 重置
+    const submitReset = () => {
+      listQuery.searchParams.teamName = '';
+      listQuery.searchParams.id = '';
+      radio1.value=""
+      dynamicTags.value[0]=""
+      onSubmit();
+    };
     // 表格
-    const tableData = [
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '应急救援组',
-      },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '工艺抢险组',
-      },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '后勤保障组',
-      },
-      {
-        date: '6421cbc6cbb5493eabf9b27e83372d78',
-        name: '应急救援组',
-      },
-    ];
-    const pageSize4 = ref(100);
+    const tableData = ref();
+    // 分页
+    const pageIndex = ref();
+    const pageSize = ref();
+    const total = ref();
     const handleSizeChange = (val: number) => {
-      console.log(`${val} items per page`);
+      listQuery.pageSize = val;
+      onSubmit();
     };
     const handleCurrentChange = (val: number) => {
-      console.log(`current page: ${val}`);
-    };
+      listQuery.pageIndex = val;
+      onSubmit();
+    }
     // 右方点击添加后显示标签
-    const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
+    const dynamicTags = ref(['']);
     const handleClose = (tag: string) => {
       dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+      radio1.value = '';
+    };
+    const radio1 = ref('');
+    const radio = (event: any) => {
+      console.log(event)
+      dynamicTags.value[0] = event;
+    };
+    onMounted(() => {
+      onSubmit();
+    });
+    //全屏
+    const full = ref(false);
+    const toggleFullscreen = () => {
+      if (full.value == false) {
+        full.value = true;
+      } else {
+        full.value = false;
+      }
     };
     return {
       dialogVisible,
       openDailog,
-      ruleForm,
       tableData,
-      pageSize4,
+      pageSize,
+      pageIndex,
       handleSizeChange,
       handleCurrentChange,
       dynamicTags,
       handleClose,
       Delete,
+      toggleFullscreen,
+      FullScreen,
+      full,
+      onSubmit,
+      listQuery,
+      submitReset,
+      total,
+      radio,
+      radio1,
+      submitForm,
+      types,
+      handleSelectionChange,
     };
   },
 });

--
Gitblit v1.9.2