From c8360c9c55f8d7e2d797534c40f209cc30e92f0c Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Thu, 07 Dec 2023 16:33:40 +0800
Subject: [PATCH] 考核权重设置页面搭建

---
 src/views/assessmentTask/assessmentWeight.vue      |  117 +++++++++++++++++++++++
 src/views/assessmentTask/assessmentTaskSetting.vue |  131 ++++++++++++++++++++++++++
 2 files changed, 248 insertions(+), 0 deletions(-)

diff --git a/src/views/assessmentTask/assessmentTaskSetting.vue b/src/views/assessmentTask/assessmentTaskSetting.vue
new file mode 100644
index 0000000..b6dcf73
--- /dev/null
+++ b/src/views/assessmentTask/assessmentTaskSetting.vue
@@ -0,0 +1,131 @@
+<template>
+    <basic-container>
+        <template v-if="isWeight">
+            <avue-crud ref="crud" v-model="form" v-model:search="search" :option="option" :data="data" v-model:page="page"
+                @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
+                @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+                <template #menu="{ size, row, index }">
+                    <el-button type="primary" size="small" @click="handleWeight(row)">
+                        考核权重
+                    </el-button>
+                </template>
+            </avue-crud>
+        </template>
+        <template v-else>
+            <assessmentWeight :is="isWeight" @changeIs="changeIs" />
+        </template>
+    </basic-container>
+</template>
+  
+<script>
+import assessmentWeight from './assessmentWeight.vue'
+export default {
+    components: {
+        assessmentWeight
+    },  
+    data() {
+        return {
+            isWeight: true,
+            form: {},
+            search: {},
+            data: [
+                {
+                    id: '1',
+                    assessor: '张三',
+                    jobNumber: '123456',
+                    section: '研发部',
+                    postion: '研发工程师',
+                    personnelType: '普通员工',
+                    partnerType: '',
+                    contact: '123456789'
+                }
+            ],
+            option: {
+                height: 'auto',
+                calcHeight: 32,
+                tip: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                menuWidth: 200,
+                column: [
+                    {
+                        label: "考核编号",
+                        prop: "id",
+                        type: "input",
+                        addDisplay: false,
+                        editDisplay: false,
+                        viewDisplay: false,
+                        hide: true,
+                        search: true
+                    },
+                    {
+                        label: "被考核人",
+                        prop: "assessor",
+                        type: "input",
+                        search: true
+                    },
+                    {
+                        label: "工号",
+                        prop: 'jobNumber',
+                        type: "input",
+                    },
+                    {
+                        label: "部门",
+                        prop: "section",
+                        type: "input",
+                    },
+                    {
+                        label: "职务",
+                        prop: "position",
+                        type: "input",
+                    },
+                    {
+                        label: "人员类型",
+                        prop: "personnelType",
+                        type: "input",
+                    },
+                    {
+                        label: "合伙类型",
+                        prop: "partnerType",
+                        type: "input",
+                    },
+                    {
+                        label: "联系方式",
+                        prop: "contact",
+                        type: "input",
+                    },
+                ]
+            },
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 1,
+            },
+        }
+    },
+    methods: {
+        handleWeight(value) {
+            this.isWeight = false
+        },
+        changeIs(is) {
+            this.isWeight = is
+        },
+        searchChange() { },
+        searchReset() { },
+        currentChange() { },
+        sizeChange() { },
+        refreshChange() { },
+        onLoad(page, params = {}) {
+
+        }
+    }
+}
+</script>
+  
+<style></style>
+  
\ No newline at end of file
diff --git a/src/views/assessmentTask/assessmentWeight.vue b/src/views/assessmentTask/assessmentWeight.vue
new file mode 100644
index 0000000..b0f75fc
--- /dev/null
+++ b/src/views/assessmentTask/assessmentWeight.vue
@@ -0,0 +1,117 @@
+<template>
+    <div class="container">
+        <el-page-header @back="back" class="header">
+            <template #content>
+                <span>考核权重</span>
+            </template>
+        </el-page-header>
+        <avue-crud ref="crud" v-model="form" v-model:search="search" :option="option" :data="data" v-model:page="page"
+            @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+            <template #menu="{ row, index, size }">
+                <el-button type="danger" text icon="el-icon-delete" @click="delRow(row, index)">
+                    删除
+                </el-button>
+            </template>
+        </avue-crud>
+    </div>
+</template>
+  
+<script>
+import { ElMessageBox, ElMessage } from 'element-plus'
+
+export default {
+    props: {
+        is: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data() {
+        return {
+            form: {},
+            search: {},
+            data: [
+                {
+                    assessor: '张三',
+                    position: '经理',
+                    weight: 50,
+                    ratingRange: 50,
+                }
+            ],
+            option: {
+                height: 'auto',
+                calcHeight: 32,
+                tip: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                addBtn: true,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                menuWidth: 200,
+                column: [
+                    {
+                        label: "考核人",
+                        prop: "assessor",
+                        type: "input",
+                    },
+                    {
+                        label: "职务",
+                        prop: "position",
+                        type: "input",
+                    },
+                    {
+                        label: "权值",
+                        prop: "weight",
+                        type: "input",
+                    },
+                    {
+                        label: "评分范围",
+                        prop: "ratingRange",
+                        type: "input",
+                        placeholder: '评分范围(100分制)±N'
+                    }
+                ]
+            },
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 1,
+            },
+        }
+    },
+    methods: {
+        back() {
+            this.$emit('changeIs', true)
+        },
+        delRow(row, index) {
+            console.log(row,index);
+            ElMessageBox.confirm(
+                '是否删除当前记录?',
+                '警告',
+                {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '关闭',
+                    type: 'warning',
+                }
+            ).then(res => {
+                ElMessage.success('删除成功')
+            }, () => {
+                ElMessage.warning('取消删除')
+            })
+        },
+        sizeChange() { },
+        refreshChange() { },
+        onLoad(page, params = {}) {
+        }
+    }
+}
+</script>
+  
+<style scoped>
+.header {
+    margin-bottom: 20px;
+}
+</style>
+  
\ No newline at end of file

--
Gitblit v1.9.3