From 11539543075b17d64a2b8d2c4a085634ba683eed Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期五, 15 七月 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