From c41f75d942bd70ff74890f89928940c2d4b5b2a4 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期五, 24 一月 2025 18:16:08 +0800 Subject: [PATCH] 1 --- admin/src/views/index.vue | 222 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 152 insertions(+), 70 deletions(-) diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue index 999bd92..32818b0 100644 --- a/admin/src/views/index.vue +++ b/admin/src/views/index.vue @@ -5,24 +5,24 @@ <div class="head_item"> <div class="head_item_left"> <span>寰呭姙宸ュ崟</span> - <span>12</span> - <span>鏌ョ湅鏇村</span> + <span>{{obj.waitDealWorkOrderSize || 0}}</span> + <span @click="jump(1)">鏌ョ湅鏇村</span> </div> <img class="head_item_icon" src="@/assets/indexIcon/ic_daibangongdan@2x.png" /> </div> <div class="head_item"> <div class="head_item_left"> <span>寰呭贰妫�</span> - <span>12</span> - <span>鏌ョ湅鏇村</span> + <span>{{obj.waitTaskSize || 0}}</span> + <span @click="jump(2)">鏌ョ湅鏇村</span> </div> <img class="head_item_icon" src="@/assets/indexIcon/ic_daixuncha@2x.png" /> </div> <div class="head_item"> <div class="head_item_left"> <span>寰呯洏鐐�</span> - <span>12</span> - <span>鏌ョ湅鏇村</span> + <span>{{obj.stocktakingSize || 0}}</span> + <span @click="jump(3)">鏌ョ湅鏇村</span> </div> <img class="head_item_icon" src="@/assets/indexIcon/ic_daipandian@2x.png" /> </div> @@ -30,15 +30,15 @@ <div class="main_left_menu"> <div class="main_left_menu_title"> <span>甯哥敤鍔熻兘</span> - <div class="main_left_menu_title_edit" @click="$refs.commonFunctions.open('甯哥敤鍔熻兘绠$悊', list)"> + <div class="main_left_menu_title_edit" @click="$refs.commonFunctions.open('甯哥敤鍔熻兘绠$悊')"> <img src="@/assets/indexIcon/ic_daibangongdan@2x.png" /> <span>鑷畾涔夊姛鑳�</span> </div> </div> <div class="main_left_menu_list"> - <div class="list_item" v-for="(item, index) in list" :key="index"> + <div class="list_item" v-for="(item, index) in list" :key="index" @click="jump1(item.path)"> <div class="list_item_left"> - <img :src="item.path" /> + <img :src="item.icoPath" /> <span>{{item.name}}</span> </div> <i class="el-icon-arrow-right"></i> @@ -49,92 +49,158 @@ <div class="main_right"> <div class="main_right_title">鏃ョ▼</div> <div class="main_right_search"> - <el-select v-model="value" style="width: 150px; margin-right: 15px;" placeholder="璇烽�夋嫨"> + <el-select v-model="nian" style="width: 150px; margin-right: 15px;" @change="getMonthNoticess" placeholder="璇烽�夋嫨"> <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + v-for="item in yearList" + :key="item.val" + :label="item.name" + :value="item.val"> </el-option> </el-select> - <el-select v-model="value" style="width: 150px;" placeholder="璇烽�夋嫨"> + <el-select v-model="yue" style="width: 150px;" @change="getMonthNoticess" placeholder="璇烽�夋嫨"> <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> + v-for="(item, index) in 12" + :key="index" + :label="item + '鏈�'" + :value="item > 9 ? item : `0${item}`"> </el-option> </el-select> </div> <div class="main_right_date"> - <el-calendar v-model="value"></el-calendar> + <Calendar + ref="Calendar" + v-on:choseDay="clickDay" + :markDateMore="markDateMore" + ></Calendar> </div> <div class="main_right_rc"> - <div class="main_right_rc_title">褰撴棩鏃ョ▼锛�3锛�</div> + <div class="main_right_rc_title">褰撴棩鏃ョ▼锛坽{dataList.length}}锛�</div> <div class="main_right_rc_list"> - <div class="main_right_rc_list_row" v-for="(item, index) in 5" :key="index"> + <div class="main_right_rc_list_row" v-for="(item, index) in dataList" :key="index"> <div class="top"> <div class="top_left"> <div class="top_left_dian"></div> - <div class="top_left_title">鐩樼偣閫氱煡</div> + <div class="top_left_title">{{item.title}}</div> </div> - <div class="top_date">2024-12-13 12:53:12</div> + <div class="top_date">{{item.createDate}}</div> </div> <div class="bottom"> - 銆愮洏鐐硅鍒掑悕绉般�戝皢鍦ㄣ��2024-12-1 + {{item.content}} </div> </div> </div> </div> </div> - <CommonFunctions ref="commonFunctions" /> + <CommonFunctions ref="commonFunctions" @success="getYwQuickLists" /> </div> </template> <script> import CommonFunctions from '@/components/business/commonFunctions' -import { getYwQuickList } from '@/api/ywWorkDesk' +import { getYwQuickList, getMonthNotices, workDeskData } from '@/api/ywWorkDesk' +import Calendar from 'vue-calendar-component' export default { data() { return { - menu: [ - { name: '鎴挎�佺鐞�', icon: require('@/assets/indexIcon/ic_fangtaiguanli@2x.png') }, - { name: '宸ュ崟鍒楄〃', icon: require('@/assets/indexIcon/ic_gongdanliebiao@2x.png') }, - { name: '闂涓婃姤', icon: require('@/assets/indexIcon/ic_wentishangbao@2x.png') }, - { name: '鏂板缓宸ュ崟', icon: require('@/assets/indexIcon/ic_xinjiangongdan@2x.png') }, - { name: '璁惧绠$悊', icon: require('@/assets/indexIcon/ic_shebeiguanli@2x.png') }, - { name: '宸℃浠诲姟', icon: require('@/assets/indexIcon/ic_xunjianrenwu@2x.png') }, - { name: '鍚堝悓鍒楄〃', icon: require('@/assets/indexIcon/ic_hetongliebiao@2x.png') }, - { name: '搴撳瓨鏌ヨ', icon: require('@/assets/indexIcon/ic_kucunchaxun@2x.png') }, - { name: '璐﹀崟鍒楄〃', icon: require('@/assets/indexIcon/ic_zhangdanliebiao@2x.png') }, - { name: '鏂板鍏ュ簱鍗�', icon: require('@/assets/indexIcon/ic_xinzengruku@2x.png') }, - { name: '鏂板鍑哄簱鍗�', icon: require('@/assets/indexIcon/ic_xinzengchuku@2x.png') }, - { name: '鐗╂枡娓呭崟', icon: require('@/assets/indexIcon/ic_zichan@2x.png') }, - ], list: [], - value: new Date() + value: new Date(), + yearList: [], + markDateMore: [], + nian: '', + yue: '', + obj: {}, + dataList: [] } }, - components: { CommonFunctions }, + components: { CommonFunctions, Calendar }, created () { + this.getWorkDeskData() this.getYwQuickLists() + this.getYear() }, methods: { + getYear() { + let currentYear = new Date().getFullYear(); + let currentMonth = new Date().getMonth() + 1; + this.nian = currentYear + this.yue = currentMonth > 9 ? currentMonth : `0${currentMonth}` + for (let i = currentYear - 10; i <= currentYear; i++) { + this.yearList.unshift({ name: i + '骞�', val: i }) + } + this.getMonthNoticess() + }, + // 鑾峰彇浠e姙 + getWorkDeskData() { + workDeskData({}) + .then(res => { + this.obj = res + }) + }, + clickDay(e) { + let date = e.replace("/\\//g", "-") + let arr = this.markDateMore.filter(item => { + if (item.date === date) { + return item + } + }) + if (arr.length > 0) { + this.dataList = arr[0].noticeList + } else { + this.dataList = [] + } + }, + // 鑾峰彇鏃ョ▼ + getMonthNoticess() { + getMonthNotices(this.nian + '-' + this.yue).then(res => { + let arr = res.filter(item => { + if (item.noticeList && item.noticeList.length > 0) { + return item + } + }) + this.markDateMore = arr.map(item => { + return { date: item.monthDate.replace("/-0/g", "-"), className: 'markRed', noticeList: item.noticeList } + }) + let toDay = this.getDay() + this.markDateMore.forEach(item => { + if (item.date === toDay) { + this.dataList = item.noticeList + } + }) + this.$refs.Calendar.ChoseMonth(`${this.nian}-${this.yue}`, false) + }) + }, getYwQuickLists() { getYwQuickList({}) .then(res => { - console.log(res) this.list = res }) + }, + getDay() { + let date = new Date(); + let year = date.getFullYear(); // 鑾峰彇骞翠唤 + let month = String(date.getMonth() + 1).padStart(2, '0'); // 鑾峰彇鏈堜唤锛屽苟琛ラ浂 + let day = String(date.getDate()).padStart(2, '0'); // 鑾峰彇鏃ユ湡锛屽苟琛ラ浂 + + return `${year}-${month}-${day}`; + }, + jump(type) { + if (type === 1) { + this.$router.push({ path: '/workorder/workorderList' }) + } else if (type === 2) { + this.$router.push({ path: '/Inspection/task' }) + } else if (type === 3) { + this.$router.push({ path: '/stock/check' }) + } + }, + jump1(path) { + this.$router.push({ path }) } } } </script> - <style lang="scss" scoped> .main { width: 100%; - /*height: calc(100vh - 48px - 56px - 35px);*/ padding: 15px; box-sizing: border-box; background: #F4F7FC; @@ -190,6 +256,7 @@ font-weight: 400; font-size: 13px; color: #999999; + cursor: pointer; } } } @@ -345,37 +412,52 @@ } .main_right_date { width: 100%; - ::v-deep .el-calendar__header { + padding-top: 15px; + box-sizing: border-box; + ::v-deep .wh_content_item { + height: 50px; + color: #222222; + font-weight: 400; + font-size: 15px; + } + ::v-deep .wh_item_date { + width: 30px; + height: 30px; + font-size: 15px; + } + ::v-deep .wh_content_all { + background-color: #ffffff; + } + ::v-deep .wh_top_changge { display: none; } - ::v-deep .el-calendar-table tr td:first-child{ - border: none; + ::v-deep .wh_container { + max-width: 100%; } - ::v-deep .el-calendar-table tr:first-child td{ - border: none; + ::v-deep .wh_content_item .wh_isToday { + background-color: #3E80EF; + color: #fff; } - ::v-deep .el-calendar-table__row td{ - border: none; + ::v-deep .wh_item_date:hover { + background-color: #3E80EF; + border-radius: 50%; + color: #ffffff; } - ::v-deep .el-calendar-table .el-calendar-day { - display: flex; - align-items: center; - justify-content: center; - } - ::v-deep thead th { - height: 20px; - border-bottom: 1px solid #DFE2E8; - } - ::v-deep.el-calendar-table .el-calendar-day{ - width: 100%; - height: 50px; - text-align: center; - } - ::v-deep .el-calendar-table td.is-selected { + ::v-deep .wh_content_item .wh_chose_day { background: #3E80EF; + color: #fff; } - ::v-deep .el-calendar-table .el-calendar-day:hover { - background: none; + ::v-deep .markRed { + position: relative; + } + ::v-deep .markRed::after { + content: '鈼�'; + color: #FF9E00; + font-size: 11px; + position: absolute; + bottom: -30px; + left: 50%; + transform: translate(-50%, 0); } } } -- Gitblit v1.9.3