Explorar o código

Merge remote-tracking branch 'origin/dev_zxc'

zhouna %!s(int64=5) %!d(string=hai) anos
pai
achega
82d724b739
Modificáronse 46 ficheiros con 34861 adicións e 68 borrados
  1. 69 0
      src/css/itemManager.less
  2. 30 0
      src/css/moduleManager.less
  3. 47 0
      src/css/qcList.less
  4. 66 0
      src/html/itemManager.html
  5. 10 2
      src/html/moduleManager.html
  6. 52 0
      src/html/qcList.html
  7. 13 0
      src/js/api.js
  8. 284 0
      src/js/itemManager.js
  9. 110 63
      src/js/moduleManager.js
  10. 107 0
      src/js/qcList.js
  11. 57 0
      src/resource/My97DatePicker/WdatePicker.js
  12. 5 0
      src/resource/My97DatePicker/calendar.js
  13. 39 0
      src/resource/My97DatePicker/js/WdatePicker.js
  14. 5 0
      src/resource/My97DatePicker/js/calendar.js
  15. 12 0
      src/resource/My97DatePicker/js/config.js
  16. 14 0
      src/resource/My97DatePicker/lang/en.js
  17. 14 0
      src/resource/My97DatePicker/lang/zh-cn.js
  18. 14 0
      src/resource/My97DatePicker/lang/zh-tw.js
  19. 11 0
      src/resource/My97DatePicker/skin/WdatePicker.css
  20. BIN=BIN
      src/resource/My97DatePicker/skin/datePicker.gif
  21. 246 0
      src/resource/My97DatePicker/skin/default/datepicker.css
  22. BIN=BIN
      src/resource/My97DatePicker/skin/default/img.gif
  23. BIN=BIN
      src/resource/My97DatePicker/skin/whyGreen/bg.jpg
  24. 256 0
      src/resource/My97DatePicker/skin/whyGreen/datepicker.css
  25. BIN=BIN
      src/resource/My97DatePicker/skin/whyGreen/img.gif
  26. 333 0
      src/resource/jquery-ui/AUTHORS.txt
  27. 43 0
      src/resource/jquery-ui/LICENSE.txt
  28. 11008 0
      src/resource/jquery-ui/external/jquery/jquery.js
  29. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_444444_256x240.png
  30. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_555555_256x240.png
  31. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_777620_256x240.png
  32. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_777777_256x240.png
  33. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_cc0000_256x240.png
  34. BIN=BIN
      src/resource/jquery-ui/images/ui-icons_ffffff_256x240.png
  35. 559 0
      src/resource/jquery-ui/index.html
  36. 1312 0
      src/resource/jquery-ui/jquery-ui.css
  37. 18706 0
      src/resource/jquery-ui/jquery-ui.js
  38. 7 0
      src/resource/jquery-ui/jquery-ui.min.css
  39. 13 0
      src/resource/jquery-ui/jquery-ui.min.js
  40. 886 0
      src/resource/jquery-ui/jquery-ui.structure.css
  41. 5 0
      src/resource/jquery-ui/jquery-ui.structure.min.css
  42. 443 0
      src/resource/jquery-ui/jquery-ui.theme.css
  43. 5 0
      src/resource/jquery-ui/jquery-ui.theme.min.css
  44. 74 0
      src/resource/jquery-ui/package.json
  45. 1 1
      src/resource/layui/layui.js
  46. 5 2
      webpack.config.js

+ 69 - 0
src/css/itemManager.less

@@ -0,0 +1,69 @@
+ul,li{
+    list-style: none;
+}
+h2{
+    padding: 11px 20px;
+    font-size: 16px;
+    font-weight: 600;
+    border-bottom: 1px solid #E2E5EF;
+}
+table{
+    width: 1080px;
+    border:1px solid #E2E5EF;
+    border-collapse: collapse;
+    margin: 40px 0 0 20px;
+    thead{
+        background: #EFF0F9;
+       
+    }
+    th,td{
+        height: 40px;
+        box-sizing: border-box;
+        padding: 0 30px;
+        border:1px solid #E2E5EF;
+        border-collapse: collapse;
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    margin-right: 20px;
+}
+.filterDropList{
+    position: absolute;
+    right: 0;
+    background: #fff;
+    display: none;
+}
+.selectModuleType{
+    display: inline-block;
+    width: 160px;
+}
+.moduleTypeList{
+     width: 160px;
+    
+}
+.selectUsed, .selectReject{
+    display: inline-block;
+    width: 120px;
+}
+.rejectList, .usedList {
+    width: 120px;
+}
+
+
+
+
+.pagination{
+    margin: 0 0 0 30px;
+}
+.activePage{
+    color: #5A8EEE;
+}
+.pageNum, .more{
+    margin: 0 20px 0 0;
+}

+ 30 - 0
src/css/moduleManager.less

@@ -0,0 +1,30 @@
+h2{
+    padding: 11px 20px;
+    font-size: 16px;
+    font-weight: 600;
+    border-bottom: 1px solid #E2E5EF;
+}
+table{
+    width: 1080px;
+    border:1px solid #E2E5EF;
+    border-collapse: collapse;/*关键代码*/
+    margin: 40px 0 0 20px;
+    thead{
+        background: #EFF0F9;
+       
+    }
+    th,td{
+        height: 40px;
+        box-sizing: border-box;
+        padding: 0 30px;
+        border:1px solid #E2E5EF;
+        border-collapse: collapse;/*关键代码*/
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    
+}
+#dialog-message{
+    display: none;
+}

+ 47 - 0
src/css/qcList.less

@@ -0,0 +1,47 @@
+ul,li{
+    list-style: none;
+}
+h2{
+    padding: 11px 20px;
+    font-size: 16px;
+    font-weight: 600;
+    border-bottom: 1px solid #E2E5EF;
+}
+table{
+    width: 1080px;
+    border:1px solid #E2E5EF;
+    border-collapse: collapse;
+    margin: 40px 0 0 20px;
+    thead{
+        background: #EFF0F9;
+       
+    }
+    th,td{
+        height: 40px;
+        box-sizing: border-box;
+        padding: 0 30px;
+        border:1px solid #E2E5EF;
+        border-collapse: collapse;
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    margin-right: 20px;
+}
+
+
+
+.pagination{
+    margin: 0 0 0 30px;
+}
+.activePage{
+    color: #5A8EEE;
+}
+.pageNum, .more{
+    margin: 0 20px 0 0;
+}

+ 66 - 0
src/html/itemManager.html

@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>条目数据维护</title>
+    
+</head>
+
+<body>
+    <div class="container">
+        条目维护维护
+        <div class="filterBox">
+            <span class="filterItem typeFilter">
+                <span>类别名称:</span>
+                <span class="selectModuleType">全部</span>
+                <ul class="moduleTypeList filterDropList"></ul>
+            </span>
+            <span class="filterItem">
+                <span>条目名称:</span>
+                <span class="">
+                    <input class="moduleItemInp" type="text" placeholder="请输入质控条目名称">
+                </span>
+            </span>
+            <span class="filterItem">
+                <span>单项否决:</span>
+                <span class="selectReject">全部</span>
+                <ul class="rejectList filterDropList">
+                    <Li  class="rejectItem" data-name="全部" data-id="">全部</Li>
+                    <li  class="rejectItem" data-name="是" data-id=1>是</li>
+                    <li  class="rejectItem" data-name="否" data-id=0>否</li>
+                </ul>
+            </span>
+            <span class="filterItem">
+                <span>是否启用:</span>
+                <span class="selectUsed">全部</span>
+                <ul class="usedList filterDropList">
+                    <Li class="usedItem" data-name="全部" data-id="">全部</Li>
+                    <li class="usedItem" data-name="是" data-id=1>是</li>
+                    <li class="usedItem" data-name="否" data-id=0>否</li>
+                </ul>
+            </span>
+            <span class="filter">查询</span>
+        </div>
+        <table>
+            <thead>
+                <th class="moduleName">序号</th>
+                <th class="moduleType">模块类别</th>
+                <th class="moduleItemName">质控条目名称</th>
+                <th class="moduleTipsMsg">提示信息</th>
+                <th class="moduleScore">分值</th>
+                <th class="moduleReject">单项否决等级</th>
+                <th class="moduleUsed">启用</th>
+                <th class="moduleOpera">操作</th>
+            </thead>
+            <tbody>
+
+            </tbody>
+        </table>
+        <div class="pagination"></div>
+    </div>
+</body>
+
+</html>

+ 10 - 2
src/html/moduleManager.html

@@ -5,14 +5,16 @@
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <title>模块维护</title>
+    <title>模块数据维护</title>
+    
 </head>
 
 <body>
     <div class="container">
-        模块维护
+       <h2>模块数据维护</h2>
         <table>
             <thead>
+                <th class="moduleNumber">序号</th>
                 <th class="moduleName">模块名称</th>
                 <th class="moduleScore">分数</th>
             </thead>
@@ -20,6 +22,12 @@
 
             </tbody>
         </table>
+        <div class="saveModule">保存</div>
+        <div id="dialog-message" title="下载完成">
+            <p>
+              总分不是100分,是否继续
+            </p>
+          </div>
     </div>
 </body>
 

+ 52 - 0
src/html/qcList.html

@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>病历质控评分</title>
+    
+</head>
+
+<body>
+    <div class="container">
+        病历质控评分
+        <div class="filterBox">
+            <span class="filterItem typeFilter">
+                <span>输入搜索:</span>
+                <input class="moduleItemInp" type="text" placeholder="请输入病案号">
+                <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+            </span>
+            <span class="filterItem">
+                <span>出院日期</span>
+                <input type="text" id="datepicker">
+            </span>
+            
+            <span class="filter">查询</span>
+        </div>
+        <table>
+            <thead>
+                <th class="scoreOpera" data-selectAll=false>未选择</th>
+                <th class="beHospitalId">病历号</th>
+                <th class="patientNo">病案号</th>
+                <th class="patientName">病人姓名</th>
+                <th class="patientSex">性别</th>
+                <th class="patientage">年龄</th>
+                <th class="bedNum">床号</th>
+                <th class="inHospitalDate">入院日期</th>
+                <th class="outHospitalDate">出院日期</th>
+                <th class="doctorName">主治医生</th>
+                <th class="deptName">科室</th>
+                <th class="recordLevel">病历等级</th>
+                <th class="recordScore">病历得分</th>
+                <th class="scoreTime">评分时间</th>
+            </thead>
+            <tbody>
+
+            </tbody>
+        </table>
+    </div>
+</body>
+
+</html>

+ 13 - 0
src/js/api.js

@@ -0,0 +1,13 @@
+
+const api = {
+    getQcCases:'/qc/cases/getQcCases',
+    getQcCasesAll:'/qc/casesEntryHospital/getQcCasesAll',
+    getQcCasesEntryAll:'/qc/casesEntryHospital/getQcCasesEntryAll',
+    updataQcCasesEntry: '/qc/casesEntryHospital/updataQcCasesEntry',
+    qcList:'/qc/behospitalInfo/page',
+    saveQcCases:'/qc/cases/saveQcCases',
+    recordScore:'/qc/behospitalInfo/analyze'
+}
+module.exports = {
+    api
+};

+ 284 - 0
src/js/itemManager.js

@@ -0,0 +1,284 @@
+const $ = require('jquery');
+require("../css/itemManager.less");
+require('./../resource/jquery-ui/jquery-ui.min.js');
+const {api} = require('./api.js')
+const {post} = require('./utils.js')
+
+let casesId="", name="", isReject ="", isUsed =""
+
+//获取表格数据
+function getTabData(activePage){
+    const param = {
+        current:activePage,
+        casesId: casesId,
+        name: name, //条目名
+        isReject: isReject, //1-单项否决 0-非
+        isUsed: isUsed //0-未启用 1-启用
+    }
+    post(api.getQcCasesEntryAll,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data.records
+            const totalPage = res.data.data.pages
+            const totalNum = res.data.data.total
+            renderTab(data,activePage)
+            renderPagination(totalPage,activePage,totalNum)
+
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+$(".moduleItemInp").on("input", function(e){
+    const val = $(this).val().trim()
+    name = val
+})
+$(".filter").on("click", function(e){
+    getTabData(1)
+})
+$('.selectModuleType').on("click", function(e){
+    e.stopPropagation()
+    $(".rejectList ").css("display","none")
+    $(".usedList ").css("display", "none")
+    const showList =  $(".moduleTypeList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".moduleTypeList ").css("display","block")
+    }else{
+        $(".moduleTypeList ").css("display", "none")
+    }
+})
+    
+$('.selectReject').on("click", function(e){
+    e.stopPropagation()
+    $(".moduleTypeList ").css("display", "none")
+    $(".usedList ").css("display", "none")
+    const showList =  $(".rejectList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".rejectList ").css("display","block")
+    }else{
+        $(".rejectList ").css("display", "none")
+    }
+})
+$('.selectUsed').on("click", function(e){
+    e.stopPropagation()
+    $(".moduleTypeList ").css("display", "none")
+    $(".rejectList ").css("display","none")
+    const showList =  $(".usedList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".usedList ").css("display","block")
+    }else{
+        $(".usedList ").css("display", "none")
+    }
+})
+bindRejectSelect()
+bindUsedSelect()
+getTabData(1)
+getmoduleTypeList()
+function renderTab(data,activePage){
+    let str = ``
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        str += `
+            <tr data-id=${item.id} data-index=${i}>
+                <td>${(activePage-1)*10 + i+1}</td>
+                <td>${item.casesName}</td>
+                <td>${item.name}</td>
+                <td>${item.msg}</td>
+                <td>${item.score}</td>
+                <td>${item.isReject}</td>
+                <td>${item.isUsed}</td>
+                <td class="editItem">修改</td>
+            </tr>
+        `
+    }
+    $('tbody').html(str)
+    bindEdit(data,activePage)
+}
+
+function bindEdit(data,activePage){
+    $('.editItem').click(function(e){
+        const index = $(this).parent().attr('data-index') 
+        editItem(data[index],activePage)
+    })
+}
+
+//修改
+function editItem(item,activePage){
+    const itemCpoy = JSON.parse(JSON.stringify(item))
+    $('.pop-box').remove()
+    $('.container').append('<div class="pop-box"></div>')
+    const str = `
+        <div><span>提示信息:</span> <input class="itemTipMsg" value=${itemCpoy.msg} /></div>
+        <div><span>分值:</span> <input class="itemScore"  type="number" value=${itemCpoy.score} /></div>
+        <div><span>单项否决</span><span class="itemReject">${itemCpoy.isReject}</span></div>
+        <div><span>启用</span><span class="itemUsed">${itemCpoy.isUsed}</span></div>
+        <div class="confirmEdit">确定</div>
+    `
+    $('.pop-box').html(str)
+    $(".itemTipMsg").on("input", function(e){
+        const val = $(this).val()
+        itemCpoy.msg = val
+    })
+    $(".itemScore").on("input", function(e){
+        const val = $(this).val()
+        itemCpoy.score = val
+    })
+    $(".itemReject").on("click", function(e){
+        itemCpoy.isReject = itemCpoy.isReject == 1 ? 0 : 1
+        $('.pop-box').remove()
+        editItem(itemCpoy,activePage)
+    })
+    $(".itemUsed").on("click", function(e){
+        itemCpoy.isUsed = itemCpoy.isUsed == 1 ? 0 : 1
+        $('.pop-box').remove()
+        editItem(itemCpoy,activePage)
+    })
+    
+    $(".confirmEdit").on("click", function(){
+        saveEdit(itemCpoy,activePage)
+        $('.pop-box').remove()
+    })
+   
+    
+}
+
+//保存修改
+function saveEdit(item,activePage){
+    const param = {
+        id: item.id,
+        isReject: item.isReject,
+        isUsed: item.isUsed,
+        msg: item.msg,
+        score: item.score
+    }
+
+    post(api.updataQcCasesEntry,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data
+            getTabData(activePage)
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+
+//获取模块类型
+function getmoduleTypeList(){
+    post(api.getQcCasesAll).then(res =>{
+        if(res.data.code == '0'){
+           const  moduleTypeList = res.data.data
+           renderModuleTypeList(moduleTypeList)
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+
+
+function renderModuleTypeList(moduleTypeList){
+    let str = `<li class="modeTypeItem" data-id=" " data-name="全部">全部</li>`
+    for(let i = 0; i < moduleTypeList.length; i++){
+        str += `<li class="modeTypeItem" data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
+    }
+    $('.moduleTypeList').html(str)
+    bindModuleTypeSelect()
+}
+
+//模块类型选择
+function bindModuleTypeSelect(){
+    $('.modeTypeItem').on("click",function(){
+        const modeTypeItemName = $(this).attr("data-name")
+        const modeTypeItemId = $(this).attr("data-id")
+        casesId=modeTypeItemId
+        $('.selectModuleType').html(modeTypeItemName)
+        $(".moduleTypeList ").css("display", "none")
+    })
+}
+//单项否决选择
+function bindRejectSelect(){
+    $('.rejectItem').on("click",function(){
+        const rejectItemName = $(this).attr("data-name")
+        const rejectItemId = $(this).attr("data-id")
+        isReject=rejectItemId
+        $('.selectReject').html(rejectItemName)
+        $(".rejectList ").css("display", "none")
+    })
+}
+//是否启用选择
+function bindUsedSelect(){
+    $('.usedItem').on("click",function(){
+        const usedItemName = $(this).attr("data-name")
+        const usedItemItemId = $(this).attr("data-id")
+        isUsed=usedItemItemId
+        $('.selectUsed').html(usedItemName)
+        $(".usedList").css("display", "none")
+    })
+}
+
+
+
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+    let str = `<span class="totalNum">共${totalPage}页/${totalNum}条数据</span><span class="prePage">前一页</span>`
+    if(totalPage <= 6){
+        for(let i = 1; i <= totalPage; i++){
+            str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+        }
+    }else{
+        if(activePage <= 3){ //选中页数小于4
+            for(let i = 1; i <= 4; i++){
+                str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+            }
+            str += `<span class="more" >...</span>`
+        str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+        } else if(activePage > totalPage -3){
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        } else {
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
+            str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
+            str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        }
+       
+    }
+    str += `<span class="nextPage">后一页</span>`
+    $('.pagination').html(str)
+    $('.page' + activePage).addClass('activePage')
+    $(".pageNum").on("click", function(e){
+        const activePageNow = Number($(this).attr('data-page'))
+        getTabData(activePageNow)
+        // renderPagination(totalPage,activePageNow,totalNum)
+    })
+    $(".prePage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow > 1){
+            activePageNow--
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    $(".nextPage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow < totalPage){
+            activePageNow++
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    
+}
+
+$(document).on("click", function(){
+    $(".moduleTypeList ").css("display", "none")
+    $(".rejectList ").css("display","none")
+    $(".usedList ").css("display", "none")
+})

+ 110 - 63
src/js/moduleManager.js

@@ -1,93 +1,140 @@
 const $ = require('jquery');
-// require('./../resource/layui/layui.all.js')
-// require('./../resource/layui/css/layui.css')
+require("../css/moduleManager.less");
+require('./../resource/layui/layui.js');
+require('./../resource/jquery-ui/jquery-ui.min.js');
+require('./../resource/jquery-ui/jquery-ui.min.css');
+require('./../resource/layui/css/layui.css');
 // const  layui = require('layui-src');
-// console.log('layui', layui)
-// layui.use('table', function(){
-//     var table = layui.table;
-  
-//     //第一个实例
-//     table.render({
-//       elem: '#demo'
-//       ,height: 312
-//       ,url: '/demo/table/user/' //数据接口
-//       ,page: true //开启分页
-//       ,cols: [[ //表头
-//         {field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
-//         ,{field: 'username', title: '用户名', width:80}
-//         ,{field: 'sex', title: '性别', width:80, sort: true}
-//         ,{field: 'city', title: '城市', width:80} 
-//         ,{field: 'sign', title: '签名', width: 177}
-//         ,{field: 'experience', title: '积分', width: 80, sort: true}
-//         ,{field: 'score', title: '评分', width: 80, sort: true}
-//         ,{field: 'classify', title: '职业', width: 80}
-//         ,{field: 'wealth', title: '财富', width: 135, sort: true}
-//       ]]
-//     });
-    
-//   });
+const {api} = require('./api.js')
+const {post} = require('./utils.js')
 
-const data = [
-    {
-        name: '入院记录',
-        score: 10
-    },
-    {
-        name: '入院记录',
-        score: 10
-    },
-    {
-        name: '入院记录',
-        score: 10
-    },{
-        name: '入院记录',
-        score: 10
-    }
-    ,{
-        name: '入院记录',
-        score: 10
-    }
-    ,{
-        name: '入院记录',
-        score: 10
-    },
-    {
-        name: '入院记录',
-        score: 10
-    }
-]
+let data = {}
+function getTabData(){
+    post(api.getQcCases).then(res =>{
+        console.log('ress', res)
+        if(res.data.code == '0'){
+            data = res.data.data
+            renderTab()
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+getTabData()
+// const data = [
+//     {
+//         name: '入院记录',
+//         score: 10
+//     },
+//     {
+//         name: '入院记录',
+//         score: 10
+//     },
+//     {
+//         name: '入院记录',
+//         score: 10
+//     },{
+//         name: '入院记录',
+//         score: 10
+//     }
+//     ,{
+//         name: '入院记录',
+//         score: 10
+//     }
+//     ,{
+//         name: '入院记录',
+//         score: 10
+//     },
+//     {
+//         name: '入院记录',
+//         score: 10
+//     }
+// ]
 
 function renderTab(){
-    let  str = ``, sum = 0
+    let  str = ``
     for(let i = 0; i < data.length; i++){
     
         str += `
         <tr>
+            <td class="moduleNumber">${i+1}</td>
             <td>${data[i].name}</td>
-            <td> <input  data-index=${i} value=${data[i].score} /></td>
+            <td> <input type="number"  data-index=${i} value=${data[i].score} /></td>
         </tr>
         `
-        if(data[i].score){
-            sum += Number(data[i].score)
-        }
     }
     str += `
     <tr>
         <td>总分</td>
-        <td>${sum}</td>
+        <td class="totalSum"></td>
     </tr>
     `
     $('table tbody').html(str)
     bindInput()
+    getTotalSum()
 }
-renderTab()
+function getTotalSum(){
+    let sum = 0
+    for(let i = 0; i < data.length; i++){
+        if(data[i].score){
+            sum += Number(data[i].score)
+        }
+    }
+    $('.totalSum').html(sum)
+}
+
+
 
 function bindInput(){
     $('input').on('input', function(e){
         const val = $(this).val()
         const index = $(this).attr('data-index')
+        $(this).attr('value', val)
         data[index].score = val 
-        renderTab()
+        getTotalSum(data)
+    })
+}
+
+$('.saveModule').on("click", function(){
+    console.log('data', data)
+    const sum =  $('.totalSum').html()
+    if(sum != 100){
+        $( "#dialog-message" ).dialog({
+            modal: true,
+            buttons: {
+              "确定": function() {
+                $( this ).dialog( "close" );
+                saveModify()
+              }
+            }
+        });
+    }else{
+        saveModify()
+    }
+    
+    
+    // const sum =  $('.totalSum').html()
+    // if(sum != 100){
+    //     alert('满分不是100')
+    // }
+})
+function saveModify(){
+    const qcCasesSaveVOList = []
+    for(let i = 0; i < data.length; i++){
+        qcCasesSaveVOList.push({
+            id: data[i].id,
+            score: data[i].score,
+        })
+    }
+    post(api.saveQcCases, {qcCasesSaveVOList}).then(res =>{
+        console.log('ress', res)
+        if(res.data.code == '0'){
+            getTabData()
+        }else{}
+    }).catch((e) =>{
+    
     })
+
+    
 }
 

+ 107 - 0
src/js/qcList.js

@@ -0,0 +1,107 @@
+const $ = require('jquery');
+require("../css/qcList.less");
+// require("./../resource/My97DatePicker/WdatePicker.js")
+// require("./../resource/My97DatePicker/skin/WdatePicker.css")
+const {api} = require('./api.js')
+const {post} = require('./utils.js')
+
+let tabList
+
+function getTabData(){
+    const param = {
+        fileCode: "",
+        name: "", //条目名
+        behosDateStart: "", //1-单项否决 0-非
+        leaveHosDateEnd: "" //0-未启用 1-启用
+    }
+    post(api.qcList,param).then(res =>{
+        console.log('ress', res)
+        if(res.data.code == '0'){
+            tabList = res.data.data.records
+            renderTab(tabList)
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+
+getTabData()
+function renderTab(data){
+    let str = ``
+    let hasSelectAll = true
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        if(!item.hasSelect){
+            hasSelectAll = false
+        }
+        str += `
+            <tr  data-index=${i}>
+                <td class="scoreOperaItem">${item.hasSelect ? '选择':'未选择'}</td>
+                <td>${item.behospitalCode}</td>
+                <td>${item.fileCode}</td>
+                <td>${item.name}</td>
+                <td>${item.sex}</td>
+                <td>${item.age}</td>
+                <td>${item.bedCode}</td>
+                <td>${item.behospitalDate}</td>
+                <td>${item.leaveHospitalDate}</td>
+                <td>${item.doctorName}</td>
+                <td>${item.behDeptName}</td>
+                <td>${item.level}</td>
+                <td>${item.scoreRes}</td>
+                <td>${item.gradeTime}</td>
+            </tr>
+        `
+    }
+    if(hasSelectAll){
+        $('.scoreOpera').html("选择")
+        $('.scoreOpera').attr("data-selectall",true)
+    }else{
+        $('.scoreOpera').html("未选择")
+        $('.scoreOpera').attr("data-selectall",false)
+    }
+    $('tbody').html(str)
+    bindScoreOperaItem()
+}
+//全选绑定
+bindOperaAll()
+function bindScoreOperaItem(){
+    $(".scoreOperaItem").on("click",  function(e){
+        const index = $(this).parent().attr("data-index")
+        console.log(index)
+        tabList[index].hasSelect = tabList[index].hasSelect ? false:true
+        renderTab(tabList)
+    })
+}
+
+function bindOperaAll(){
+    $('.scoreOpera').on("click", function(e){
+        const hasSelectAll = $('.scoreOpera').attr("data-selectall")
+        console.log('hasSelectAll',hasSelectAll)
+        if(hasSelectAll == 'true'){
+
+            for(let i = 0; i < tabList.length; i++){
+                tabList[i].hasSelect = false
+            }
+        }else{
+            for(let i = 0; i < tabList.length; i++){
+                tabList[i].hasSelect = true
+            }
+        }
+        renderTab(tabList)
+    })
+}
+
+function recordScore(behospitalCode){
+    const param = {
+        behospitalCode: behospitalCode
+    }
+    post(api.recordScore,param).then(res =>{
+        if(res.data.code == '0'){
+      
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 57 - 0
src/resource/My97DatePicker/WdatePicker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 5 - 0
src/resource/My97DatePicker/calendar.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 39 - 0
src/resource/My97DatePicker/js/WdatePicker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 5 - 0
src/resource/My97DatePicker/js/calendar.js


+ 12 - 0
src/resource/My97DatePicker/js/config.js

@@ -0,0 +1,12 @@
+var langList = 
+[
+	{name:'en',	charset:'UTF-8'},
+	{name:'zh-cn',	charset:'UTF-8'},
+	{name:'zh-tw',	charset:'UTF-8'}
+];
+
+var skinList = 
+[
+	{name:'default',	charset:'UTF-8'},
+	{name:'whyGreen',	charset:'UTF-8'}
+];

+ 14 - 0
src/resource/My97DatePicker/lang/en.js

@@ -0,0 +1,14 @@
+var $lang={
+errAlertMsg: "Invalid date or the date out of range,redo or not?",
+aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
+aLongWeekStr:["wk","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
+aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
+aLongMonStr: ["January","February","March","April","May","June","July","August","September","October","November","December"],
+clearStr: "Clear",
+todayStr: "Today",
+okStr: "OK",
+updateStr: "OK",
+timeStr: "Time",
+quickStr: "Quick Selection",
+err_1: 'MinDate Cannot be bigger than MaxDate!'
+}

+ 14 - 0
src/resource/My97DatePicker/lang/zh-cn.js

@@ -0,0 +1,14 @@
+var $lang={
+errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?",
+aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
+aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
+aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
+aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
+clearStr: "\u6E05\u7A7A",
+todayStr: "\u4ECA\u5929",
+okStr: "\u786E\u5B9A",
+updateStr: "\u786E\u5B9A",
+timeStr: "\u65F6\u95F4",
+quickStr: "\u5FEB\u901F\u9009\u62E9", 
+err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!'
+}

+ 14 - 0
src/resource/My97DatePicker/lang/zh-tw.js

@@ -0,0 +1,14 @@
+var $lang={
+errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?",
+aWeekStr: ["\u5468","\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],
+aLongWeekStr:["\u5468","\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],
+aMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00","\u5341\u4E8C"],
+aLongMonStr: ["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"],
+clearStr: "\u6E05\u7A7A",
+todayStr: "\u4ECA\u5929",
+okStr: "\u78BA\u5B9A",
+updateStr: "\u78BA\u5B9A",
+timeStr: "\u6642\u9593",
+quickStr: "\u5FEB\u901F\u9078\u64C7",
+err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!'
+}

+ 11 - 0
src/resource/My97DatePicker/skin/WdatePicker.css

@@ -0,0 +1,11 @@
+.Wdate{
+	border:#999 1px solid;
+	height:20px;
+	background:#fff url(datePicker.gif) no-repeat right;
+}
+.Wdate::-ms-clear{display:none;}
+
+.WdateFmtErr{
+	font-weight:bold;
+	color:red;
+}

BIN=BIN
src/resource/My97DatePicker/skin/datePicker.gif


+ 246 - 0
src/resource/My97DatePicker/skin/default/datepicker.css

@@ -0,0 +1,246 @@
+/* 
+ * My97 DatePicker 4.8
+ */
+
+.WdateDiv{
+	width:180px;
+	background-color:#FFFFFF;
+	border:#bbb 1px solid;
+	padding:2px;
+}
+
+.WdateDiv2{
+	width:360px;
+}
+.WdateDiv *{font-size:9pt;}
+
+.WdateDiv .NavImg a{
+	display:block;
+	cursor:pointer;
+	height:16px;
+	width:16px;
+}
+
+.WdateDiv .NavImgll a{
+	float:left;
+	background:transparent url(img.gif) no-repeat scroll 0 0;
+}
+.WdateDiv .NavImgl a{
+	float:left;
+	background:transparent url(img.gif) no-repeat scroll -16px 0;
+}
+.WdateDiv .NavImgr a{
+	float:right;
+	background:transparent url(img.gif) no-repeat scroll -32px 0;
+}
+.WdateDiv .NavImgrr a{
+	float:right;
+	background:transparent url(img.gif) no-repeat scroll -48px 0;
+}
+
+.WdateDiv #dpTitle{
+	height:24px;
+	margin-bottom:2px;
+	padding:1px;
+}
+
+.WdateDiv .yminput{
+	margin-top:2px;
+	text-align:center;
+	height:20px;
+	border:0px;
+	width:50px;
+	cursor:pointer;		
+}
+
+.WdateDiv .yminputfocus{
+	margin-top:2px;
+	text-align:center;
+	font-weight:bold;
+	height:20px;
+	color:blue;
+	border:#ccc 1px solid;
+	width:50px;
+}
+
+.WdateDiv .menuSel{
+	z-index:1;
+	position:absolute;
+	background-color:#FFFFFF;	
+	border:#ccc 1px solid;
+	display:none;
+}
+
+.WdateDiv .menu{
+	cursor:pointer;
+	background-color:#fff;
+}
+
+.WdateDiv .menuOn{
+	cursor:pointer;
+	background-color:#BEEBEE;
+}
+
+.WdateDiv .invalidMenu{
+	color:#aaa;
+}
+
+.WdateDiv .YMenu{
+	margin-top:20px;
+	
+}
+
+.WdateDiv .MMenu{
+	margin-top:20px;
+	*width:62px;
+}
+
+.WdateDiv .hhMenu{
+	margin-top:-90px; 
+	margin-left:26px;
+}
+
+.WdateDiv .mmMenu{
+	margin-top:-46px; 
+	margin-left:26px;
+}
+
+.WdateDiv .ssMenu{
+	margin-top:-24px; 
+	margin-left:26px;
+}
+
+ .WdateDiv .Wweek {
+ 	text-align:center;
+	background:#DAF3F5;
+	border-right:#BDEBEE 1px solid;
+ }
+
+.WdateDiv .MTitle{
+	background-color:#BDEBEE;
+}
+.WdateDiv .WdayTable2{
+	border-collapse:collapse;
+	border:#c5d9e8 1px solid;
+}
+.WdateDiv .WdayTable2 table{
+	border:0;
+}
+
+.WdateDiv .WdayTable{
+	line-height:20px;
+	border:#c5d9e8 1px solid;
+}
+.WdateDiv .WdayTable td{
+	text-align:center;
+}
+
+.WdateDiv .Wday{
+	cursor:pointer;
+}
+
+.WdateDiv .WdayOn{
+	cursor:pointer;
+	background-color:#C0EBEF;
+}
+
+.WdateDiv .Wwday{
+	cursor:pointer;
+	color:#FF2F2F;
+}
+
+.WdateDiv .WwdayOn{
+	cursor:pointer;
+	color:#000;
+	background-color:#C0EBEF;
+}
+.WdateDiv .Wtoday{
+	cursor:pointer;
+	color:blue;
+}
+.WdateDiv .Wselday{
+	background-color:#A9E4E9;
+}
+.WdateDiv .WspecialDay{
+	background-color:#66F4DF;
+}
+
+.WdateDiv .WotherDay{ 
+	cursor:pointer;
+	color:#6A6AFF;	
+}
+
+.WdateDiv .WotherDayOn{ 
+	cursor:pointer;
+	background-color:#C0EBEF;	
+}
+
+.WdateDiv .WinvalidDay{
+	color:#aaa;
+}
+
+.WdateDiv #dpTime{
+	float:left;
+	margin-top:3px;
+	margin-right:30px;
+}
+
+.WdateDiv #dpTime #dpTimeStr{
+	margin-left:1px;
+}
+
+.WdateDiv #dpTime input{
+	width:18px;
+	height:20px;
+	text-align:center;
+	border:#ccc 1px solid;	
+}
+
+.WdateDiv #dpTime .tB{
+	border-right:0px;
+}
+
+.WdateDiv #dpTime .tE{
+	border-left:0;
+	border-right:0;
+}
+
+.WdateDiv #dpTime .tm{
+	width:7px;
+	border-left:0;
+	border-right:0;
+}
+
+.WdateDiv #dpTime #dpTimeUp{
+	height:10px;
+	width:13px;
+	border:0px;
+	background:url(img.gif) no-repeat -32px -16px;
+}
+
+.WdateDiv #dpTime #dpTimeDown{
+	height:10px;
+	width:13px;
+	border:0px;
+    background:url(img.gif) no-repeat -48px -16px;
+}
+
+ .WdateDiv #dpQS {
+ 	float:left;
+	margin-right:3px;
+	margin-top:3px;
+	background:url(img.gif) no-repeat 0px -16px;
+	width:20px;
+	height:20px;
+	cursor:pointer;
+ }
+.WdateDiv #dpControl {
+	text-align:right;	
+}
+.WdateDiv .dpButton{ 
+	height:20px;
+	width:45px;
+	border:#ccc 1px solid;
+	margin-top:2px;
+	margin-right:1px;
+}

BIN=BIN
src/resource/My97DatePicker/skin/default/img.gif


BIN=BIN
src/resource/My97DatePicker/skin/whyGreen/bg.jpg


+ 256 - 0
src/resource/My97DatePicker/skin/whyGreen/datepicker.css

@@ -0,0 +1,256 @@
+/* 
+ * My97 DatePicker 4.8 Skin:whyGreen
+ */ 
+.WdateDiv{
+	width:180px;
+	background-color:#fff;
+	border:#C5E1E4 1px solid;
+	padding:2px;
+}
+
+.WdateDiv2{
+	width:360px;
+}
+.WdateDiv *{font-size:9pt;}
+
+.WdateDiv .NavImg a{
+	cursor:pointer;
+	display:block;
+	width:16px;
+	height:16px;
+	margin-top:1px;
+}
+
+.WdateDiv .NavImgll a{
+	float:left;
+	background:url(img.gif) no-repeat;
+}
+.WdateDiv .NavImgl a{
+	float:left;
+	background:url(img.gif) no-repeat -16px 0px;
+}
+.WdateDiv .NavImgr a{
+	float:right;
+	background:url(img.gif) no-repeat -32px 0px;
+}
+.WdateDiv .NavImgrr a{
+	float:right;
+	background:url(img.gif) no-repeat -48px 0px;
+}
+
+.WdateDiv #dpTitle{
+	height:24px;
+	padding:1px;
+	border:#c5d9e8 1px solid;
+	background:url(bg.jpg);
+	margin-bottom:2px;
+}
+
+.WdateDiv .yminput{
+	margin-top:2px;
+	text-align:center;
+	border:0px;
+	height:20px;
+	width:50px;
+	color:#034c50;
+	background-color:transparent;
+	cursor:pointer;
+}
+
+.WdateDiv .yminputfocus{
+	margin-top:2px;
+	text-align:center;
+	border:#939393 1px solid;
+	font-weight:bold;
+	color:#034c50;	
+	height:20px;
+	width:50px;
+}
+
+.WdateDiv .menuSel{
+	z-index:1;
+	position:absolute;
+	background-color:#FFFFFF;
+	border:#A3C6C8 1px solid;
+	display:none;
+}
+
+.WdateDiv .menu{
+	cursor:pointer;
+	background-color:#fff;
+	color:#11777C;
+}
+
+.WdateDiv .menuOn{
+	cursor:pointer;
+	background-color:#BEEBEE;
+}
+
+.WdateDiv .invalidMenu{
+	color:#aaa;
+}
+
+.WdateDiv .YMenu{
+	margin-top:20px;
+}
+
+.WdateDiv .MMenu{
+	margin-top:20px;
+	*width:62px;
+}
+
+.WdateDiv .hhMenu{
+	margin-top:-90px; 
+	margin-left:26px;
+}
+
+.WdateDiv .mmMenu{
+	margin-top:-46px; 
+	margin-left:26px;
+}
+
+.WdateDiv .ssMenu{
+	margin-top:-24px; 
+	margin-left:26px;
+}
+
+ .WdateDiv .Wweek {
+ 	text-align:center;
+	background:#DAF3F5;
+	border-right:#BDEBEE 1px solid;
+ }
+
+.WdateDiv .MTitle{
+	color:#13777e;
+	background-color:#bdebee;
+}
+.WdateDiv .WdayTable2{
+	border-collapse:collapse;
+	border:#BEE9F0 1px solid;
+}
+.WdateDiv .WdayTable2 table{
+	border:0;
+}
+
+.WdateDiv .WdayTable{
+	line-height:20px;	
+	color:#13777e;
+	background-color:#edfbfb;
+	border:#BEE9F0 1px solid;
+}
+.WdateDiv .WdayTable td{
+	text-align:center;
+}
+
+.WdateDiv .Wday{
+	cursor:pointer;
+}
+
+.WdateDiv .WdayOn{
+	cursor:pointer;
+	background-color:#74d2d9 ;
+}
+
+.WdateDiv .Wwday{
+	cursor:pointer;
+	color:#ab1e1e;
+}
+
+.WdateDiv .WwdayOn{
+	cursor:pointer;
+	background-color:#74d2d9;
+}
+.WdateDiv .Wtoday{
+	cursor:pointer;
+	color:blue;
+}
+.WdateDiv .Wselday{
+	background-color:#A7E2E7;
+}
+.WdateDiv .WspecialDay{
+	background-color:#66F4DF;
+}
+
+.WdateDiv .WotherDay{ 
+	cursor:pointer;
+	color:#0099CC;	
+}
+
+.WdateDiv .WotherDayOn{ 
+	cursor:pointer;
+	background-color:#C0EBEF;	
+}
+
+.WdateDiv .WinvalidDay{
+	color:#aaa;
+}
+
+.WdateDiv #dpTime{
+	float:left;
+	margin-top:3px;
+	margin-right:30px;
+}
+
+.WdateDiv #dpTime #dpTimeStr{
+	margin-left:1px;
+	color:#497F7F;
+}
+
+.WdateDiv #dpTime input{
+	height:20px;
+	width:18px;
+	text-align:center;
+	color:#333;
+	border:#61CAD0 1px solid;	
+}
+
+.WdateDiv #dpTime .tB{
+	border-right:0px;
+}
+
+.WdateDiv #dpTime .tE{
+	border-left:0;
+	border-right:0;
+}
+
+.WdateDiv #dpTime .tm{
+	width:7px;
+	border-left:0;
+	border-right:0;
+}
+
+.WdateDiv #dpTime #dpTimeUp{
+	height:10px;
+	width:13px;
+	border:0px;
+	background:url(img.gif) no-repeat -32px -16px;
+}
+
+.WdateDiv #dpTime #dpTimeDown{
+	height:10px;
+	width:13px;
+	border:0px;
+	background:url(img.gif) no-repeat -48px -16px;
+}
+
+ .WdateDiv #dpQS {
+ 	float:left;
+	margin-right:3px;
+	margin-top:3px;
+	background:url(img.gif) no-repeat 0px -16px;
+	width:20px;
+	height:20px;
+	cursor:pointer;
+ }
+.WdateDiv #dpControl {
+	text-align:right;
+	margin-top:3px;
+}
+.WdateDiv .dpButton{ 
+	height:20px;
+	width:45px;
+	margin-top:2px;
+	border:#38B1B9 1px solid;
+	background-color:#CFEBEE;
+	color:#08575B;
+}

BIN=BIN
src/resource/My97DatePicker/skin/whyGreen/img.gif


+ 333 - 0
src/resource/jquery-ui/AUTHORS.txt

@@ -0,0 +1,333 @@
+Authors ordered by first contribution
+A list of current team members is available at http://jqueryui.com/about
+
+Paul Bakaus <paul.bakaus@gmail.com>
+Richard Worth <rdworth@gmail.com>
+Yehuda Katz <wycats@gmail.com>
+Sean Catchpole <sean@sunsean.com>
+John Resig <jeresig@gmail.com>
+Tane Piper <piper.tane@gmail.com>
+Dmitri Gaskin <dmitrig01@gmail.com>
+Klaus Hartl <klaus.hartl@gmail.com>
+Stefan Petre <stefan.petre@gmail.com>
+Gilles van den Hoven <gilles@webunity.nl>
+Micheil Bryan Smith <micheil@brandedcode.com>
+Jörn Zaefferer <joern.zaefferer@gmail.com>
+Marc Grabanski <m@marcgrabanski.com>
+Keith Wood <kbwood@iinet.com.au>
+Brandon Aaron <brandon.aaron@gmail.com>
+Scott González <scott.gonzalez@gmail.com>
+Eduardo Lundgren <eduardolundgren@gmail.com>
+Aaron Eisenberger <aaronchi@gmail.com>
+Joan Piedra <theneojp@gmail.com>
+Bruno Basto <b.basto@gmail.com>
+Remy Sharp <remy@leftlogic.com>
+Bohdan Ganicky <bohdan.ganicky@gmail.com>
+David Bolter <david.bolter@gmail.com>
+Chi Cheng <cloudream@gmail.com>
+Ca-Phun Ung <pazu2k@gmail.com>
+Ariel Flesler <aflesler@gmail.com>
+Maggie Wachs <maggie@filamentgroup.com>
+Scott Jehl <scottjehl@gmail.com>
+Todd Parker <todd@filamentgroup.com>
+Andrew Powell <andrew@shellscape.org>
+Brant Burnett <btburnett3@gmail.com>
+Douglas Neiner <doug@dougneiner.com>
+Paul Irish <paul.irish@gmail.com>
+Ralph Whitbeck <ralph.whitbeck@gmail.com>
+Thibault Duplessis <thibault.duplessis@gmail.com>
+Dominique Vincent <dominique.vincent@toitl.com>
+Jack Hsu <jack.hsu@gmail.com>
+Adam Sontag <ajpiano@ajpiano.com>
+Carl Fürstenberg <carl@excito.com>
+Kevin Dalman <development@allpro.net>
+Alberto Fernández Capel <afcapel@gmail.com>
+Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
+Ting Kuei <ting@kuei.com>
+Samuel Cormier-Iijima <sam@chide.it>
+Jon Palmer <jonspalmer@gmail.com>
+Ben Hollis <bhollis@amazon.com>
+Justin MacCarthy <Justin@Rubystars.biz>
+Eyal Kobrigo <kobrigo@hotmail.com>
+Tiago Freire <tiago.freire@gmail.com>
+Diego Tres <diegotres@gmail.com>
+Holger Rüprich <holger@rueprich.de>
+Ziling Zhao <zilingzhao@gmail.com>
+Mike Alsup <malsup@gmail.com>
+Robson Braga Araujo <robsonbraga@gmail.com>
+Pierre-Henri Ausseil <ph.ausseil@gmail.com>
+Christopher McCulloh <cmcculloh@gmail.com>
+Andrew Newcomb <ext.github@preceptsoftware.co.uk>
+Lim Chee Aun <cheeaun@gmail.com>
+Jorge Barreiro <yortx.barry@gmail.com>
+Daniel Steigerwald <daniel@steigerwald.cz>
+John Firebaugh <john_firebaugh@bigfix.com>
+John Enters <github@darkdark.net>
+Andrey Kapitcyn <ru.m157y@gmail.com>
+Dmitry Petrov <dpetroff@gmail.com>
+Eric Hynds <eric@hynds.net>
+Chairat Sunthornwiphat <pipo@sixhead.com>
+Josh Varner <josh.varner@gmail.com>
+Stéphane Raimbault <stephane.raimbault@gmail.com>
+Jay Merrifield <fracmak@gmail.com>
+J. Ryan Stinnett <jryans@gmail.com>
+Peter Heiberg <peter@heiberg.se>
+Alex Dovenmuehle <adovenmuehle@gmail.com>
+Jamie Gegerson <git@jamiegegerson.com>
+Raymond Schwartz <skeetergraphics@gmail.com>
+Phillip Barnes <philbar@gmail.com>
+Kyle Wilkinson <kai@wikyd.org>
+Khaled AlHourani <me@khaledalhourani.com>
+Marian Rudzynski <mr@impaled.org>
+Jean-Francois Remy <jeff@melix.org>
+Doug Blood <dougblood@gmail.com>
+Filippo Cavallarin <filippo.cavallarin@codseq.it>
+Heiko Henning <heiko@thehennings.ch>
+Aliaksandr Rahalevich <saksmlz@gmail.com>
+Mario Visic <mario@mariovisic.com>
+Xavi Ramirez <xavi.rmz@gmail.com>
+Max Schnur <max.schnur@gmail.com>
+Saji Nediyanchath <saji89@gmail.com>
+Corey Frang <gnarf37@gmail.com>
+Aaron Peterson <aaronp123@yahoo.com>
+Ivan Peters <ivan@ivanpeters.com>
+Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
+Marcos Sousa <falecomigo@marcossousa.com>
+Michael DellaNoce <mdellanoce@mailtrust.com>
+George Marshall <echosx@gmail.com>
+Tobias Brunner <tobias@strongswan.org>
+Martin Solli <msolli@gmail.com>
+David Petersen <public@petersendidit.com>
+Dan Heberden <danheberden@gmail.com>
+William Kevin Manire <williamkmanire@gmail.com>
+Gilmore Davidson <gilmoreorless@gmail.com>
+Michael Wu <michaelmwu@gmail.com>
+Adam Parod <mystic414@gmail.com>
+Guillaume Gautreau <guillaume+github@ghusse.com>
+Marcel Toele <EleotleCram@gmail.com>
+Dan Streetman <ddstreet@ieee.org>
+Matt Hoskins <matt@nipltd.com>
+Giovanni Giacobbi <giovanni@giacobbi.net>
+Kyle Florence <kyle.florence@gmail.com>
+Pavol Hluchý <lopo@losys.sk>
+Hans Hillen <hans.hillen@gmail.com>
+Mark Johnson <virgofx@live.com>
+Trey Hunner <treyhunner@gmail.com>
+Shane Whittet <whittet@gmail.com>
+Edward A Faulkner <ef@alum.mit.edu>
+Adam Baratz <adam@adambaratz.com>
+Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
+Eike Send <eike.send@gmail.com>
+Kris Borchers <kris.borchers@gmail.com>
+Eddie Monge <eddie@eddiemonge.com>
+Israel Tsadok <itsadok@gmail.com>
+Carson McDonald <carson@ioncannon.net>
+Jason Davies <jason@jasondavies.com>
+Garrison Locke <gplocke@gmail.com>
+David Murdoch <david@davidmurdoch.com>
+Benjamin Scott Boyle <benjamins.boyle@gmail.com>
+Jesse Baird <jebaird@gmail.com>
+Jonathan Vingiano <jvingiano@gmail.com>
+Dylan Just <dev@ephox.com>
+Hiroshi Tomita <tomykaira@gmail.com>
+Glenn Goodrich <glenn.goodrich@gmail.com>
+Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
+Ryan Neufeld <ryan@neufeldmail.com>
+Marc Neuwirth <marc.neuwirth@gmail.com>
+Philip Graham <philip.robert.graham@gmail.com>
+Benjamin Sterling <benjamin.sterling@kenzomedia.com>
+Wesley Walser <waw325@gmail.com>
+Kouhei Sutou <kou@clear-code.com>
+Karl Kirch <karlkrch@gmail.com>
+Chris Kelly <ckdake@ckdake.com>
+Jason Oster <jay@kodewerx.org>
+Felix Nagel <info@felixnagel.com>
+Alexander Polomoshnov <alex.polomoshnov@gmail.com>
+David Leal <dgleal@gmail.com>
+Igor Milla <igor.fsp.milla@gmail.com>
+Dave Methvin <dave.methvin@gmail.com>
+Florian Gutmann <f.gutmann@chronimo.com>
+Marwan Al Jubeh <marwan.aljubeh@gmail.com>
+Milan Broum <midlis@googlemail.com>
+Sebastian Sauer <info@dynpages.de>
+Gaëtan Muller <m.gaetan89@gmail.com>
+Michel Weimerskirch <michel@weimerskirch.net>
+William Griffiths <william@ycymro.com>
+Stojce Slavkovski <stojce@gmail.com>
+David Soms <david.soms@gmail.com>
+David De Sloovere <david.desloovere@outlook.com>
+Michael P. Jung <michael.jung@terreon.de>
+Shannon Pekary <spekary@gmail.com>
+Dan Wellman <danwellman@hotmail.com>
+Matthew Edward Hutton <meh@corefiling.co.uk>
+James Khoury <james@jameskhoury.com>
+Rob Loach <robloach@gmail.com>
+Alberto Monteiro <betimbrasil@gmail.com>
+Alex Rhea <alex.rhea@gmail.com>
+Krzysztof Rosiński <rozwell69@gmail.com>
+Ryan Olton <oltonr@gmail.com>
+Genie <386@mail.com>
+Rick Waldron <waldron.rick@gmail.com>
+Ian Simpson <spoonlikesham@gmail.com>
+Lev Kitsis <spam4lev@gmail.com>
+TJ VanToll <tj.vantoll@gmail.com>
+Justin Domnitz <jdomnitz@gmail.com>
+Douglas Cerna <douglascerna@yahoo.com>
+Bert ter Heide <bertjh@hotmail.com>
+Jasvir Nagra <jasvir@gmail.com>
+Yuriy Khabarov <13real008@gmail.com>
+Harri Kilpiö <harri.kilpio@gmail.com>
+Lado Lomidze <lado.lomidze@gmail.com>
+Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
+Simon Sattes <simon.sattes@gmail.com>
+Jo Liss <joliss42@gmail.com>
+Guntupalli Karunakar <karunakarg@yahoo.com>
+Shahyar Ghobadpour <shahyar@gmail.com>
+Lukasz Lipinski <uzza17@gmail.com>
+Timo Tijhof <krinklemail@gmail.com>
+Jason Moon <jmoon@socialcast.com>
+Martin Frost <martinf55@hotmail.com>
+Eneko Illarramendi <eneko@illarra.com>
+EungJun Yi <semtlenori@gmail.com>
+Courtland Allen <courtlandallen@gmail.com>
+Viktar Varvanovich <non4eg@gmail.com>
+Danny Trunk <dtrunk90@gmail.com>
+Pavel Stetina <pavel.stetina@nangu.tv>
+Michael Stay <metaweta@gmail.com>
+Steven Roussey <sroussey@gmail.com>
+Michael Hollis <hollis21@gmail.com>
+Lee Rowlands <lee.rowlands@previousnext.com.au>
+Timmy Willison <timmywillisn@gmail.com>
+Karl Swedberg <kswedberg@gmail.com>
+Baoju Yuan <the_guy_1987@hotmail.com>
+Maciej Mroziński <maciej.k.mrozinski@gmail.com>
+Luis Dalmolin <luis.nh@gmail.com>
+Mark Aaron Shirley <maspwr@gmail.com>
+Martin Hoch <martin@fidion.de>
+Jiayi Yang <tr870829@gmail.com>
+Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
+Sindre Sorhus <sindresorhus@gmail.com>
+Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
+Jared A. Scheel <jared@jaredscheel.com>
+Rafael Xavier de Souza <rxaviers@gmail.com>
+John Chen <zhang.z.chen@intel.com>
+Robert Beuligmann <robertbeuligmann@gmail.com>
+Dale Kocian <dale.kocian@gmail.com>
+Mike Sherov <mike.sherov@gmail.com>
+Andrew Couch <andy@couchand.com>
+Marc-Andre Lafortune <github@marc-andre.ca>
+Nate Eagle <nate.eagle@teamaol.com>
+David Souther <davidsouther@gmail.com>
+Mathias Stenbom <mathias@stenbom.com>
+Sergey Kartashov <ebishkek@yandex.ru>
+Avinash R <nashpapa@gmail.com>
+Ethan Romba <ethanromba@gmail.com>
+Cory Gackenheimer <cory.gack@gmail.com>
+Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
+Roman Salnikov <bardt.dz@gmail.com>
+Anika Henke <anika@selfthinker.org>
+Samuel Bovée <samycookie2000@yahoo.fr>
+Fabrício Matté <ult_combo@hotmail.com>
+Viktor Kojouharov <vkojouharov@gmail.com>
+Pawel Maruszczyk (http://hrabstwo.net)
+Pavel Selitskas <p.selitskas@gmail.com>
+Bjørn Johansen <post@bjornjohansen.no>
+Matthieu Penant <thieum22@hotmail.com>
+Dominic Barnes <dominic@dbarnes.info>
+David Sullivan <david.sullivan@gmail.com>
+Thomas Jaggi <thomas@responsive.ch>
+Vahid Sohrabloo <vahid4134@gmail.com>
+Travis Carden <travis.carden@gmail.com>
+Bruno M. Custódio <bruno@brunomcustodio.com>
+Nathanael Silverman <nathanael.silverman@gmail.com>
+Christian Wenz <christian@wenz.org>
+Steve Urmston <steve@urm.st>
+Zaven Muradyan <megalivoithos@gmail.com>
+Woody Gilk <shadowhand@deviantart.com>
+Zbigniew Motyka <zbigniew.motyka@gmail.com>
+Suhail Alkowaileet <xsoh.k7@gmail.com>
+Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
+David Hansen <hansede@gmail.com>
+Brian Grinstead <briangrinstead@gmail.com>
+Christian Klammer <christian314159@gmail.com>
+Steven Luscher <jquerycla@steveluscher.com>
+Gan Eng Chin <engchin.gan@gmail.com>
+Gabriel Schulhof <gabriel.schulhof@intel.com>
+Alexander Schmitz <arschmitz@gmail.com>
+Vilhjálmur Skúlason <vis@dmm.is>
+Siebrand Mazeland <siebrand@kitano.nl>
+Mohsen Ekhtiari <mohsenekhtiari@yahoo.com>
+Pere Orga <gotrunks@gmail.com>
+Jasper de Groot <mail@ugomobi.com>
+Stephane Deschamps <stephane.deschamps@gmail.com>
+Jyoti Deka <dekajp@gmail.com>
+Andrei Picus <office.nightcrawler@gmail.com>
+Ondrej Novy <novy@ondrej.org>
+Jacob McCutcheon <jacob.mccutcheon@gmail.com>
+Monika Piotrowicz <monika.piotrowicz@gmail.com>
+Imants Horsts <imants.horsts@inbox.lv>
+Eric Dahl <eric.c.dahl@gmail.com>
+Dave Stein <dave@behance.com>
+Dylan Barrell <dylan@barrell.com>
+Daniel DeGroff <djdegroff@gmail.com>
+Michael Wiencek <mwtuea@gmail.com>
+Thomas Meyer <meyertee@gmail.com>
+Ruslan Yakhyaev <ruslan@ruslan.io>
+Brian J. Dowling <bjd-dev@simplicity.net>
+Ben Higgins <ben@extrahop.com>
+Yermo Lamers <yml@yml.com>
+Patrick Stapleton <github@gdi2290.com>
+Trisha Crowley <trisha.crowley@gmail.com>
+Usman Akeju <akeju00+github@gmail.com>
+Rodrigo Menezes <rod333@gmail.com>
+Jacques Perrault <jacques_perrault@us.ibm.com>
+Frederik Elvhage <frederik.elvhage@googlemail.com>
+Will Holley <willholley@gmail.com>
+Uri Gilad <antishok@gmail.com>
+Richard Gibson <richard.gibson@gmail.com>
+Simen Bekkhus <sbekkhus91@gmail.com>
+Chen Eshchar <eshcharc@gmail.com>
+Bruno Pérel <brunoperel@gmail.com>
+Mohammed Alshehri <m@dralshehri.com>
+Lisa Seacat DeLuca <ldeluca@us.ibm.com>
+Anne-Gaelle Colom <coloma@westminster.ac.uk>
+Adam Foster <slimfoster@gmail.com>
+Luke Page <luke.a.page@gmail.com>
+Daniel Owens <daniel@matchstickmixup.com>
+Michael Orchard <morchard@scottlogic.co.uk>
+Marcus Warren <marcus@envoke.com>
+Nils Heuermann <nils@world-of-scripts.de>
+Marco Ziech <marco@ziech.net>
+Patricia Juarez <patrixd@gmail.com>
+Ben Mosher <me@benmosher.com>
+Ablay Keldibek <atomio.ak@gmail.com>
+Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr>
+Jiabao Wu <jiabao.foss@gmail.com>
+Eric Lee Carraway <github@ericcarraway.com>
+Victor Homyakov <vkhomyackov@gmail.com>
+Myeongjin Lee <aranet100@gmail.com>
+Liran Sharir <lsharir@gmail.com>
+Weston Ruter <weston@xwp.co>
+Mani Mishra <manimishra902@gmail.com>
+Hannah Methvin <hannahmethvin@gmail.com>
+Leonardo Balter <leonardo.balter@gmail.com>
+Benjamin Albert <benjamin_a5@yahoo.com>
+Michał Gołębiowski <m.goleb@gmail.com>
+Alyosha Pushak <alyosha.pushak@gmail.com>
+Fahad Ahmad <fahadahmad41@hotmail.com>
+Matt Brundage <github@mattbrundage.com>
+Francesc Baeta <francesc.baeta@gmail.com>
+Piotr Baran <piotros@wp.pl>
+Mukul Hase <mukulhase@gmail.com>
+Konstantin Dinev <kdinev@mail.bw.edu>
+Rand Scullard <rand@randscullard.com>
+Dan Strohl <dan@wjcg.net>
+Maksim Ryzhikov <rv.maksim@gmail.com>
+Amine HADDAD <haddad@allegorie.tv>
+Amanpreet Singh <apsdehal@gmail.com>
+Alexey Balchunas <bleshik@gmail.com>
+Peter Kehl <peter.kehl@gmail.com>
+Peter Dave Hello <hsu@peterdavehello.org>
+Johannes Schäfer <johnschaefer@gmx.de>
+Ville Skyttä <ville.skytta@iki.fi>
+Ryan Oriecuia <ryan.oriecuia@visioncritical.com>

+ 43 - 0
src/resource/jquery-ui/LICENSE.txt

@@ -0,0 +1,43 @@
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery-ui
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+Copyright and related rights for sample code are waived via CC0. Sample
+code is defined as all source code contained within the demos directory.
+
+CC0: http://creativecommons.org/publicdomain/zero/1.0/
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 11008 - 0
src/resource/jquery-ui/external/jquery/jquery.js


BIN=BIN
src/resource/jquery-ui/images/ui-icons_444444_256x240.png


BIN=BIN
src/resource/jquery-ui/images/ui-icons_555555_256x240.png


BIN=BIN
src/resource/jquery-ui/images/ui-icons_777620_256x240.png


BIN=BIN
src/resource/jquery-ui/images/ui-icons_777777_256x240.png


BIN=BIN
src/resource/jquery-ui/images/ui-icons_cc0000_256x240.png


BIN=BIN
src/resource/jquery-ui/images/ui-icons_ffffff_256x240.png


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 559 - 0
src/resource/jquery-ui/index.html


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1312 - 0
src/resource/jquery-ui/jquery-ui.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 18706 - 0
src/resource/jquery-ui/jquery-ui.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 7 - 0
src/resource/jquery-ui/jquery-ui.min.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 13 - 0
src/resource/jquery-ui/jquery-ui.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 886 - 0
src/resource/jquery-ui/jquery-ui.structure.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 5 - 0
src/resource/jquery-ui/jquery-ui.structure.min.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 443 - 0
src/resource/jquery-ui/jquery-ui.theme.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 5 - 0
src/resource/jquery-ui/jquery-ui.theme.min.css


+ 74 - 0
src/resource/jquery-ui/package.json

@@ -0,0 +1,74 @@
+{
+	"name": "jquery-ui",
+	"title": "jQuery UI",
+	"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
+	"version": "1.12.1",
+	"homepage": "http://jqueryui.com",
+	"author": {
+		"name": "jQuery Foundation and other contributors",
+		"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
+	},
+	"main": "ui/widget.js",
+	"maintainers": [
+		{
+			"name": "Scott González",
+			"email": "scott.gonzalez@gmail.com",
+			"url": "http://scottgonzalez.com"
+		},
+		{
+			"name": "Jörn Zaefferer",
+			"email": "joern.zaefferer@gmail.com",
+			"url": "http://bassistance.de"
+		},
+		{
+			"name": "Mike Sherov",
+			"email": "mike.sherov@gmail.com",
+			"url": "http://mike.sherov.com"
+		},
+		{
+			"name": "TJ VanToll",
+			"email": "tj.vantoll@gmail.com",
+			"url": "http://tjvantoll.com"
+		},
+		{
+			"name": "Felix Nagel",
+			"email": "info@felixnagel.com",
+			"url": "http://www.felixnagel.com"
+		},
+		{
+			"name": "Alex Schmitz",
+			"email": "arschmitz@gmail.com",
+			"url": "https://github.com/arschmitz"
+		}
+	],
+	"repository": {
+		"type": "git",
+		"url": "git://github.com/jquery/jquery-ui.git"
+	},
+	"bugs": "https://bugs.jqueryui.com/",
+	"license": "MIT",
+	"scripts": {
+		"test": "grunt"
+	},
+	"dependencies": {},
+	"devDependencies": {
+		"commitplease": "2.3.0",
+		"grunt": "0.4.5",
+		"grunt-bowercopy": "1.2.4",
+		"grunt-cli": "0.1.13",
+		"grunt-compare-size": "0.4.0",
+		"grunt-contrib-concat": "0.5.1",
+		"grunt-contrib-csslint": "0.5.0",
+		"grunt-contrib-jshint": "0.12.0",
+		"grunt-contrib-qunit": "1.0.1",
+		"grunt-contrib-requirejs": "0.4.4",
+		"grunt-contrib-uglify": "0.11.1",
+		"grunt-git-authors": "3.1.0",
+		"grunt-html": "6.0.0",
+		"grunt-jscs": "2.1.0",
+		"load-grunt-tasks": "3.4.0",
+		"rimraf": "2.5.1",
+		"testswarm": "1.1.0"
+	},
+	"keywords": []
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
src/resource/layui/layui.js


+ 5 - 2
webpack.config.js

@@ -14,6 +14,8 @@ module.exports = {
     login:path.resolve(__dirname, 'src/js', 'login.js'),
     console:path.resolve(__dirname, 'src/js', 'console.js'),
     moduleManager: path.resolve(__dirname, 'src/js', 'moduleManager.js'),
+    itemManager: path.resolve(__dirname, 'src/js', 'itemManager.js'),
+    qcList: path.resolve(__dirname, 'src/js', 'qcList.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -56,7 +58,7 @@ module.exports = {
       title: 'itemManager.html',
       template: path.resolve(__dirname, 'src/html', 'itemManager.html'),
       filename: 'itemManager.html',
-      chunks: ['index', 'vendor', 'common'],
+      chunks: ['itemManager', 'vendor', 'common'],
       hash: true, //防止缓存
       inject: true,
       minify: {
@@ -95,7 +97,7 @@ module.exports = {
       title: 'qcList.html',
       template: path.resolve(__dirname, 'src/html', 'qcList.html'),
       filename: 'qcList.html',
-      chunks: ['index', 'vendor', 'common'],
+      chunks: ['qcList', 'vendor', 'common'],
       hash: true, //防止缓存
       inject: true,
       minify: {
@@ -179,6 +181,7 @@ module.exports = {
   },
       
   module: {
+    noParse: /WdatePicker/,
     rules: [
       {
           test: /.js$/,