|
@@ -0,0 +1,150 @@
|
|
|
+<!--
|
|
|
+ * @Author: Rindy
|
|
|
+ * @Date: 2020-03-16 12:20:50
|
|
|
+ * @LastEditors: Rindy
|
|
|
+ * @LastEditTime: 2020-05-21 10:04:40
|
|
|
+ * @Description: 注释
|
|
|
+ -->
|
|
|
+<template>
|
|
|
+ <layout>
|
|
|
+ <template slot="header">
|
|
|
+ <span>
|
|
|
+ <!-- 语言选择:
|
|
|
+ <select v-model="curr" @change="load()">
|
|
|
+ <option
|
|
|
+ v-for="(item,key) in langs"
|
|
|
+ :key="key"
|
|
|
+ :value="item.name"
|
|
|
+ >{{item.text}}</option>
|
|
|
+ </select> -->
|
|
|
+ </span>
|
|
|
+ <button >保存</button>
|
|
|
+ </template>
|
|
|
+ <template slot="content">
|
|
|
+ <ul class="menus">
|
|
|
+ <li v-for="(item,key) in News" :key="key">
|
|
|
+ <h1>第{{key + 1}}篇</h1>
|
|
|
+ <img :src="item.img" />
|
|
|
+ <div>
|
|
|
+ <p>标题</p>
|
|
|
+ <input v-model="item.title" type="text" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>文章介绍</p>
|
|
|
+ <input v-model="item.text" type="text" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>新闻网站</p>
|
|
|
+ <input v-model="item.sub" type="text" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>新闻日期</p>
|
|
|
+ <input v-model="item.time" type="text" />
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>新闻链接</p>
|
|
|
+ <input v-model="item.link" type="text" />
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </template>
|
|
|
+ </layout>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import http from "@/util/http";
|
|
|
+import Layout from "./Layout";
|
|
|
+import { deepExtend } from '@/util/tools'
|
|
|
+import { News } from '@/../../common/data/newsData'
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ Layout
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ lang: null,
|
|
|
+ curr: "zh",
|
|
|
+ News
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ langs() {
|
|
|
+ return 'zh#中文,en#英文'.split(",").map(item => {
|
|
|
+ let keypair = item.split("#");
|
|
|
+ return { name: keypair[0], text: keypair[1] };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.load();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async load(curr) {
|
|
|
+ const result = await http.get("../dev/lang/" + (curr || this.curr));
|
|
|
+ if (result.data.ok) {
|
|
|
+ if (this.lang == null) {
|
|
|
+ this.lang = result.data.data;
|
|
|
+ } else {
|
|
|
+ this.lang = deepExtend(this.lang, result.data.data);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (this.curr != "zh") {
|
|
|
+ this.lang = null;
|
|
|
+ this.load("zh");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ isChildren(key, value) {
|
|
|
+ return key !== "__name" && typeof value === "string";
|
|
|
+ },
|
|
|
+ isModule(value) {
|
|
|
+ return typeof value !== "string";
|
|
|
+ },
|
|
|
+ onValueChange(e, p, m, c) {
|
|
|
+ const value = e.target.value.trim();
|
|
|
+ if (value) {
|
|
|
+ if (!c) {
|
|
|
+ p[m] = value;
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onSave() {
|
|
|
+ // http.post(`../dev/lang/${this.curr}`, this.lang)
|
|
|
+ // .then(response => {
|
|
|
+ // if (response.data.ok) {
|
|
|
+ // this.$alert('保存成功', {
|
|
|
+ // icon: 'success'
|
|
|
+ // });
|
|
|
+ // } else {
|
|
|
+ // this.$alert('保存失败');
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // .catch(err => {
|
|
|
+ // this.$alert('保存失败');
|
|
|
+ // });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="less" scoped>
|
|
|
+select {
|
|
|
+ width: 80px;
|
|
|
+ appearance: menulist;
|
|
|
+}
|
|
|
+.menus {
|
|
|
+ .module {
|
|
|
+ margin-left: 15px;
|
|
|
+
|
|
|
+ }
|
|
|
+ li {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ input {
|
|
|
+ border: solid 1px #ccc;
|
|
|
+ padding: 2px 5px;
|
|
|
+ width: 300px;
|
|
|
+ display: block;
|
|
|
+ margin-top: 5px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|