feedback.js 22 KB

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