moduleManager.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. const $ = require('jquery');
  2. require("../css/moduleManager.less");
  3. require('./../resource/jquery-ui/jquery-ui.min.js');
  4. require('./../resource/jquery-ui/jquery-ui.min.css');
  5. // const layui = require('layui-src');
  6. const {api} = require('./api.js')
  7. const {post} = require('./utils.js')
  8. $(".tableWrapper").css({
  9. height:$(window).height()-180+'px'
  10. })
  11. let data = {}
  12. function getTabData(){
  13. post(api.getQcCases).then(res =>{
  14. if(res.data.code == '0'){
  15. data = res.data.data
  16. renderTab()
  17. }else{}
  18. }).catch((e) =>{
  19. })
  20. }
  21. getTabData()
  22. // const data = [
  23. // {
  24. // name: '入院记录',
  25. // score: 10
  26. // },
  27. // {
  28. // name: '入院记录',
  29. // score: 10
  30. // },
  31. // {
  32. // name: '入院记录',
  33. // score: 10
  34. // },{
  35. // name: '入院记录',
  36. // score: 10
  37. // }
  38. // ,{
  39. // name: '入院记录',
  40. // score: 10
  41. // }
  42. // ,{
  43. // name: '入院记录',
  44. // score: 10
  45. // },
  46. // {
  47. // name: '入院记录',
  48. // score: 10
  49. // }
  50. // ]
  51. function renderTab(){
  52. let str = ``
  53. for(let i = 0; i < data.length; i++){
  54. str += `
  55. <tr data-index=${i}>
  56. <td class="moduleNumber">${i+1}</td>
  57. <td class="moduleName">${data[i].name}</td>
  58. <td class="moduleScore">${data[i].score}</td>
  59. <td class="moduleOpera moduleOperaItem textCenter">修改</td>
  60. </tr>
  61. `
  62. }
  63. // str += `
  64. // <tr>
  65. // <td class="moduleNumber"></td>
  66. // <td class="moduleName">总分</td>
  67. // <td class="totalSum"></td>
  68. // </tr>
  69. // `
  70. $('table tbody').html(str)
  71. // bindInput()
  72. bindModuleOpera()
  73. getTotalSum()
  74. }
  75. function bindModuleOpera(){
  76. $(".moduleOperaItem").on("click", function(e){
  77. const index = $(this).parent().attr('data-index')
  78. const item = data[index]
  79. midifyMsgBox(item)
  80. })
  81. }
  82. function getTotalSum(){
  83. let sum = 0
  84. for(let i = 0; i < data.length; i++){
  85. if(data[i].score){
  86. sum += Number(data[i].score)
  87. }
  88. }
  89. $('.totalSum').html(sum)
  90. }
  91. function midifyMsgBox(item){
  92. const itemCopy = JSON.parse(JSON.stringify(item))
  93. let msgBox =`<div class="midifyMsgBox">
  94. <div class="mask"></div>
  95. <div class="midifyMsgContent">
  96. <p class="midifyMsgTitle">修改 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  97. <div class="itemMsgInfoBox"><span class="itemMsgLab">模块名称:</span> <span class="itemInfoRight">${itemCopy.name}</span></div>
  98. <div class="itemMsgInfoBox"><span class="itemMsgLab">分值:</span> <span class="itemInfoRight"> <input class="itemScore" type="number" value=${itemCopy.score} /></span></div>
  99. <div class="midifyMsgBtn">
  100. <span class="midifyEdit">保存</span>
  101. </div>
  102. </div>
  103. </div>`
  104. $("#mainBox", parent.document).append(msgBox)
  105. $("#mainBox .midifyMsgBox .iconClose", parent.document).on("click", function(e){
  106. $("#mainBox .midifyMsgBox", parent.document).remove()
  107. })
  108. $("#mainBox .midifyMsgBox .itemScore", parent.document).on("input", function(e){
  109. const val = $(this).val()
  110. itemCopy.score = val
  111. })
  112. $("#mainBox .midifyMsgBox .midifyEdit", parent.document).on("click", function(e){
  113. saveModifyOne(itemCopy)
  114. $("#mainBox .midifyMsgBox", parent.document).remove()
  115. })
  116. }
  117. function saveModifyOne(item){
  118. const qcCasesSaveVOList = []
  119. qcCasesSaveVOList.push({
  120. id: item.id,
  121. score: item.score,
  122. })
  123. post(api.saveQcCases, {qcCasesSaveVOList}).then(res =>{
  124. if(res.data.code == '0'){
  125. getTabData()
  126. }else{}
  127. }).catch((e) =>{
  128. })
  129. }
  130. // function bindInput(){
  131. // $('input').on('input', function(e){
  132. // const val = $(this).val()
  133. // const index = $(this).attr('data-index')
  134. // $(this).attr('value', val)
  135. // data[index].score = val
  136. // getTotalSum(data)
  137. // })
  138. // }
  139. //下方保存保存全部
  140. // let msgBox =`<div class="moduleMsgBox">
  141. // <div class="mask"></div>
  142. // <div class="moduleMsgContent">
  143. // <p class="moduleMsgTitle">提示 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
  144. // <p class="moduleMsgInfo">总分不是100分,是否继续</p>
  145. // <div class="moduleMsgBtn">
  146. // <span class="saveModuleEdit">保存</span>
  147. // </div>
  148. // </div>
  149. // </div>`
  150. // $('.saveModule').on("click", function(){
  151. // const sum = $('.totalSum').html()
  152. // if(sum != 100){
  153. // $("#mainBox", parent.document).append(msgBox)
  154. // $("#mainBox .moduleMsgBox .iconClose", parent.document).on("click", function(e){
  155. // $("#mainBox .moduleMsgBox", parent.document).remove()
  156. // })
  157. // $("#mainBox .moduleMsgBox .saveModuleEdit", parent.document).on("click", function(e){
  158. // saveModify()
  159. // $("#mainBox .moduleMsgBox", parent.document).remove()
  160. // })
  161. // }else{
  162. // saveModify()
  163. // }
  164. // const sum = $('.totalSum').html()
  165. // if(sum != 100){
  166. // alert('满分不是100')
  167. // }
  168. // })
  169. // function saveModify(){
  170. // const qcCasesSaveVOList = []
  171. // for(let i = 0; i < data.length; i++){
  172. // qcCasesSaveVOList.push({
  173. // id: data[i].id,
  174. // score: data[i].score,
  175. // })
  176. // }
  177. // post(api.saveQcCases, {qcCasesSaveVOList}).then(res =>{
  178. // if(res.data.code == '0'){
  179. // getTabData()
  180. // }else{}
  181. // }).catch((e) =>{
  182. // })
  183. // }