From 11539543075b17d64a2b8d2c4a085634ba683eed Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Fri, 15 Jul 2022 16:47:05 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut
---
src/components/equipmentDailog/DailogS.vue | 444 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 444 insertions(+), 0 deletions(-)
diff --git a/src/components/equipmentDailog/DailogS.vue b/src/components/equipmentDailog/DailogS.vue
new file mode 100644
index 0000000..a1d4f24
--- /dev/null
+++ b/src/components/equipmentDailog/DailogS.vue
@@ -0,0 +1,444 @@
+<template>
+ <el-dialog v-model="dialogVisible" title="新建仪器仪表" width="60%">
+ <el-form :model="form" label-width="130px">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="类型/类别外键">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="opencategory"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="装置/部位名称">
+ <el-input v-model="form.name" placeholder="请选择" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="所属部门">
+ <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
+ <el-option label="Zone one" value="shanghai" />
+ <el-option label="Zone two" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="具体位置">
+ <el-input v-model="form.name" placeholder="请填写具体位置" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="负责人姓名">
+ <el-input v-model="form.name" placeholder="请填写负责人姓名" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="联系人">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openUser"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="录入人">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openUser"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="责任人">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openUser"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="装置部位分类">
+ <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
+ <el-option label="Zone one" value="shanghai" />
+ <el-option label="Zone two" value="beijing" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="检查周期">
+ <el-input v-model="form.name" placeholder="请选择检查周期" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="相关应急预案">
+ <el-input v-model="form.name" placeholder="请选择">
+ <template #append>
+ <el-button :icon="Search" @click="openPlan"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="主要危险有害因素">
+ <el-input v-model="form.name" placeholder="请选择" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="易导致风险">
+ <el-input v-model="form.name" placeholder="请选择易导致风险" />
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="11" :offset="2">
+ <el-form-item label="应急处置措施">
+ <el-input v-model="form.name" placeholder="请选择应急处置措施" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="现场图片">
+ <el-upload
+ class="avatar-uploader"
+ action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ :show-file-list="false"
+ :on-success="handleAvatarSuccess"
+ :before-upload="beforeAvatarUpload"
+ >
+ <img v-if="imageUrl" :src="imageUrl" class="avatar" />
+ <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
+ </el-upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="备注信息"> <el-input v-model="form.name" placeholder="请选择应急处置措施" /> </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-tabs v-model="activeName" class="demo-tabs">
+ <el-tab-pane label="设备保养" name="first">
+ <el-button type="primary" @click="openMaintenance">新增</el-button>
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" prop="date" label="保养情况" />
+ <el-table-column align="center" prop="name" label="保养负责人" />
+ <el-table-column align="center" prop="address" label="保养日期" />
+ <el-table-column align="center" prop="address" label="保养负责人单位" />
+ <el-table-column align="center" prop="address" label="操作">
+ <template #default>
+ <el-button link type="primary" size="small">查看</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="设备检测" name="second">
+ <el-button type="primary" @click="openDetect">新增</el-button>
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" prop="date" label="检测人" />
+ <el-table-column align="center" prop="name" label="检测日期" />
+ <el-table-column align="center" prop="address" label="检测人单位" />
+ <el-table-column align="center" prop="address" label="检测内容" />
+ <el-table-column align="center" prop="address" label="检测结果" />
+ <el-table-column align="center" prop="address" label="检测状态" />
+ <el-table-column align="center" prop="address" label="操作">
+ <template #default>
+ <el-button link type="primary" size="small">查看</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="设备维修" name="third">
+ <el-button type="primary" @click="openRepair">新增</el-button>
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" prop="date" label="设施异常项" />
+ <el-table-column align="center" prop="name" label="维修状态" />
+ <el-table-column align="center" prop="address" label="维修情况" />
+ <el-table-column align="center" prop="address" label="维修负责人" />
+ <el-table-column align="center" prop="address" label="维修负责人单位" />
+ <el-table-column align="center" prop="address" label="维修开始日期" />
+ <el-table-column align="center" prop="address" label="维修结束日期" />
+ <el-table-column align="center" prop="address" label="操作">
+ <template #default>
+ <el-button link type="primary" size="small">查看</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="检查标准设置" name="fourth">
+ <el-button type="primary" @click="openStandard">新增</el-button>
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" type="index" label="序号" width="75" />
+ <el-table-column align="center" prop="name" label="检查内容" />
+ <el-table-column align="center" prop="address" label="检查指标" />
+ <el-table-column align="center" prop="address" label="单位" />
+ <el-table-column align="center" prop="address" label="巡检部位" />
+ <el-table-column align="center" prop="address" label="频次" />
+ <el-table-column align="center" prop="address" label="操作">
+ <template #default>
+ <el-button link type="primary" size="small">查看</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="巡检记录" name="five">
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" type="selection" width="75" />
+ <el-table-column align="center" sortable prop="name" label="任务编号" />
+ <el-table-column align="center" sortable prop="address" label="任务名称" />
+ <el-table-column align="center" sortable prop="address" label="点位类型" />
+ <el-table-column align="center" sortable prop="address" label="检查频次" />
+ <el-table-column align="center" sortable prop="address" label="巡检时间" />
+ <el-table-column align="center" sortable prop="address" label="巡检人" />
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype">
+ <el-upload
+ v-model:file-list="fileList"
+ class="upload-demo"
+ action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
+ multiple
+ :on-preview="handlePreview"
+ :on-remove="handleRemove"
+ :before-remove="beforeRemove"
+ :limit="3"
+ :on-exceed="handleExceed"
+ >
+ <el-button type="primary">点击上传</el-button>
+ <template #tip>
+ <div class="el-upload__tip"></div>
+ </template>
+ </el-upload>
+ </el-tab-pane>
+ </el-tabs>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogVisible = false">关闭</el-button>
+ <el-button type="primary" @click="dialogVisible = false">确定</el-button>
+ </span>
+ </template>
+ </el-dialog>
+ <categoryDailog ref="categoryShow"></categoryDailog>
+ <planDailog ref="planShow"></planDailog>
+ <DailogSearchUser ref="UserShow"></DailogSearchUser>
+ <maintenanceDailog ref="maintenanceShow"></maintenanceDailog>
+ <detectDailog ref="detectShow"></detectDailog>
+ <repairDailog ref="repairShow"></repairDailog>
+ <standardDailog ref="standardShow"></standardDailog>
+</template>
+<script lang="ts">
+import { defineComponent, ref, reactive } from 'vue';
+import { Search,Plus } from '@element-plus/icons-vue';
+import categoryDailog from './categoryDailog.vue';
+import planDailog from './planDailog.vue';
+import maintenanceDailog from './maintenanceDailog.vue';
+import detectDailog from './detectDailog.vue';
+import repairDailog from './repairDailog.vue';
+import standardDailog from './standardDailog.vue';
+import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import type { UploadProps, UploadUserFile } from 'element-plus';
+export default defineComponent({
+ components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
+ setup() {
+ const dialogVisible = ref(false);
+ const form = reactive({
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: '',
+ });
+ const Dailogtype = ref(false);
+ const openDailog = (type: boolean) => {
+ dialogVisible.value = true;
+ Dailogtype.value = type;
+ };
+ const activeName = ref('first');
+ const tableData = [
+ {
+ date: '2016-05-03',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ {
+ date: '2016-05-02',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ {
+ date: '2016-05-04',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ {
+ date: '2016-05-01',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ ];
+ const categoryShow = ref();
+ const opencategory = () => {
+ categoryShow.value.openDailog();
+ };
+ const planShow = ref();
+ const openPlan = () => {
+ planShow.value.openDailog();
+ };
+ const UserShow = ref();
+ const openUser = () => {
+ UserShow.value.openDailog();
+ };
+ const maintenanceShow = ref();
+ const openMaintenance = () => {
+ maintenanceShow.value.openDailog();
+ };
+ const detectShow = ref();
+ const openDetect = () => {
+ detectShow.value.openDailog();
+ };
+ const repairShow = ref();
+ const openRepair = () => {
+ repairShow.value.openDailog();
+ };
+ const standardShow = ref();
+ const openStandard = () => {
+ standardShow.value.openDailog();
+ };
+ // 上传
+ const fileList = ref<UploadUserFile[]>([
+ {
+ name: 'element-plus-logo.svg',
+ url: 'https://element-plus.org/images/element-plus-logo.svg',
+ },
+ {
+ name: 'element-plus-logo2.svg',
+ url: 'https://element-plus.org/images/element-plus-logo.svg',
+ },
+ ]);
+
+ const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
+ console.log(file, uploadFiles);
+ };
+
+ const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
+ console.log(uploadFile);
+ };
+
+ const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
+ ElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);
+ };
+
+ const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
+ return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(
+ () => true,
+ () => false
+ );
+ };
+ //图片提交
+ const imageUrl = ref('');
+
+ const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
+ imageUrl.value = URL.createObjectURL(uploadFile.raw!);
+ };
+
+ const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
+ if (rawFile.type !== 'image/jpeg') {
+ ElMessage.error('Avatar picture must be JPG format!');
+ return false;
+ } else if (rawFile.size / 1024 / 1024 > 2) {
+ ElMessage.error('Avatar picture size can not exceed 2MB!');
+ return false;
+ }
+ return true;
+ };
+ return {
+ dialogVisible,
+ Dailogtype,
+ form,
+ openDailog,
+ Search,
+ activeName,
+ tableData,
+ categoryShow,
+ opencategory,
+ planShow,
+ openPlan,
+ UserShow,
+ openUser,
+ maintenanceShow,
+ openMaintenance,
+ detectShow,
+ openDetect,
+ repairShow,
+ openRepair,
+ standardShow,
+ openStandard,
+ fileList,
+ handleRemove,
+ handlePreview,
+ handleExceed,
+ beforeRemove,
+ imageUrl,
+ handleAvatarSuccess,
+ beforeAvatarUpload,
+ Plus
+ };
+ },
+});
+</script>
+<style scoped>
+ .el-row{
+ padding: 0 0 20px 0;
+ }
+.avatar-uploader .avatar {
+ width: 178px;
+ height: 178px;
+ display: block;
+}
+</style>
+<style>
+ .avatar-uploader .el-upload {
+ border: 1px dashed var(--el-border-color);
+ border-radius: 6px;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+ transition: var(--el-transition-duration-fast);
+}
+
+.avatar-uploader .el-upload:hover {
+ border-color: var(--el-color-primary);
+}
+
+.el-icon.avatar-uploader-icon {
+ font-size: 28px;
+ color: #8c939d;
+ width: 178px;
+ height: 178px;
+ text-align: center;
+}
+</style>
\ No newline at end of file
--
Gitblit v1.9.2