From 60d1b9b5b876f4fb675edb825e04321297f2c945 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期三, 27 七月 2022 09:29:37 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut
---
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue | 303 +++++++++++++++++++--------
src/api/releaseDrillPlan/index.ts | 43 +++
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue | 280 ++++++++++++++-----------
3 files changed, 410 insertions(+), 216 deletions(-)
diff --git a/src/api/releaseDrillPlan/index.ts b/src/api/releaseDrillPlan/index.ts
new file mode 100644
index 0000000..ab0e944
--- /dev/null
+++ b/src/api/releaseDrillPlan/index.ts
@@ -0,0 +1,43 @@
+import request from '/@/utils/request';
+
+export function releaseDrillPlanApi(){
+ return{
+ getReleaseDrillPlanList: (params: object) => {
+ return request({
+ url: '/emergencyDrillPlan/page/list',
+ method: 'post',
+ data:params
+ })
+ },
+ // 应急队伍新增
+ addReleaseDrillPlan: (params:object) => {
+ return request({
+ url: `/emergencyDrillPlan/add`,
+ method: 'post',
+ data: params
+ });
+ },
+ // 应急队伍详情
+ seeReleaseDrillPlan: (params:number) => {
+ return request({
+ url: `/emergencyDrillPlan/info/${params}`,
+ method: 'get'
+ });
+ },
+ // 应急队伍编辑
+ editReleaseDrillPlan: (params: object) => {
+ return request({
+ url: `/emergencyDrillPlan/update`,
+ method: 'post',
+ data: params
+ });
+ },
+ // 应急队伍删除
+ deleteReleaseDrillPlan: (params:object) => {
+ return request({
+ url: `/emergencyDrillPlan/batchDelete/${params}`,
+ method: 'get',
+ });
+ },
+ }
+}
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
index 10ba7d3..e30a816 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -1,7 +1,7 @@
<template>
<div class="system-edit-user-container">
<el-dialog
- title="新建应急演练计划发布"
+ :title="titles"
v-model="isShowDialog"
width="769px"
draggable
@@ -13,39 +13,40 @@
:model="ruleForm"
size="default"
label-width="120px"
+ :disabled="disabled"
>
<el-row :gutter="35">
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="演练名称" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+ <el-form-item label="演练名称" prop="drillName">
+ <el-input v-model="ruleForm.drillName" placeholder="请填写演练名称"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="演练地点" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写演练地点"></el-input>
+ <el-form-item label="演练地点" prop="drillAddress">
+ <el-input v-model="ruleForm.drillAddress" placeholder="请填写演练地点"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="主办部门" placeholder="请选择">
+ <el-form-item label="主办部门" placeholder="请选择" prop="departmentId">
<el-tree-select
- v-model="ruleForm.responsibleDepartment"
+ v-model="ruleForm.departmentId"
:data="data" class="w100"
placeholder="请选择"/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="演练方式" prop="teamLevel">
- <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
- <el-option label="综合" value="admin"></el-option>
- <el-option label="桌面" value="common3"></el-option>
- <el-option label="专项" value="common2"></el-option>
+ <el-form-item label="演练方式" prop="drillWay">
+ <el-select v-model="ruleForm.drillWay" class="w100" placeholder="请选择">
+ <el-option label="综合" value="综合"></el-option>
+ <el-option label="桌面" value="桌面"></el-option>
+ <el-option label="专项" value="专项"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="应急预案" prop="telephone" >
+ <el-form-item label="应急预案" prop="planId" >
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.planId"
placeholder="请选择"
class="input-with-select"
>
@@ -56,38 +57,38 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="演练级别" prop="teamPhone">
- <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
- <el-option label="公司级" value="admin"></el-option>
- <el-option label="分厂级" value="common"></el-option>
- <el-option label="车间级" value="common1"></el-option>
+ <el-form-item label="演练级别" prop="drillLevel">
+ <el-select v-model="ruleForm.drillLevel" class="w100" placeholder="请选择">
+ <el-option label="公司级" value="公司级"></el-option>
+ <el-option label="分厂级" value="分厂级"></el-option>
+ <el-option label="车间级" value="车间级"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="计划定制日期" prop="teamPhone">
- <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="计划定制日期" prop="makingPlanDate">
+ <el-date-picker v-model="ruleForm.makingPlanDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="计划演练日期" prop="teamPhone">
- <el-date-picker v-model="drillDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="计划演练日期" prop="drillPlanDate">
+ <el-date-picker v-model="ruleForm.drillPlanDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="修改时间" prop="teamPhone">
- <el-date-picker v-model="editDate" type="datetime" placeholder="选择日期时间" style="width: 100%" />
+ <el-form-item label="修改时间" prop="updateDate">
+ <el-date-picker v-model="ruleForm.updateDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="计划定制人" prop="teamPhone">
- <el-input v-model="ruleForm.planCustomizer" disabled placeholder="请填写演练地点"></el-input>
+ <el-form-item label="计划定制人" prop="makingUserUid">
+ <el-input v-model="ruleForm.makingUserUid" placeholder="请填写计划定制人"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="制定部门" prop="telephone">
+ <el-form-item label="制定部门" prop="makingDepartmentId">
<el-tree-select
- v-model="ruleForm.responsibleDepartment"
+ v-model="ruleForm.makingDepartmentId"
:data="data" class="w100"
placeholder="请选择"/>
</el-form-item>
@@ -106,9 +107,9 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="演练目的" prop="telephone">
+ <el-form-item label="演练目的" prop="purpose">
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.purpose"
placeholder="请填写演练目的"
class="input-with-select textarea"
type="textarea"
@@ -130,19 +131,19 @@
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="保险措施" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+ <el-form-item label="保险措施" prop="insuranceMeasures">
+ <el-input v-model="ruleForm.insuranceMeasures" placeholder="请填写保险措施"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="演练经费" prop="teamName">
- <el-input v-model="ruleForm.teamName" placeholder="请填写演练名称"></el-input>
+ <el-form-item label="演练经费" prop="drillExpense">
+ <el-input v-model="ruleForm.drillExpense" placeholder="请填写演练经费"></el-input>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
- <el-form-item label="备注信息" prop="telephone">
+ <el-form-item label="备注信息" prop="remark">
<el-input
- v-model="ruleForm.teamLeader"
+ v-model="ruleForm.remark"
placeholder="请填写备注信息"
class="input-with-select textarea"
type="textarea"
@@ -172,8 +173,8 @@
</el-form>
<template #footer>
<span class="dialog-footer">
- <el-button @click="onCancel" size="default">关闭</el-button>
- <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
+ <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
+ <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
</span>
</template>
</el-dialog>
@@ -183,7 +184,8 @@
</template>
<script lang="ts">
-import { reactive,
+import {
+ // reactive,
ref,
defineComponent
} from 'vue';
@@ -191,15 +193,15 @@
import type {
UploadUserFile,
FormInstance,
- // FormRules,
} from 'element-plus'
-
+import { ElMessage } from 'element-plus';
import {
Search,
FullScreen
} from '@element-plus/icons-vue'
import UserCheckbox from "/@/components/userCheckbox/index.vue"
import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
+import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan";
export default defineComponent({
name: 'openAdd',
@@ -207,31 +209,59 @@
RegionsDialog,
UserCheckbox,
},
- setup() {
+ setup(props, { emit }) {
const isShowDialog = ref(false)
const ruleFormRef = ref<FormInstance>()
//定义表单
- const ruleForm = reactive({
- teamName: '', // 队伍名称
- planCustomizer: '胡海涛', //计划定制人
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
+ const ruleForm = ref ({
+ makingPlanDate: '', // 计划制定日期
+ drillPlanDate: '', //计划演练日期
+ makingUserUid: '', //计划制定人ID
+ makingDepartmentId: '', // 计划制定部门ID
+ planId: '', // 应急预案ID
+ departmentId: '', // 主办部门ID
+ drillExpense: '', // 演练经费
+ drillLevel: '', //演练级别
+ drillAddress: '', //演练地点
+ drillName: '', // 演练名称
+ drillWay: '', // 演练方式
+ insuranceMeasures: '', // 保险措施
+ remark: '', // 备注
+ purpose: '', // 演练目的
+ fileList: [
+ {
+ fileName: 'name',
+ fileUrl: 'url',
+ }
+ ],
+ userList: [
+ {
+ userUid: '',
+ type: 1
+ },
+ {
+ userUid: '',
+ type: 2
+ }
+ ]
});
+ const titles = ref();
+ const disabled = ref();
// 打开弹窗
- const openDialog = () => {
- // state.ruleForm = row;
+ const openDialog = (title: string, id: number, type: boolean) => {
isShowDialog.value = true;
- };
- // 关闭弹窗
- const closeDialog = () => {
- isShowDialog.value = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
+ titles.value = title;
+ disabled.value = type;
+ if (title == '查看应急演练计划发布' || title == '修改应急演练计划发布') {
+ releaseDrillPlanApi()
+ .seeReleaseDrillPlan(id)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ruleForm.value = res.data.data;
+ }
+ });
+ }
};
//日期选择器
const value1 = ref('')
@@ -245,11 +275,11 @@
label: 'Level one 1',
children: [
{
- value: '1-1',
+ value: '11',
label: 'Level two 1-1',
children: [
{
- value: '1-1-1',
+ value: '111',
label: 'Level three 1-1-1',
},
],
@@ -261,21 +291,21 @@
label: 'Level one 2',
children: [
{
- value: '2-1',
+ value: '22',
label: 'Level two 2-1',
children: [
{
- value: '2-1-1',
+ value: '222',
label: 'Level three 2-1-1',
},
],
},
{
- value: '2-2',
+ value: '223',
label: 'Level two 2-2',
children: [
{
- value: '2-2-1',
+ value: '2233',
label: 'Level three 2-2-1',
},
],
@@ -287,21 +317,21 @@
label: 'Level one 3',
children: [
{
- value: '3-1',
+ value: '33',
label: 'Level two 3-1',
children: [
{
- value: '3-1-1',
+ value: '3333',
label: 'Level three 3-1-1',
},
],
},
{
- value: '3-2',
+ value: '3334',
label: 'Level two 3-2',
children: [
{
- value: '3-2-1',
+ value: '333',
label: 'Level three 3-2-1',
},
],
@@ -317,23 +347,23 @@
label: '广汇能源综合物流发展有限责任公司',
children: [
{
- value: '1-1',
+ value: '11',
label: '经营班子',
children: [],
},
],
},
{
- value: '2',
+ value: '12',
label: '生产运行部',
children: [
{
- value: '2-1',
+ value: '21',
label: '灌装一班',
children: []
},
{
- value: '2-2',
+ value: '22',
label: '工艺四班',
children: [],
},
@@ -344,12 +374,12 @@
label: '设备部',
children: [
{
- value: '3-1',
+ value: '31',
label: '仪表班',
children: [],
},
{
- value: '3-2',
+ value: '32',
label: '机修班',
children: [],
},
@@ -358,16 +388,106 @@
]
// 表单提交验证必填项
- const submitForm = async (formEl: FormInstance | undefined) => {
- if (!formEl) return
- await formEl.validate((valid, fields) => {
- if (valid) {
- console.log('submit!')
- } else {
- console.log('error submit!', fields)
- }
- })
+ const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+ if (title == '新建应急演练计划发布') {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ isShowDialog.value = false;
+ releaseDrillPlanApi()
+ .addReleaseDrillPlan(ruleForm.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'success',
+ });
+ emit('myAdd', true);
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ emit('myAdd', true);
+ }
+ formEl.resetFields();
+ });
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+ }
+ else if (title == '修改应急演练计划发布') {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ isShowDialog.value = false;
+ releaseDrillPlanApi()
+ .editReleaseDrillPlan(ruleForm.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: '修改成功',
+ type: 'success',
+ });
+ emit('myAdd', true);
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ emit('myAdd', true);
+ }
+ formEl.resetFields();
+ });
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+ formEl.resetFields();
+ ruleForm.value = {
+ makingPlanDate: '', // 计划制定日期
+ drillPlanDate: '', //计划演练日期
+ makingUserUid: '', //计划制定人ID
+ makingDepartmentId: '', // 计划制定部门ID
+ planId: '', // 应急预案ID
+ departmentId: '', // 主办部门ID
+ drillExpense: '', // 演练经费
+ drillLevel: '', //演练级别
+ drillAddress: '', //演练地点
+ drillName: '', // 演练名称
+ drillWay: '', // 演练方式
+ insuranceMeasures: '', // 保险措施
+ remark: '', // 备注
+ purpose: '', // 演练目的
+ fileList: [
+ {
+ fileName: 'name',
+ fileUrl: 'url',
+ }
+ ],
+ userList: [
+ {
+ userUid: '',
+ type: 1
+ },
+ {
+ userUid: '',
+ type: 2
+ }
+ ]
+ };
+ }
}
+ const resetForm = (formEl: FormInstance | undefined) => {
+ isShowDialog.value = false;
+ if (!formEl) return;
+ formEl.resetFields();
+ };
// 应急队伍弹窗
const Shows=ref()
const daiInpt=()=>{
@@ -380,10 +500,6 @@
};
// 计划定制日期
const datetime = ref('')
- // 计划演练日期
- const drillDate = ref('')
- // 修改时间
- const editDate = ref('')
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -395,9 +511,7 @@
};
return {
openDialog,
- closeDialog,
isShowDialog,
- onCancel,
fileList,
responsibleDepartment,
data,
@@ -410,15 +524,16 @@
Shows,
ruleFormRef,
submitForm,
- // rules,
openUser,
userRef,
datetime,
- drillDate,
- editDate,
toggleFullscreen,
FullScreen,
full,
+ titles,
+ disabled,
+ resetForm,
+ emit,
};
},
});
diff --git a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
index f468732..d7f0a15 100644
--- a/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
+++ b/src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -3,12 +3,12 @@
<el-card shadow="hover">
<div class="button_Line">
<div class="button_Left">
- <el-button size="default" type="primary" @click="onOpenAdd('新建')">
+ <el-button size="default" type="primary" @click="onOpenAdd">
<el-icon>
<Plus />
</el-icon>新建
</el-button>
- <el-button size="default" type="danger" plain disabled>
+ <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll">
<el-icon>
<Delete />
</el-icon>删除
@@ -36,17 +36,18 @@
:data="tableData"
style="width: 100%"
ref="multipleTableRef"
+ @selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
/>
- <el-table-column prop="name" label="演练名称" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="place" label="演练地点" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="mode" label="演练方式" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="level" label="演练级别" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="date" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="editDate" label="修改时间" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="drillName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="drillAddress" label="演练地点" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="drillWay" label="演练方式" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="drillLevel" label="演练级别" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="drillPlanDate" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="gmtModitify" label="修改时间" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="操作" width="260" align="center">
<template #default="scope">
<el-button size="small" text type="primary" @click="releaseOfDrillPlan(0)">
@@ -54,17 +55,17 @@
<VideoPlay />
</el-icon>启动
</el-button>
- <el-button size="small" text type="primary" @click="onOpenSee(scope.row)">
+ <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="onflowChart(scope.row)">
+ <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)">
+ <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)">
<el-icon>
<Delete />
</el-icon>删除
@@ -74,23 +75,20 @@
</el-table>
<div class="pages">
<el-pagination
+ v-if="tableData.length == 0 ? false : true"
v-model:currentPage="pageIndex"
v-model:page-size="pageSize"
:page-sizes="[10, 20, 30]"
:pager-count="5"
- :small="small"
- :disabled="disabled"
- :background="background"
layout="total, sizes, prev, pager, next, jumper"
- :total="40"
+ :total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</el-card>
- <OpenAdd ref="addRef" />
- <OpenSee ref="seeRef" />
- <FlowChart ref="flowRef"></FlowChart>
+ <OpenAdd ref="addRef" @myAdd="onMyAdd"/>
+<!-- <FlowChart ref="flowRef"></FlowChart>-->
<upData ref="upShow"></upData>
</div>
</template>
@@ -98,8 +96,8 @@
<script lang="ts">
import {
// toRefs,
- // reactive,
- // onMounted,
+ reactive,
+ onMounted,
ref,
defineComponent
} from 'vue';
@@ -120,41 +118,14 @@
} from '@element-plus/icons-vue'
import {useRouter} from "vue-router"
import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue';
-import OpenSee from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openSee.vue';
-import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue';
+// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
-
-// 定义表格数据类型
-interface User {
- name: string
- place: string
- mode: string
- level: string
- phone: string;
- date: string;
- editDate: string
-}
-
-// 定义接口来定义对象的类型
-interface TableDataRow {
- // userName: string;
- // userNickname: string;
- // roleSign: string;
- // department: string[];
- // phone: string;
- // email: string;
- // sex: string;
- // password: string;
- // overdueTime: Date;
- // // describe: string;
- // createTime: string;
-}
+import { releaseDrillPlanApi } from '/@/api/releaseDrillPlan';
export default defineComponent({
name: 'systemUser',
components: {
OpenAdd,
- OpenSee,
EditPen,
Plus,
View,
@@ -164,101 +135,161 @@
Refresh,
VideoPlay,
UpData,
- FlowChart,
+ // FlowChart,
},
setup() {
- // 选择框
- // const value = ref('');
- // const options =
- // {
- // value: 'Option1',
- // label: 'Option1',
- // };
- const multipleTableRef = ref<InstanceType<typeof ElTable>>()
- const multipleSelection = ref<User[]>([])
-
+ // 列表参数
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ },
+ });
+ // 定义表格数据
+ const tableData = ref([]);
+ // 列表数据请求
+ const listApi = async () => {
+ let res = await releaseDrillPlanApi().getReleaseDrillPlanList(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',
+ });
+ }
+ };
+ onMounted(() => {
+ listApi();
+ });
// 上传
const upShow=ref()
const upButton=()=>{
upShow.value.openDialog()
}
- // 定义表格数据
- const tableData: User[] = [
- {
- name: '应急救援组',
- place: '公司',
- mode: '实施抢险抢险的应急方案和措施实施 ;',
- level: '051383830321',
- phone: '13603812900',
- date: '2022-06-22 16:31:59',
- editDate: '2022-06-22 16:31:59'
- },
- {
- name: '应急救援组',
- place: '公司',
- mode: '实施抢险抢险的应急方案和措施实施 ;',
- level: '051383830321',
- phone: '13603812900',
- date: '2022-06-22 16:31:59',
- editDate: '2022-06-22 16:31:59'
- },
- {
- name: '应急救援组',
- place: '公司',
- mode: '实施抢险抢险的应急方案和措施实施 ;',
- level: '051383830321',
- phone: '13603812900',
- date: '2022-06-22 16:31:59',
- editDate: '2022-06-22 16:31:59'
- },
- {
- name: '应急救援组',
- place: '公司',
- mode: '实施抢险抢险的应急方案和措施实施 ;',
- level: '051383830321',
- phone: '13603812900',
- date: '2022-06-22 16:31:59',
- editDate: '2022-06-22 16:31:59'
- }
- ]
- // 打开新增用户弹窗
+
+ // 打开新增弹窗
const addRef = ref();
const onOpenAdd = () => {
- addRef.value.openDialog();
+ addRef.value.openDialog('新建应急演练计划发布',false);
};
- // 打开查看用户弹窗
- const seeRef = ref();
- const onOpenSee = (row: TableDataRow) => {
- seeRef.value.openDialog(row);
+ // 新增后刷新
+ const onMyAdd = (e: boolean) => {
+ if (e) {
+ listApi();
+ } else {
+ listApi();
+ }
};
// 打开修改用户弹窗
- const flowRef = ref();
- const onflowChart = (row: TableDataRow) => {
- flowRef.value.openDialog(row);
+ const onEdit = (val: string, row: object) => {
+ if (val == '详情') {
+ addRef.value.openDialog('查看应急演练计划发布',row,true);
+ } else {
+ addRef.value.openDialog('修改应急演练计划发布',row,false);
+ }
};
- // 删除用户
- const onRowDel = (row: TableDataRow) => {
- ElMessageBox.confirm(`此操作将永久删除账户名称:“${row}”,是否继续?`, '提示', {
+ // 打开修改用户弹窗
+ // const flowRef = ref();
+ // const onflowChart = (row: TableDataRow) => {
+ // flowRef.value.openDialog(row);
+ // };
+ // 删除
+ const onRowDel = (data: any) => {
+ ElMessageBox.confirm('确定删除所选项吗?', '提示',{
confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(() => {
+ releaseDrillPlanApi()
+ .deleteReleaseDrillPlan(data)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ listApi();
+ }
+ });
+ })
+ .catch(() => {});
+ };
+ // 多选删除
+ const onDeleteAll = () => {
+ ElMessageBox.confirm('确定删除所选项吗?', '提示', {
+ confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
- ElMessage.success('删除成功');
+ releaseDrillPlanApi()
+ .deleteReleaseDrillPlan(deletAll.value)
+ .then((res) => {
+ if (res.data.code == 200) {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'success',
+ });
+ listApi();
+ } else {
+ ElMessage({
+ showClose: true,
+ message: res.data.msg,
+ type: 'error',
+ });
+ listApi();
+ }
+ });
})
.catch(() => {});
};
// 分页
- const pageIndex = ref(4);
- const pageSize = ref(10);
+ const pageIndex = ref();
+ const pageSize = ref();
+ const total = ref();
// 分页改变
const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
+ listQuery.pageSize = val;
+ listApi();
};
// 分页未改变
const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
+ listQuery.pageIndex = val;
+ listApi();
};
+ 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();
+ // console.log(deletAll.value);
+ if (val.length == 1) {
+ danger.value = false;
+ } else if (val.length == 0) {
+ danger.value = true;
+ } else {
+ danger.value = false;
+ }
+ };
+
// 启动跳转
const router=useRouter()
const releaseOfDrillPlan=(data:string)=>{
@@ -270,25 +301,30 @@
})
}
return {
- multipleSelection,
- multipleTableRef,
upButton,
upShow,
tableData,
- onOpenSee, //查看
- onflowChart,
- flowRef,
- seeRef,
+ // onflowChart,
+ // flowRef,
onOpenAdd, //新增
addRef,
onRowDel,
View ,
pageIndex,
+ listQuery,
pageSize,
handleSizeChange,
handleCurrentChange,
router,
releaseOfDrillPlan,
+ listApi,
+ danger,
+ deletAll,
+ handleSelectionChange,
+ onMyAdd,
+ onDeleteAll,
+ onEdit,
+ total,
};
},
});
--
Gitblit v1.9.2