feedback.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. Namespace.register("Feedback");//注册命名空间
  2. Feedback.Bind=function(JurisdictionName) {
  3. Feedback.userName.innerText = U.UF.Cookie.get("usestudiosso","username")[0];//登陆者名称
  4. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "GetProductByUserId",Feedback.UserId],function (r){//获取项目列表
  5. Feedback.Permissions(JurisdictionName);
  6. if(r.value){
  7. for(var i=0;i<r.value.length;i++){
  8. var li=$$("li", {
  9. "className": "asideItem","productId":r.value[i].ProductId
  10. }, Feedback.ul);
  11. var span=$$("span", {
  12. "className": "asideItemText","innerText":r.value[i].ProductName
  13. }, li);
  14. Feedback.ul.onclick = function(ev) {//点击项目列表
  15. ev = ev || event;
  16. var target = ev.target || ev.srcElement;
  17. var icon=$$("i", {"className": "active",});
  18. for(var i=0;i<Feedback.ul.children.length;i++){
  19. if(Feedback.ul.children[i].children.length>=2){
  20. Feedback.ul.children[i].setAttribute("class","asideItem");
  21. Feedback.ul.children[i].removeChild(Feedback.ul.children[i].children[1])
  22. }
  23. }
  24. Feedback.logoTitle.innerHTML = "反馈后台信息管理"+":"+target.innerText;
  25. if( target.tagName=="LI"){
  26. target.appendChild(icon);
  27. target.setAttribute("class","asideItembg asideItem");
  28. }else{
  29. target.parentNode.appendChild(icon);
  30. target.parentNode.setAttribute("class","asideItembg asideItem");
  31. }
  32. var productId = target.parentNode.productId;
  33. if(Feedback.informationtPermissions.firstChild !== null){
  34. Feedback.OnclickdisplayItem(Feedback.informationtPermissions.className)
  35. }
  36. if(Feedback.informationtAddUser.firstChild){
  37. Feedback.OnclickdisplayItem(Feedback.informationtAddUser.className);
  38. }
  39. if(Feedback.informationtcreateItem.firstChild){
  40. Feedback.OnclickdisplayItem(Feedback.informationtcreateItem.className);
  41. }
  42. if(Feedback.informationtInfo.firstChild !== null){
  43. Feedback.informationtInfo.removeChild(Feedback.informationtInfo.firstChild);
  44. }
  45. if(Feedback.informationtTime.firstChild !==null){
  46. Feedback.informationtTime.removeChild(Feedback.informationtTime.firstChild);
  47. }
  48. if(Feedback.informationHeaderRight.firstChild.className == "actionItem"){
  49. Feedback.informationHeaderRight.removeChild(Feedback.informationHeaderRight.firstChild)
  50. }
  51. Feedback.itemOperation(productId,JurisdictionName);
  52. Feedback.createInfo(productId);
  53. Feedback.OnclickTime(productId,'30days');
  54. };
  55. }
  56. }
  57. })
  58. }
  59. Feedback.Permissions=function(JurisdictionName){
  60. if(JurisdictionName === "administrator"){
  61. Feedback.informationtSet.style.display = "inline-block";
  62. Feedback.informationtSet.onclick=function(){
  63. if(Feedback.informationtPermissions.firstChild !== null){
  64. Feedback.OnclickdisplayItem(Feedback.informationtPermissions.className)
  65. }
  66. var icon = $$("img", {
  67. "className":"close","src":"./images/close.png","onclick":"Feedback.OnclickdisplayItem('"+Feedback.informationtPermissions.className+"')"
  68. }, Feedback.informationtPermissions);
  69. var permissionsHead = $$("div", {
  70. "className": "permissionsHead",
  71. }, Feedback.informationtPermissions);
  72. var sapn = $$("sapn", {
  73. "innerHTML":"成员"
  74. }, permissionsHead);
  75. var permissionsMembers = $$("div", {
  76. "className": "permissionsMembers",
  77. }, Feedback.informationtPermissions);
  78. Feedback.informationtPermissions.style.display = "block"
  79. U.A.Request(Feedback.Cd,[Feedback.Db,Feedback.SqlName,"GetUser"],function (r){//查询用户
  80. if(r.value){
  81. var tbody = $$("table", {//创建表格
  82. "className": "tbMain",
  83. }, permissionsMembers);
  84. for(var i=0;i<r.value.length;i++){
  85. var trow = Feedback.getMembersRow(r.value[i],i+1);
  86. tbody.appendChild(trow);
  87. }
  88. }
  89. })
  90. }
  91. }
  92. }
  93. Feedback.OnclickcreateItem=function(){//创建新项目
  94. U.A.Request(Feedback.Cd,[Feedback.Db,Feedback.SqlName,"InsertProductList",$(".createItemName")[0].value,Feedback.UserId],function (r){//插入
  95. location.reload()
  96. })
  97. }
  98. Feedback.OnclickaddUser=function(r,productId){//给项目添加可查看的成员
  99. if(r=="admin"||r=="administrator"){
  100. if(Feedback.informationtAddUser.firstChild){
  101. Feedback.OnclickdisplayItem(Feedback.informationtAddUser.className);
  102. }
  103. var AddUserHead = $$("div", {
  104. "className": "AddUserHead",
  105. }, Feedback.informationtAddUser);
  106. var h6 = $$("h6", {
  107. "innerHTML":"该项目未获得权限成员:"
  108. }, AddUserHead);
  109. var span = $$("span", {
  110. "className": "NoPowerMembers"
  111. }, h6);
  112. var icon = $$("img", {
  113. "className":"close","src":"./images/close.png","onclick":"Feedback.OnclickdisplayItem('"+Feedback.informationtAddUser.className+"')"
  114. });
  115. Feedback.informationtAddUser.insertBefore(icon,Feedback.informationtAddUser.firstChild);
  116. Feedback.informationtAddUser.style.display = "block";
  117. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "GetUserIdByProductId",productId],function (r){//获取没有权限用户的列表
  118. if(r.value){
  119. span.innerText = r.value.length;
  120. var AddUserMembers = $$("div", {//创建表格
  121. "className": "AddUserMembers",
  122. }, Feedback.informationtAddUser);
  123. var tbody = $$("table", {//创建表格
  124. "className": "tbMain",
  125. }, AddUserMembers);
  126. for(var i=0;i<r.value.length;i++){
  127. var trow = Feedback.getUserRow(r.value[i],productId,span);
  128. tbody.appendChild(trow);
  129. }
  130. }
  131. })
  132. }else{
  133. alert("你无权限!");
  134. }
  135. }
  136. Feedback.itemOperation=function(productId,JurisdictionName){//管理员功能
  137. if(JurisdictionName == "admin" || JurisdictionName == "administrator"){
  138. var actionItem=$$("div", {
  139. "className": "actionItem"
  140. });
  141. Feedback.informationHeaderRight.insertBefore(actionItem,Feedback.informationHeaderRight.firstChild)
  142. var delItem=$$("button", {
  143. "className": "delItem","innerText":"删除项目","onclick":"Feedback.OnclickdelITem('"+productId+"')"
  144. }, actionItem);
  145. var addUser=$$("button", {
  146. "className": "addUser","innerText":"添加用户","onclick":"Feedback.OnclickaddUser('"+JurisdictionName+"','"+productId+"')"
  147. }, actionItem);
  148. }
  149. }
  150. Feedback.OnclickdelITem=function(productId){//删除该项目
  151. if(confirm("确定啥删除该项目吗")){
  152. U.A.Request(Feedback.Cd,[Feedback.Db,Feedback.SqlName,"DeleteProductList",productId],function (r){
  153. location.reload();
  154. })
  155. }
  156. }
  157. Feedback.OnclickTime=function(id,time){//点击时间对应获取信息
  158. U.A.Request(Feedback.Cd,[Feedback.Db,Feedback.SqlName,"GetFeedback",id,time],function (r){//获取产品的反馈信息
  159. if(r.value){
  160. if(Feedback.informationtInfo.firstChild !== null){
  161. Feedback.informationtInfo.removeChild(Feedback.informationtInfo.firstChild);
  162. }
  163. var tbody = $$("table", {//创建表格
  164. "className": "tbMain",
  165. }, Feedback.informationtInfo);
  166. var tr = $$("tr", {}, tbody);
  167. var td = $$("td", {
  168. "className":"infoTitle","innerText":"排序"
  169. }, tr);
  170. var td = $$("td", {
  171. "className":"infoTitle trTitle","innerText":"标题"
  172. }, tr);
  173. var td = $$("td", {
  174. "className":"infoTitle trContent","innerText":"内容",
  175. }, tr);
  176. var td = $$("td", {
  177. "className":"infoTitle trCoupleTime","innerText":"反馈时间"
  178. }, tr);
  179. if(r.value.length === 0){
  180. var coupleData = $$("div", {
  181. "className":"coupleData","innerText":"暂无数据"
  182. }, tbody);
  183. }
  184. var td = $$("td", {
  185. "className":"infoTitle infoHandle","innerText":"操作"
  186. }, tr);
  187. for(var i=0;i<r.value.length;i++){
  188. var trow = Feedback.getDataRow(r.value[i],i+1);
  189. tbody.appendChild(trow);
  190. }
  191. }
  192. })
  193. }
  194. Feedback.AddItem=function(){//创建添加项目模块
  195. if(Feedback.informationtcreateItem.firstChild){
  196. Feedback.OnclickdisplayItem(Feedback.informationtcreateItem.className);
  197. }
  198. var head = $$("span", {
  199. "className":"title", "innerHTML":"创建新项目",
  200. }, Feedback.informationtcreateItem);
  201. var icon = $$("img", {
  202. "className":"close","src":"./images/close.png","onclick":"Feedback.OnclickdisplayItem('"+Feedback.informationtcreateItem.className+"')"
  203. }, Feedback.informationtcreateItem);
  204. var input = $$("input", {
  205. "className":"createItemName","placeholder":"请输入项目名称","type":"text"
  206. }, Feedback.informationtcreateItem);
  207. var createItem = $$("button", {
  208. "className":"createItem","innerHTML":"创建","onclick":"Feedback.OnclickcreateItem()"
  209. }, Feedback.informationtcreateItem);
  210. var closeItem = $$("button", {
  211. "className":"closeItem","innerHTML":"取消","onclick":"Feedback.OnclickdisplayItem('"+Feedback.informationtcreateItem.className+"')"
  212. }, Feedback.informationtcreateItem);
  213. Feedback.informationtcreateItem.style.display = "block";
  214. }
  215. Feedback.OnclickdisplayItem=function(name){
  216. var Ddiv = eval("Feedback." + name);
  217. Ddiv.style.display="none";
  218. for(var i=Ddiv.children.length-1;0<i<Ddiv.children.length;i--){
  219. Ddiv.removeChild(Ddiv.children[i]);
  220. }
  221. }
  222. Feedback.createInfo=function(productId){//创建项目日期分类
  223. Date.prototype.Format = function (fmt) {//时间处理对Date的扩展
  224. var o = {
  225. "M+": this.getMonth() + 1, // 月份
  226. "d+": this.getDate(), // 日
  227. "h+": this.getHours(), // 小时
  228. "m+": this.getMinutes(), // 分
  229. "s+": this.getSeconds(), // 秒
  230. "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
  231. "S": this.getMilliseconds() // 毫秒
  232. };
  233. if (/(y+)/.test(fmt))
  234. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  235. for (var k in o)
  236. if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  237. return fmt;
  238. }
  239. var time = (new Date()).Format("yyyy-MM-dd hh:mm:ss");//获取时间
  240. var timeSequence=$$("div", {
  241. "className":"timeSequence"
  242. },Feedback.informationtTime);
  243. var oneDay=$$("button", {
  244. "className": "timeItem","innerText":"今天","onclick":"Feedback.OnclickTime('"+productId+"','today')"
  245. },timeSequence);
  246. var threeDay=$$("button", {
  247. "className": "timeItem","innerText":"最近三天","onclick":"Feedback.OnclickTime('"+productId+"','3days')"
  248. },timeSequence);
  249. var oneWeek=$$("button", {
  250. "className": "timeItem","innerText":"最近一周","onclick":"Feedback.OnclickTime('"+productId+"','7days')"
  251. },timeSequence)
  252. var oneMonth=$$("button", {
  253. "className": "timeItem","innerText":"最近一月","onclick":"Feedback.OnclickTime('"+productId+"','30days')"
  254. },timeSequence)
  255. }
  256. Feedback.getUserRow = function(h,productId,span){//创建表格下用户数据库循环数据
  257. var row = document.createElement('tr');
  258. var trUserName = document.createElement('td');
  259. trUserName.setAttribute('class','trUserName');
  260. trUserName.innerText = h.UserName;
  261. row.appendChild(trUserName);
  262. var trJurisdictionName = document.createElement('td');
  263. trJurisdictionName.setAttribute('class','trJurisdictionName');
  264. trJurisdictionName.innerText = h.JurisdictionName;
  265. row.appendChild(trJurisdictionName);
  266. var setCell = document.createElement('td');
  267. setCell.setAttribute('class','trAdd');
  268. row.appendChild(setCell);
  269. var btnAdd = document.createElement('input');
  270. btnAdd.setAttribute('type','button');
  271. btnAdd.setAttribute('value','添加权限');
  272. btnAdd.setAttribute('class','btnAdd');
  273. btnAdd.onclick=function(){ //设置操作
  274. if(confirm("确定添加权限吗")){
  275. this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
  276. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "InsertUserProduct",h.UserId,productId],function (r){})//插入用户权限
  277. span.innerHTML=span.innerHTML-1;
  278. }
  279. }
  280. setCell.appendChild(btnAdd);
  281. return row;
  282. }
  283. Feedback.getDataRow = function(h,i){//创建表格下的反馈数据库循环数据
  284. var row = document.createElement('tr');
  285. var sortCell = document.createElement('td');
  286. sortCell.innerText = i;
  287. row.appendChild(sortCell);
  288. var trTitle = document.createElement('td');
  289. trTitle.setAttribute('class','trTitle');
  290. trTitle.innerText = h.FeedbackName;
  291. row.appendChild(trTitle);
  292. var trContent = document.createElement('td');
  293. trContent.setAttribute('class','trContent');
  294. trContent.innerText = h.FeedbackContent;
  295. row.appendChild(trContent);
  296. var trCoupleTime = document.createElement('td');
  297. trCoupleTime.setAttribute('class','trCoupleTime');
  298. trCoupleTime.innerText = U.UF.D.getYearMonthDay(h.FeedbackTime)
  299. row.appendChild(trCoupleTime);
  300. //每行末尾添加删除按钮
  301. var delCell = document.createElement('td');
  302. delCell.setAttribute('class','trDel');
  303. row.appendChild(delCell);
  304. var btnDel = document.createElement('input');
  305. btnDel.setAttribute('type','button');
  306. btnDel.setAttribute('value','删除');
  307. btnDel.setAttribute('class','delectInfo');
  308. btnDel.onclick=function(){ //删除操作
  309. if(confirm("确定删除这一行嘛?")){
  310. this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
  311. }
  312. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "DeleteFeedback",h.FeedbackId],function (r){})
  313. }
  314. delCell.appendChild(btnDel);
  315. return row;
  316. }
  317. Feedback.getMembersRow = function(h,i){//创建表格下的用户数据库循环数据
  318. var row = document.createElement('tr');
  319. var trUserName = document.createElement('td');
  320. trUserName.setAttribute('class','trUserName');
  321. trUserName.innerText = h.UserName;
  322. row.appendChild(trUserName);
  323. var trJurisdictionName = document.createElement('td');
  324. trJurisdictionName.setAttribute('class','trJurisdictionName');
  325. trJurisdictionName.innerText = h.JurisdictionName;
  326. row.appendChild(trJurisdictionName);
  327. var setCell = document.createElement('td');
  328. setCell.setAttribute('class','trSet');
  329. row.appendChild(setCell);
  330. var btnSet = document.createElement('input');
  331. btnSet.setAttribute('type','button');
  332. btnSet.setAttribute('value','设为管理员');
  333. btnSet.setAttribute('class','setInfo');
  334. btnSet.onclick=function(){ //设置操作
  335. if(confirm("确定修改管理员信息吗")){
  336. if(this.parentNode.parentNode.children[2].innerText != "admin" && this.parentNode.parentNode.children[2].innerText!=="administrator"){
  337. this.parentNode.parentNode.children[2].innerHTML = "admin"
  338. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "UpdateJurisdictionName",this.parentNode.parentNode.children[0].innerText,"admin"],function (r){//修改权限
  339. console.log(r)
  340. })
  341. }else{
  342. alert("你已经是管理员!")
  343. }
  344. }
  345. }
  346. setCell.appendChild(btnSet);
  347. //每行末尾添加删除按钮
  348. var delCell = document.createElement('td');
  349. delCell.setAttribute('class','trDel');
  350. row.appendChild(delCell);
  351. var btnDel = document.createElement('input');
  352. btnDel.setAttribute('type','button');
  353. btnDel.setAttribute('value','删除');
  354. btnDel.setAttribute('class','delectInfo');
  355. btnDel.onclick=function(){ //删除操作
  356. if(confirm("确定删除这一行嘛?")){
  357. this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
  358. U.A.Request(Feedback.Cd,[Feedback.Db, Feedback.SqlName, "DeleteUser",h.UserId],function (r){})
  359. }
  360. }
  361. delCell.appendChild(btnDel);
  362. return row;
  363. }
  364. Feedback.logout=function(){//退出
  365. U.UF.CD.loadAjaxCrossDomain(function(){
  366. U.A.Request(US.AUTH, ["UserOffline", Feedback.UserId],function(r){
  367. U.UF.Cookie.del("usestudiosso");
  368. window.location.href="http://feedback.1473.cn/";
  369. });
  370. });
  371. }
  372. Feedback.getUser=function(callback){
  373. U.A.Request(Feedback.Cd,[Feedback.Db,Feedback.SqlName,"GetJurisdictionName",Feedback.UserId],function (r){
  374. if(r.value==null){
  375. alert("请输入有效账户");
  376. Feedback.logout();
  377. }
  378. if(r.value[0].JurisdictionName=="admin"||r.value[0].JurisdictionName=="administrator"){
  379. var addItem=$$("button", {
  380. "className": "addItem","innerText":"创建项目","onclick":"Feedback.AddItem()"
  381. });
  382. Feedback.informationHeaderRight.insertBefore(addItem,Feedback.informationHeaderRight.firstChild);
  383. }
  384. callback(r);
  385. })
  386. }
  387. Feedback.Init=function () {
  388. Feedback.informationtSet = $(".informationtSet")[0]//获取管理员设置
  389. Feedback.informationtPermissions = $(".informationtPermissions")[0];//获取成员管理
  390. // Feedback.permissionsMembers = $(".permissionsMembers")[0];//获取用户成员信息
  391. Feedback.informationHeaderRight = $(".informationHeaderRight")[0];
  392. Feedback.informationtcreateItem = $(".informationtcreateItem")[0]//获取创建项目
  393. Feedback.userName = $(".userName")[0]//获取用户名
  394. Feedback.ul = $(".asideMenu ul")[0];//获取项目列表ul
  395. Feedback.timeSequence = $(".timeSequence")[0]
  396. Feedback.logoTitle = $(".logoTitle")[0]//反馈标题位置
  397. Feedback.informationtInfo = $(".informationtInfo")[0];//获取反馈信息
  398. Feedback.informationtTime = $(".informationtTime")[0];//获取反馈时间
  399. Feedback.informationtAddUser = $(".informationtAddUser")[0];
  400. Feedback.Cd = "http://cd.1473.cn/net";
  401. Feedback.Db = "db.1473.cn";
  402. Feedback.SqlName = "UseStudio_FeedBack";
  403. Feedback.UserId = U.UF.Cookie.get("usestudiosso","userid")[0];
  404. Feedback.getUser(function(r){
  405. Feedback.Bind(r.value[0].JurisdictionName);
  406. });  
  407. }();