一个指示合同到期的进度条(mvc+jquery)

1. Mode.csl:

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ProgressBar.Models
{
    public class User
    {
        public int Id { get; set; }

        public string Name { get; set; }

        public DateTime JoinDate { get; set; }

        public int ContractYears { get; set; }
    }
}

2. HomeController.cs:

  

    public class HomeController : Controller
    {
        //
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult GetNowProgressBarShow()
        {
            User user = new User() { Id = 1, Name = "tianqy", JoinDate = new DateTime(2014, 1, 1), ContractYears = 1 };
            //判断合同是否到期
            int expire = DateTime.Compare(DateTime.Now, user.JoinDate.AddYears(user.ContractYears));
            if (expire <= 0) //未到期
            {
                //计算已过时间占得百分比
                var pastDays = (DateTime.Now.Subtract(user.JoinDate)).TotalDays;
                var totalDays = (user.JoinDate.AddYears(user.ContractYears).Subtract(user.JoinDate)).TotalDays;
                var pastPercentage = (pastDays / totalDays) * 100;
                //装载、返回Json数据
                var data = new { IsExpire = false, PastPercentage = pastPercentage };
                return Json(data,JsonRequestBehavior.AllowGet);
            }
            else //已过期
            {
                var data = new { IsExpire = true, PastPercentage = 100 };
                return Json(data, JsonRequestBehavior.AllowGet);
            }
        }
    }

3. Index.cshtml:

  

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>合同到期进度条</title>
    <link href="~/Content/themes/base/jquery-ui.css" rel="stylesheet" />
    <script src="~/Scripts/jquery-1.8.2.min.js"></script>
    <script src="~/Scripts/jquery-ui-1.8.24.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $.getJSON(‘@Url.Action("GetNowProgressBarShow", "Home")‘, function (data) {
                if (data.IsExpire == true) {
                    $("#msg").text("已到期!");
                    $("#pastContractDays").progressbar({
                        value: parseInt(data.PastPercentage)
                    });
                } else {
                    $("#msg").text("");
                    $("#pastContractDays").progressbar({
                        value: parseInt(data.PastPercentage)
                    });
                }
            })
        })
    </script>
</head>
<body>
    <div id="pastContractDays" style="width:200px; height:10px;">
    </div>
    <div>
        <span id="msg"></span>
    </div>
</body>
</html>

4.效果图:

  

时间: 2024-10-09 05:59:31

一个指示合同到期的进度条(mvc+jquery)的相关文章

简单实现一个文件上传的进度条

新手初学web 文件上传做完了 进度做了 没有进度条只有文字 不太好看  需要做个进度条  没有美工 网上很多的 进度条 需要图片 还有各种框架 看着好麻烦 只好自己弄一个 还挺简单的 没想象的那么复杂  分享一下 jsp页面 <tr> <td width="100">图片</td> <td> <div style="width: 450px;"> <div class="file-box&

iOS实现一个颜色渐变的弧形进度条

在Github上看到一些进度条的功能,都是通过Core Graph来实现.无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的.其实使用苹果提供的Core Animation能够非常简单和方便的实现环形进度条效果,而且还可以高效的保证动画效果,无论是前进还是后退.文字水平比较有限,就多用代码说话. 1.先来一个结果 80%的状态: 99%的状态: 2.需要用到的宏: #define degreesToRadians(x) (M_PI*(x)/180.0) //把角度转换成PI的

【iOS实现一个颜色渐变的弧形进度条】

在Github上看到一些进度条的功能,都是通过Core Graph来实现.无所谓正确与否,但是开发效率明显就差很多了,而且运行效率还是值得考究的.其实使用苹果提供的Core Animation能够非常简单和方便的实现环形进度条效果,而且还可以高效的保证动画效果,无论是前进还是后退.文字水平比较有限,就多用代码说话. 1.先来一个结果 80%的状态: 99%的状态: 2.需要用到的宏: #define degreesToRadians(x) (M_PI*(x)/180.0) //把角度转换成PI的

赞!带进度条的 jQuery 文件拖放上传插件

jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作者编写这个插件的想法是要保持它非常简单,不像其他的插件,很多的标记,并提供一些 Hack 的方式使之兼容那些古老的浏览器.jQuery File Uploader 重点是现代浏览器,而且还提供了一个方法让你知道什时候插件不支持使用. 立即下载      在线演示 jQuery File Uploader 是一个 jQuery 文件拖放上传插件,包括 Ajax 上传和进度条效果.作

用初中数学知识撸一个canvas环形进度条

周末好,今天给大家带来一款接地气的环形进度条组件vue-awesome-progress.近日被设计小姐姐要求实现这么一个环形进度条效果,大体由四部分组成,分别是底色圆环,进度弧,环内文字,进度圆点.设计稿截图如下: 我的第一反应还是找现成的组件,市面上很多组件都实现了前3点,独独没找到能画进度圆点的组件,不然稍加定制也能复用.既然没有现成的组件,只有自己用vue + canvas撸一个了. 效果图 先放个效果图,然后再说下具体实现过程,各位看官且听我慢慢道来. 安装与使用 源码地址,欢迎sta

Android基础入门教程——2.3.7 ProgressBar(进度条)

Android基础入门教程--2.3.7 ProgressBar(进度条) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用到进度条:或者当在进行一些比较 耗时的操作,需要等待一段较长的时间,这个时候如果没有提示,用户可能会以为程序Carsh或者手机死机 了,这样会大大降低用户体验,所以在需要进行耗

【PyQt5-Qt Designer】QProgressBar() 进度条

QProgressBar() 进度条 QProgressBar简介 QProgressBar小部件提供了一个水平或垂直的进度条. 进度条用于向用户指示操作的进度,并向他们保证应用程序仍在运行. 进度条使用steps的概念.您可以通过指定最小和最大可能的step值来设置它,并且当您稍后将当前step值赋给它时,它将显示已经完成的step的百分比.百分比是通过将进度 (value() - minimum()) / (maximum() - minimum())来计算的. 您可以使用setMinimu

渐变颜色的进度条WGradientProgress-备用

今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有“B格”.它拥有渐变的颜色,而且这种颜色是动态移动的,这里称之为WGradientProgress. 先来看看我们的目标长什么样子: WGradientProgress的使用方法很简单,主要有展示接口以及隐藏接口,目前显示的位置有两种选择: WProgressPosDown        //progress is on the down border

JQuery入门——进度条

越来越觉得常规javascript已经跟不上节奏了,打算学点进阶的,从JQuery学起. JQuery是一个Javascript库,可以从JQuery.com下载,放到本地,用 <script src="jquery.js"></script> 语句来引用.如果不想下载jquery,可以引用web上的jquery库,从google或微软的服务器上引用他们的jquery库. 引用google的jquery库: <script src="http:/