index.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. if (!Math) {
  4. (teacher + student)();
  5. }
  6. const teacher = () => "./path/teacher.js";
  7. const student = () => "./path/student.js";
  8. const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
  9. __name: "index",
  10. setup(__props) {
  11. const $api = common_vendor.inject("$api");
  12. common_vendor.inject("$config");
  13. const $apifile = common_vendor.inject("$apifile");
  14. const config = common_vendor.ref({ logo: [], file: [] });
  15. const form = common_vendor.ref({ icon: [] });
  16. const errors = common_vendor.ref({});
  17. const user = common_vendor.computed(() => {
  18. return common_vendor.index.getStorageSync("user");
  19. });
  20. const genderList = common_vendor.ref([]);
  21. const educationList = common_vendor.ref([]);
  22. const learnStatusList = common_vendor.ref([]);
  23. const gradeList = common_vendor.ref([]);
  24. const cardTypeList = common_vendor.ref([]);
  25. const subjectList = common_vendor.ref([]);
  26. const showList = common_vendor.ref([]);
  27. common_vendor.onShow(async () => {
  28. await searchConfig();
  29. await searchOther();
  30. await search();
  31. });
  32. const searchConfig = async () => {
  33. config.value = common_vendor.index.getStorageSync("config");
  34. };
  35. const searchOther = async () => {
  36. let res;
  37. res = await $api(`dictData`, "GET", { code: "gender", is_use: "0" });
  38. if (res.errcode === 0)
  39. genderList.value = res.data;
  40. res = await $api(`dictData`, "GET", { code: "education", is_use: "0" });
  41. if (res.errcode === 0)
  42. educationList.value = res.data;
  43. res = await $api(`dictData`, "GET", { code: "grade", is_use: "0" });
  44. if (res.errcode === 0)
  45. gradeList.value = res.data;
  46. res = await $api(`dictData`, "GET", { code: "learnStatus", is_use: "0" });
  47. if (res.errcode === 0)
  48. learnStatusList.value = res.data;
  49. res = await $api(`dictData`, "GET", { code: "cardType", is_use: "0" });
  50. if (res.errcode === 0)
  51. cardTypeList.value = res.data;
  52. res = await $api(`dictData`, "GET", { code: "subject", is_use: "0" });
  53. if (res.errcode === 0)
  54. subjectList.value = res.data;
  55. res = await $api(`dictData`, "GET", { code: "show", is_use: "0" });
  56. if (res.errcode === 0)
  57. showList.value = res.data;
  58. };
  59. const search = async () => {
  60. if (user && user.value._id) {
  61. let res;
  62. if (user.value.role_type == "Teacher")
  63. res = await $api(`teacher/${user.value._id}`, "GET", {});
  64. else
  65. res = await $api(`student/${user.value._id}`, "GET", {});
  66. if (res.errcode == "0")
  67. form.value = res.data;
  68. }
  69. };
  70. const deletePic = (event) => {
  71. form.value.icon = [];
  72. };
  73. const afterRead = async (event) => {
  74. const url = event.file[0].url;
  75. const result = await $apifile(`/web/learn_user/upload`, "file", url, "file");
  76. if (result.errcode === 0)
  77. form.value.icon = [result];
  78. };
  79. const cardChange = (e) => {
  80. const data = cardTypeList.value[e.detail.value];
  81. if (data) {
  82. form.value.cardType = data.value;
  83. form.value.cardType_name = data.label;
  84. }
  85. };
  86. const educationChange = (e) => {
  87. const data = educationList.value[e.detail.value];
  88. if (data) {
  89. form.value.education = data.value;
  90. form.value.education_name = data.label;
  91. }
  92. };
  93. const learnStatusChange = (e) => {
  94. const data = learnStatusList.value[e.detail.value];
  95. if (data) {
  96. form.value.learnStatus = data.value;
  97. form.value.learnStatus_name = data.label;
  98. }
  99. };
  100. const gradeChange = (e) => {
  101. const data = gradeList.value[e.detail.value];
  102. if (data) {
  103. form.value.grade = data.value;
  104. form.value.grade_name = data.label;
  105. }
  106. };
  107. const subjectChange = (e) => {
  108. const data = subjectList.value[e.detail.value];
  109. if (data) {
  110. form.value.subject = data.value;
  111. form.value.subject_name = data.label;
  112. }
  113. };
  114. const validateObject = (obj) => {
  115. const errors2 = {};
  116. if (!obj.nick_name || obj.nick_name.trim() === "") {
  117. errors2.nick_name = "请填写昵称!";
  118. }
  119. if (!obj.age || obj.age.trim() === "") {
  120. errors2.age = "请填写年龄!";
  121. }
  122. if (!obj.gender || obj.gender.trim() === "") {
  123. errors2.gender = "请填写性别!";
  124. }
  125. if (!obj.card || obj.card.trim() === "") {
  126. errors2.card = "请填写身份证号码!";
  127. }
  128. if (!obj.phone || obj.phone.trim() === "") {
  129. errors2.phone = "请填写手机号!";
  130. }
  131. if (Object.keys(errors2).length > 0) {
  132. return errors2;
  133. }
  134. return null;
  135. };
  136. const formSubmit = async (e) => {
  137. const errorsInfo = await validateObject(form.value);
  138. if (errorsInfo) {
  139. errors.value = errorsInfo;
  140. for (const key in errorsInfo) {
  141. if (errorsInfo.hasOwnProperty(key)) {
  142. console.error(`${key} 错误: ${errorsInfo[key]}`);
  143. }
  144. }
  145. } else {
  146. console.log("所有字段都已填写");
  147. console.log(form.value);
  148. }
  149. };
  150. common_vendor.provide("form", form);
  151. common_vendor.provide("errors", errors);
  152. common_vendor.provide("deletePic", deletePic);
  153. common_vendor.provide("afterRead", afterRead);
  154. common_vendor.provide("formSubmit", formSubmit);
  155. common_vendor.provide("cardChange", cardChange);
  156. common_vendor.provide("educationChange", educationChange);
  157. common_vendor.provide("learnStatusChange", learnStatusChange);
  158. common_vendor.provide("gradeChange", gradeChange);
  159. common_vendor.provide("subjectChange", subjectChange);
  160. common_vendor.provide("showList", showList);
  161. common_vendor.provide("genderList", genderList);
  162. common_vendor.provide("gradeList", gradeList);
  163. common_vendor.provide("subjectList", subjectList);
  164. common_vendor.provide("learnStatusList", learnStatusList);
  165. common_vendor.provide("cardTypeList", cardTypeList);
  166. common_vendor.provide("educationList", educationList);
  167. return (_ctx, _cache) => {
  168. return {
  169. a: common_vendor.unref(user).role_type == "Teacher",
  170. b: common_vendor.unref(user).role_type == "Student"
  171. };
  172. };
  173. }
  174. });
  175. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e33b06dd"], ["__file", "D:/project/学吧/learn_applet/pagesMy/account/index.vue"]]);
  176. wx.createPage(MiniProgramPage);