|
@@ -3,15 +3,14 @@
|
|
|
<save-form inline :model="search" @submit="FetchDetail" @reset="reset" saveKey="/main/main/baseInfo">
|
|
|
<el-form-item prop="year">
|
|
|
<el-date-picker
|
|
|
- v-model="search.year"
|
|
|
- type="year"
|
|
|
- format="yyyy年"
|
|
|
- :picker-options="{
|
|
|
- disabledDate(time) {
|
|
|
- return time.getTime() > Date.now()
|
|
|
- }
|
|
|
- }"
|
|
|
- placeholder="请选择年份">
|
|
|
+ v-model="search.dates"
|
|
|
+ type="daterange"
|
|
|
+ align="right"
|
|
|
+ unlink-panels
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :picker-options="pickerOptions">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="organId">
|
|
@@ -41,9 +40,9 @@
|
|
|
<el-col :xs="24" :sm="24" :md="12">
|
|
|
<business :data="dataInfo"/>
|
|
|
</el-col>
|
|
|
- <!-- <el-col :xs="24" :sm="24" :md="24" :xl="10">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :xl="12">
|
|
|
<management :data="dataInfo"/>
|
|
|
- </el-col> -->
|
|
|
+ </el-col>
|
|
|
<el-col :xs="24" :sm="24" :md="12">
|
|
|
<hrdata :data="dataInfo"/>
|
|
|
</el-col>
|
|
@@ -64,9 +63,15 @@ import management from './management'
|
|
|
import hrdata from './hr'
|
|
|
import student from './student'
|
|
|
import curriculum from './curriculum'
|
|
|
-
|
|
|
+import { getTimes } from '@/utils'
|
|
|
import { descs } from '../constant'
|
|
|
|
|
|
+const getInitDate = () => {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ return [start, end]
|
|
|
+}
|
|
|
export default {
|
|
|
components: {
|
|
|
operate,
|
|
@@ -78,8 +83,39 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
+ pickerOptions: {
|
|
|
+ disabledDate: a => {
|
|
|
+ const { dayjs } = this.$helpers
|
|
|
+ return dayjs(a).isAfter(dayjs())
|
|
|
+ },
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
search: {
|
|
|
- year: '',
|
|
|
+ dates: [],
|
|
|
organId: null
|
|
|
},
|
|
|
dataInfo: {},
|
|
@@ -97,16 +133,17 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
reset() {
|
|
|
- this.$set(this.search, 'year', this.$helpers.dayjs())
|
|
|
+ this.$set(this.search, 'dates', getInitDate())
|
|
|
this.$set(this.search, 'organId', null)
|
|
|
this.FetchDetail()
|
|
|
},
|
|
|
async FetchDetail() {
|
|
|
const data = {}
|
|
|
try {
|
|
|
+ const {dates, ...rest} = this.search
|
|
|
const res = await getIndex({
|
|
|
- ...this.search,
|
|
|
- year: this.$helpers.dayjs(this.search.year).year() || '',
|
|
|
+ ...rest,
|
|
|
+ ...getTimes(dates, ['startDate', 'endDate'])
|
|
|
})
|
|
|
for (const item of res.data) {
|
|
|
data[item.dataType] = {
|