addItem.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. var field = "";
  5. var tempCursor = 0, btnName = "";
  6. var arrSoundMark = [];
  7. var isUpload = true;
  8. var isEdit = true;
  9. Page({
  10. data: {
  11. Field: "",
  12. SoundSign: "[读]",
  13. LineSign: "[线]",
  14. BtnArray: ["+", "-", "×", "÷", "="],
  15. },
  16. onLoad: function (options) {
  17. wx.hideShareMenu();
  18. var id = options.id;
  19. var fieldid = options.fieldid;
  20. var that = this;
  21. that.setData({
  22. MiaoguoCardID: id,
  23. Focus: true,
  24. FieldNumber: fieldid,
  25. Containnerheight: main.getWindowHeight(),
  26. });
  27. wx.setNavigationBarTitle({
  28. title: '编辑 段落' + fieldid,
  29. });
  30. },
  31. onShow: function () {
  32. var that = this;
  33. var list = wx.getStorageSync("CardList");
  34. var card = {};
  35. for (var i = 0; i < list.length; i++) {
  36. if (that.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  37. var content = main.encryptUrl(list[i].Content[this.data.FieldNumber].Content);
  38. this.setData({
  39. Field: content,
  40. });
  41. if (!wx.getStorageSync("TempCardInfoAddItem")) {
  42. wx.setStorageSync("TempCardInfoAddItem", content);
  43. }
  44. break;
  45. }
  46. }
  47. isUpload = true;
  48. },
  49. onUnload: function () {
  50. if (isUpload) {
  51. var content = wx.getStorageSync("TempCardInfoAddItem");
  52. if (content != undefined) {
  53. this.updateField(content);
  54. wx.removeStorageSync("TempCardInfoAddItem");
  55. }
  56. }
  57. },
  58. bindinputField: function (e) {
  59. if (isEdit) {
  60. field = e.detail.value;
  61. this.setData({
  62. Field: e.detail.value,
  63. });
  64. //console.log("bindinputField:" + field);
  65. }
  66. },
  67. addSymbol: function (e) {
  68. btnName = e.currentTarget.dataset.id;
  69. if (btnName == "[读]") {
  70. this.setData({
  71. SoundSign: "[/读]",
  72. });
  73. }
  74. else if (btnName == "[/读]") {
  75. this.setData({
  76. SoundSign: "[读]",
  77. });
  78. }
  79. else if (btnName == "[线]") {
  80. this.setData({
  81. LineSign: "[/线]",
  82. });
  83. }
  84. else if (btnName == "[/线]") {
  85. this.setData({
  86. LineSign: "[线]",
  87. });
  88. }
  89. if (!this.data.Focus){
  90. field=field+btnName;
  91. this.setData({
  92. Field: field,
  93. });
  94. }
  95. //console.log("addSymbol:" + field);
  96. },
  97. onBindFocus:function(){
  98. this.setData({
  99. Focus: true,
  100. });
  101. },
  102. onBindblur: function (e) {
  103. //console.log("onBindblur:" + field + " btnName:" + btnName);
  104. if (isEdit) {
  105. var systemInfo = wx.getSystemInfoSync();
  106. if (systemInfo.system && systemInfo.system.indexOf("Android") >= 0) {
  107. isEdit = false;
  108. }
  109. //console.log(e);
  110. tempCursor = e.detail.cursor;
  111. //console.log("tempCursor:" + tempCursor);
  112. if (tempCursor == undefined)
  113. tempCursor = this.data["Field"].length;
  114. var str1 = "", str2 = "";
  115. if (this.data.Field.length > 0) {
  116. str1 = this.data.Field.substr(0, tempCursor);
  117. str2 = this.data.Field.substring(tempCursor, this.data.Field.length);
  118. }
  119. //console.log("str1:" + str1);
  120. //console.log("str2:" + str2);
  121. var cur = 1;
  122. if (btnName == "[读]" || btnName == "[线]") {
  123. cur = 3;
  124. }
  125. else if (btnName == "[/读]" || btnName == "[/线]") {
  126. cur = 4;
  127. }
  128. field = str1 + btnName + str2;
  129. this.setData({
  130. Field: field,
  131. Focus:false,
  132. Cursor: tempCursor + cur,
  133. });
  134. btnName = "";
  135. if (systemInfo.system && systemInfo.system.indexOf("Android") >= 0) {
  136. setTimeout(function () {
  137. isEdit = true;
  138. }, 500);
  139. }
  140. }
  141. },
  142. onSearch: function (e) {
  143. wx.setStorageSync("TempFieldNumber", this.data.FieldNumber);
  144. wx.navigateTo({
  145. url: './searchWeb',
  146. });
  147. this.updateField();
  148. },
  149. clear: function () {
  150. this.setData({
  151. Field: "",
  152. Focus: true,
  153. Cursor: 0,
  154. });
  155. this.updateField();
  156. },
  157. closeAddItem: function (e) {
  158. var isSave = e.currentTarget.dataset.idsave;
  159. if (isSave == "true") {
  160. isUpload = false;
  161. wx.removeStorageSync("TempCardInfoAddItem");
  162. this.updateField();
  163. }
  164. wx.navigateBack({
  165. delta: 1,
  166. });
  167. },
  168. updateField: function (history) {
  169. var str = this.data.Field;
  170. str = main.decryptUrl(str);
  171. str = str.replace(/\[读\]/g, "\n[读]");
  172. str = str.replace(/\[图\]/g, "\n[图]");
  173. str = str.replace(/\[\/读\]/g, "[\/读]\n");
  174. str = str.replace(/\[\/图\]/g, "[\/图]\n");
  175. str = str.replace(/\n\n/g, "\n");
  176. var list = wx.getStorageSync("CardList");
  177. for (var i = 0; i < list.length; i++) {
  178. if (this.data.MiaoguoCardID == list[i].MiaoguoCardID) {
  179. if (history != undefined)
  180. list[i].Content[this.data.FieldNumber].Content = history;
  181. else
  182. list[i].Content[this.data.FieldNumber].Content = str;
  183. break;
  184. }
  185. }
  186. wx.setStorageSync("CardList", list);
  187. },
  188. onShareAppMessage: function () {
  189. return {
  190. title: app.globalData.ShareTitle,
  191. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  192. imageUrl: app.globalData.ShareImage,
  193. }
  194. },
  195. })