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