From 870d0b78a4da7ee5ec4ba9c18609a3ca09621e78 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期二, 12 七月 2022 16:24:20 +0800 Subject: [PATCH] 目标 --- src/views/goalManagement/Incentivestandard/component/DailogAdd.vue | 10 src/views/goalManagement/IncentiveRecording/index.vue | 41 +- src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue | 128 ++++++++++ src/views/goalManagement/TargetBook/component/DailogAdd.vue | 142 +++++++++++ src/views/goalManagement/TargetBook/component/DailogSearch.vue | 126 ++++++++++ src/views/goalManagement/TargetBook/index.vue | 207 +++++++++++++++++ src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue | 50 ++- 7 files changed, 656 insertions(+), 48 deletions(-) diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue index 8cc7bda..4cc273c 100644 --- a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue +++ b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue @@ -1,30 +1,40 @@ <template> - <el-dialog v-model="dialogVisible" title="新建奖惩标准设定" width="50%" draggable> + <el-dialog v-model="dialogVisible" title="新建奖惩记录" width="50%" draggable> <el-form :model="form" label-width="120px"> <el-row> - <el-col :span="11"> - <el-form-item label="奖惩类型"> - <el-select v-model="form.region" style="width:100%" placeholder=""> - <el-option label="Zone one" value="shanghai" /> - <el-option label="Zone two" value="beijing" /> - </el-select> - </el-form-item> - </el-col> - <el-col :span="11" :offset="2"> - <el-form-item label="奖惩内容"> - <el-input v-model="form.name" /> + <el-col :span="24"> + <el-form-item label="员工姓名"> + <el-input v-model="form.name" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpts" /> </template + ></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> <el-form-item label="奖惩名称"> - <el-input v-model="form.name" /> + <el-input v-model="form.name" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="依据"> + <el-form-item label="奖惩类型"> <el-input v-model="form.name" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="奖惩内容"> + <el-input v-model="form.name" placeholder="请填写奖惩内容" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="依据"> + <el-input v-model="form.name" placeholder="请填写奖惩依据"/> </el-form-item> </el-col> </el-row> @@ -43,14 +53,16 @@ </span> </template> </el-dialog> + <DailogSearchUser ref="Show"></DailogSearchUser> <DailogSearch ref="Shows"></DailogSearch> </template> <script lang="ts"> import { defineComponent, ref, reactive } from 'vue'; import { Search } from '@element-plus/icons-vue'; -import DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue'; +import DailogSearch from './DailogSearch.vue'; +import DailogSearchUser from '/@/components/DailogSearchUser/index.vue' export default defineComponent({ - components: { DailogSearch }, + components: { DailogSearch,DailogSearchUser }, setup() { const dialogVisible = ref<boolean>(false); const form = reactive({ @@ -75,6 +87,10 @@ const daiInpt = () => { Shows.value.openDailog(); }; + const Show = ref(); + const daiInpts = () => { + Show.value.openDailog(); + }; return { form, dialogVisible, @@ -82,6 +98,8 @@ activeName, Shows, daiInpt, + Show, + daiInpts, Search, }; }, diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue new file mode 100644 index 0000000..88ad9a9 --- /dev/null +++ b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue @@ -0,0 +1,128 @@ +<template> + <el-dialog v-model="dialogVisible" title="奖惩类型" width="50%" draggable> + <el-row> + <el-col :span="17"> + <el-form ref="ruleFormRef" :model="ruleForm" status-icon> + <el-row> + <el-col :span="12"> + <el-form-item> + <el-input v-model="ruleForm.pass" placeholder="奖惩名称" /> + </el-form-item> + </el-col> + <!-- <el-col :span="6" :offset="1"> + <el-form-item> + <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" /> + </el-form-item> + </el-col> --> + <el-col :span="11" :offset="1"> + <el-form-item> + <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button> + <el-button @click="resetForm(ruleFormRef)">重置</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> + <el-table :data="tableData" style="width: 100%;margin-top:20px"> + <el-table-column align="center" type="selection"/> + <el-table-column align="center" prop="date" label="奖惩名称" width="180" /> + <el-table-column align="center" prop="name" label="奖惩类型" width="180" /> + <el-table-column align="center" prop="address" label="奖惩内容" /> + </el-table> + <el-pagination + style="padding:20px 0;border-bottom:1px solid #dedede" + 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" + /> + </el-col> + <el-col :span="7"> + <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"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> + <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> + </span> + </template> + </el-dialog> +</template> +<script lang="ts"> +import { defineComponent, reactive, ref } from 'vue'; +import { Delete } from '@element-plus/icons-vue'; +export default defineComponent({ + setup() { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; + }; + // 搜索条件 + const ruleForm = reactive({ + pass: '', + checkPass: '', + }); + // 表格 + const tableData = [ + { + 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', + }, + ]; + const pageSize4 = ref(100); + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`); + }; + 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, + ruleForm, + tableData, + pageSize4, + handleSizeChange, + handleCurrentChange, + dynamicTags, + handleClose, + Delete, + }; + }, +}); +</script> +<style scoped> +.el-row { + padding: 0 0 20px 0; +} +</style> diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue index 1aa0f84..876e04d 100644 --- a/src/views/goalManagement/IncentiveRecording/index.vue +++ b/src/views/goalManagement/IncentiveRecording/index.vue @@ -3,10 +3,9 @@ <el-row> <el-col :span="4"> <el-form-item> - <el-select v-model="ruleForm.region" style="width:100%" placeholder=""> - <el-option label="Zone one" value="shanghai" /> - <el-option label="Zone two" value="beijing" /> - </el-select> + <el-input v-model="ruleForm.name" placeholder="请选择被奖惩者"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> </el-form-item> </el-col> <!-- <el-col :span="4"> @@ -30,24 +29,23 @@ <el-button type="danger" :icon="Delete" plain>删除</el-button> </div> <div> - <el-button :icon="Upload" @click="upButton"></el-button> <el-button :icon="Download"></el-button> <el-button :icon="Refresh"></el-button> </div> </div> <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> <el-table-column type="selection" align="center" width="55" /> - <el-table-column label="奖惩名称" align="center" sortable> + <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="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 property="address" label="奖惩依据" align="center" sortable show-overflow-tooltip /> <!-- <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 property="address" label="状态" align="center" sortable show-overflow-tooltip /> --> - <el-table-column property="address" label="备注信息" align="center" sortable show-overflow-tooltip /> - <el-table-column label="操作" align="center" sortable show-overflow-tooltip> + <el-table-column label="操作" align="center" style="width:300px"> <template #default> <el-button link type="primary" size="default" :icon="View">查看</el-button> <el-button link type="primary" size="default" :icon="EditPen">修改</el-button> @@ -70,15 +68,15 @@ /> </div> <DailogAdd ref="openAdd"></DailogAdd> - <upData ref="upShow"></upData> + <DailogSearchUser ref="openUser"></DailogSearchUser> </div> </template> <script lang="ts"> import DailogAdd from './component/DailogAdd.vue' -import upData from '../../../components/updata/updata.vue'; +import DailogSearchUser from '/@/components/DailogSearchUser/index.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 { Plus, Delete, Upload, Download, Refresh, View,EditPen,Search} from '@element-plus/icons-vue'; interface User { date: string; name: string; @@ -86,7 +84,7 @@ } import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults'; export default defineComponent({ - components: { ElButton, ElInput, upData,DailogAdd }, + components: { ElButton, ElInput,DailogAdd,DailogSearchUser }, setup() { // 搜索条件 const ruleForm = reactive({ @@ -151,12 +149,10 @@ const openD = () => { openAdd.value.openDailog(); }; - - // 上传 - const upShow = ref(); - const upButton = () => { - upShow.value.openDialog(); - }; + const openUser =ref(); + const openSearch=()=>{ + openUser.value.openDailog() + } return { tableData, @@ -167,19 +163,20 @@ handleCurrentChange, openAdd, openD, - upShow, - upButton, small, disabled, background, ruleForm, + openUser, + openSearch, Plus, Delete, Upload, Download, Refresh, View, - EditPen + EditPen, + Search }; }, }); diff --git a/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue b/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue index 8cc7bda..aa4698c 100644 --- a/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue +++ b/src/views/goalManagement/Incentivestandard/component/DailogAdd.vue @@ -43,14 +43,11 @@ </span> </template> </el-dialog> - <DailogSearch ref="Shows"></DailogSearch> </template> <script lang="ts"> import { defineComponent, ref, reactive } from 'vue'; import { Search } from '@element-plus/icons-vue'; -import DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue'; export default defineComponent({ - components: { DailogSearch }, setup() { const dialogVisible = ref<boolean>(false); const form = reactive({ @@ -70,18 +67,11 @@ const activeName = ref('1'); // 表格 - // 安全目标指标弹窗 - const Shows = ref(); - const daiInpt = () => { - Shows.value.openDailog(); - }; return { form, dialogVisible, openDailog, activeName, - Shows, - daiInpt, Search, }; }, diff --git a/src/views/goalManagement/TargetBook/component/DailogAdd.vue b/src/views/goalManagement/TargetBook/component/DailogAdd.vue new file mode 100644 index 0000000..4d7d2da --- /dev/null +++ b/src/views/goalManagement/TargetBook/component/DailogAdd.vue @@ -0,0 +1,142 @@ +<template> + <el-dialog v-model="dialogVisible" title="新建目标责任书" width="50%" draggable> + <el-form :model="form" label-width="120px"> + <el-row> + <el-col :span="24"> + <el-form-item label="岗位"> + <el-input v-model="form.name" placeholder="请选择"> + <template #append> <el-button :icon="Search" @click="daiInpt" /> </template + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <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="24"> + <el-form-item label="备注信息"> + <el-input v-model="form.name" type="textarea" /> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="责任书附件"> + <el-upload + v-model:file-list="fileList" + class="upload-demo" + action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" + multiple + :on-preview="handlePreview" + :on-remove="handleRemove" + :before-remove="beforeRemove" + :limit="3" + :on-exceed="handleExceed" + > + <el-button type="primary">点击上传</el-button> + <template #tip> + <div class="el-upload__tip">添加相关附件</div> + </template> + </el-upload> + </el-form-item> + </el-col> + </el-row> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> + <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> + </span> + </template> + </el-dialog> + <DailogSearch ref="Shows"></DailogSearch> +</template> +<script lang="ts"> +import { defineComponent, ref, reactive } from 'vue'; +import { Search } from '@element-plus/icons-vue'; +import DailogSearch from './DailogSearch.vue'; +import { ElMessage, ElMessageBox } from 'element-plus'; +import type { UploadProps, UploadUserFile } from 'element-plus'; +export default defineComponent({ + components: { DailogSearch }, + setup() { + const dialogVisible = ref<boolean>(false); + const form = reactive({ + name: '', + region: '', + date1: '', + date2: '', + delivery: false, + type: [], + resource: '', + desc: '', + }); + const openDailog = (type: string, value: any, projectList: any, projectId: string) => { + dialogVisible.value = true; + }; + // 导航 + const activeName = ref('1'); + // 表格 + + // 安全目标指标弹窗 + const Shows = ref(); + const daiInpt = () => { + Shows.value.openDailog(); + }; + // 点击上传 + const fileList = ref<UploadUserFile[]>([ + { + name: 'element-plus-logo.svg', + url: 'https://element-plus.org/images/element-plus-logo.svg', + }, + { + name: 'element-plus-logo2.svg', + url: 'https://element-plus.org/images/element-plus-logo.svg', + }, + ]); + + const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { + console.log(file, uploadFiles); + }; + + const handlePreview: UploadProps['onPreview'] = (uploadFile) => { + console.log(uploadFile); + }; + + const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => { + ElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`); + }; + + const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => { + return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then( + () => true, + () => false + ); + }; + return { + form, + dialogVisible, + openDailog, + activeName, + Shows, + daiInpt, + Search, + fileList, + handleRemove, + handlePreview, + handleExceed, + beforeRemove + }; + }, +}); +</script> +<style scoped> +.el-row { + padding: 0 0 20px 0; +} +</style> \ No newline at end of file diff --git a/src/views/goalManagement/TargetBook/component/DailogSearch.vue b/src/views/goalManagement/TargetBook/component/DailogSearch.vue new file mode 100644 index 0000000..5801430 --- /dev/null +++ b/src/views/goalManagement/TargetBook/component/DailogSearch.vue @@ -0,0 +1,126 @@ +<template> + <el-dialog v-model="dialogVisible" title="选择岗位" width="50%" draggable> + <el-row> + <el-col :span="17"> + <el-form ref="ruleFormRef" :model="ruleForm" status-icon> + <el-row> + <el-col :span="12"> + <el-form-item> + <el-input v-model="ruleForm.pass" placeholder="岗位名称" /> + </el-form-item> + </el-col> + <!-- <el-col :span="6" :offset="1"> + <el-form-item> + <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" /> + </el-form-item> + </el-col> --> + <el-col :span="11" :offset="1"> + <el-form-item> + <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button> + <el-button @click="resetForm(ruleFormRef)">重置</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + <el-button size="default" :icon="Delete">清除选择</el-button> + <el-table :data="tableData" style="width: 100%;margin-top:20px"> + <el-table-column align="center" type="selection"/> + <el-table-column align="center" prop="date" label="岗位名称" /> + </el-table> + <el-pagination + style="padding:20px 0;border-bottom:1px solid #dedede" + 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" + /> + </el-col> + <el-col :span="7"> + <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"> + <el-button @click="dialogVisible = false" size="default">关闭</el-button> + <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button> + </span> + </template> + </el-dialog> +</template> +<script lang="ts"> +import { defineComponent, reactive, ref } from 'vue'; +import { Delete } from '@element-plus/icons-vue'; +export default defineComponent({ + setup() { + const dialogVisible = ref<boolean>(false); + const openDailog = () => { + dialogVisible.value = true; + }; + // 搜索条件 + const ruleForm = reactive({ + pass: '', + checkPass: '', + }); + // 表格 + const tableData = [ + { + 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', + }, + ]; + const pageSize4 = ref(100); + const handleSizeChange = (val: number) => { + console.log(`${val} items per page`); + }; + 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, + ruleForm, + tableData, + pageSize4, + handleSizeChange, + handleCurrentChange, + dynamicTags, + handleClose, + Delete, + }; + }, +}); +</script> +<style scoped> +.el-row { + padding: 0 0 20px 0; +} +</style> diff --git a/src/views/goalManagement/TargetBook/index.vue b/src/views/goalManagement/TargetBook/index.vue new file mode 100644 index 0000000..f08494a --- /dev/null +++ b/src/views/goalManagement/TargetBook/index.vue @@ -0,0 +1,207 @@ +<template> + <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle"> + <el-row> + <el-col :span="4"> + <el-form-item> + <el-input v-model="ruleForm.name" placeholder="请选择岗位"> + <template #append> <el-button :icon="Search" @click="openSearch" /> </template + ></el-input> + </el-form-item> + </el-col> + <!-- <el-col :span="4"> + <el-form-item> + <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" /> + </el-form-item> + </el-col> --> + <el-col :span="4"> + <el-form-item> + <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button> + <el-button @click="resetForm(ruleFormRef)">重置</el-button> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div class="minCenter"> + <div class="btns"> + <div> + <el-button type="primary" :icon="Plus" @click="openD">新建</el-button> + <el-button type="warning" plain :icon="EditPen">修改</el-button> + <el-button type="danger" :icon="Delete" plain>删除</el-button> + </div> + <div> + <el-button :icon="Download"></el-button> + <el-button :icon="Refresh"></el-button> + </div> + </div> + <el-table ref="multipleTableRef" :data="tableData" style="width: 100%"> + <el-table-column type="selection" align="center" width="55" /> + <el-table-column type="index" label="序号" align="center" width="70" /> + <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="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 property="address" label="指标级别" align="center" sortable show-overflow-tooltip /> + <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 label="操作" align="center" style="width:300px"> + <template #default> + <el-button link type="primary" size="default" :icon="View">查看</el-button> + <el-button link type="primary" size="default" :icon="EditPen">修改</el-button> + <el-button link type="primary" size="default" :icon="Delete">删除</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> + <DailogAdd ref="openAdd"></DailogAdd> + <DailogSearch ref="openUser"></DailogSearch> + </div> +</template> +<script lang="ts"> +import DailogAdd from './component/DailogAdd.vue' +import DailogSearch from './component/DailogSearch.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,Search} from '@element-plus/icons-vue'; +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,DailogAdd,DailogSearch }, + setup() { + // 搜索条件 + const ruleForm = reactive({ + pass: '', + checkPass: '', + }); + + 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 openAdd = ref(); + const openD = () => { + openAdd.value.openDailog(); + }; + const openUser =ref(); + const openSearch=()=>{ + openUser.value.openDailog() + } + return { + + tableData, + formatter, + currentPage4, + pageSize4, + handleSizeChange, + handleCurrentChange, + openAdd, + openD, + small, + disabled, + background, + ruleForm, + openUser, + openSearch, + Plus, + Delete, + Upload, + Download, + Refresh, + View, + EditPen, + Search + }; + }, +}); +</script> +<style scoped> +.minCenter { + width: 100%; + background-color: #fff; + margin-top: 10px; + padding: 0 20px; +} +.topTitle { + background-color: #fff; + padding: 20px 0px 20px 0px; + margin-bottom:10px ; +} +.btns { + padding: 10px 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 -- Gitblit v1.9.2