From 9f58d71d299d0b289ead548ea0f6b7fcbc8b0562 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期二, 05 七月 2022 09:11:54 +0800 Subject: [PATCH] 目标 --- src/views/goalManagement/targetEscalation/component/lowerPlate.vue | 112 ++++++++++++++++++++++ src/views/goalManagement/targetEscalation/processForms.vue | 141 +++++++++++++++++++++++++++- 2 files changed, 247 insertions(+), 6 deletions(-) diff --git a/src/views/goalManagement/targetEscalation/component/lowerPlate.vue b/src/views/goalManagement/targetEscalation/component/lowerPlate.vue new file mode 100644 index 0000000..f75fe8e --- /dev/null +++ b/src/views/goalManagement/targetEscalation/component/lowerPlate.vue @@ -0,0 +1,112 @@ +<template> + <div class="box"> + <el-form ref="form" :model="form" label-width="120px"> + <el-row> + <el-col :span="15"> + <el-form-item label="流程标题"> + <el-input v-model="form.name" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="15"> + <el-form-item label="下级审批日期"> + <el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="15"> + <el-form-item label=""> + <el-checkbox-group v-model="form.type" @change="checkbox1"> + <el-checkbox label="是否抄送" name="1" /> + </el-checkbox-group> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="false"> + <el-col :span="15"> + <el-form-item label="抄送给"> + <el-input v-model="resource" placeholder=""> + <template #append> <el-button :icon="Search" /> </template + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="15"> + <el-form-item label=""> + <el-checkbox-group v-model="form.type" @change="checkbox2"> + <el-checkbox label="指定下一步处理者(不设置就使用默认处理人)" name="1" /> + </el-checkbox-group> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="false"> + <el-col :span="15"> + <el-form-item label="指定"> + <el-input v-model="desc" placeholder=""> + <template #append> <el-button :icon="Search" /> </template + ></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> +</template> +<script lang="ts"> +import { defineComponent, ref, reactive } from 'vue'; +import { Search } from '@element-plus/icons-vue'; + +export default defineComponent({ + setup() { + const form = reactive<any>({ + name: '', + region: '', + date1: '', + date2: '', + delivery: false, + type: [], + resource: '', + desc: '', + }); + const resourceShow = ref<boolean>(); + const descShow = ref<boolean>(); + const checkbox1 = () => { + if (form.resource == '1') { + resourceShow.value = true; + } else { + resourceShow.value = false; + } + }; + const checkbox2 = () => { + if (form.desc == '1') { + descShow.value = true; + } else { + descShow.value = false; + } + }; + return { + form, + resourceShow, + checkbox1, + checkbox2, + descShow, + Search, + }; + }, +}); +</script> + +<style scoped> +.box { + margin: 30px 0 100px 0; + background-color: #fff; + border: 1px solid #dcdfe6; + box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%); + padding: 20px; +} +.el-row { + padding: 0 0 20px 0; +} +</style> \ No newline at end of file diff --git a/src/views/goalManagement/targetEscalation/processForms.vue b/src/views/goalManagement/targetEscalation/processForms.vue index b4390a5..af8cd2a 100644 --- a/src/views/goalManagement/targetEscalation/processForms.vue +++ b/src/views/goalManagement/targetEscalation/processForms.vue @@ -1,29 +1,117 @@ <template> <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4> + <div class="box"> <el-menu :default-active="activeIndex" class="el-menu-demo" - background-color="#f5f7fa" - active-text-color="#a9d86e" + background-color="#fff" + text-color="#fff" + active-text-color="#fff" mode="horizontal" @select="handleSelect" > <el-menu-item index="1">表单信息</el-menu-item> <el-menu-item index="2">流程图</el-menu-item> </el-menu> + <div v-if="activeIndex == 1" class="navType"> + <el-form ref="form" :model="form" label-width="120px"> + <el-row style="padding: 20px"> + <el-col :span="11"> + <el-form-item label="安全目标指标"> + <el-input v-model="name"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="目标指标编号"> + <el-input v-model="name"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row style="padding: 20px"> + <el-col :span="11"> + <el-form-item label="年度"> + <el-input v-model="name"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="指标值"> + <el-input v-model="name"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <el-tabs v-model="activeName" style="padding: 0 20px"> + <el-tab-pane label="考核指标" name="1"> + <el-table :data="tableData" style="width: 100%"> + <el-table-column align="center" type="index" label="序号" width="70" /> + <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" label="检查值"> + <template #default> + <el-input v-model="address" placeholder=""></el-input> + </template> + </el-table-column> + <el-table-column align="center" prop="address" label="检查人" /> + <el-table-column align="center" prop="address" label="检查时间" /> + </el-table> + <div class="tiao"> + <div class="typeS">审批</div> + </div> + <el-row style="padding:20px 0"> + <el-col :span="6" style="text-align:right">一级审批:</el-col> + <el-col :span="18">同意</el-col> + </el-row> + <el-row style="padding:0 0 20px 0"> + <el-col :span="6"></el-col> + <el-col :span="18"><span class="logoColor">同意</span><span style="margin-right: 8px;">杜建喜</span><span>2021-05-24 04:47:42</span></el-col> + </el-row> + </el-tab-pane> + </el-tabs> + </div> + <div v-if="activeIndex == 2" class="navType">cccccccc</div> + </div> + <lowerPlate></lowerPlate> + <div class="btns"> + <el-button type="primary">发起上报</el-button> + </div> </template> <script lang="ts"> -import { defineComponent, ref } from 'vue'; - +import { defineComponent, reactive, ref } from 'vue'; +import lowerPlate from './component/lowerPlate.vue' export default defineComponent({ + components:{lowerPlate}, setup() { const activeIndex = ref('1'); const handleSelect = (key: string, keyPath: string[]) => { - console.log(key, keyPath); + // console.log(key, keyPath); + activeIndex.value = key; }; + const form = reactive({ + name: '', + region: '', + date1: '', + date2: '', + delivery: false, + type: [], + resource: '', + desc: '', + }); + const activeName = ref('1'); + const tableData = [ + { + date: '2016-05-03', + name: 'Tom', + address: 'No. 189, Grove St, Los Angeles', + }, + ]; return { activeIndex, handleSelect, + form, + activeName, + tableData }; }, }); @@ -32,6 +120,47 @@ .title { text-align: center; font-size: 16px; - margin-bottom: 20px; + margin-bottom: 20px; +} +.box{ + border: 1px solid #dcdfe6; + box-shadow: 0 2px 4px 0 rgb(0 0 0 / 12%), 0 0 6px 0 rgb(0 0 0 / 4%); +} +.navType { + background-color: #fff; +} +.tiao{ + width: 100%; + height: 1px; + background-color: #dcdfe6; + margin: 30px 0 ; + position: relative; +} +.typeS{ + width: 80px; + background-color: #fff; + position: absolute; + left: 30px; + top: -9px; + font-size: 14px; + text-align: center; +} +.logoColor{ + background-color: #67c23a; + color: #fff; + padding: 5px 8px; + border-radius: 5px; + margin-right: 5px; +} +.btns{ + width: 100%; + padding:20px 0; + background-color: #fff; + position: fixed; + bottom: 0px; + left: 0px; + text-align: center; + box-shadow: 0 -3px 5px 0 rgb(0 0 0 / 12%); + } </style> -- Gitblit v1.9.2