zhaojiale
2022-08-18 375b6acbd3a8f9cf51f967b09ecd09eccd1a12f3
src/components/equipmentDailog/standardDailog.vue
@@ -1,87 +1,145 @@
<template>
   <el-dialog v-model="dialogVisible" title="新建检查标准设置" width="50%" draggable>
      <el-form :model="form" label-width="120px">
   <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" :title="titles" width="50%" draggable>
      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
      <el-form :model="form" ref="ruleFormRef" :rules="rules" label-width="120px" :disabled="disabled">
         <el-row>
            <el-col :span="11">
               <el-form-item label="序号">
                  <el-input v-model="form.name" placeholder="请填写序号" />
               <el-form-item label="序号" size="default" prop="indexNum">
                  <el-input v-model="form.indexNum" placeholder="请填写序号" />
               </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
            <el-col :span="11" :offset="2" size="default" prop="checkContent">
               <el-form-item label="检查内容">
                  <el-input v-model="form.name" placeholder="请填写检查内容" />
                  <el-input v-model="form.checkContent" 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 label="检查指标" size="default" prop="checkTarget">
                  <el-input v-model="form.checkTarget" 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 label="单位" size="default" prop="unit">
                  <el-input v-model="form.unit" placeholder="请填写单位" />
               </el-form-item>
            </el-col>
         </el-row>
            <el-row>
         <el-row>
            <el-col :span="11">
               <el-form-item label="巡检部位">
                        <el-input v-model="form.name" placeholder="请填写巡检部位" />
               <el-form-item label="巡检部位" size="default" prop="checkPart">
                  <el-input v-model="form.checkPart" 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 label="频次" size="default" prop="rate">
                  <el-input v-model="form.rate" placeholder="请填写频次" />
               </el-form-item>
            </el-col>
         </el-row>
      </el-form>
      <template #footer>
         <span class="dialog-footer">
            <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button>
            <el-button @click="dialogVisible = false" size="default">关闭</el-button>
            <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
            <!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
            <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
            <el-button type="primary" @click="submitForm(ruleFormRef)" size="default">确定</el-button>
         </span>
      </template>
   </el-dialog>
   <DailogSearchUser ref="Show"></DailogSearchUser>
   <!-- <DailogSearchUser ref="Show"></DailogSearchUser> -->
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
import type { FormInstance, FormRules } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
export default defineComponent({
   components:{DailogSearchUser},
   setup() {
      const form = reactive({
         name: '',
         region: '',
         date1: '',
         date2: '',
         delivery: false,
         type: [],
         resource: '',
         desc: '',
   components: { DailogSearchUser },
   setup(props, { emit }) {
      const ruleFormRef = ref<FormInstance>();
      const form = ref({
         indexNum: '',
         checkContent: '',
         checkTarget: '',
         unit: '',
         checkPart: '',
         rate: '',
      });
      // 开启弹窗
      const titles = ref();
      const disabled = ref(false);
      const dialogVisible = ref(false);
      const openDailog = () => {
      const openDailog = (title: string, data: any) => {
         dialogVisible.value = true;
         titles.value = `${title}检查标准设置`;
         if (title == '查看') {
            disabled.value = true;
            form.value = data;
         } else if (title == '修改') {
            disabled.value = false;
            form.value = data;
         }
      };
      // 开启用户弹窗
      const Show=ref()
      const openUser=()=>{
          Show.value.openDailog()
      }
      const Show = ref();
      const openUser = () => {
         Show.value.openDailog();
      };
      const rules = reactive<FormRules>({
         indexNum: [{ required: true, message: '序号不能为空', trigger: 'blur' }],
         checkContent: [{ required: true, message: '检查内容不能为空', trigger: 'blur' }],
         checkTarget: [{ required: true, message: '检查指标不能为空', trigger: 'blur' }],
         unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
         checkPart: [{ required: true, message: '巡检部位不能为空', trigger: 'blur' }],
         rate: [{ required: true, message: '频次不能为空', trigger: 'blur' }],
      });
      // 提交
      const submitForm = async (formEl: FormInstance | undefined) => {
         if (!formEl) return;
         await formEl.validate((valid, fields) => {
            if (valid) {
               emit('onStand', form.value);
               dialogVisible.value = false;
            } else {
               console.log('error submit!', fields);
            }
         });
         disabled.value = false;
      };
      //   取消
      const resetForm = (formEl: FormInstance | undefined) => {
         if (!formEl) return;
         formEl.clearValidate();
         dialogVisible.value = false;
         disabled.value = false;
         form.value = {};
      };
      //全屏
      const full = ref(false);
      const toggleFullscreen = () => {
         if (full.value == false) {
            full.value = true;
         } else {
            full.value = false;
         }
      };
      return {
         rules,
         ruleFormRef,
         form,
         titles,
         disabled,
         dialogVisible,
         openDailog,
         submitForm,
         resetForm,
         Show,
         openUser,
         Search,
         full,
         toggleFullscreen,
         FullScreen,
      };
   },
});