From 796dbb23f4a6ae6140a9e4d3d759bcb1513a78c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=AC=E9=8B=86=E5=B1=BE?= <804461479@qq.com> Date: Mon, 8 Jul 2024 15:08:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=89=8B=E5=8A=A8=E6=B1=87?= =?UTF-8?q?=E6=80=BB=E6=8F=90=E7=A4=BA=E5=80=92=E8=AE=A1=E6=97=B6=E5=BC=B9?= =?UTF-8?q?=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/attendance/stat/list.vue | 77 +++++++++++++++++++++-- src/views/staff/perform/summary/list.vue | 78 +++++++++++++++++++++--- 2 files changed, 142 insertions(+), 13 deletions(-) diff --git a/src/views/attendance/stat/list.vue b/src/views/attendance/stat/list.vue index a6be5ea..8c3b0f1 100644 --- a/src/views/attendance/stat/list.vue +++ b/src/views/attendance/stat/list.vue @@ -128,7 +128,7 @@ :close-on-click-modal="false" :show-close="false" > - <div class="fresh_box"> + <div class="fresh_box" v-if="showContent"> <div class="title_box" style="margin-bottom: 20px;"> 浠呮敮鎸佹墜鍔ㄦ洿鏂板墠涓€澶╁強褰撴棩鐨勬墦鍗℃暟鎹紝璇烽€夋嫨闇€瑕佹洿鏂扮殑鏃堕棿娈碉細 </div> @@ -143,8 +143,41 @@ > </el-date-picker> </div> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitFresh" :loading="submitLoad" + <div class="fresh_box" v-else> + <div + class="title_box" + style="margin-bottom: 20px;line-height: 30px;" + v-if="showTip" + > + 璇风‘璁ゆ槸鍚﹀紑濮嬭繘琛寋{ + freshDate[0] + "鑷�" + freshDate[1] + }}鐨勮€冨嫟鏁版嵁閲嶆柊姹囨€伙紱姝よ繃绋嬮璁¢渶瑕� + <span style="color:#ff0000 ;">10</span> 鍒嗛挓宸﹀彸锛岃鍕垮叧闂垨鍒锋柊椤甸潰 + </div> + <div + class="title_box" + style="margin-bottom: 20px;line-height: 30px;" + v-else + > + 姝e湪杩涜{{ + freshDate[0] + "鑷�" + freshDate[1] + }}鐨勮€冨嫟鏁版嵁閲嶆柊姹囨€伙紱姝よ繃绋嬮璁¤繕闇€瑕� + <span style="color:#ff0000 ;">{{ restTime }}</span> + 鍒嗛挓宸﹀彸锛岃鍕垮叧闂垨鍒锋柊椤甸潰 + </div> + </div> + <div slot="footer" class="dialog-footer" v-if="showTip"> + <el-button + type="primary" + @click="() => (showContent = false)" + v-if="showContent" + >纭� 瀹�</el-button + > + <el-button + type="primary" + @click="submitFresh" + v-else + :loading="submitLoad" >纭� 瀹�</el-button > <el-button @click="cancleFresh">鍙� 娑�</el-button> @@ -176,6 +209,30 @@ export default { this.initalArr = this.config.columns; }, methods: { + //鍊掕鏃� + countdown() { + let now = Date.parse(new Date()); + let msec = this.endTime - now; + + if (msec < 0) return; + + // let day = parseInt(msec / 1000 / 60 / 60 / 24); + let hr = parseInt((msec / 1000 / 60 / 60) % 24); + let min = parseInt((msec / 1000 / 60) % 60); + let sec = parseInt((msec / 1000) % 60); + min = min > 9 ? min : "0" + min; + sec = sec > 9 ? sec : "0" + sec; + this.restTime = min + "鍒�" + sec + "绉�"; + const that = this; + if (min >= 0 && sec >= 0) { + if (min == 0 && sec == 0) { + return; + } + setTimeout(function() { + that.countdown(); + }, 1000); + } + }, submitFresh() { console.log(this.freshDate); if (this.freshDate) { @@ -186,11 +243,11 @@ export default { }) .then((res) => { if (res.code == 1) { - this.$message.success(res.msg); - this.dialogOpen = false; + this.showTip = false; this.btnFreshLoading = false; this.submitLoad = false; - this.freshDate = ""; + this.endTime = Date.parse(new Date()) + 10 * 60 * 1000; + this.countdown(); } }) .catch((error) => { @@ -198,6 +255,9 @@ export default { this.submitLoad = false; this.dialogOpen = false; this.btnFreshLoading = false; + this.showContent = true; + this.showTip = true; + this.freshDate = ""; }); } else { this.$message.error("璇烽€夋嫨鏃堕棿鑼冨洿锛�"); @@ -206,6 +266,7 @@ export default { cancleFresh() { this.dialogOpen = false; this.btnFreshLoading = false; + this.showContent = true; this.freshDate = ""; }, // 鎵嬪姩鏇存柊 @@ -478,6 +539,10 @@ export default { }, data() { return { + showTip: true, + showContent: true, + endTime: "", + restTime: "10", pickerOptions0: { disabledDate(v) { let limitDate = diff --git a/src/views/staff/perform/summary/list.vue b/src/views/staff/perform/summary/list.vue index 6ac4abf..12aac6f 100644 --- a/src/views/staff/perform/summary/list.vue +++ b/src/views/staff/perform/summary/list.vue @@ -36,7 +36,7 @@ :close-on-click-modal="false" :show-close="false" > - <div class="fresh_box"> + <div class="fresh_box" v-if="showContent"> <div class="title_box" style="margin-bottom: 20px;"> 浠呮敮鎸佹墜鍔ㄦ洿鏂版湀搴︾哗鏁堟暟鎹紝璇烽€夋嫨闇€瑕佹洿鏂扮殑鏈堜唤锛� </div> @@ -49,8 +49,37 @@ > </el-date-picker> </div> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitFresh" :loading="submitLoad" + <div class="fresh_box" v-else> + <div + class="title_box" + style="margin-bottom: 20px;line-height: 30px;" + v-if="showTip" + > + 璇风‘璁ゆ槸鍚﹀紑濮嬭繘琛寋{ freshDate }}鐨勭哗鏁堟暟鎹噸鏂版眹鎬伙紱姝よ繃绋嬮璁¢渶瑕� + <span style="color:#ff0000 ;">15</span> 鍒嗛挓锛岃鍕垮叧闂垨鍒锋柊椤甸潰 + </div> + <div + class="title_box" + style="margin-bottom: 20px;line-height: 30px;" + v-else + > + 姝e湪杩涜{{ freshDate }}鐨勭哗鏁堟暟鎹噸鏂版眹鎬伙紱姝よ繃绋嬮璁¤繕闇€瑕� + <span style="color:#ff0000 ;">{{ restTime }}</span> + 鍒嗛挓锛岃鍕垮叧闂垨鍒锋柊椤甸潰 + </div> + </div> + <div slot="footer" class="dialog-footer" v-if="showTip"> + <el-button + type="primary" + @click="() => (showContent = false)" + v-if="showContent" + >纭� 瀹�</el-button + > + <el-button + type="primary" + @click="submitFresh" + v-else + :loading="submitLoad" >纭� 瀹�</el-button > <el-button @click="cancleFresh">鍙� 娑�</el-button> @@ -69,7 +98,9 @@ export default { dialogShow, }, mixins: [table], - created() {}, + created() { + console.log(); + }, methods: { /** 瀵煎嚭Excel */ @@ -186,11 +217,12 @@ export default { }) .then((res) => { if (res.code == 1) { - this.$message.success(res.msg); - this.dialogOpen = false; + // this.$message.success(res.msg); + this.showTip = false; this.btnFreshLoading = false; this.submitLoad = false; - this.freshDate = ""; + this.endTime = Date.parse(new Date()) + 15 * 60 * 1000; + this.countdown(); } }) .catch((error) => { @@ -198,6 +230,9 @@ export default { this.submitLoad = false; this.dialogOpen = false; this.btnFreshLoading = false; + this.showContent = true; + this.showTip = true; + this.freshDate = ""; }); } else { this.$message.error("璇烽€夋嫨闇€瑕佹洿鏂扮殑鏈堜唤锛�"); @@ -206,17 +241,46 @@ export default { cancleFresh() { this.dialogOpen = false; this.btnFreshLoading = false; + this.showContent = true; this.freshDate = ""; }, + //鍊掕鏃� + countdown() { + let now = Date.parse(new Date()); + let msec = this.endTime - now; + + if (msec < 0) return; + + // let day = parseInt(msec / 1000 / 60 / 60 / 24); + let hr = parseInt((msec / 1000 / 60 / 60) % 24); + let min = parseInt((msec / 1000 / 60) % 60); + let sec = parseInt((msec / 1000) % 60); + min = min > 9 ? min : "0" + min; + sec = sec > 9 ? sec : "0" + sec; + this.restTime = min + "鍒�" + sec + "绉�"; + const that = this; + if (min >= 0 && sec >= 0) { + if (min == 0 && sec == 0) { + return; + } + setTimeout(function() { + that.countdown(); + }, 1000); + } + }, }, data() { return { + endTime: "", + restTime: "15", freshDate: "", btnFreshLoading: false, sortList: "", dialogOpen: false, isExport: false, showBtn: true, + showTip: true, + showContent: true, submitLoad: false, progress: false, percent: 0, -- 2.24.3