Empty.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <!-- -->
  2. <template>
  3. <div class="empty-main" v-if="emptyCon">
  4. <img :src="emptyCon.url" class="empty-img" />
  5. <p class="empty-texts">{{ emptyCon.con }}</p>
  6. <a class="empty-link" target="_blank" @click="choiceCourse">{{
  7. emptyCon.linkName
  8. }}</a>
  9. </div>
  10. </template>
  11. <script>
  12. import { getContent } from "@/api/ajax";
  13. export default {
  14. components: {},
  15. props: ["navType"],
  16. data() {
  17. return {};
  18. },
  19. computed: {
  20. emptyCon: function () {
  21. let _this = this;
  22. let obj = {};
  23. //let MethodName = "login_control-CreateAccessCode";
  24. // let res = await getContent(MethodName, {});
  25. //let AccessCode = "";
  26. switch (_this.navType) {
  27. case "0": //系统通知
  28. obj = {
  29. url: require("../../assets/Personalcenter/1.png"),
  30. con: this.$t("Key677"), //Key677 没有任何通知
  31. link: "",
  32. };
  33. break;
  34. case "1":
  35. obj = {
  36. url: require("../../assets/Personalcenter/2.png"),
  37. con: this.$t("Key464"), // "您还未购买任何教材",
  38. linkName: this.$t("Key465"), //"去查看",
  39. child_sys_key: "GCLS-LC",
  40. link: `/GCLS-LC/#/learncenter/ListPage?id=TEXTBOOK`,
  41. };
  42. break;
  43. case "2":
  44. obj = {
  45. url: require("../../assets/Personalcenter/2.png"),
  46. con: this.$t("Key70"), //"您还未购买任何课程",
  47. linkName: this.$t("Key71"), //"去选课",
  48. child_sys_key: "GCLS-LC",
  49. link: `/GCLS-LC/#/learncenter/ListPage?id=COURSE`,
  50. };
  51. break;
  52. case "3":
  53. obj = {
  54. url: require("../../assets/Personalcenter/2.png"),
  55. con: this.$t("Key70"), //"您还未购买任何课程",
  56. linkName: this.$t("Key71"), //"去选课",
  57. child_sys_key: "GCLS-TRC",
  58. link: `/GCLS-TRC/#/EnterSys`,
  59. };
  60. break;
  61. case "4":
  62. obj = {
  63. url: require("../../assets/Personalcenter/3.png"),
  64. con: this.$t("Key466"), //"您还未购买任何资料",
  65. linkName: this.$t("Key465"), //"去查看",
  66. child_sys_key: "GCLS-TC",
  67. link: `/GCLS-TC/#/EnterSys`,
  68. };
  69. break;
  70. case "5":
  71. obj = {
  72. url: require("../../assets/Personalcenter/4.png"),
  73. con: this.$t("Key467"), //"没有订单",
  74. link: "",
  75. };
  76. break;
  77. case "6":
  78. obj = {
  79. url: require("../../assets/Personalcenter/5.png"),
  80. con: this.$t("Key468"), //"你还未添加任何收藏",
  81. link: "",
  82. };
  83. break;
  84. case "7":
  85. obj = {
  86. url: require("../../assets/Personalcenter/2.png"),
  87. con: this.$t("Key464"), // "您还未购买任何教材",
  88. link: ``,
  89. };
  90. break;
  91. }
  92. return obj;
  93. },
  94. },
  95. watch: {},
  96. //方法集合
  97. methods: {
  98. async handleData() {
  99. let _this = this;
  100. let obj = {};
  101. let MethodName = "login_control-CreateAccessCode";
  102. let res = await getContent(MethodName, {});
  103. let AccessCode = res.access_code;
  104. switch (_this.navType) {
  105. case "0": //系统通知
  106. obj = {
  107. url: require("../../assets/Personalcenter/1.png"),
  108. con: this.$t("Key677"), //Key677 没有任何通知
  109. link: "",
  110. };
  111. break;
  112. case "1":
  113. obj = {
  114. url: require("../../assets/Personalcenter/2.png"),
  115. con: this.$t("Key464"), // "您还未购买任何教材",
  116. linkName: this.$t("Key465"), //"去查看",
  117. link: `/GCLS-LC/#/EnterSys?AccessCode=${AccessCode}`,
  118. };
  119. break;
  120. case "2":
  121. obj = {
  122. url: require("../../assets/Personalcenter/2.png"),
  123. con: this.$t("Key70"), //"您还未购买任何课程",
  124. linkName: this.$t("Key71"), //"去选课",
  125. link: `/GCLS-LC/#/EnterSys?AccessCode=${AccessCode}`,
  126. };
  127. break;
  128. case "3":
  129. obj = {
  130. url: require("../../assets/Personalcenter/2.png"),
  131. con: this.$t("Key70"), //"您还未购买任何课程",
  132. linkName: this.$t("Key71"), //"去选课",
  133. link: `/GCLS-TRC/#/EnterSys?AccessCode=${AccessCode}`,
  134. };
  135. break;
  136. case "4":
  137. obj = {
  138. url: require("../../assets/Personalcenter/3.png"),
  139. con: this.$t("Key466"), // "您还未购买任何资料",
  140. linkName: this.$t("Key465"), //"去查看",
  141. link: `/GCLS-TC/#/EnterSys?AccessCode=${AccessCode}`,
  142. };
  143. break;
  144. case "5":
  145. obj = {
  146. url: require("../../assets/Personalcenter/4.png"),
  147. con: this.$t("Key467"), //"没有订单",
  148. link: "",
  149. };
  150. break;
  151. case "6":
  152. obj = {
  153. url: require("../../assets/Personalcenter/5.png"),
  154. con: this.$t("Key468"), //"你还未添加任何收藏",
  155. link: "",
  156. };
  157. break;
  158. }
  159. return obj;
  160. },
  161. choiceCourse() {
  162. let MethodName = "login_control-IsCanEnterChildSys_PC";
  163. let data = {
  164. child_sys_key: this.emptyCon.child_sys_key,
  165. };
  166. getContent(MethodName, data).then((res) => {
  167. let is_can_enter_child_sys = res.is_can_enter_child_sys;
  168. if (is_can_enter_child_sys == "true") {
  169. window.location.href = this.emptyCon.link;
  170. } else {
  171. this.$message({
  172. showClose: true,
  173. message: "您没有权限",
  174. type: "warning",
  175. });
  176. }
  177. });
  178. },
  179. },
  180. //生命周期 - 创建完成(可以访问当前this实例)
  181. created() {},
  182. //生命周期 - 挂载完成(可以访问DOM元素)
  183. mounted() {},
  184. beforeCreate() {}, //生命周期 - 创建之前
  185. beforeMount() {}, //生命周期 - 挂载之前
  186. beforeUpdate() {}, //生命周期 - 更新之前
  187. updated() {}, //生命周期 - 更新之后
  188. beforeDestroy() {}, //生命周期 - 销毁之前
  189. destroyed() {}, //生命周期 - 销毁完成
  190. activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  191. };
  192. </script>
  193. <style lang="scss" scoped>
  194. //@import url(); 引入公共css类
  195. .empty-main {
  196. width: 100%;
  197. height: 778px;
  198. box-sizing: border-box;
  199. padding-top: 120px;
  200. display: flex;
  201. flex-direction: column;
  202. justify-content: flex-start;
  203. align-items: center;
  204. .empty-img {
  205. margin-bottom: 16px;
  206. width: 160px;
  207. height: 160px;
  208. }
  209. .empty-texts {
  210. font-weight: normal;
  211. font-size: 14px;
  212. line-height: 20px;
  213. text-align: center;
  214. color: #969799;
  215. }
  216. .empty-link {
  217. font-weight: normal;
  218. font-size: 14px;
  219. line-height: 20px;
  220. text-align: center;
  221. color: #ff9900;
  222. cursor: pointer;
  223. margin-top: 10px;
  224. }
  225. }
  226. </style>