xjc 4 سال پیش
والد
کامیت
39646b3e29
3فایلهای تغییر یافته به همراه132 افزوده شده و 24 حذف شده
  1. 83 0
      src/date.js
  2. 2 0
      src/main.js
  3. 47 24
      src/views/journalQun/CASCI.vue

+ 83 - 0
src/date.js

@@ -0,0 +1,83 @@
+/**
+ * 获取本周的第一天
+ * 返回格式: YYYY-mm-dd
+ *    例子: 当日为: 2020-11-27
+ *      返回日期为: 2020-11-23
+ * */
+export default {
+    /**
+     * 获取当前月的第一天
+     * 返回格式: YYYY-mm-dd
+     *    例子: 当日为: 2020-11-27
+     *      返回日期为: 2020-11-01
+     * */
+    getCurrentMonthFirstDay() {
+        let date = new Date();
+        date.setDate(1);
+        let month = parseInt(date.getMonth() + 1);
+        let day = date.getDate();
+        if (month < 10) {
+            month = '0' + month
+        }
+        if (day < 10) {
+            day = '0' + day
+        }
+        return date.getFullYear() + '-' + month + '-' + day;
+    },
+
+    /**
+     * 获取当前月的最后一天
+     * 返回格式: YYYY-mm-dd
+     *    例子: 当日为: 2020-11-27
+     *      返回日期为: 2020-11-30
+     * */
+    getCurrentMonthLastDay() {
+        let date = new Date();
+        let currentMonth = date.getMonth();
+        let nextMonth = ++currentMonth;
+        let nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
+        let oneDay = 1000 * 60 * 60 * 24;
+        let lastTime = new Date(nextMonthFirstDay - oneDay);
+        let month = parseInt(lastTime.getMonth() + 1);
+        let day = lastTime.getDate();
+        if (month < 10) {
+            month = '0' + month
+        }
+        if (day < 10) {
+            day = '0' + day
+        }
+        return date.getFullYear() + '-' + month + '-' + day;
+    },
+    getCurrWeek(){
+        var d = new Date();
+        var year = d.getFullYear();
+        var month = parseInt(d.getMonth())+1;
+
+        //获取周一
+        var beginWhereTheTime = this.GetMondayAndSunday(d);
+        var dd = new Date(beginWhereTheTime);
+        //获取周天
+        dd.setDate(dd.getDate()+6);
+        var monthSunday = parseInt(dd.getMonth())+1;
+        var endWhereTheTime = dd.getFullYear() + "-" + this.formatDate(monthSunday) + "-" + this.formatDate(dd.getDate());
+
+        return [beginWhereTheTime,endWhereTheTime]
+    },
+    //获取指定日期所在周周一
+    GetMondayAndSunday(dd) {
+        var week = dd.getDay(); //获取时间的星期数
+        var minus = week ? week - 1 : 6;
+        dd.setDate(dd.getDate() - minus); //获取minus天前的日期
+        var y = dd.getFullYear();
+        var m = dd.getMonth() + 1; //获取月份
+        var d = dd.getDate();
+        return y + "-" + this.formatDate(m) + "-" + this.formatDate(d);
+    },
+    //格式化月和日为MM、dd
+     formatDate(value){
+        if(value < 10){
+            value = "0" + value;
+        }
+        return value;
+    }
+}

+ 2 - 0
src/main.js

@@ -7,6 +7,7 @@ import 'element-ui/lib/theme-chalk/index.css';
 import 'font-awesome/css/font-awesome.css'
 import './iconfont/iconfont.css';
 import api from './api';
+import date from './date';
 import echarts from 'echarts';
 import  'echarts/theme/dark.js'
 import VueUeditorWrap from 'vue-ueditor-wrap' // ES6 Module
@@ -24,6 +25,7 @@ Vue.component('vue-ueditor-wrap', VueUeditorWrap)
 Vue.use(ElementUI);
 Vue.prototype.$echarts = echarts
 Vue.prototype.$api = api;
+Vue.prototype.$date = date;
 Vue.config.productionTip = false
 
 new Vue({

+ 47 - 24
src/views/journalQun/CASCI.vue

@@ -26,7 +26,7 @@
               <el-radio-button label="month">月报</el-radio-button>
             </el-radio-group>
           </el-form-item>
-          <el-form-item v-if="form.date=='day'">
+          <el-form-item v-if="form.date == 'day'">
             <el-date-picker
               v-model="form.day_value"
               type="date"
@@ -35,7 +35,7 @@
             >
             </el-date-picker>
           </el-form-item>
-          <el-form-item v-if="form.date=='week'">
+          <el-form-item v-if="form.date == 'week'">
             <el-date-picker
               v-model="form.week_value"
               type="week"
@@ -44,7 +44,7 @@
             >
             </el-date-picker>
           </el-form-item>
-          <el-form-item v-if="form.date=='month'">
+          <el-form-item v-if="form.date == 'month'">
             <el-date-picker
               v-model="form.month_value"
               type="month"
@@ -80,11 +80,21 @@
         <el-table-column prop="rank" width="80" label="排名"> </el-table-column>
         <el-table-column prop="journal_img" label="期刊封面" width="120">
           <template slot-scope="scope">
-            <img :src="scope.row.journal_img" alt="" width="80" style="margin: 5px" />
+            <img
+              :src="scope.row.journal_img"
+              alt=""
+              width="80"
+              style="margin: 5px"
+            />
           </template>
         </el-table-column>
-        <el-table-column prop="journal_name" label="期刊名称"> </el-table-column>
-        <el-table-column prop="article_count" label="统计资源数量(总)" sortable="custom">
+        <el-table-column prop="journal_name" label="期刊名称">
+        </el-table-column>
+        <el-table-column
+          prop="article_count"
+          label="统计资源数量(总)"
+          sortable="custom"
+        >
         </el-table-column>
         <el-table-column
           prop="article_count_mp"
@@ -98,7 +108,11 @@
           sortable="custom"
         >
         </el-table-column>
-        <el-table-column prop="read_num" label="总阅读量(次))" sortable="custom">
+        <el-table-column
+          prop="read_num"
+          label="总阅读量(次))"
+          sortable="custom"
+        >
         </el-table-column>
         <el-table-column
           prop="read_num_mp"
@@ -112,7 +126,11 @@
           sortable="custom"
         >
         </el-table-column>
-        <el-table-column prop="zhuanfa_num" label="总转发量量(次)" sortable="custom">
+        <el-table-column
+          prop="zhuanfa_num"
+          label="总转发量量(次)"
+          sortable="custom"
+        >
         </el-table-column>
         <el-table-column
           prop="zhuanfa_num_mp"
@@ -126,7 +144,12 @@
           sortable="custom"
         >
         </el-table-column>
-        <el-table-column prop="casci" label="CASCI" sortable="custom" fixed="right">
+        <el-table-column
+          prop="casci"
+          label="CASCI"
+          sortable="custom"
+          fixed="right"
+        >
         </el-table-column>
         <el-table-column
           prop="zip"
@@ -235,9 +258,9 @@ export default {
         page: 1,
         page_size: 20,
         date: "day",
-        day_value: new Date(new Date()-1000*60*60*24).toLocaleDateString(),
-        week_value: null,
-        month_value: null
+        day_value: new Date(new Date() - 1000 * 60 * 60 * 24),
+        week_value: new Date(new Date() - 1000 * 60 * 60 * 24),
+        month_value: new Date(new Date() - 1000 * 60 * 60 * 24),
       },
       total: 1,
       list: [{ name: "2333" }],
@@ -248,13 +271,13 @@ export default {
       dialogVisible1: false,
       form1: { qrcode: "" },
       file: "",
-      pickerOptions:{
-        disabledDate:(time)=>{
-          return time.getTime() > new Date()-1000*60*60*24;
-        }
+      pickerOptions: {
+        disabledDate: (time) => {
+          return time.getTime() > new Date() - 1000 * 60 * 60 * 24;
+        },
       },
-      order_by:"casci",
-      order:"descending"
+      order_by: "casci",
+      order: "descending",
     };
   },
   methods: {
@@ -262,7 +285,7 @@ export default {
       let parm = { order_by: e.prop, order: e.order };
       this.order_by = e.prop;
       this.order = e.order;
-      this.getData()
+      this.getData();
     },
     delImg() {
       this.$set(this.form1, "qrcode", null);
@@ -299,8 +322,8 @@ export default {
       });
     },
     download() {
-      var parm = {...this.form};
-      parm.timerange = parm.timerange.join(",")
+      var parm = { ...this.form };
+      parm.timerange = parm.timerange.join(",");
       parm.order_by = this.order_by;
       parm.order = this.order;
       this.$api.downloadCASCI(parm).then((res) => {
@@ -364,11 +387,10 @@ export default {
       });
     },
     search() {
-      this.getData();
+      this.getData()
     },
     getData() {
-      var parm = {...this.form};
-      // parm.timerange = parm.timerange.join(",")
+      var parm = { ...this.form };
       parm.order_by = this.order_by;
       parm.order = this.order;
       this.loading = true;
@@ -394,6 +416,7 @@ export default {
   },
   created() {
     this.getData();
+    console.log(this.$date.getCurrWeek(new Date()));
   },
   beforeRouteEnter(to, from, next) {
     next((vm) => {