| | |
| | | <el-row class="homeCard"> |
| | | <el-col :span="12"> |
| | | <div class="grid-content topInfo"> |
| | | <el-select v-model="searchType" placeholder="请选择" style="width: 100%"> |
| | | <el-select v-model="searchType"> |
| | | <el-option label="动火作业" value="动火作业" /> |
| | | <el-option label="动土作业" value="动土作业" /> |
| | | </el-select> |
| | | <el-input v-model="searchWord" placeholder="作业证编号"></el-input> |
| | | <el-input v-model="searchWord" placeholder="申请单位"></el-input> |
| | | <el-button type="primary">查询</el-button> |
| | | <el-button plain>重置</el-button> |
| | | <el-button-group style="display: flex;margin-left: 12px"> |
| | | <el-button plain :icon="Download"></el-button> |
| | | <el-button plain :icon="Refresh"></el-button> |
| | | </el-button-group> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="homeCard"> |
| | | <div class="main-card"> |
| | | <el-row class="cardTop"> |
| | | <el-col :span="12" class="mainCardBtn"> |
| | | <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord=true">新建</el-button> |
| | | <!-- <el-button type="warning" :icon="Edit" size="default" plain>修改</el-button>--> |
| | | <el-button type="danger" :icon="Delete" size="default" plain>删除</el-button> |
| | | </el-col> |
| | | <el-button type="primary" :icon="Refresh" size="default"/> |
| | | </el-row> |
| | | <el-table |
| | | ref="multipleTableRef" |
| | | :data="tableData" |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55" /> |
| | | <el-table-column property="id" label="作业证编号" width="300" sortable /> |
| | | <el-table-column property="cardName" label="作业证名称" width="300" /> |
| | | <el-table-column property="name" label="申请人" width="300" /> |
| | | <el-table-column property="department" label="申请部门" /> |
| | | <el-table-column property="date" label="归档日期" sortable /> |
| | | <el-table-column fixed="right" label="操作" align="center" width="180"> |
| | | <el-table-column property="id" label="作业证编号" width="200" sortable/> |
| | | <el-table-column property="cardName" label="作业证名称" width="180" /> |
| | | <el-table-column property="name" label="申请人"/> |
| | | <el-table-column property="department" label="申请部门"/> |
| | | <el-table-column property="date" label="归档日期" sortable/> |
| | | <el-table-column fixed="right" label="操作" align="center" width="250"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="">查看</el-button> |
| | | <el-button link type="danger" size="small" @click="">删除</el-button> |
| | | <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button> |
| | | <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecord(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogDetails" title="签到记录" @close="dialogColse"> |
| | | </el-scrollbar> |
| | | <el-dialog v-model="dialogDetails" title="作业票查看"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业证编号"> |
| | | <el-input v-model="details.id" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="签到人"> |
| | | <el-input |
| | | v-model="details.worker" |
| | | class="input-with-select" |
| | | readonly |
| | | > |
| | | <template #append> |
| | | <el-button :icon="Search" /> |
| | | </template> |
| | | </el-input> |
| | | v-model="details.id" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="签到状态">--> |
| | | <!-- <el-select v-model="details.status" readonly>--> |
| | | <!-- <el-option label="已签到" value="已签到" />--> |
| | | <!-- <el-option label="未签到" value="未签到" />--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="签到时间"> |
| | | <el-input v-model="details.checkinTime" readonly/> |
| | | <el-form-item label="作业证名称"> |
| | | <el-input |
| | | v-model="details.cardName" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="details.remark" type="textarea" readonly/> |
| | | <el-form-item label="申请人"> |
| | | <el-input |
| | | v-model="details.name" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="申请部门"> |
| | | <el-input |
| | | v-model="details.department" |
| | | class="input-with-select" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="归档日期"> |
| | | <el-input |
| | | v-model="details.date" |
| | | class="input-with-select" |
| | | readonly |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | </el-scrollbar> |
| | | <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear"> |
| | | <span>您确定要删除该条记录吗?</span> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="deleteDialog = false" size="default">取消</el-button> |
| | | <el-button type="primary" @click="conFirmDelete" size="default" v-throttle>确认</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, defineComponent, ref } from 'vue'; |
| | | <script lang="ts" setup> |
| | | import { toRefs, reactive, ref } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Plus, Edit, Delete, Refresh, Search, Download } from '@element-plus/icons-vue' |
| | | import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue' |
| | | import { ElTable } from 'element-plus' |
| | | import { FormInstance, FormRules } from 'element-plus' |
| | | let global: any = { |
| | | homeChartOne: null, |
| | | homeChartTwo: null, |
| | |
| | | interface type { |
| | | |
| | | } |
| | | interface User { |
| | | date: string |
| | | name: string |
| | | address: string |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | |
| | | // 分页 |
| | | const currentPage = ref(1) |
| | | const pageSize = ref(10) |
| | | |
| | | // 顶部查询 |
| | | const searchType = ref('') |
| | | const searchWord = ref('') |
| | | |
| | | // 判断编辑和新增 |
| | | const chosenIndex = ref(-1) |
| | | |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`) |
| | | } |
| | | export default defineComponent({ |
| | | name: 'gasCheckAnalyze', |
| | | setup() { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const state = reactive<stateType>({}); |
| | | const multipleTableRef = ref<InstanceType<typeof ElTable>>() |
| | | const multipleSelection = ref<User[]>([]) |
| | | const handleSelectionChange = (val: User[]) => { |
| | | multipleSelection.value = val |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`) |
| | | } |
| | | const tableData = reactive( |
| | | [ |
| | | { |
| | | id: '11011', |
| | | cardName: '动火作业证', |
| | | name: '吴海涛', |
| | | department: '动火部门', |
| | | date: '2021-04-22 15:21:31' |
| | | }, |
| | | { |
| | | id: '11011', |
| | | cardName: '动火作业证', |
| | | name: '吴海涛', |
| | | department: '动火部门', |
| | | date: '2021-04-22 15:21:31' |
| | | } |
| | | const currentPage = ref(1) |
| | | const pageSize = ref(10) |
| | | const handleSizeChange = (val: number) => { |
| | | console.log(`${val} items per page`) |
| | | } |
| | | const handleCurrentChange = (val: number) => { |
| | | console.log(`current page: ${val}`) |
| | | } |
| | | const tableData: User[] = [ |
| | | { |
| | | id: '11011', |
| | | cardName: '动火作业证', |
| | | name: '吴沈峰', |
| | | department: '土木部', |
| | | date: '2021-04-22 15:21:31' |
| | | ] |
| | | ) |
| | | const addRef = ref<FormInstance>() |
| | | const addRules = reactive<FormRules>({ |
| | | id:[{required: true, message: '该内容不能为空',trigger:'blur'}], |
| | | cardName:[{required: true, message: '该内容不能为空',trigger:'blur'}], |
| | | name:[{required: true, message: '该内容不能为空',trigger:'blur'}], |
| | | department:[{required: true, message: '该内容不能为空',trigger:'blur'}], |
| | | date:[{required: true, message: '该内容不能为空',trigger:'blur'}] |
| | | }) |
| | | |
| | | const dialogDetails = ref(false) |
| | | const dialogAddRecord = ref(false) |
| | | const deleteDialog = ref(false) |
| | | const addRecord = ref({}) |
| | | const details = ref({}) |
| | | |
| | | // 查看记录 |
| | | const viewRecord = (row) =>{ |
| | | details.value = JSON.parse(JSON.stringify(row)) |
| | | dialogDetails.value = true |
| | | } |
| | | |
| | | // 删除记录 |
| | | const deleteRecord = (index) =>{ |
| | | chosenIndex.value = index |
| | | deleteDialog.value = true |
| | | } |
| | | |
| | | // 弹窗确认删除记录 |
| | | const conFirmDelete = ()=> { |
| | | tableData.splice(chosenIndex.value,1) |
| | | deleteDialog.value = false |
| | | } |
| | | |
| | | // 弹窗确认新增记录 |
| | | const confirmAddRecord = async (formEl: FormInstance | undefined) =>{ |
| | | if (!formEl) return |
| | | await formEl.validate((valid, fields) => { |
| | | if (valid) { |
| | | if(chosenIndex.value == -1){ |
| | | tableData.push(addRecord.value) |
| | | }else{ |
| | | tableData[chosenIndex.value] = addRecord.value |
| | | } |
| | | ] |
| | | const dialogDetails = ref(false) |
| | | const details = ref({}) |
| | | const viewDetails = (row)=> { |
| | | console.log(row,'row') |
| | | details.value = JSON.parse(JSON.stringify(row)) |
| | | console.log(details,'details') |
| | | dialogDetails.value = true |
| | | dialogAddRecord.value =false |
| | | } else { |
| | | console.log('error submit!', fields) |
| | | } |
| | | // 折线图 |
| | | const renderMenu = async (value: string) => { |
| | | Session.set('projectId',value) |
| | | userInfos.value.projectId = value |
| | | await initBackEndControlRoutes(); |
| | | }; |
| | | return { |
| | | renderMenu, |
| | | multipleTableRef, |
| | | tableData, |
| | | currentPage, |
| | | pageSize, |
| | | dialogDetails, |
| | | details, |
| | | viewDetails, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | Plus, |
| | | Edit, |
| | | Delete, |
| | | Search, |
| | | Download, |
| | | handleSelectionChange, |
| | | Refresh, |
| | | ...toRefs(state), |
| | | }; |
| | | }, |
| | | }); |
| | | }) |
| | | |
| | | } |
| | | // 新增弹窗关闭时的数据初始化处理 |
| | | const closeAdd =()=>{ |
| | | addRecord.value={} |
| | | chosenIndex.value = -1 |
| | | } |
| | | const indexClear = ()=>{ |
| | | chosenIndex.value = -1 |
| | | } |
| | | |
| | | // 折线图 |
| | | const renderMenu = async (value: string) => { |
| | | Session.set('projectId',value) |
| | | userInfos.value.projectId = value |
| | | await initBackEndControlRoutes(); |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | } |
| | | } |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | </style> |