From 70c0bc7a7da9630ec94944d5ec7ebcc80c5a59c3 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期四, 21 七月 2022 11:00:50 +0800
Subject: [PATCH] 应急
---
.env.development | 2
src/api/emergencyResources/index.ts | 21 +
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue | 976 +++++++++++++++++++++++++-----------------------
src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue | 163 +++----
4 files changed, 614 insertions(+), 548 deletions(-)
diff --git a/.env.development b/.env.development
index edf9969..c1f8b28 100644
--- a/.env.development
+++ b/.env.development
@@ -5,6 +5,6 @@
#VITE_API_URL = 'http://192.168.0.76:8009'
# VITE_API_URL = 'http://192.168.0.8:8008'
- VITE_API_URL = 'http://192.168.0.35:8008'
+ VITE_API_URL = 'http://192.168.0.76:8009'
# VITE_API_URL = 'http://192.168.0.10:8008'
# VITE_API_URL = 'http://192.168.0.62:8008'
diff --git a/src/api/emergencyResources/index.ts b/src/api/emergencyResources/index.ts
new file mode 100644
index 0000000..1d2e834
--- /dev/null
+++ b/src/api/emergencyResources/index.ts
@@ -0,0 +1,21 @@
+import { METHODS } from 'http';
+import request from '/@/utils/request';
+
+export function emergencyResourcesApi(){
+ return{
+ emergencySuppliesList:(params:object)=>{
+ return request({
+ url:"/emergencySupplies/page/list",
+ method:'post',
+ data:params,
+ });
+ },
+ emergencySuppliesAdd:(params:object)=>{
+ return request({
+ url:"/emergencySupplies/add",
+ method:"post",
+ data:params
+ })
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
index fb5a6a4..f4cc6e1 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
@@ -1,482 +1,534 @@
<template>
- <div class="system-edit-user-container">
- <el-dialog
- title="新建应急物资代码"
- v-model="isShowDialog"
- width="769px"
- draggable
- :fullscreen="full"
- >
- <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
- <el-form
- ref="ruleFormRef"
- :model="ruleForm"
- size="default"
- label-width="120px"
- >
- <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>
- </el-col>
- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
- <el-form-item label="物资编号" prop="responsibleDepartment">
- <el-input v-model="ruleForm.responsibleDepartment" 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="teamLeader">
- <el-input v-model="ruleForm.teamLeader" 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-input
- v-model="ruleForm.teamLeader"
- placeholder="请选择"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" @click="regionsDialog"/>
- </template>
- </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="teamPhone">
- <el-input v-model="ruleForm.teamPhone" 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-tree-select
- v-model="ruleForm.responsibleDepartment"
- :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="telephone">
- <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="common"></el-option>
- <el-option label="照明装置" value="common"></el-option>
- <el-option label="防护器材" value="common"></el-option>
- <el-option label="其它" value="common"></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-input v-model="ruleForm.teamPhone" 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-input v-model="ruleForm.teamPhone" 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-date-picker
- v-model="value1"
- type="datetime"
- 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="telephone">
- <el-input v-model="ruleForm.teamPhone" 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-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
- <el-option label="完好" value="admin"></el-option>
- <el-option label="维修" value="common"></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-input v-model="ruleForm.teamPhone" 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-date-picker
- v-model="value1"
- type="datetime"
- class="w100"
- placeholder="选择日期时间"
- />
- </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-input v-model="ruleForm.teamPhone" 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-date-picker
- v-model="value1"
- type="datetime"
- 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="telephone">
- <el-date-picker
- v-model="value1"
- type="datetime"
- 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="telephone">
- <el-input v-model="ruleForm.teamPhone" 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-input v-model="ruleForm.teamPhone" 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-input
- v-model="ruleForm.teamLeader"
- placeholder="请选择"
- class="input-with-select"
- >
- <template #append>
- <el-button :icon="Search" @click="daiInpt"/>
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <template #footer>
+ <div class="system-edit-user-container">
+ <el-dialog title="新建应急物资代码" v-model="isShowDialog" width="50%" draggable :fullscreen="full">
+ <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
+ <el-form ref="ruleFormRef" :rules="rules" :model="ruleForm" size="default" label-width="120px">
+ <el-row :gutter="35">
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="物资名称" prop="name">
+ <el-input v-model="ruleForm.name" 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="number">
+ <el-input v-model="ruleForm.number" 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="use">
+ <el-input v-model="ruleForm.use" 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="所属区域">
+ <el-input v-model="ruleForm.areaId" placeholder="请选择" class="input-with-select">
+ <template #append>
+ <el-button :icon="Search" @click="regionsDialog" />
+ </template>
+ </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="model">
+ <el-input v-model="ruleForm.model" 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="departmentId">
+ <el-tree-select 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="classification">
+ <el-select v-model="ruleForm.classification" class="w100" placeholder="请选择">
+ <el-option label="事故气体吸收装置" value="admin"></el-option>
+ <el-option label="通讯设施" value="common"></el-option>
+ <el-option label="交通运输工具" value="common"></el-option>
+ <el-option label="照明装置" value="common"></el-option>
+ <el-option label="防护器材" value="common"></el-option>
+ <el-option label="其它" value="common"></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="place">
+ <el-input v-model="ruleForm.place" 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="count">
+ <el-input v-model.number="ruleForm.count" maxlength="6" 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="productionDate">
+ <el-date-picker v-model="ruleForm.productionDate" type="datetime" 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="usePeriod">
+ <el-input v-model.number="ruleForm.usePeriod" maxlength="6" 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="status">
+ <el-select v-model="ruleForm.status" class="w100" placeholder="请选择">
+ <el-option label="完好" value="admin"></el-option>
+ <el-option label="维修" value="common"></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="inspectPeiod">
+ <el-input v-model.number="ruleForm.inspectPeiod" type="" maxlength="4" 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="useDate">
+ <el-date-picker v-model="ruleForm.useDate" type="datetime" class="w100" placeholder="选择日期时间" />
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+ <el-form-item label="使用说明">
+ <el-input v-model="ruleForm.useExplain" 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="inspectDate">
+ <el-date-picker v-model="ruleForm.inspectDate" type="datetime" 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="nextInspectDate">
+ <el-date-picker v-model="ruleForm.nextInspectDate" type="datetime" 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="经度(度)">
+ <el-input v-model="ruleForm.longitude" 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="纬度(度)">
+ <el-input v-model="ruleForm.latitude" 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="负责人">
+ <el-input v-model="ruleForm.principalUserUid" placeholder="请选择" class="input-with-select">
+ <template #append>
+ <el-button :icon="Search" @click="daiInpt" />
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </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="onCancel(ruleFormRef)" size="default">关闭</el-button>
+ <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
</span>
- </template>
- </el-dialog>
- <PersonInCharge ref="Shows"/>
- <userSelections ref="userRef"/>
- <RegionsCheckbox ref="openRef"/>
- </div>
+ </template>
+ </el-dialog>
+ <PersonInCharge ref="Shows" />
+ <userSelections ref="userRef" />
+ <RegionsCheckbox ref="openRef" />
+ </div>
</template>
<script lang="ts">
-import {
- reactive,
- ref,
- defineComponent
-} from 'vue';
+import { reactive, ref, defineComponent } from 'vue';
-import type {
- FormInstance,
- // FormRules,
-} from 'element-plus'
+import type { FormInstance, FormRules } from 'element-plus';
-import {
- Search,
- FullScreen
-} from '@element-plus/icons-vue'
-import UserSelections from "/@/components/userSelections/index.vue"
-import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue'
-import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue'
-
+import { Search, FullScreen } from '@element-plus/icons-vue';
+import UserSelections from '/@/components/userSelections/index.vue';
+import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue';
+import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue';
+import { emergencyResourcesApi } from '/@/api/emergencyResources';
+interface From {
+ productionDate: string;
+ useDate: string;
+ inspectDate: string;
+ nextInspectDate: string;
+ inspectPeiod: number | null;
+ count: number | null;
+ usePeriod: number | null;
+ departmentId: number | null;
+ principalUserUid: number | null;
+ status: string;
+ classification: string;
+ name: string;
+ number: string;
+ model: string;
+ longitude: string;
+ latitude: string;
+ use: string;
+ areaId: number | null;
+ place: string;
+ useExplain: string;
+}
export default defineComponent({
- name: 'openAdd',
- components: {
- PersonInCharge,
- UserSelections,
- RegionsCheckbox,
- },
- setup() {
- const isShowDialog = ref(false)
+ name: 'openAdd',
+ components: {
+ PersonInCharge,
+ UserSelections,
+ RegionsCheckbox,
+ },
+ setup() {
+ const isShowDialog = ref(false);
- const ruleFormRef = ref<FormInstance>()
- //定义表单
- const ruleForm = reactive({
- teamName: '', // 队伍名称
- teamLeader: '', //队伍负责人
- department: [], // 负责人部门
- phone: '', // 负责人手机
- telephone: '', // 固定电话
- });
- // 打开弹窗
- const openDialog = () => {
- // state.ruleForm = row;
- isShowDialog.value = true;
- };
- // 关闭弹窗
- const closeDialog = () => {
- isShowDialog.value = false;
- };
- // 取消
- const onCancel = () => {
- closeDialog();
- };
- //日期选择器
- const value1 = ref('')
- // 可选择树
- const treeSelect = ref()
- const tree = [
- {
- value: '1',
- label: 'Level one 1',
- children: [
- {
- value: '1-1',
- label: 'Level two 1-1',
- children: [
- {
- value: '1-1-1',
- label: 'Level three 1-1-1',
- },
- ],
- },
- ],
- },
- {
- value: '2',
- label: 'Level one 2',
- children: [
- {
- value: '2-1',
- label: 'Level two 2-1',
- children: [
- {
- value: '2-1-1',
- label: 'Level three 2-1-1',
- },
- ],
- },
- {
- value: '2-2',
- label: 'Level two 2-2',
- children: [
- {
- value: '2-2-1',
- label: 'Level three 2-2-1',
- },
- ],
- },
- ],
- },
- {
- value: '3',
- label: 'Level one 3',
- children: [
- {
- value: '3-1',
- label: 'Level two 3-1',
- children: [
- {
- value: '3-1-1',
- label: 'Level three 3-1-1',
- },
- ],
- },
- {
- value: '3-2',
- label: 'Level two 3-2',
- children: [
- {
- value: '3-2-1',
- label: 'Level three 3-2-1',
- },
- ],
- },
- ],
- },
- ]
- //定义树形下拉框
- const responsibleDepartment = ref()
- const data = [
- {
- value: '1',
- label: '广汇能源综合物流发展有限责任公司',
- children: [
- {
- value: '1-1',
- label: '经营班子',
- children: [],
- },
- ],
- },
- {
- value: '2',
- label: '生产运行部',
- children: [
- {
- value: '2-1',
- label: '灌装一班',
- children: []
- },
- {
- value: '2-2',
- label: '工艺四班',
- children: [],
- },
- ],
- },
- {
- value: '3',
- label: '设备部',
- children: [
- {
- value: '3-1',
- label: '仪表班',
- children: [],
- },
- {
- value: '3-2',
- label: '机修班',
- children: [],
- },
- ],
- },
- ]
- // 必填项提示
- // const rules = reactive<FormRules>({
- // teamName: [
- // {
- // required: true,
- // message: '队伍名称不能为空',
- // trigger: 'change',
- // },
- // ],
- // teamLevel: [
- // {
- // required: true,
- // message: '队伍级别不能为空',
- // trigger: 'change',
- // },
- // ],
- // teamLeader: [
- // {
- // required: true,
- // message: '队伍负责人不能为空',
- // trigger: 'change',
- // },
- // ],
- // responsibleDepartment: [
- // {
- // required: true,
- // message: '负责人部门不能为空',
- // trigger: 'change',
- // },
- // ],
- // teamPhone: [
- // {
- // required: true,
- // message: '负责人手机不能为空',
- // trigger: 'change',
- // },
- // ],
- // telephone: [
- // {
- // required: true,
- // message: '固定电话不能为空',
- // trigger: 'change',
- // },
- // ],
- // })
- // 表单提交验证必填项
- 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 Shows=ref()
- const daiInpt=()=>{
- Shows.value.openDailog()
- }
- // 选择区域弹窗
- const openRef=ref()
- const regionsDialog=()=>{
- openRef.value.openDailog()
- }
- // 打开用户选择弹窗
- const userRef = ref();
- const openUser = () => {
- userRef.value.openDialog();
- };
- //全屏
- const full = ref(false);
- const toggleFullscreen = () => {
- if (full.value == false) {
- full.value = true;
- } else {
- full.value = false;
- }
- };
- return {
- openDialog,
- closeDialog,
- isShowDialog,
- onCancel,
- responsibleDepartment,
- data,
- Search,
- ruleForm,
- value1,
- treeSelect,
- tree,
- daiInpt,
- Shows,
- ruleFormRef,
- submitForm,
- // rules,
- openUser,
- userRef,
- regionsDialog,
- openRef,
- toggleFullscreen,
- FullScreen,
- full,
- };
- },
+ const ruleFormRef = ref<FormInstance>();
+ //定义表单
+ const ruleForm = reactive<From>({
+ productionDate: '',
+ useDate: '',
+ inspectDate: '',
+ nextInspectDate: '',
+ inspectPeiod: null,
+ count: null,
+ usePeriod: null,
+ departmentId: null,
+ principalUserUid: null,
+ status: '',
+ classification: '',
+ name: '',
+ number: '',
+ model: '',
+ longitude: '',
+ latitude: '',
+ use: '',
+ areaId: null,
+ place: '',
+ useExplain: '',
+ });
+ // 打开弹窗
+ const openDialog = () => {
+ // state.ruleForm = row;
+ isShowDialog.value = true;
+ };
+
+ // 取消
+ const onCancel = (formEl: FormInstance | undefined) => {
+ isShowDialog.value = false;
+ if (!formEl) return;
+ formEl.resetFields();
+ };
+ //日期选择器
+ const value1 = ref('');
+ // 可选择树
+ const treeSelect = ref();
+ const tree = [
+ {
+ value: '1',
+ label: 'Level one 1',
+ children: [
+ {
+ value: '1-1',
+ label: 'Level two 1-1',
+ children: [
+ {
+ value: '1-1-1',
+ label: 'Level three 1-1-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: 'Level one 2',
+ children: [
+ {
+ value: '2-1',
+ label: 'Level two 2-1',
+ children: [
+ {
+ value: '2-1-1',
+ label: 'Level three 2-1-1',
+ },
+ ],
+ },
+ {
+ value: '2-2',
+ label: 'Level two 2-2',
+ children: [
+ {
+ value: '2-2-1',
+ label: 'Level three 2-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: 'Level one 3',
+ children: [
+ {
+ value: '3-1',
+ label: 'Level two 3-1',
+ children: [
+ {
+ value: '3-1-1',
+ label: 'Level three 3-1-1',
+ },
+ ],
+ },
+ {
+ value: '3-2',
+ label: 'Level two 3-2',
+ children: [
+ {
+ value: '3-2-1',
+ label: 'Level three 3-2-1',
+ },
+ ],
+ },
+ ],
+ },
+ ];
+ //定义树形下拉框
+ const responsibleDepartment = ref();
+ const data = [
+ {
+ value: '1',
+ label: '广汇能源综合物流发展有限责任公司',
+ children: [
+ {
+ value: 11,
+ label: '经营班子',
+ children: [],
+ },
+ ],
+ },
+ {
+ value: '2',
+ label: '生产运行部',
+ children: [
+ {
+ value: '2-1',
+ label: '灌装一班',
+ children: [],
+ },
+ {
+ value: '2-2',
+ label: '工艺四班',
+ children: [],
+ },
+ ],
+ },
+ {
+ value: '3',
+ label: '设备部',
+ children: [
+ {
+ value: '3-1',
+ label: '仪表班',
+ children: [],
+ },
+ {
+ value: '3-2',
+ label: '机修班',
+ children: [],
+ },
+ ],
+ },
+ ];
+ // 必填项提示
+ const rules = reactive<FormRules>({
+ name: [
+ {
+ required: true,
+ message: '物资名称不能为空',
+ trigger: 'change',
+ },
+ ],
+ number: [
+ {
+ required: true,
+ message: '物资编号不能为空',
+ trigger: 'change',
+ },
+ ],
+ use: [
+ {
+ required: true,
+ message: '物资用途不能为空',
+ trigger: 'change',
+ },
+ ],
+ model: [
+ {
+ required: true,
+ message: '物资型号不能为空',
+ trigger: 'change',
+ },
+ ],
+ departmentId: [
+ {
+ required: true,
+ message: '负责部门不能为空',
+ trigger: 'change',
+ },
+ ],
+ classification: [
+ {
+ required: true,
+ message: '物资分类不能为空',
+ trigger: 'change',
+ },
+ ],
+ place: [
+ {
+ required: true,
+ message: '存放位置不能为空',
+ trigger: 'change',
+ },
+ ],
+ count: [
+ {
+ required: true,
+ message: '存储数量不能为空',
+ trigger: 'change',
+ },
+ { type: 'number', message: '请输入数字类型', trigger: 'change' },
+ ],
+ productionDate: [
+ {
+ required: true,
+ message: '生产日期不能为空',
+ trigger: 'change',
+ },
+ ],
+ usePeriod: [
+ {
+ required: true,
+ message: '使用期限不能为空',
+ trigger: 'change',
+ },
+ { type: 'number', message: '请输入数字类型', trigger: 'change' },
+ ],
+ status: [
+ {
+ required: true,
+ message: '物资状态不能为空',
+ trigger: 'change',
+ },
+ ],
+ inspectPeiod: [
+ {
+ required: true,
+ message: '检查周期月不能为空',
+ trigger: 'change',
+ },
+ { type: 'number', message: '请输入数字类型', trigger: 'change' },
+ ],
+ useDate: [
+ {
+ required: true,
+ message: '投用日期不能为空',
+ trigger: 'change',
+ },
+ ],
+ inspectDate: [
+ {
+ required: true,
+ message: '检查日期不能为空',
+ trigger: 'change',
+ },
+ ],
+ nextInspectDate: [
+ {
+ required: true,
+ message: '下次检查日期不能为空',
+ trigger: 'change',
+ },
+ ],
+ });
+ // 表单提交验证必填项
+ const submitForm = async (formEl: FormInstance | undefined) => {
+ if (!formEl) return;
+ await formEl.validate((valid, fields) => {
+ if (valid) {
+ emergencyResourcesApi()
+ .emergencySuppliesAdd(ruleForm)
+ .then((res) => {
+ console.log(res);
+ });
+ } else {
+ console.log('error submit!', fields);
+ }
+ });
+ };
+ // 应急队伍弹窗
+ const Shows = ref();
+ const daiInpt = () => {
+ Shows.value.openDailog();
+ };
+ // 选择区域弹窗
+ const openRef = ref();
+ const regionsDialog = () => {
+ openRef.value.openDailog();
+ };
+ // 打开用户选择弹窗
+ const userRef = ref();
+ const openUser = () => {
+ userRef.value.openDialog();
+ };
+ //全屏
+ const full = ref(false);
+ const toggleFullscreen = () => {
+ if (full.value == false) {
+ full.value = true;
+ } else {
+ full.value = false;
+ }
+ };
+ return {
+ openDialog,
+ isShowDialog,
+ onCancel,
+ responsibleDepartment,
+ data,
+ Search,
+ ruleForm,
+ value1,
+ treeSelect,
+ tree,
+ daiInpt,
+ Shows,
+ ruleFormRef,
+ submitForm,
+ rules,
+ openUser,
+ userRef,
+ regionsDialog,
+ openRef,
+ toggleFullscreen,
+ FullScreen,
+ full,
+ };
+ },
});
</script>
<style scoped lang="scss">
-.textarea{
- height: 168px!important;
+.textarea {
+ height: 168px !important;
}
-.textarea ::v-deep .el-textarea__inner{
- height: 168px!important;
+.textarea ::v-deep .el-textarea__inner {
+ height: 168px !important;
}
::v-deep .el-table__cell {
- font-weight: 400;
+ font-weight: 400;
}
-.el-divider--horizontal{
- height: 0;
- margin: 0;
- border-top: transparent;
+.el-divider--horizontal {
+ height: 0;
+ margin: 0;
+ border-top: transparent;
}
-.el-select{
- width: 100%;
+.el-select {
+ width: 100%;
}
</style>
\ No newline at end of file
diff --git a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
index 0e79970..e405aae 100644
--- a/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
+++ b/src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -1,35 +1,29 @@
<template>
<div class="system-user-container">
<el-card shadow="hover">
- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+ <!-- <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="待评价" name="first"></el-tab-pane>
<el-tab-pane label="已评价" name="second"></el-tab-pane>
- </el-tabs>
+ </el-tabs> -->
<div class="system-user-search mb15">
- <el-input size="default" placeholder="物资名称" style="max-width: 215px"> </el-input>
- <el-button size="default" type="primary" class="ml10"> 查询 </el-button>
+ <el-input size="default" v-model="listQuery.searchParams.name" placeholder="物资名称" style="max-width: 215px" />
+ <el-button size="default" type="primary" class="ml10" @click="listApi"> 查询 </el-button>
<el-button size="default" class="ml10" @click="submitReset"> 重置 </el-button>
</div>
<div class="button_Line">
<div class="button_Left">
<el-button size="default" type="primary" @click="onOpenAdd('新建')">
- <el-icon>
- <Plus /> </el-icon
- >新建
+ <el-icon> <Plus /> </el-icon>新建
</el-button>
<el-button size="default" type="warning" plain disabled>
- <el-icon>
- <Edit /> </el-icon
- >修改
+ <el-icon> <Edit /> </el-icon>修改
</el-button>
<el-button size="default" type="danger" plain disabled>
- <el-icon>
- <Delete /> </el-icon
- >删除
+ <el-icon> <Delete /> </el-icon>删除
</el-button>
</div>
<div class="button_Right">
- <el-button @click="upButton">
+ <!-- <el-button @click="upButton">
<el-icon>
<Upload />
</el-icon>
@@ -38,33 +32,27 @@
<el-icon>
<Refresh />
</el-icon>
- </el-button>
+ </el-button> -->
</div>
</div>
<el-table :data="tableData" style="width: 100%" ref="multipleTableRef">
<el-table-column type="selection" width="55" />
- <el-table-column prop="teamName" label="物资名称" min-width="120" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="teamLevel" label="物资编号" min-width="120" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="teamDescription" label="负责部门" min-width="120" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="materialClassification" label="物资分类" min-width="120" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="location" label="存放位置" min-width="120" show-overflow-tooltip sortable></el-table-column>
- <el-table-column prop="number" label="存储数量" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="name" label="物资名称" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="number" label="物资编号" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="departmentId" label="负责部门" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="classification" label="物资分类" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="place" label="存放位置" min-width="120" show-overflow-tooltip sortable></el-table-column>
+ <el-table-column prop="count" 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="onMaintain(scope.row)">
- <el-icon style="margin-right: 5px">
- <EditPen /> </el-icon
- >保养
+ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>保养
</el-button>
<el-button size="small" text type="primary" @click="onMaintain(scope.row)">
- <el-icon style="margin-right: 5px">
- <EditPen /> </el-icon
- >检查
+ <el-icon style="margin-right: 5px"> <EditPen /> </el-icon>检查
</el-button>
<el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
- <el-icon style="margin-right: 5px">
- <View /> </el-icon
- >查看
+ <el-icon style="margin-right: 5px"> <View /> </el-icon>查看
</el-button>
<el-button size="small" text type="primary" @click="onOpenEdit(scope.row)">
<el-icon style="margin-right: 5px">
@@ -73,24 +61,22 @@
修改
</el-button>
<el-button size="small" text type="primary" @click="onRowDel(scope.row)">
- <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-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"
/>
@@ -110,6 +96,8 @@
// onMounted,
ref,
defineComponent,
+ reactive,
+ onMounted,
} from 'vue';
import { ElMessageBox, ElMessage, ElTable } from 'element-plus';
import {
@@ -126,15 +114,16 @@
import OpenEdit from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue';
import Maintain from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
-
+import { emergencyResourcesApi } from '/@/api/emergencyResources';
// 定义表格数据类型
interface User {
- teamName: string;
- teamLevel: string;
- teamDescription: string;
- location: string;
- materialClassification: string;
+ id: number;
+ name: string;
number: string;
+ departmentId: number;
+ classification: string;
+ place: string;
+ count: number;
}
// 定义接口来定义对象的类型
@@ -171,47 +160,43 @@
setup() {
const multipleTableRef = ref<InstanceType<typeof ElTable>>();
const multipleSelection = ref<User[]>([]);
-
+ // 列表参数
+ const listQuery = reactive({
+ pageIndex: 1,
+ pageSize: 10,
+ searchParams: {
+ name: '',
+ },
+ });
+ // 定义表格数据
+ const tableData = ref([]);
+ // 请求列表数据
+ const listApi = async () => {
+ let res = await emergencyResourcesApi().emergencySuppliesList(listQuery);
+ console.log(res);
+ 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.error(res.data.msg);
+ }
+ };
+ //重置
+ const submitReset = () => {
+ listQuery.searchParams.name = '';
+ listApi();
+ };
+ onMounted(() => {
+ listApi();
+ });
// 上传
const upShow = ref();
const upButton = () => {
upShow.value.openDialog();
};
- // 定义表格数据
- const tableData: User[] = [
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- location: '3#岗微型消防站',
- number: '5',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- location: '3#岗微型消防站',
- number: '5',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- location: '3#岗微型消防站',
- number: '5',
- },
- {
- teamName: '消防安全绳',
- teamLevel: 'YJWZ20210208104332',
- teamDescription: '安全管理部',
- materialClassification: '事故气体吸收装置',
- location: '3#岗微型消防站',
- number: '5',
- },
- ];
+
//查看用户弹窗
const seeRef = ref();
const onMaintain = (row: TableDataRow) => {
@@ -240,15 +225,18 @@
.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`);
+ // console.log(`${val} items per page`);
+ listQuery.pageSize = val;
};
- // 分页未改变
+ // 分页数
const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
+ // console.log(`current page: ${val}`);
+ listQuery.pageIndex = val;
};
return {
multipleSelection,
@@ -265,8 +253,13 @@
onRowDel,
pageIndex,
pageSize,
+ total,
handleSizeChange,
handleCurrentChange,
+ listQuery,
+ listApi,
+ onMounted,
+ submitReset,
// ...toRefs(state),
};
},
--
Gitblit v1.9.2