|
@@ -2,90 +2,86 @@
|
|
|
<div>
|
|
<div>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
|
- <basic-container>
|
|
|
|
|
|
|
+ <basic-container v-if="permission.home_front">
|
|
|
|
|
+ <avue-data-rotate :option="optionFront"></avue-data-rotate>
|
|
|
|
|
+ </basic-container>
|
|
|
|
|
+
|
|
|
|
|
+ <basic-container v-if="permission.home_quick_menu || permission.home_manage">
|
|
|
|
|
+
|
|
|
<el-collapse v-model="activeNames" @change="handleChange">
|
|
<el-collapse v-model="activeNames" @change="handleChange">
|
|
|
- <el-row v-for="(item1, index1) in menus" :key="item1.id">
|
|
|
|
|
- <el-collapse-item :title="item1.name" :name="index1" >
|
|
|
|
|
- <el-col :span="8" v-for="(item2, index2) in item1.children" :key="item2.id">
|
|
|
|
|
- <el-button type="primary" plain @click="$router.push({path: item2.path})">{{item2.name}}</el-button>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <div v-if="permission.home_quick_menu">
|
|
|
|
|
+ <el-row v-for="(item1, index1) in menus" :key="item1.id">
|
|
|
|
|
+ <el-collapse-item :title="item1.name" :name="index1" >
|
|
|
|
|
+ <el-col :span="8" v-for="(item2, index2) in item1.children" :key="item2.id">
|
|
|
|
|
+ <el-button type="primary" plain @click="$router.push({path: item2.path})">{{item2.name}}</el-button>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-collapse-item>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <div v-if="permission.home_manage">
|
|
|
|
|
+ <el-collapse-item title="每日、每周、每月待辦事項" :name="5">
|
|
|
|
|
+ <el-col :span="8" >
|
|
|
|
|
+ <avue-crud
|
|
|
|
|
+ :option="optionDay"
|
|
|
|
|
+ :data="dataDay"
|
|
|
|
|
+ :page.sync="pageDay"
|
|
|
|
|
+ v-model="form"
|
|
|
|
|
+ ref="crud"
|
|
|
|
|
+ @on-load="onLoadDay"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
+ <div align="center">
|
|
|
|
|
+ <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
+ <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </avue-crud>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8" >
|
|
|
|
|
+ <avue-crud
|
|
|
|
|
+ :option="optionWeek"
|
|
|
|
|
+ :data="dataWeek"
|
|
|
|
|
+ :page.sync="pageWeek"
|
|
|
|
|
+ v-model="form"
|
|
|
|
|
+ ref="crud"
|
|
|
|
|
+ @on-load="onLoadWeek"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
+ <div align="center">
|
|
|
|
|
+ <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
+ <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </avue-crud>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8" >
|
|
|
|
|
+ <avue-crud
|
|
|
|
|
+ :option="optionMonth"
|
|
|
|
|
+ :data="dataMonth"
|
|
|
|
|
+ :page.sync="pageMonth"
|
|
|
|
|
+ v-model="form"
|
|
|
|
|
+ ref="crud"
|
|
|
|
|
+ @on-load="onLoadMonth"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
+ <div align="center">
|
|
|
|
|
+ <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
+ <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </avue-crud>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-collapse-item>
|
|
</el-collapse-item>
|
|
|
- </el-row>
|
|
|
|
|
- <el-collapse-item title="每日、每周、每月待辦事項" :name="5">
|
|
|
|
|
- <el-col :span="8" >
|
|
|
|
|
- <avue-crud
|
|
|
|
|
- :option="optionDay"
|
|
|
|
|
- :data="dataDay"
|
|
|
|
|
- :page.sync="pageDay"
|
|
|
|
|
- v-model="form"
|
|
|
|
|
- ref="crud"
|
|
|
|
|
- @on-load="onLoadDay"
|
|
|
|
|
- >
|
|
|
|
|
- <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
- <div align="center">
|
|
|
|
|
- <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
- <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </avue-crud>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8" >
|
|
|
|
|
- <avue-crud
|
|
|
|
|
- :option="optionWeek"
|
|
|
|
|
- :data="dataWeek"
|
|
|
|
|
- :page.sync="pageWeek"
|
|
|
|
|
- v-model="form"
|
|
|
|
|
- ref="crud"
|
|
|
|
|
- @on-load="onLoadWeek"
|
|
|
|
|
- >
|
|
|
|
|
- <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
- <div align="center">
|
|
|
|
|
- <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
- <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </avue-crud>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8" >
|
|
|
|
|
- <avue-crud
|
|
|
|
|
- :option="optionMonth"
|
|
|
|
|
- :data="dataMonth"
|
|
|
|
|
- :page.sync="pageMonth"
|
|
|
|
|
- v-model="form"
|
|
|
|
|
- ref="crud"
|
|
|
|
|
- @on-load="onLoadMonth"
|
|
|
|
|
- >
|
|
|
|
|
- <template slot="status" slot-scope="{row, index}">
|
|
|
|
|
- <div align="center">
|
|
|
|
|
- <i v-if="row.status" style="width:20px;height:20px;border-radius:50%;background-color:green;display: block"></i>
|
|
|
|
|
- <i v-if="!row.status" style="width:20px;height:20px;border-radius:50%;background-color:red;display: block"></i>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- </avue-crud>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-collapse-item>
|
|
|
|
|
|
|
+ </div>
|
|
|
</el-collapse>
|
|
</el-collapse>
|
|
|
</basic-container>
|
|
</basic-container>
|
|
|
|
|
|
|
|
- <!--<basic-container v-if="permission.home_front">
|
|
|
|
|
- <avue-data-rotate :option="optionFront"></avue-data-rotate>
|
|
|
|
|
- </basic-container>
|
|
|
|
|
- <basic-container v-if="permission.home_manage">
|
|
|
|
|
- <el-row>
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <div id="chartDay" :style="{width: '400px', height: '400px'}"></div>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <div id="chartWeek" :style="{width: '400px', height: '400px'}"></div>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :span="8">
|
|
|
|
|
- <div id="chartMonth" :style="{width: '400px', height: '400px'}"></div>
|
|
|
|
|
- </el-col>
|
|
|
|
|
- </el-row>
|
|
|
|
|
- </basic-container>
|
|
|
|
|
<basic-container v-if="permission.home_backgr">
|
|
<basic-container v-if="permission.home_backgr">
|
|
|
<avue-data-rotate :option="optionBackgr"></avue-data-rotate>
|
|
<avue-data-rotate :option="optionBackgr"></avue-data-rotate>
|
|
|
- </basic-container>-->
|
|
|
|
|
|
|
+ </basic-container>
|
|
|
|
|
+
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
@@ -125,7 +121,7 @@
|
|
|
this.$router.push({path: "/desk/tobeconfirm"})
|
|
this.$router.push({path: "/desk/tobeconfirm"})
|
|
|
},
|
|
},
|
|
|
count: '53%',
|
|
count: '53%',
|
|
|
- title: '待確認',
|
|
|
|
|
|
|
+ title: '待處理',
|
|
|
display: false,
|
|
display: false,
|
|
|
icon: 'el-icon-view',
|
|
icon: 'el-icon-view',
|
|
|
color: '#f39c12'
|
|
color: '#f39c12'
|
|
@@ -134,7 +130,7 @@
|
|
|
this.$router.push({path: "/desk/confirmed"})
|
|
this.$router.push({path: "/desk/confirmed"})
|
|
|
},
|
|
},
|
|
|
count: '44',
|
|
count: '44',
|
|
|
- title: '我的確認',
|
|
|
|
|
|
|
+ title: '已處理',
|
|
|
icon: 'el-icon-setting',
|
|
icon: 'el-icon-setting',
|
|
|
color: '#5daf34'
|
|
color: '#5daf34'
|
|
|
}
|
|
}
|
|
@@ -494,8 +490,43 @@
|
|
|
...mapGetters(["permission", "userInfo", "menuAll"]),
|
|
...mapGetters(["permission", "userInfo", "menuAll"]),
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
|
|
|
+ getMyInitiated().then(res => {
|
|
|
|
|
+ const initiatedCount = res.data.data;
|
|
|
|
|
+ this.optionFront.data[0].count = initiatedCount;
|
|
|
|
|
+ this.optionBackgr.data[4].count = initiatedCount;
|
|
|
|
|
+ })
|
|
|
|
|
+ getToBoReleased().then(res => {
|
|
|
|
|
+ const tobeReleaseCount = res.data.data;
|
|
|
|
|
+ this.optionBackgr.data[5].count = tobeReleaseCount;
|
|
|
|
|
+ });
|
|
|
|
|
+ getToBeConfirmed().then(res => {
|
|
|
|
|
+ const tobeConfirmedCount = res.data.data;
|
|
|
|
|
+ this.optionFront.data[1].count = tobeConfirmedCount;
|
|
|
|
|
+ });
|
|
|
|
|
+ getMyConfirmation().then(res => {
|
|
|
|
|
+ const confirmedCount = res.data.data;
|
|
|
|
|
+ this.optionFront.data[2].count = confirmedCount;
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
|
|
|
+
|
|
|
|
|
+ let _this = this;
|
|
|
|
|
+ getHomeCount().then(res => {
|
|
|
|
|
+ const data = res.data.data;
|
|
|
|
|
+ _this.option1.series[0].data[1].value = data.dayCheckedCount;
|
|
|
|
|
+ _this.option1.series[0].data[0].value = data.dayNocheckCount;
|
|
|
|
|
+ _this.option2.series[0].data[1].value = data.weekCheckedCount;
|
|
|
|
|
+ _this.option2.series[0].data[0].value = data.weekNocheckCount;
|
|
|
|
|
+ _this.option3.series[0].data[1].value = data.monthCheckedCount;
|
|
|
|
|
+ _this.option3.series[0].data[0].value = data.monthNocheckCount;
|
|
|
|
|
+
|
|
|
|
|
+ _this.optionBackgr.data[0].count = ( (data.dayNocheckCount) + '/' + (data.dayCheckedCount + data.dayNocheckCount));
|
|
|
|
|
+ _this.optionBackgr.data[1].count = ( (data.weekNocheckCount) + '/' + (data.weekCheckedCount + data.weekNocheckCount));
|
|
|
|
|
+ _this.optionBackgr.data[2].count = ( (data.monthNocheckCount) + '/' + (data.monthCheckedCount + data.monthNocheckCount));
|
|
|
|
|
+ _this.optionBackgr.data[3].count = data.dayNocheckCount + data.weekNocheckCount + data.monthNocheckCount;
|
|
|
|
|
+ // _this.drawLine()
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
if (this.menuAll.length > 0){
|
|
if (this.menuAll.length > 0){
|
|
|
this.getBusinessMenu();
|
|
this.getBusinessMenu();
|
|
|
}else{
|
|
}else{
|