马宇豪
2023-05-22 d0bec404f2c22ca04e8592f1a2ba0b39eab0be2f
src/views/newSpecialWorkSystem/workTicket/zysq/components/fire.vue
@@ -1,12 +1,11 @@
<template>
   <div class="home-container">
      <div style="height: 100%">
      <el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef">
      <el-form :model="form" label-width="180px" :rules="applyRules" ref="ruleFormRef">
         <div class="homeCard">
      <el-row>
        <el-col :span="12">
          <el-form-item label="作业申请单位" prop="workDetail.involvedDepIds">
            <el-cascader v-model="form.workDetail.involvedDepIds" :options="departList" :show-all-levels="false"/>
            <el-cascader style="width: 100%" v-model="form.workDetail.involvedDepIds" :options="departList" :props="depProps" :show-all-levels="false"/>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -71,7 +70,7 @@
         <el-row>
        <el-col :span="12">
          <el-form-item label="作业单位" prop="workDetail.involvedDepIds">
            <el-cascader v-model="form.workDetail.involvedDepIds" :options="departList" :show-all-levels="false"/>
            <el-cascader style="width: 100%" v-model="form.workDetail.involvedDepIds" :props="depProps" :options="departList" :show-all-levels="false"/>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -154,27 +153,114 @@
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="预计整体完成时间" prop="workTimeLine">
          <el-form-item label="预计(整体)完成时间" prop="workTimeLine">
            <el-date-picker
                v-model="form.workTimeLine"
                format="YYYY-MM-DD HH:mm"
                value-format="YYYY-MM-DD HH:mm:00"
                type="datetime"
                style="width: 100%"
            />
          </el-form-item>
        </el-col>
      </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="备注" prop="info">
              <el-input
                  v-model="form.workContent"
                  :autosize="{ minRows: 1 }"
                  type="textarea"
                  placeholder="请输入作业备注"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-table :data="safeData" style="width: 100%" border>
            <el-table-column type="index" label="序号" width="80px"/>
            <el-table-column prop="name" label="安全措施"/>
            <el-table-column prop="address" label="确认人">
              <template #default="scope">
              </template>
            </el-table-column>
            <el-table-column prop="address" label="操作">
              <template #default="scope">
                <el-button link type="primary" size="small" :icon="Edit">修改确认人</el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="其他安全措施填报人" prop="info">
              <el-select v-model="form.operatorUids" multiple>
                <el-option
                    v-for="item in workerList"
                    :key="item.uid"
                    :label="item.username"
                    :value="item.uid"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-table :data="form.reviewData" style="width: 100%" border>
            <el-table-column prop="item" label="审批签字项目"/>
            <el-table-column prop="isCheck" label="是否必签">
              <template #default="scope">
                <el-radio-group v-model="scope.row.isCheck">
                  <el-radio :label="1">所有必签</el-radio>
                  <el-radio :label="2">任一</el-radio>
                  <el-radio :label="3">非必签</el-radio>
                </el-radio-group>
              </template>
            </el-table-column>
            <el-table-column prop="names" label="审批人">
              <template #default="scope">
              </template>
            </el-table-column>
            <el-table-column prop="address" label="操作">
              <template #default="scope">
                <el-button link type="primary" size="small" :icon="Edit">选择审批人</el-button>
              </template>
            </el-table-column>
          </el-table>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="完工验收" prop="info">
              <el-select v-model="form.operatorUids">
                <el-option
                    v-for="item in workerList"
                    :key="item.uid"
                    :label="item.username"
                    :value="item.uid"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="现场开始结束确认人" prop="info">
              <el-select v-model="form.operatorUids" multiple>
                <el-option
                    v-for="item in workerList"
                    :key="item.uid"
                    :label="item.username"
                    :value="item.uid"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
         </div>
      </el-form>
      <el-table :data="tableData" style="width: 100%">
        <el-table-column type="index" label="序号"/>
        <el-table-column prop="name" label="安全措施"/>
        <el-table-column prop="address" label="确认人" />
      </el-table>
      <div class="applyBtn">
         <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">发起申请</el-button>
         <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">提交申报</el-button>
      </div>
   </div>
   </div>
</template>
@@ -184,7 +270,7 @@
   import { initBackEndControlRoutes } from '/@/router/backEnd';
   import {useUserInfo} from "/@/stores/userInfo";
   import { Session } from '/@/utils/storage';
   import { Search } from '@element-plus/icons-vue'
   import { Search, Edit } from '@element-plus/icons-vue'
   import { ElMessage, ElMessageBox } from 'element-plus'
   import type { FormInstance, FormRules } from 'element-plus'
   import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
@@ -192,7 +278,9 @@
      form: Object,
      workLevelList: Array<any>,
      otherWorkList: Array<any>,
      equipmentDialog: boolean
      equipmentDialog: boolean,
    depProps:{},
    safeData: []
   }
   export default defineComponent({
      name: 'fireForm',
@@ -221,7 +309,49 @@
          receiveUids: [],
               workTimeLine: [],
               expStartTime: '',
               expEndTime: ''
               expEndTime: '',
          reviewData: [
            {
              item: '作业负责人意见',
              isCheck: null,
              names: []
            },
            {
              item: '车间主任意见',
              isCheck: null,
              names: []
            },
            {
              item: '运营安环科意见',
              isCheck: null,
              names: []
            },
            {
              item: '运营单位负责人意见',
              isCheck: null,
              names: []
            },
            {
              item: '事业部安环科意见',
              isCheck: null,
              names: []
            },
            {
              item: '事业部负责人审批意见',
              isCheck: null,
              names: []
            },
            {
              item: '公司主要负责人审批意见',
              isCheck: null,
              names: []
            },
            {
              item: '岗位当班班长验票情况',
              isCheck: null,
              names: []
            }
          ]
            },
            workLevelList: [
               {
@@ -270,7 +400,13 @@
                  label: "盲板抽堵作业",
                  value: 8
               }
            ]
            ],
        depProps:{
          expandTrigger: 'hover',
          label: 'depName',
          value: 'depId'
        },
        safeData: []
         });
         const ruleFormRef = ref<FormInstance>()
         const applyRules = reactive<FormRules>({
@@ -287,7 +423,7 @@
         // 页面载入时执行方法
         onMounted(() => {
        state.form.involvedDepIds = userInfos.value.depId
         });
@@ -310,9 +446,12 @@
<style scoped lang="scss">
   .home-container {
      height: 100%;
      width: 100%;
    height: 100vh;
      overflow: hidden;
      position: relative;
    overflow-y: scroll;
    padding: 40px 0 100px;
      .homeCard{
         width: 100%;
         padding: 20px;
@@ -322,10 +461,11 @@
         margin-bottom: 20px;
      }
      .applyBtn{
      position: absolute;
      z-index: 999;
         width: 100%;
         background: #fff;
         padding-top: 15px;
         z-index: 5;
         box-shadow: 0 -3px 8px rgba(150,150,150,.1);
         display: flex;
         align-items: center;