From ac680789d9e47d8a6508949146a18c56e1f112d0 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期一, 04 七月 2022 09:14:12 +0800
Subject: [PATCH] 目标
---
src/components/DailogSearch/DailogSearch.vue | 15 ++
src/views/goalManagement/targetSettings/index.vue | 11 +
src/views/goalManagement/targetEscalation/component/Dailog.vue | 46 +++++++++
src/views/goalManagement/targetEscalation/processForms.vue | 37 +++++++
src/views/goalManagement/targetEscalation/index.vue | 173 ++++++++++++++++++++++++++++++++++
5 files changed, 277 insertions(+), 5 deletions(-)
diff --git a/src/components/DailogSearch/DailogSearch.vue b/src/components/DailogSearch/DailogSearch.vue
index 1ab9ca2..239a164 100644
--- a/src/components/DailogSearch/DailogSearch.vue
+++ b/src/components/DailogSearch/DailogSearch.vue
@@ -1,7 +1,7 @@
<template>
<el-dialog v-model="dialogVisible" title="选择安全目标指标" width="50%" draggable>
<el-row>
- <el-col :span="20">
+ <el-col :span="18">
<el-form ref="ruleFormRef" :model="ruleForm" status-icon>
<el-row>
<el-col :span="6">
@@ -43,7 +43,11 @@
@current-change="handleCurrentChange"
/>
</el-col>
- <el-col :span="4"></el-col>
+ <el-col :span="6">
+ <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
+ {{ tag }}
+ </el-tag>
+ </el-col>
</el-row>
<template #footer>
<span class="dialog-footer">
@@ -97,6 +101,11 @@
const handleCurrentChange = (val: number) => {
console.log(`current page: ${val}`);
};
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
+ const handleClose = (tag: string) => {
+ dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ };
return {
dialogVisible,
openDailog,
@@ -105,6 +114,8 @@
pageSize4,
handleSizeChange,
handleCurrentChange,
+ dynamicTags,
+ handleClose,
Delete,
};
},
diff --git a/src/views/goalManagement/targetEscalation/component/Dailog.vue b/src/views/goalManagement/targetEscalation/component/Dailog.vue
new file mode 100644
index 0000000..db1fa1a
--- /dev/null
+++ b/src/views/goalManagement/targetEscalation/component/Dailog.vue
@@ -0,0 +1,46 @@
+<template>
+ <el-dialog
+ v-model="dialogVisible"
+ title="记录"
+ width="50%"
+ draggable
+ >
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column align="center" label="序号" type="index" width="80"/>
+ <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="date" label="制定日期" />
+ <el-table-column align="center" prop="name" label="检查值" />
+ <el-table-column align="center" prop="name" label="检查人" />
+ <el-table-column align="center" prop="address" label="检查时间" />
+ </el-table>
+ <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>
+</template>
+<script lang="ts">
+import { defineComponent,reactive,ref} from 'vue'
+
+export default defineComponent({
+ setup() {
+ const dialogVisible = ref(false)
+ const tableData=ref()
+ const openDailog=(data:any)=>{
+ dialogVisible.value=true
+ tableData.value=data
+ }
+ return{
+ dialogVisible,
+ tableData,
+ openDailog
+ }
+ },
+})
+</script>
diff --git a/src/views/goalManagement/targetEscalation/index.vue b/src/views/goalManagement/targetEscalation/index.vue
new file mode 100644
index 0000000..af2d37b
--- /dev/null
+++ b/src/views/goalManagement/targetEscalation/index.vue
@@ -0,0 +1,173 @@
+<template>
+ <search></search>
+ <div class="minCenter">
+ <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+ <el-tab-pane label="检查" name="1"> </el-tab-pane>
+ <el-tab-pane label="上报" name="2"></el-tab-pane>
+ </el-tabs>
+ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
+ <el-table-column label="安全目标指标" align="center" sortable>
+ <template #default="scope">{{ scope.row.date }}</template>
+ </el-table-column>
+ <el-table-column property="name" align="center" label="目标指标编号" sortable />
+ <el-table-column property="address" label="年度" align="center" sortable show-overflow-tooltip />
+ <el-table-column property="address" label="指标值" align="center" sortable show-overflow-tooltip />
+ <el-table-column v-if="activeName == 1" label="操作" align="center" show-overflow-tooltip>
+ <template #default>
+ <el-button link type="primary" size="default" :icon="EditPen" @click="jumpFrom">检查</el-button>
+ <el-button link type="primary" size="default" :icon="View" @click="openDai(tableData)">记录</el-button>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="activeName == 2" label="操作" align="center" show-overflow-tooltip>
+ <template #default>
+ <el-button link type="primary" size="default" :icon="EditPen" @click="handleClick">上报</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="pages">
+ <el-pagination
+ v-model:currentPage="currentPage4"
+ v-model:page-size="pageSize4"
+ :page-sizes="[100, 200, 300, 400]"
+ :small="small"
+ :disabled="disabled"
+ :background="background"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="400"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+ </div>
+ <Dailog ref="Show"></Dailog>
+</template>
+<script lang="ts">
+import search from '../targetSettings/component/search.vue';
+import Dailog from './component/Dailog.vue'
+import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
+import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
+import { Plus, Delete, Upload, Download, Refresh, View,EditPen} from '@element-plus/icons-vue';
+import {useRouter} from "vue-router"
+interface User {
+ date: string;
+ name: string;
+ address: string;
+}
+import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
+export default defineComponent({
+ components: { ElButton, ElInput, search,Dailog },
+ setup() {
+ // 下方导航与表格
+ const activeName = ref('1');
+ const handleClick = (tab: TabsPaneContext, event: Event) => {
+ console.log(tab, event);
+ };
+ const formatter = (row: User, column: TableColumnCtx<User>) => {
+ return row.address;
+ };
+
+ const tableData: User[] = [
+ {
+ 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',
+ },
+ {
+ date: '2016-05-08',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ {
+ date: '2016-05-06',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ {
+ date: '2016-05-07',
+ name: 'Tom',
+ address: 'No. 189, Grove St, Los Angeles',
+ },
+ ];
+ const currentPage4 = ref(4);
+ const pageSize4 = ref(100);
+ const small = ref(false);
+ const disabled = ref(false);
+ const background = ref(false);
+ const handleSizeChange = (val: number) => {
+ console.log(`${val} items per page`);
+ };
+ const handleCurrentChange = (val: number) => {
+ console.log(`current page: ${val}`);
+ };
+ // 记录弹窗
+ const Show=ref()
+ const openDai=(data:any)=>{
+ Show.value.openDailog(data)
+ }
+ // 流程表单
+ const router=useRouter()
+ const jumpFrom=()=>{
+ router.push({
+ path:"/processForms"
+ })
+ }
+ return {
+ activeName,
+ handleClick,
+ tableData,
+ formatter,
+ currentPage4,
+ pageSize4,
+ handleSizeChange,
+ handleCurrentChange,
+ small,
+ disabled,
+ background,
+ Show,
+ openDai,
+ router,
+ jumpFrom,
+ Plus,
+ Delete,
+ Upload,
+ Download,
+ Refresh,
+ View,
+ EditPen
+ };
+ },
+});
+</script>
+<style scoped>
+.minCenter {
+ width: 100%;
+ background-color: #fff;
+ margin-top: 10px;
+ padding: 0 20px;
+}
+.btns {
+ padding: 0px 0px 10px 0px;
+ display: flex;
+ justify-content: space-between;
+}
+.pages {
+ padding: 20px 0;
+ display: flex;
+ justify-content: right;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/goalManagement/targetEscalation/processForms.vue b/src/views/goalManagement/targetEscalation/processForms.vue
new file mode 100644
index 0000000..b4390a5
--- /dev/null
+++ b/src/views/goalManagement/targetEscalation/processForms.vue
@@ -0,0 +1,37 @@
+<template>
+ <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4>
+ <el-menu
+ :default-active="activeIndex"
+ class="el-menu-demo"
+ background-color="#f5f7fa"
+ active-text-color="#a9d86e"
+ mode="horizontal"
+ @select="handleSelect"
+ >
+ <el-menu-item index="1">表单信息</el-menu-item>
+ <el-menu-item index="2">流程图</el-menu-item>
+ </el-menu>
+</template>
+<script lang="ts">
+import { defineComponent, ref } from 'vue';
+
+export default defineComponent({
+ setup() {
+ const activeIndex = ref('1');
+ const handleSelect = (key: string, keyPath: string[]) => {
+ console.log(key, keyPath);
+ };
+ return {
+ activeIndex,
+ handleSelect,
+ };
+ },
+});
+</script>
+<style scoped>
+.title {
+ text-align: center;
+ font-size: 16px;
+ margin-bottom: 20px;
+}
+</style>
diff --git a/src/views/goalManagement/targetSettings/index.vue b/src/views/goalManagement/targetSettings/index.vue
index dcebe24..3af2890 100644
--- a/src/views/goalManagement/targetSettings/index.vue
+++ b/src/views/goalManagement/targetSettings/index.vue
@@ -24,7 +24,6 @@
ref="multipleTableRef"
:data="tableData"
style="width: 100%"
- @selection-change="handleSelectionChange"
>
<el-table-column
label="序号"
@@ -91,10 +90,10 @@
show-overflow-tooltip
>
<template #default>
- <el-button link type="primary" size="small" :icon="View" @click="handleClick"
+ <el-button link type="primary" size="default" :icon="View" @click="handleClick"
>查看</el-button
>
- <el-button link type="primary" size="small" :icon="Delete">删除</el-button>
+ <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -196,6 +195,9 @@
];
const currentPage4 = ref(4);
const pageSize4 = ref(100);
+ const small = ref(false)
+ const disabled = ref(false)
+ const background = ref(false)
const handleSizeChange = (val: number) => {
console.log(`${val} items per page`);
};
@@ -226,6 +228,9 @@
openD,
upShow,
upButton,
+ small,
+ disabled,
+ background,
Plus,
Delete,
Upload,
--
Gitblit v1.9.2