From bb472b43a0a58b3156a28b9cfb4ff4030932c6c5 Mon Sep 17 00:00:00 2001 From: “zhuo” <“zhuo@itcast.cn”> Date: 星期一, 08 一月 2024 17:29:11 +0800 Subject: [PATCH] 员工数据对比 --- src/components/view/data-comparison.vue | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/view/index.vue | 6 ++ src/assets/api/controller.js | 1 3 files changed, 161 insertions(+), 0 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 6fa02e0..3b99793 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -37,6 +37,7 @@ downRegistrantCountFile: "/dataReporting/downRegistrantCountFile", //瀵煎嚭鍛樺伐鏁版嵁缁熻 downFansSubmitFile: "/dataReporting/downFansSubmitFile", //瀵煎嚭杩涚矇涓婃姤 inputFansSubmitCsv: "/dataReporting/inputFansSubmitCsv", //瀵煎叆杩涚矇涓婃姤 + selectDataComparisonDtoPageList: "/dataReporting/selectDataComparisonDtoPageList", //鑾峰彇鏁版嵁瀵规瘮鍒楄〃 selectFansSubmitList: "/dataReporting/selectFansSubmitList", //鑾峰彇杩涚矇涓婃姤鍒楄〃 delFansSubmit: "/dataReporting/delFansSubmit", //鍒犻櫎杩涚矇涓婃姤淇℃伅 diff --git a/src/components/view/data-comparison.vue b/src/components/view/data-comparison.vue new file mode 100644 index 0000000..45b69a3 --- /dev/null +++ b/src/components/view/data-comparison.vue @@ -0,0 +1,154 @@ +<style scoped> + .title { + height: 60px; + line-height: 60px; + } + + .search { + background-color: #fff; + height: 80px; + display: flex; + align-items: center; + } + + .search_thing { + width: 350px; + display: flex; + align-items: center; + } + + .search_label { + width: 120px; + font-size: 14px; + text-align: right; + } + + .search_input { + width: calc(100% - 110px); + } + + .table { + margin-top: 10px; + background-color: #fff; + width: calc(100% - 40px); + height: calc(100% - 60px - 80px - 10px - 40px); + padding: 20px; + } +</style> + +<template> + <div class="role_manage"> + <div> + <el-row class="title"> + <el-col :span="12" style="padding-left: 20px;">鍛樺伐鏁版嵁瀵规瘮</el-col> + </el-row> + </div> + <div class="search"> + <div class="search_thing"> + <div class="search_label">璐︽埛鍚嶇О锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.name" + ></el-input></div> + </div> + <div class="search_thing"> + <div class="search_label">瀵规瘮鐨勮处鎴峰悕绉帮細</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.comparisonName" + ></el-input></div> + </div> + <div class="search_thing"> + <div class="search_label">鐧昏鏃ユ湡锛�</div> + <div class="search_input"> + <el-date-picker size="small" v-model="componentData.entity.createTime" type="date" placeholder="閫夋嫨鏃ユ湡" value-format="yyyy-MM-dd" clearable></el-date-picker> + </div> + </div> + <div class="search_thing" style="padding-left: 30px;"> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + </div> + </div> + <div class="table"> + <ValueTable ref="ValueTable" :url="$api.dataReporting.selectDataComparisonDtoPageList" :componentData="componentData" :key="upIndex"/> + </div> + </div> +</template> + +<script> + import ValueTable from '../tool/value-table.vue' + export default { + components: { + ValueTable + }, + data() { + return { + componentData: { + entity: { + name: null, + comparisonName:null, + createTime: null, + orderBy: { + field: 'createTime', + order: 'desc' + } + }, + isIndex: false, + showSelect: false, + select: true, + do: [], + tagField: {} + }, + entityCopy: {}, + upIndex: 0, + addDia: false, + product: [], + outPower: true + } + }, + created() { + var today = new Date(); + var yesterday = new Date(today); + yesterday.setDate(today.getDate() - 1); + var yyyy = yesterday.getFullYear(); + var mm = yesterday.getMonth() + 1; + var dd = yesterday.getDate() + if (dd < 10) { + dd = "0" + dd; + } + if (mm < 10) { + mm = "0" + mm; + } + this.componentData.entity.createTime = `${yyyy}-${mm}-${dd} 00:00:00` + }, + mounted() { + this.entityCopy = this.HaveJson(this.componentData.entity) + this.selectDataComparisonDtoPageList() + }, + methods: { + refreshTable() { + if(this.componentData.entity.name == null || this.componentData.entity.name == '') { + this.$message.error('璐︽埛鍚嶇О鏄繀濉」') + }else if(this.componentData.entity.comparisonName == null || this.componentData.entity.comparisonName == '') { + this.$message.error('瀵规瘮鐨勮处鎴峰悕绉版槸蹇呭~椤�') + }else if(this.componentData.entity.createTime == null) { + this.$message.error('鐧昏鏃堕棿鏄繀濉」') + }else if(this.componentData.entity.name === this.componentData.entity.comparisonName) { + this.$message.error('瀵规瘮鐨勮处鎴蜂笉鑳介噸澶�') + }else { + this.$refs['ValueTable'].selectList() + } + }, + refresh() { + this.componentData.entity = this.HaveJson(this.entityCopy) + this.upIndex++ + }, + selectDataComparisonDtoPageList() { + this.$axios.get(this.$api.dataReporting.selectDataComparisonDtoPageList).then(res => { + res.data.forEach(a => { + a.isClick = false + a.look = false + }) + this.menu = res.data + this.menuCopy = this.HaveJson(res.data) + }) + } + } + } +</script> \ No newline at end of file diff --git a/src/view/index.vue b/src/view/index.vue index 1e2e81c..90e3a44 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -371,6 +371,12 @@ i: "font icon-24gl-clipboardList", u: "registrant-count", p: "selectRegistrantCountDtoPageList" + },{ + k: 12, + v: "鍛樺伐鏁版嵁瀵规瘮", + i: "font icon-24gl-clipboardList", + u: "data-comparison", + p: "selectDataComparisonDtoPageList" }] }, { -- Gitblit v1.9.3