| @@ -199,17 +199,16 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus | |||||
| } | } | ||||
| statictisSess.Limit(opts.PageSize, start) | statictisSess.Limit(opts.PageSize, start) | ||||
| } | } | ||||
| statictisSess.OrderBy("count_date desc") | |||||
| userBusinessAnalysisList := make([]*UserBusinessAnalysis, 0) | userBusinessAnalysisList := make([]*UserBusinessAnalysis, 0) | ||||
| if err := statictisSess.Table("user_business_analysis").Where(cond). | |||||
| if err := statictisSess.Table("user_business_analysis").Where(cond).OrderBy("count_date desc"). | |||||
| Find(&userBusinessAnalysisList); err != nil { | Find(&userBusinessAnalysisList); err != nil { | ||||
| return nil, 0 | return nil, 0 | ||||
| } | } | ||||
| resultMap := make(map[int64]*UserBusinessAnalysis) | resultMap := make(map[int64]*UserBusinessAnalysis) | ||||
| if opts.Page >= 0 && opts.PageSize > 0 && len(userBusinessAnalysisList) > 0 { | |||||
| if len(userBusinessAnalysisList) > 0 { | |||||
| var newAndCond = builder.NewCond() | var newAndCond = builder.NewCond() | ||||
| var newOrCond = builder.NewCond() | var newOrCond = builder.NewCond() | ||||
| for _, userRecord := range userBusinessAnalysisList { | for _, userRecord := range userBusinessAnalysisList { | ||||
| @@ -228,9 +227,8 @@ func QueryUserStaticDataPage(opts *UserBusinessAnalysisQueryOptions) ([]*UserBus | |||||
| builder.Lte{"count_date": opts.EndTime}, | builder.Lte{"count_date": opts.EndTime}, | ||||
| ) | ) | ||||
| } | } | ||||
| userBusinessAnalysisList = make([]*UserBusinessAnalysis, 0) | userBusinessAnalysisList = make([]*UserBusinessAnalysis, 0) | ||||
| if err := statictisSess.Table("user_business_analysis").Where(newAndCond). | |||||
| if err := statictisSess.Table("user_business_analysis").Where(newAndCond).OrderBy("count_date desc"). | |||||
| Find(&userBusinessAnalysisList); err != nil { | Find(&userBusinessAnalysisList); err != nil { | ||||
| return nil, 0 | return nil, 0 | ||||
| } | } | ||||
| @@ -314,6 +314,7 @@ func GetProjectLatestStatistics(ctx *context.Context) { | |||||
| Mode: mode, | Mode: mode, | ||||
| PR: pr, | PR: pr, | ||||
| RelAvatarLink: contributor.RelAvatarLink, | RelAvatarLink: contributor.RelAvatarLink, | ||||
| Email: contributor.Email, | |||||
| } | } | ||||
| users = append(users, userInfo) | users = append(users, userInfo) | ||||
| @@ -44,9 +44,5 @@ func RegisterRoutes(m *macaron.Macaron) { | |||||
| m.Post("/manager/flush-queues", bind(private.FlushOptions{}), FlushQueues) | m.Post("/manager/flush-queues", bind(private.FlushOptions{}), FlushQueues) | ||||
| m.Post("/tool/update_all_repo_commit_cnt", UpdateAllRepoCommitCnt) | m.Post("/tool/update_all_repo_commit_cnt", UpdateAllRepoCommitCnt) | ||||
| m.Post("/tool/repo_stat", RepoStatisticManually) | m.Post("/tool/repo_stat", RepoStatisticManually) | ||||
| m.Post("/tool/create_model", CreateModel) | |||||
| m.Delete("/tool/delete_model", DeleteModel) | |||||
| m.Get("/tool/show_model", ShowModel) | |||||
| m.Put("/tool/modify_model", ModifyModel) | |||||
| }, CheckInternalToken) | }, CheckInternalToken) | ||||
| } | } | ||||
| @@ -5,7 +5,6 @@ | |||||
| package private | package private | ||||
| import ( | import ( | ||||
| "fmt" | |||||
| "net/http" | "net/http" | ||||
| "code.gitea.io/gitea/models" | "code.gitea.io/gitea/models" | ||||
| @@ -46,6 +45,7 @@ func RepoStatisticManually(ctx *macaron.Context) { | |||||
| repo.TimingCountDataByDate(date) | repo.TimingCountDataByDate(date) | ||||
| } | } | ||||
| /* | |||||
| func CreateModel(ctx *macaron.Context) { | func CreateModel(ctx *macaron.Context) { | ||||
| JobId := ctx.Query("JobId") | JobId := ctx.Query("JobId") | ||||
| VersionName := ctx.Query("VersionName") | VersionName := ctx.Query("VersionName") | ||||
| @@ -88,3 +88,4 @@ func ModifyModel(ctx *macaron.Context) { | |||||
| ctx.JSON(500, "Failed.") | ctx.JSON(500, "Failed.") | ||||
| } | } | ||||
| } | } | ||||
| */ | |||||
| @@ -25,7 +25,7 @@ const ( | |||||
| MODEL_NOT_LATEST = 0 | MODEL_NOT_LATEST = 0 | ||||
| ) | ) | ||||
| func SaveModelByParameters(jobId string, versionName string, name string, version string, label string, description string, userId int64) error { | |||||
| func saveModelByParameters(jobId string, versionName string, name string, version string, label string, description string, userId int64) error { | |||||
| aiTask, err := models.GetCloudbrainByJobIDAndVersionName(jobId, versionName) | aiTask, err := models.GetCloudbrainByJobIDAndVersionName(jobId, versionName) | ||||
| //aiTask, err := models.GetCloudbrainByJobID(jobId) | //aiTask, err := models.GetCloudbrainByJobID(jobId) | ||||
| if err != nil { | if err != nil { | ||||
| @@ -110,7 +110,7 @@ func SaveModel(ctx *context.Context) { | |||||
| label := ctx.Query("Label") | label := ctx.Query("Label") | ||||
| description := ctx.Query("Description") | description := ctx.Query("Description") | ||||
| err := SaveModelByParameters(JobId, VersionName, name, version, label, description, ctx.User.ID) | |||||
| err := saveModelByParameters(JobId, VersionName, name, version, label, description, ctx.User.ID) | |||||
| if err != nil { | if err != nil { | ||||
| log.Info("save model error." + err.Error()) | log.Info("save model error." + err.Error()) | ||||
| @@ -49,13 +49,13 @@ func QueryUserStaticDataPage(ctx *context.Context) { | |||||
| startTime = time.Now() | startTime = time.Now() | ||||
| endTime = time.Now() | endTime = time.Now() | ||||
| } else { | } else { | ||||
| startTime, _ = time.Parse("2006-01-02", startDate) | |||||
| startTime, _ = time.ParseInLocation("2006-01-02", startDate, time.Local) | |||||
| settingStartTime, _ := time.Parse("2006-01-02", setting.RadarMap.RecordBeginTime) | settingStartTime, _ := time.Parse("2006-01-02", setting.RadarMap.RecordBeginTime) | ||||
| if startTime.Unix() < settingStartTime.Unix() { | if startTime.Unix() < settingStartTime.Unix() { | ||||
| startTime = settingStartTime | startTime = settingStartTime | ||||
| startDate = settingStartTime.Format("2006-01-02") | startDate = settingStartTime.Format("2006-01-02") | ||||
| } | } | ||||
| endTime, _ = time.Parse("2006-01-02", endDate) | |||||
| endTime, _ = time.ParseInLocation("2006-01-02", endDate, time.Local) | |||||
| endTime = endTime.AddDate(0, 0, 1) | endTime = endTime.AddDate(0, 0, 1) | ||||
| isAll = false | isAll = false | ||||
| log.Info("startTime=" + fmt.Sprint(startTime.Unix()) + " endDate=" + fmt.Sprint(endTime.Unix())) | log.Info("startTime=" + fmt.Sprint(startTime.Unix()) + " endDate=" + fmt.Sprint(endTime.Unix())) | ||||
| @@ -970,7 +970,10 @@ func RegisterRoutes(m *macaron.Macaron) { | |||||
| m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) | m.Post("/create", reqRepoCloudBrainWriter, bindIgnErr(auth.CreateCloudBrainForm{}), repo.CloudBrainCreate) | ||||
| }, context.RepoRef()) | }, context.RepoRef()) | ||||
| m.Group("/modelmanage", func() { | m.Group("/modelmanage", func() { | ||||
| m.Get("", reqRepoCloudBrainReader, repo.ShowModelPageInfo) | |||||
| m.Post("/create_model", repo.SaveModel) | |||||
| m.Delete("/delete_model", repo.DeleteModel) | |||||
| m.Put("/modify_model", repo.ModifyModelInfo) | |||||
| m.Get("/show_model", reqRepoCloudBrainReader, repo.ShowModelPageInfo) | |||||
| m.Group("/:ID", func() { | m.Group("/:ID", func() { | ||||
| m.Get("", reqRepoCloudBrainReader, repo.ShowSingleModel) | m.Get("", reqRepoCloudBrainReader, repo.ShowSingleModel) | ||||
| m.Get("/downloadsingle", reqRepoCloudBrainReader, repo.DownloadSingleModelFile) | m.Get("/downloadsingle", reqRepoCloudBrainReader, repo.DownloadSingleModelFile) | ||||
| @@ -7,10 +7,8 @@ | |||||
| </el-image> | </el-image> | ||||
| 概览 | 概览 | ||||
| </span> | </span> | ||||
| <div >概览.......</div> | |||||
| <div >概览.......</div> | |||||
| <div >概览.......</div><div >概览.......</div> | |||||
| <div >概览.......</div> | |||||
| <div >暂无内容.......</div> | |||||
| </el-tab-pane> | </el-tab-pane> | ||||
| <el-tab-pane label="项目分析" name="second" id="second" > | <el-tab-pane label="项目分析" name="second" id="second" > | ||||
| <ProAnalysis ref='ProAnalysis'id="pro" v-if="isRouterAlive"></ProAnalysis> | <ProAnalysis ref='ProAnalysis'id="pro" v-if="isRouterAlive"></ProAnalysis> | ||||
| @@ -20,13 +18,13 @@ | |||||
| 项目分析 | 项目分析 | ||||
| </span> | </span> | ||||
| </el-tab-pane> | </el-tab-pane> | ||||
| <el-tab-pane name="third" id='third'> | |||||
| <el-tab-pane name="third" id='third' > | |||||
| <span slot='label'> | <span slot='label'> | ||||
| <el-image style="width: 13px; height: 13px" src="/img/name.png"> | <el-image style="width: 13px; height: 13px" src="/img/name.png"> | ||||
| </el-image> | </el-image> | ||||
| 用户分析 | 用户分析 | ||||
| </span> | </span> | ||||
| <UserAnalysis ref='UserAnalysis' id ="usr"></UserAnalysis> | |||||
| <UserAnalysis ref='UserAnalysis' v-if="isRouterAlive1" id ="usr"></UserAnalysis> | |||||
| </el-tab-pane> | </el-tab-pane> | ||||
| </el-tabs> | </el-tabs> | ||||
| </div> | </div> | ||||
| @@ -48,6 +46,7 @@ | |||||
| loading:true, | loading:true, | ||||
| loading1:true, | loading1:true, | ||||
| isRouterAlive: true, | isRouterAlive: true, | ||||
| isRouterAlive1: true, | |||||
| isSecond:true, | isSecond:true, | ||||
| isThird:false, | isThird:false, | ||||
| @@ -57,24 +56,20 @@ | |||||
| handleClick(tab, event){ | handleClick(tab, event){ | ||||
| if(tab.name=="second"){ | if(tab.name=="second"){ | ||||
| this.reload() | this.reload() | ||||
| //document.getElementById('usr').style.display="none" | |||||
| //document.getElementById("pro").style.display='block' | |||||
| //this.$refs.ProAnalysis.getAllProList("all",7) | |||||
| this.isSecond = true | this.isSecond = true | ||||
| this.isThird = false | this.isThird = false | ||||
| this.$refs.ProAnalysis.getAllProList("all",7) | this.$refs.ProAnalysis.getAllProList("all",7) | ||||
| } | } | ||||
| if(tab.name=="third"){ | if(tab.name=="third"){ | ||||
| // document.getElementById('usr').style.display="block" | |||||
| // document.getElementById("pro").style.display='none' | |||||
| this.reload() | |||||
| this.reload1() | |||||
| this.isSecond = false | this.isSecond = false | ||||
| this.isThird = true | this.isThird = true | ||||
| this.$refs.UserAnalysis.resetPage() | |||||
| this.$refs.UserAnalysis.getUpdateTime() | this.$refs.UserAnalysis.getUpdateTime() | ||||
| this.$refs.UserAnalysis.getUserList("all_usr",7) | this.$refs.UserAnalysis.getUserList("all_usr",7) | ||||
| } | } | ||||
| @@ -84,6 +79,10 @@ | |||||
| reload () { | reload () { | ||||
| this.isRouterAlive = false | this.isRouterAlive = false | ||||
| this.$nextTick(() => (this.isRouterAlive = true)) | this.$nextTick(() => (this.isRouterAlive = true)) | ||||
| }, | |||||
| reload1 () { | |||||
| this.isRouterAlive1 = false | |||||
| this.$nextTick(() => (this.isRouterAlive1 = true)) | |||||
| } | } | ||||
| }, | }, | ||||
| @@ -29,8 +29,13 @@ | |||||
| </span> | </span> | ||||
| <span style="float:right; margin-right: 20px;"> | <span style="float:right; margin-right: 20px;"> | ||||
| <div style="display:inline-block;margin-left: 20px; "> | <div style="display:inline-block;margin-left: 20px; "> | ||||
| <i class="el-icon-download"></i> | |||||
| <span ><a id = "download_file" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" >下载报告</a> </span> | |||||
| <a class="el-icon-download" v-if="tableData!=''" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" ></a> | |||||
| <i class="el-icon-download" v-else="tableData=''" href="#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'></i> | |||||
| <!-- <span ><a id = "download_file" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'" >下载报告</a> </span> --> | |||||
| <span > | |||||
| <a id = "download_file" v-if="tableData!=''" :href= "'../api/v1/projectboard/downloadAll/?type='+this.params.type+'&beginTime='+this.params.beginTime+'&endTime='+this.params.endTime+'&q='+this.params.q+'&sort=openi'">下载报告</a> | |||||
| <a id = "download_file" v-else="tableData=''" href= "#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'>下载报告</a> | |||||
| </span> | |||||
| </div> | </div> | ||||
| @@ -142,10 +147,12 @@ | |||||
| <div style="margin-top:50px;text-align:center"> | <div style="margin-top:50px;text-align:center"> | ||||
| <el-pagination | <el-pagination | ||||
| background | background | ||||
| @size-change="handleSizeChange" | |||||
| @current-change="handleCurrentChange" | @current-change="handleCurrentChange" | ||||
| :current-page="page" | :current-page="page" | ||||
| :page-size="pageSize" | :page-size="pageSize" | ||||
| layout="prev, pager, next" | |||||
| :page-sizes="[5,10,20]" | |||||
| layout="total, sizes,prev, pager, next,jumper" | |||||
| :total="totalNum"> | :total="totalNum"> | ||||
| </el-pagination> | </el-pagination> | ||||
| </div> | </div> | ||||
| @@ -153,7 +160,7 @@ | |||||
| </div> | </div> | ||||
| <div id ="pro_detail" style="display:none;width: 100%;"> | <div id ="pro_detail" style="display:none;width: 100%;"> | ||||
| <div style="margin-top: 10px;"> | <div style="margin-top: 10px;"> | ||||
| <b class="pro_item">{{this.ownerName}} / {{this.pro_name}}</b> <span class="update_time">数据更新时间:</span><span style="font-size: 12px;">{{tableDataIDTotal.lastUpdatedTime}} / 从{{tableDataIDTotal.recordBeginTime}}开始</span> | |||||
| <b class="pro_item">{{this.ownerName}} / {{this.pro_name}}</b> <span class="update_time">数据更新时间:</span><span style="font-size: 12px;">{{tableDataIDTotal.lastUpdatedTime}} / 从{{tableDataIDTotal.recordBeginTime}}开始统计</span> | |||||
| </div> | </div> | ||||
| <div style="margin-top: 10px;"> | <div style="margin-top: 10px;"> | ||||
| 项目描述:{{tableDataIDTotal.description | discriptionFun}} | 项目描述:{{tableDataIDTotal.description | discriptionFun}} | ||||
| @@ -210,7 +217,7 @@ | |||||
| > | > | ||||
| <el-table-column | <el-table-column | ||||
| label="用户名" | label="用户名" | ||||
| align="center" | |||||
| align="left" | |||||
| prop="user"> | prop="user"> | ||||
| <template slot-scope="scope"> | <template slot-scope="scope"> | ||||
| <a v-if="scope.row.mode!=-1" :href="AppSubUrl +'../../../'+ scope.row.user"><img class="ui avatar s16 image js-popover-card" :src="scope.row.relAvatarLink">{{scope.row.user}} </a> | <a v-if="scope.row.mode!=-1" :href="AppSubUrl +'../../../'+ scope.row.user"><img class="ui avatar s16 image js-popover-card" :src="scope.row.relAvatarLink">{{scope.row.user}} </a> | ||||
| @@ -266,8 +273,12 @@ | |||||
| </span> | </span> | ||||
| <span style="float:right; margin-right: 20px;"> | <span style="float:right; margin-right: 20px;"> | ||||
| <div style="display:inline-block;margin-left: 20px;"> | <div style="display:inline-block;margin-left: 20px;"> | ||||
| <i class="el-icon-download"></i> | |||||
| <span ><a @click="exportData()">下载报告</a> </span> | |||||
| <a v-if="tableDataID!=''" @click="exportData()" class="el-icon-download"></a> | |||||
| <a v-else="tableDataID=''" @click="exportData()" style="color:rgba(187, 187, 187, 100);" class="el-icon-download"></a> | |||||
| <span > | |||||
| <a v-if="tableDataID!=''" @click="exportData()">下载报告</a> | |||||
| <a v-else="tableDataID=''" @click="exportData()" style="color:rgba(187, 187, 187, 100);">下载报告</a> | |||||
| </span> | |||||
| </div> | </div> | ||||
| </span> | </span> | ||||
| </div> | </div> | ||||
| @@ -286,7 +297,7 @@ | |||||
| </div> | </div> | ||||
| <div style="margin-top: 30px;"> | <div style="margin-top: 30px;"> | ||||
| <el-table | <el-table | ||||
| :data="tableDataID.slice((currentPage-1)*pageSize,currentPage*pageSize)" | |||||
| :data="tableDataID.slice((currentPage-1)*pageSize1,currentPage*pageSize1)" | |||||
| style="width: 100%" | style="width: 100%" | ||||
| :header-cell-style="tableHeaderStyle" | :header-cell-style="tableHeaderStyle" | ||||
| :cell-style='cellStyle'> | :cell-style='cellStyle'> | ||||
| @@ -318,10 +329,12 @@ | |||||
| <div style="margin-top:50px;text-align:center"> | <div style="margin-top:50px;text-align:center"> | ||||
| <el-pagination | <el-pagination | ||||
| background | background | ||||
| @size-change="handleSizeChangeID" | |||||
| @current-change="handleCurrentChangeID" | @current-change="handleCurrentChangeID" | ||||
| :current-page="currentPage" | :current-page="currentPage" | ||||
| :page-size="pageSize1" | :page-size="pageSize1" | ||||
| layout="prev, pager, next" | |||||
| :page-sizes="[5,10,20]" | |||||
| layout="total, sizes,prev, pager, next,jumper" | |||||
| :total="tableDataID.length"> | :total="tableDataID.length"> | ||||
| </el-pagination> | </el-pagination> | ||||
| </div> | </div> | ||||
| @@ -357,6 +370,7 @@ | |||||
| search:'', | search:'', | ||||
| dynamic:7, | dynamic:7, | ||||
| download_a:"", | download_a:"", | ||||
| downLoadSrc:'', | |||||
| //单个项目参数 | //单个项目参数 | ||||
| @@ -385,14 +399,22 @@ | |||||
| // download_file(){ | // download_file(){ | ||||
| // this.params.type='all' | // this.params.type='all' | ||||
| // }, | // }, | ||||
| popMark(){ | |||||
| alert("数据为空时,不能下载!") | |||||
| }, | |||||
| exportData(){ | exportData(){ | ||||
| // this.getOneProList(this.pro_id,'all',true,7) | // this.getOneProList(this.pro_id,'all',true,7) | ||||
| // this.getOneProList(this.pro_id,'all',false,7) | // this.getOneProList(this.pro_id,'all',false,7) | ||||
| // this.fileName() | // this.fileName() | ||||
| this.currentPage=1 | |||||
| var saveFileName = this.getFileName() | |||||
| export2Excel(this.columns,this.tableDataID,saveFileName) | |||||
| if (this.tableDataID!=''){ | |||||
| this.currentPage=1 | |||||
| var saveFileName = this.getFileName() | |||||
| export2Excel(this.columns,this.tableDataID,saveFileName) | |||||
| }else{ | |||||
| alert("数据为空时,不能下载!") | |||||
| } | |||||
| }, | }, | ||||
| getFileName(){ | getFileName(){ | ||||
| @@ -406,11 +428,7 @@ | |||||
| var yesterday = this.saveFormatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()); | var yesterday = this.saveFormatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()); | ||||
| var yesterday_tmp = this.formatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()) | var yesterday_tmp = this.formatDate(tmp.getFullYear(),tmp.getMonth()+1,tmp.getDate()) | ||||
| let lastMonthDate = new Date(); // 上月日期 | |||||
| lastMonthDate.setDate(1); | |||||
| lastMonthDate.setMonth(lastMonthDate.getMonth()-1); | |||||
| let lastYear = lastMonthDate.getYear(); | |||||
| let lastMonth = lastMonthDate.getMonth(); | |||||
| var startDate='' | var startDate='' | ||||
| var endDate='' | var endDate='' | ||||
| var saveFileName = '' | var saveFileName = '' | ||||
| @@ -458,10 +476,22 @@ | |||||
| break | break | ||||
| } | } | ||||
| case "last_month":{ | case "last_month":{ | ||||
| startDate=this.formatDate(nowYear, lastMonth+1, 1); | |||||
| let lastMonthDate = new Date(); // 上月日期 | |||||
| lastMonthDate.setDate(1); | |||||
| lastMonthDate.setMonth(lastMonthDate.getMonth()-1); | |||||
| let lastYear = lastMonthDate.getFullYear(); | |||||
| let lastMonth = lastMonthDate.getMonth(); | |||||
| startDate=this.formatDate(lastYear, lastMonth+1, 1); | |||||
| startDate = this.comparedate(startDate,this.recordBeginTime) | startDate = this.comparedate(startDate,this.recordBeginTime) | ||||
| endDate=this.saveFormatDate(nowYear, lastMonth+1, this.saveFormatDate(nowYear,lastMonth)); | |||||
| var monthStartDate = new Date(lastYear, lastMonth, 1); | |||||
| var monthEndDate = new Date(lastYear, lastMonth+1, 1); | |||||
| var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24) | |||||
| endDate=this.saveFormatDate(lastYear, lastMonth+1, days); //月份从0开始,所以+1保存月份 | |||||
| saveFileName = this.pro_name+"_"+startDate+'_'+ endDate | saveFileName = this.pro_name+"_"+startDate+'_'+ endDate | ||||
| break | break | ||||
| } | } | ||||
| @@ -501,6 +531,11 @@ | |||||
| resetCurrentPage(){ | resetCurrentPage(){ | ||||
| this.currentPage=1 | this.currentPage=1 | ||||
| }, | }, | ||||
| handleSizeChange(val){ | |||||
| this.params.pagesize = val | |||||
| this.resetPage() | |||||
| this.getAllProList(this.params.type, this.dynamic) | |||||
| }, | |||||
| handleCurrentChange(val){ | handleCurrentChange(val){ | ||||
| console.log(val) | console.log(val) | ||||
| this.params.page = val | this.params.page = val | ||||
| @@ -576,6 +611,9 @@ | |||||
| } | } | ||||
| return (myyear +'-'+ mymonth +'-'+ myweekday); | return (myyear +'-'+ mymonth +'-'+ myweekday); | ||||
| }, | }, | ||||
| //获得某月的天数 | |||||
| getAllProList(type_val,index){ | getAllProList(type_val,index){ | ||||
| console.log("类型:"+type_val) | console.log("类型:"+type_val) | ||||
| @@ -636,10 +674,14 @@ | |||||
| return 'background:#f5f5f6;color:#606266' | return 'background:#f5f5f6;color:#606266' | ||||
| } | } | ||||
| }, | }, | ||||
| handleSizeChangeID(val){ | |||||
| this.pageSize1=val | |||||
| }, | |||||
| handleCurrentChangeID(currentPage){ | handleCurrentChangeID(currentPage){ | ||||
| this.currentPage = currentPage; | this.currentPage = currentPage; | ||||
| }, | }, | ||||
| getOneProData(pro_id){ | getOneProData(pro_id){ | ||||
| this.$axios.get('../api/v1/projectboard/project/'+pro_id,{ | this.$axios.get('../api/v1/projectboard/project/'+pro_id,{ | ||||
| }).then((res)=>{ | }).then((res)=>{ | ||||
| @@ -698,7 +740,39 @@ | |||||
| textStyle:{ | textStyle:{ | ||||
| color:'black' | color:'black' | ||||
| }, | }, | ||||
| position: 'right' | |||||
| position: 'right', | |||||
| // formatter: function (params) { | |||||
| // console.log('params:',params) | |||||
| // console.log('params.data:',params[0]) | |||||
| // let str = params.data.name + "<br />"; | |||||
| // params.data.forEach((item) => { | |||||
| // str += | |||||
| // '<span style="display:inline-block;margin-right:5px;border-radius:50%;width:10px;height:10px;left:5px;background-color:'+params.color+'"></span>' + item.seriesName + " : " + '<span style="float:right">'+item.data[1] +'</span>'+ "<br />"; | |||||
| // }); | |||||
| // return str; | |||||
| // }, | |||||
| // formatter: function (params, ticket, callback) { | |||||
| // console.log(params); | |||||
| // var showHtm=""; | |||||
| // var data = params.data.value | |||||
| // for(var i=0;i<data.length;i++){ | |||||
| // //x轴名称 | |||||
| // var name = data[i]; | |||||
| // //值 | |||||
| // var value = params[i][2]; | |||||
| // showHtm+= text+ '--' + name + ' :' + value+'<br>' | |||||
| // } | |||||
| // return showHtm; | |||||
| // } | |||||
| },//提示层 | },//提示层 | ||||
| legend: { | legend: { | ||||
| @@ -792,7 +866,7 @@ | |||||
| backgroundColor:'rgba(255,255,255,0.8)', | backgroundColor:'rgba(255,255,255,0.8)', | ||||
| color:'black', | color:'black', | ||||
| borderWidth:'1', | borderWidth:'1', | ||||
| borderColor:'gray', | |||||
| borderColor:'#DCE7FB', | |||||
| textStyle:{ | textStyle:{ | ||||
| color:'black' | color:'black' | ||||
| }, | }, | ||||
| @@ -1070,6 +1144,11 @@ | |||||
| created() { | created() { | ||||
| // this.download_a=document.getElementById("download_file") | // this.download_a=document.getElementById("download_file") | ||||
| }, | |||||
| updated(){ | |||||
| if(document.querySelectorAll('img[avatar]').length!==0){ | |||||
| window.LetterAvatar.transform() | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| </script> | </script> | ||||
| @@ -1127,7 +1206,7 @@ | |||||
| } | } | ||||
| .items{ | .items{ | ||||
| text-align: center; | text-align: center; | ||||
| border-right:2px solid rgba(219, 219, 219, 100); | |||||
| border-right:1px solid rgba(219, 219, 219, 100); | |||||
| } | } | ||||
| .item_l{ | .item_l{ | ||||
| margin-right: 5px; | margin-right: 5px; | ||||
| @@ -1139,6 +1218,7 @@ | |||||
| margin-right:5px; | margin-right:5px; | ||||
| border:1px solid rgba(219, 219, 219, 100); | border:1px solid rgba(219, 219, 219, 100); | ||||
| height: 370px; | height: 370px; | ||||
| overflow:auto | |||||
| } | } | ||||
| .item_echart{ | .item_echart{ | ||||
| margin-top: 10px; | margin-top: 10px; | ||||
| @@ -1150,5 +1230,6 @@ | |||||
| .item_content{ | .item_content{ | ||||
| color: #409eff; | color: #409eff; | ||||
| margin-top: 10px; | margin-top: 10px; | ||||
| font-weight:bold; | |||||
| } | } | ||||
| </style> | </style> | ||||
| @@ -27,8 +27,12 @@ | |||||
| </span> | </span> | ||||
| <span style="float:right; margin-right: 20px;" > | <span style="float:right; margin-right: 20px;" > | ||||
| <a style="display:inline-block;margin-left: 20px; " id = 'download'> | <a style="display:inline-block;margin-left: 20px; " id = 'download'> | ||||
| <i class="el-icon-download"></i> | |||||
| <span ><a :href= "'../tool/query_user_static_page/?startDate='+this.params.startDate+'&endDate='+this.params.endDate+'&IsReturnFile=true'+'&userName='+this.params.userName" >下载报告</a> </span> | |||||
| <a class="el-icon-download" v-if="tableData!=''" :href= "'../tool/query_user_static_page/?startDate='+this.params.startDate+'&endDate='+this.params.endDate+'&IsReturnFile=true'+'&userName='+this.params.userName" ></a> | |||||
| <i class="el-icon-download" v-else="tableData=''" href="#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'></i> | |||||
| <span > | |||||
| <a v-if="tableData!=''" :href= "'../tool/query_user_static_page/?startDate='+this.params.startDate+'&endDate='+this.params.endDate+'&IsReturnFile=true'+'&userName='+this.params.userName" >下载报告</a> | |||||
| <a v-else="tableData=''" href= "#" style="color:rgba(187, 187, 187, 100);" @click='popMark()'>下载报告</a> | |||||
| </span> | |||||
| </a> | </a> | ||||
| <span style="display:inline-block;margin-left: 20px; "> | <span style="display:inline-block;margin-left: 20px; "> | ||||
| <el-input size="small" placeholder="输入用户名搜索" v-model="search" class="input-with-select" @keyup.enter.native="searchName() "><i slot="suffix" class="el-input__icon el-icon-search" @click="searchName() "></i> | <el-input size="small" placeholder="输入用户名搜索" v-model="search" class="input-with-select" @keyup.enter.native="searchName() "><i slot="suffix" class="el-input__icon el-icon-search" @click="searchName() "></i> | ||||
| @@ -141,10 +145,12 @@ | |||||
| <div style="margin-top:50px;text-align:center"> | <div style="margin-top:50px;text-align:center"> | ||||
| <el-pagination | <el-pagination | ||||
| background | background | ||||
| @size-change="handleSizeChange" | |||||
| @current-change="handleCurrentChange" | @current-change="handleCurrentChange" | ||||
| :current-page="page" | :current-page="page" | ||||
| :page-size="pageSize" | :page-size="pageSize" | ||||
| layout="prev, pager, next" | |||||
| :page-sizes="[5,10,20]" | |||||
| layout="total, sizes, prev, pager, next,jumper" | |||||
| :total="totalNum"> | :total="totalNum"> | ||||
| </el-pagination> | </el-pagination> | ||||
| </div> | </div> | ||||
| @@ -181,6 +187,9 @@ | |||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| popMark(){ | |||||
| alert("数据为空时,不能下载!") | |||||
| }, | |||||
| exportData(){ | exportData(){ | ||||
| // this.getUserList('all_usr',7) | // this.getUserList('all_usr',7) | ||||
| var saveFileName = this.getFileName() | var saveFileName = this.getFileName() | ||||
| @@ -206,10 +215,16 @@ | |||||
| this.getUserList(this.type_val,this.dynamic) | this.getUserList(this.type_val,this.dynamic) | ||||
| }, | }, | ||||
| handleSizeChange(val){ | |||||
| this.params.pageSize = val | |||||
| this.resetPage() | |||||
| this.getUserList(this.type_val,this.dynamic) | |||||
| }, | |||||
| resetPage(){ | resetPage(){ | ||||
| this.page=1 | this.page=1 | ||||
| this.params.page = 1 | this.params.page = 1 | ||||
| }, | }, | ||||
| formatDate(myyear,mymonth,myweekday) { | formatDate(myyear,mymonth,myweekday) { | ||||
| // var myyear = this.date.getFullYear(); | // var myyear = this.date.getFullYear(); | ||||
| // var mymonth = this.date.getMonth() + 1; | // var mymonth = this.date.getMonth() + 1; | ||||
| @@ -408,6 +423,7 @@ | |||||
| mounted() { | mounted() { | ||||
| // document.getElementById("all_usr").style.outline="none" | // document.getElementById("all_usr").style.outline="none" | ||||
| // document.getElementById("all_usr").focus() | // document.getElementById("all_usr").focus() | ||||
| this.getUpdateTime() | |||||
| this.getUserList("all_usr",7) | this.getUserList("all_usr",7) | ||||
| }, | }, | ||||
| created() { | created() { | ||||