y595705120 2 years ago
parent
commit
710690ee41
7 changed files with 255 additions and 214 deletions
  1. 13 29
      package-lock.json
  2. 1 0
      package.json
  3. 4 36
      src/api/paper.js
  4. 11 1
      src/view/users/leader.vue
  5. 208 143
      src/view/weixin/info.vue
  6. 16 3
      src/view/weixin/paper.vue
  7. 2 2
      vue.config.js

+ 13 - 29
package-lock.json

@@ -2785,8 +2785,7 @@
         "@types/color-name": {
             "version": "1.1.1",
             "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz",
-            "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=",
-            "dev": true
+            "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA="
         },
         "@types/connect": {
             "version": "3.4.33",
@@ -3463,7 +3462,6 @@
                 "thread-loader": "^2.1.3",
                 "url-loader": "^2.2.0",
                 "vue-loader": "^15.9.2",
-                "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7",
                 "vue-style-loader": "^4.1.2",
                 "webpack": "^4.0.0",
                 "webpack-bundle-analyzer": "^3.8.0",
@@ -3526,7 +3524,6 @@
                     "version": "4.2.1",
                     "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz",
                     "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=",
-                    "dev": true,
                     "requires": {
                         "@types/color-name": "^1.1.1",
                         "color-convert": "^2.0.1"
@@ -3591,7 +3588,6 @@
                     "version": "2.0.1",
                     "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
                     "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-                    "dev": true,
                     "requires": {
                         "color-name": "~1.1.4"
                     }
@@ -3599,8 +3595,7 @@
                 "color-name": {
                     "version": "1.1.4",
                     "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-                    "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-                    "dev": true
+                    "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
                 },
                 "electron-to-chromium": {
                     "version": "1.3.568",
@@ -3617,9 +3612,7 @@
                 "emojis-list": {
                     "version": "3.0.0",
                     "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
-                    "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
-                    "dev": true,
-                    "optional": true
+                    "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang="
                 },
                 "fast-deep-equal": {
                     "version": "3.1.3",
@@ -3651,9 +3644,7 @@
                 "has-flag": {
                     "version": "4.0.0",
                     "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
-                    "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
-                    "dev": true,
-                    "optional": true
+                    "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
                 },
                 "is-fullwidth-code-point": {
                     "version": "3.0.0",
@@ -3665,8 +3656,6 @@
                     "version": "2.0.0",
                     "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
                     "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
-                    "dev": true,
-                    "optional": true,
                     "requires": {
                         "big.js": "^5.2.2",
                         "emojis-list": "^3.0.0",
@@ -3842,8 +3831,6 @@
                     "version": "7.2.0",
                     "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394878204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
                     "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
-                    "dev": true,
-                    "optional": true,
                     "requires": {
                         "has-flag": "^4.0.0"
                     }
@@ -3887,11 +3874,9 @@
                     }
                 },
                 "vue-loader-v16": {
-                    "version": "npm:vue-loader@16.2.0",
+                    "version": "16.2.0",
                     "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-16.2.0.tgz?cache=0&sync_timestamp=1616796537201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-16.2.0.tgz",
                     "integrity": "sha1-BGpTMI3Ufljv4g3ewe3sAnzjtG4=",
-                    "dev": true,
-                    "optional": true,
                     "requires": {
                         "chalk": "^4.1.0",
                         "hash-sum": "^2.0.0",
@@ -3902,8 +3887,6 @@
                             "version": "4.1.0",
                             "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1591687028262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz",
                             "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
-                            "dev": true,
-                            "optional": true,
                             "requires": {
                                 "ansi-styles": "^4.1.0",
                                 "supports-color": "^7.1.0"
@@ -8620,8 +8603,7 @@
         "hash-sum": {
             "version": "2.0.0",
             "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
-            "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
-            "dev": true
+            "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo="
         },
         "hash.js": {
             "version": "1.1.7",
@@ -9735,7 +9717,6 @@
             "version": "2.1.3",
             "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz",
             "integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=",
-            "dev": true,
             "requires": {
                 "minimist": "^1.2.5"
             },
@@ -9743,8 +9724,7 @@
                 "minimist": {
                     "version": "1.2.5",
                     "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1584051509720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
-                    "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
-                    "dev": true
+                    "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
                 }
             }
         },
@@ -11319,8 +11299,7 @@
             "version": "2.2.2",
             "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
             "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-            "dev": true,
-            "optional": true
+            "dev": true
         },
         "pify": {
             "version": "4.0.1",
@@ -14901,6 +14880,11 @@
             "resolved": "https://registry.npm.taobao.org/vue-ueditor-wrap/download/vue-ueditor-wrap-2.4.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-ueditor-wrap%2Fdownload%2Fvue-ueditor-wrap-2.4.4.tgz",
             "integrity": "sha1-F4u8YLqZOKgx5n32tXjOCMprOCM="
         },
+        "vue2-animate": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npmmirror.com/vue2-animate/-/vue2-animate-2.1.4.tgz",
+            "integrity": "sha512-tIFHLxLYXwti0E3rJ7OeIUxTl+uVC8t9SYlD4aQ+gfgcheSu9yDbXklBNRIFxBmfNWDVpKQLMvGLxRrrCn3alw=="
+        },
         "vuescroll": {
             "version": "4.14.4",
             "resolved": "https://registry.npmjs.org/vuescroll/-/vuescroll-4.14.4.tgz",

+ 1 - 0
package.json

@@ -41,6 +41,7 @@
         "vue-router": "^3.1.3",
         "vue-simple-uploader": "^0.7.4",
         "vue-ueditor-wrap": "^2.4.4",
+        "vue2-animate": "^2.1.4",
         "vuescroll": "^4.14.4",
         "vuex": "^3.1.1",
         "vuex-persist": "^2.1.0",

+ 4 - 36
src/api/paper.js

@@ -32,49 +32,17 @@ export const delPaper = (data) => {
     })
 }
 
-export const getPaperMatrixList = (data) => {
+export const addPaperItem = (data) => {
     return service({
-        url: "/admin/getPaperMatrixList",
+        url: "/admin/addPaperItem",
         method: 'post',
 		data
     })
 }
 
-export const addPaperMatrix = (data) => {
+export const delPaperItem = (data) => {
     return service({
-        url: "/admin/addPaperMatrix",
-        method: 'post',
-		data
-    })
-}
-
-export const deladdPaperMatrix = (data) => {
-    return service({
-        url: "/admin/delPaperMatrix",
-        method: 'post',
-		data
-    })
-}
-
-export const getPaperMatrixInfoList = (data) => {
-    return service({
-        url: "/admin/getPaperMatrixInfoList",
-        method: 'post',
-		data
-    })
-}
-
-export const addPaperMatrixInfo = (data) => {
-    return service({
-        url: "/admin/addPaperMatrixInfo",
-        method: 'post',
-		data
-    })
-}
-
-export const delPaperMatrixInfo = (data) => {
-    return service({
-        url: "/admin/delPaperMatrixInfo",
+        url: "/admin/delPaperItem",
         method: 'post',
 		data
     })

+ 11 - 1
src/view/users/leader.vue

@@ -31,8 +31,18 @@
 				</template> 
 			</el-table-column>
 			
+			<el-table-column label="审核功能" prop="adminId" align="center" width="90" >
+				<template slot-scope="{row}">
+					<el-switch v-if="row.edit" :active-value="1" :inactive-value="0" v-model="row.adminId"></el-switch>
+				    <span v-else>
+						<strong v-if="row.adminId" style="color: green;">开启</strong>
+						<strong v-else>关闭</strong>
+					</span>
+				</template> 
+			</el-table-column>
+			
 			
-			<el-table-column align="center" width="260px" label="操作" class-name="small-padding fixed-width">
+			<el-table-column align="center" width="180px" label="操作" class-name="small-padding fixed-width">
 				<template slot-scope="{ row, $index }">
 					<el-button v-if="!row.edit" type="danger" size="small" @click="resetPassRow(row, $index)">重置密码</el-button>
 					<el-button v-if="row.edit" type="success" size="small" icon="el-icon-circle-check" @click="confirmEdit(row, $index)">提交</el-button>

+ 208 - 143
src/view/weixin/info.vue

@@ -1,83 +1,151 @@
 <template>
   <div class="main">
-    <div class="main-body">
-      <el-form label-width="90px"  label-position="center"
-      ref="elForm" :model="info" :rules="rules" >
-        <el-row>
-          <el-col :span="12" >
-			<el-form-item label="考察团" class="mt20" prop="title" >
-				<el-input v-model="info.title"></el-input>
-			</el-form-item>
-          </el-col>
-		</el-row>
-		
-		<div class="m-account ml20">
-		  <div class="account-tit" style="height:30px">
-		    <a :class="{'current':show===1}" style="text-decoration: none;padding-bottom: 5px" @click="show=1" class="">导航图片</a>
-		    <a :class="{'current':show===2}" style="text-decoration: none;padding-bottom: 5px" @click="show=2" class="">主页引导</a>
-			<a :class="{'current':show===3}" style="text-decoration: none;padding-bottom: 5px" @click="show=3" class="">精彩视频</a>
-			<a :class="{'current':show===4}" style="text-decoration: none;padding-bottom: 5px" @click="show=4" class="">宁德风貌</a>
-			<a :class="{'current':show===5}" style="text-decoration: none;padding-bottom: 5px" @click="show=5" class="">考察点</a>
-			<a :class="{'current':show===6}" style="text-decoration: none;padding-bottom: 5px" @click="show=6" class="">行程安排</a>
-			<a :class="{'current':show===7}" style="text-decoration: none;padding-bottom: 5px" @click="show=7" class="">详细页面</a>
-		  </div>
-		</div>
-		<!-- 导航图片 -->
-		<div v-if="show===1" class="lwh-ul-form p20">
+	   <div class="search-term">
+			<el-form class="demo-form-inline" label-width="100" :inline="true">
+				<el-form-item label="姓名" prop="username">
+					<el-select v-model="nodeId"  clearable>
+					  <el-option v-for="(item,index) in nodeList"
+					  :value="item.nodeId" :key="index" :label="item.title"></el-option>
+					</el-select>
+				</el-form-item>
+				
+				<el-form-item >
+					<el-button @click="createPaperItem" type="primary">添加内容</el-button>
+				</el-form-item>
+			</el-form>
+	   </div>
+	   <el-table :data="tableData.slice( page*size-size, page*size)" border highlight-current-row style="width: 100%;margin-top:20px;">
+	     <el-table-column prop="id"   		label="序号" width="50"></el-table-column>
+	     <el-table-column prop="parentId"   label="父节点" width="50"></el-table-column>
+	     <el-table-column prop="type"     label="类型" width="60"></el-table-column>
+	     <el-table-column prop="image"      label="图片地址"></el-table-column>
+	     <el-table-column prop="style"  label="样式"></el-table-column>
+	     <el-table-column prop="preview"    label="预览" width="50"></el-table-column>
+	     <el-table-column prop="desc" 	label="描述"></el-table-column>
+	     <el-table-column prop="text" 	 label="文本"></el-table-column>
+	     <el-table-column prop="video" 		 label="视频" ></el-table-column>
+		 <el-table-column prop="poster"  label="视频图片" ></el-table-column>
+		 <el-table-column prop="marks"  label="图片文字" ></el-table-column>
+		 <el-table-column prop="link"  label="链接"  width="50"></el-table-column>
+		 <el-table-column prop="orderId"  label="排序"  width="50"></el-table-column>
+	     <el-table-column
+	       align="center"
+	       width="100px"
+	       label="操作"
+	       class-name="small-padding fixed-width"
+	     >
+	       <template slot-scope="{row, $index}">
+	     	  <el-button
+	     	    type="primary"
+	     	    size="small"
+	     	    icon="el-icon-edit"
+	     	    @click="initEdit(row)"
+	     	  >编辑</el-button>  
+	       </template>
+	     </el-table-column>
+	   </el-table>
+	   <el-pagination :current-page="page" 
+	   :page-size="size" 
+	   :page-sizes="[10,20,  50, 100]" 
+	    :total="tableData.length" 
+	    @current-change="(page)=>{this.page= page}" 
+	    @size-change="(size)=>{this.size= size}" 
+	    layout="total, sizes, prev, pager, next, jumper">
+	   </el-pagination>
+	   
+	   
+	   <el-dialog title="编辑内容" center :visible.sync="dialogItem" width="800px">
+	     <el-form :model="form" :rules="rules" label-width="100px" ref="elForm">
 			<el-row>
-			  <el-col :span="6" v-for="(slider, index) in info.main.nodes.slider.children" :key="index">
-				<vue-viewer class="preview" width="200px" height="200px" :thumb="tow60(slider.image)" :full="slider.image"></vue-viewer>
-				<b-image @onFinish="(url)=>{slider.image=url}"placeholder="更换图片"> </b-image>
-			  </el-col>
-			</el-row>
-		</div>
-		
-		<div v-if="show===2" class="lwh-ul-form p20">
-			<el-row v-for="(matrix,index) in info.main.nodes.matrix.children" :key="index">
-				<el-col :span="6">
-					<img :src="tow60(matrix.image)" width="180px" height="180px"></img>
+				<el-col :span="12">
+					<el-form-item label="类型" prop="type">
+					  <el-select v-model="form.type"  clearable>
+						<el-option v-for="(item,index) in typeList"
+							:value="item" 
+							:key="index" 
+							:label="item">
+						</el-option>
+					  </el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="父节点" prop="parentId">
+					  <el-select v-model="form.parentId"  clearable>
+						<el-option v-for="(item,index) in children"
+							:value="item.id" 
+							:key="index" 
+							:label="item.id">
+						</el-option>
+					  </el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :span="24" v-if="form.type=='image'">
+					<el-form-item label="图片地址" prop="parentId">
+					  <el-input v-model="form.image" style="width: 600px;"/>
+					</el-form-item>
 				</el-col>
 				
-				<el-col :span="6">
-					<el-form-item label="图片标题">
-						<el-input v-model="matrix.marks" style="width: 200px;"></el-input>
+				<el-col :span="24" v-if="form.type=='video'">
+					<el-form-item label="视频地址" prop="video">
+					  <el-input v-model="form.video" style="width: 600px;"/>
 					</el-form-item>
-					<el-form-item label-width="20px">
-						<b-image @onFinish="(url)=>{matrix.image=url}"placeholder="更换图片" width="100px"> </b-image>
+				</el-col>
+				
+				<el-col :span="24" v-if="form.type=='video'">
+					<el-form-item label="视频图片" prop="poster">
+					  <el-input v-model="form.poster" style="width: 600px;"/>
 					</el-form-item>
-					
 				</el-col>
-			</el-row>
-		</div>
-		
-		<div v-if="show===3" class="lwh-ul-form p20">
-			<Inode :list="info.pages.video.nodes"></Inode>
-		</div>
-		<div v-if="show===4" class="lwh-ul-form p20">
-			<Inode :list="info.pages.image.nodes"></Inode>
-		</div>
-		<div v-if="show===5" class="lwh-ul-form p20">
-			<Inode :list="info.pages.brief.nodes"></Inode>
-		</div>
-		<div v-if="show===6" class="lwh-ul-form p20">
-			<Inode :list="info.pages.trip.nodes"></Inode>
-		</div>
-		
-		<div v-if="show===7" class="lwh-ul-form p20">
-			<el-row >
-				<el-col :span="6" style="width:200px">
-					<el-row v-for="(item,id) in info.pages" :key="id">
-						<el-button @click="curPage=id" style="width:100px" type="primary"> {{item.id}}</el-button>
-					</el-row>
+				
+				<el-col :span="24" v-if="form.type=='table-texts'">
+					<el-form-item label="表格数据" prop="desc">
+						<el-input v-model="form.desc" style="width: 600px;" type="textarea" placeholder="|分列;分行"/>
+					</el-form-item>
+				</el-col>
+				
+				<el-col :span="24">
+					<el-form-item label="样式" prop="style">
+						<el-input v-model="form.style" style="width: 600px;" type="textarea"/>
+					</el-form-item>
 				</el-col>
-				<el-col :span="18">
-					<Inode :list="info.pages[curPage].nodes"></Inode>
+				
+				<el-col :span="12">
+					<el-form-item label="图片文字" prop="marks">
+					  <el-input v-model="form.marks" style="width: 220px;"/>
+					</el-form-item>
+				</el-col>
+				
+				<el-col :span="12">
+					<el-form-item label="链接" prop="link">
+					  <el-input v-model.number="form.link" type="number" style="width: 220px;"/>
+					</el-form-item>
+				</el-col>
+				
+				<el-col :span="12">
+					<el-form-item label="是否预览" prop="marks">
+						<el-switch :active-value="1" :inactive-value="0"  v-model="form.preview"></el-switch>
+					</el-form-item>
+				</el-col>
+				
+				<el-col :span="12">
+					<el-form-item label="排序" prop="orderId">
+					  <el-input v-model.number="form.orderId" type="number" style="width: 220px;"/>
+					</el-form-item>
+				</el-col>
+				
+				<el-col :span="24">
+					<el-form-item label="文本" prop="text">
+					  <el-input v-model="form.text" style="width: 600px;" type="textarea"/>
+					</el-form-item>
 				</el-col>
 			</el-row>
 			
-		</div>
-      </el-form>
-    </div>
+			</el-form>
+			<div class="dialog-footer" slot="footer">
+			  <el-button @click="dialogItem = false">取 消</el-button>
+			  <el-button @click="addPaperItem" type="primary">确 定</el-button>
+			</div>
+		</el-dialog>	
   </div>
 
 </template>
@@ -86,54 +154,34 @@
   import BImage from '@/components/upload/BImage.vue'
   import Inode from './components/Inode.vue'
   import { tow60 } from "@/utils/stringFun";
-  import { getPaper, addPaper } from "@/api/paper";
+  import { getPaper, addPaper, addPaperItem } from "@/api/paper";
+  
+  const getTitle = function(item){
+	  return item.text||item.marks||item.desc||(''+item.id);
+  }
+  const gbForm = {
+	  children: [],desc: "",id: 0,preview: 0,style:'',text:'',type:'',video:'',
+	  image: "", link: 0,marks: "",nodeId: "main",orderId: 0,parentId: 0,poster: ""
+	}
   export default {
     name: 'application',
     data() {
       return {
 		tow60,
         loading:false,
-        isLike: 0,
         id:0,
-        recover: false,
-		show:7,
-		matrixId:0,
-		curPage:"3-1",
-        info: {
-			config:{},
-			main:{
-				title:'',
-				nodes:{
-					logo:{
-						type:'',
-						image:'',
-						style:''
-					},
-					sliders:{
-						type: "slider",
-						style: "height: 200px;",
-						children:[]
-					},
-					matrix:{
-						type: "matrix",
-						children:[]
-					}
-				}
-			},
-			pages:{
-				video:{id:"1", nodes:[]},
-				image:{id:"",  nodes:[]},
-				brief:{id:'',  nodes:[]},
-				trip:{id:'',   nodes:[]}
-			}
-        },
-		matrixList:[],
+		page:1,
+		size:10,
+		getTitle,
+		form: Object.assign({}, gbForm),
+		typeList:['image','video','slider','matrix','title','text','tabs','table-texts','bold-text'],
+		dialogItem: false,
+		nodeId:'main',
+		children: [],
+        nodeList: [],
+		tableData:[],
         rules: {
-          title:[{required:true, message:'请输入标题'}],
-          content:[{required:true, message:'请输入简介'}],
-          publishStatus:[{required:true, message:'请输入选择分类'}],
-          publishTime:[{required:true, message:'请输入发布时间'}],
-          postType:[{required:true, message:'请选择分类'}]
+			type: [{ required: true, message: "请选择类型", trigger: "blur" }],
         }
       }
     },
@@ -144,45 +192,62 @@
         this.loadData( )
       }
     },
+	watch:{
+		nodeId(){
+			this.filterData()
+		}
+	},
     methods:{
-      loadData( ){
-        let id = this.id;
-        getPaper({id}).then(res => {
-           if (res.code == 200) {
-			  this.info = JSON.parse( res.data.text );
-			  console.log("info", this.info);
-			  this.title = res.data.title;
-			  console.log("info", this.info);
-           }
-         })
+		initEdit(row ){
+			this.form = Object.assign( this.form, row );
+			this.form.nodeId = this.nodeId;
+			this.form.paperId = this.id;
+			this.dialogItem = true;
+		},
+		createPaperItem(){
+			this.form = Object.assign(this.form, gbForm)
+			this.dialogItem = true;
+		},
+		loadData( ){
+			let id = this.id;
+			getPaper({id}).then(res => {
+			   if (res.code == 200) {
+				  this.info = res.data;
+				  this.children = res.data.children||[];
+				  let nodeList =[{nodeId:'main', title:'主页'}];
+				  for( let i in this.children){
+					  let item = this.children[i];
+					  if( item.link>0) {
+						  nodeList.push( {nodeId: item.link, title:getTitle(item)})
+					  }
+				  }
+				  this.nodeList = nodeList;
+				  this.filterData();
+			   }
+			})
       },
-	  onFinish(url, index){
-		console.log("finish", index, url);
-		this.info.slider[index] = url;  
-	  },
-	  selectMatrix(matrix){
-		this.show = 3;
-		
-	  },
-	  saveSubmit(){
-		let param = Object.assign( {}, this.info);
-		this.onSubmit( param );
-	  },
-	  newSubmit(){
-		let param = Object.assign( {}, this.info);
-		param.postId = 0;
-		this.onSubmit( param ); 
+	  filterData(){
+		let nodeId = this.nodeId||'main';
+		this.tableData = this.children.filter( item =>{
+			return item.nodeId == nodeId
+		})  
 	  },
-      onSubmit( param ){
-        this.$refs["elForm"].validate((valid) => {
+	  addPaperItem(){
+		let param = Object.assign({}, this.form);
+		param.orderId = +param.orderId;
+		param.link = +param.link;
+		this.$refs["elForm"].validate((valid) => {
 			if (!valid) return;
-			addPaper( param ).then(res=>{
-              if( res.code == 200){
-                this.$message.successMsg("提交成功", 2);
-              }
-            })
-        })
-      }
+			addPaperItem( param).then( res=>{
+				if( res.code != 200) return;
+				this.$message.successMsg("添加成功", 2);
+				this.loadData();
+			})
+		})
+	  },
+	  onFinish(url, index){
+		this.info.slider[index] = url;  
+	  }
     }
   }
 </script>

+ 16 - 3
src/view/weixin/paper.vue

@@ -13,19 +13,32 @@
 
     <el-table :data="tableData"  border stripe>
       <el-table-column label="序号" width="80" prop="paperId" align="center">
-		  
 	  </el-table-column>
+	  
+	  <el-table-column label="UUId" min-width="280" prop="uuid" align="center">	  
+	  </el-table-column>
+	  
       <el-table-column label="标题"  prop="title" min-width="120">
       </el-table-column>
+	  <el-table-column label="是否发布"  prop="isPublish" width="80">
+	  </el-table-column>
 	  
-	  <el-table-column label="导航栏图片"  prop="logo" align="center" width="110">
+	  <el-table-column label="logo"  prop="logo" align="center" width="110">
 		<template slot-scope="{ row }">
 		  <el-button v-if="!row.edit" @click="row.edit=true" type="text"> 查看图片 </el-button>
-		  <vue-viewer v-else class="preview" width="100" height="60" :thumb="row.slider.split(',')" :full="row.slider.split(',')" style="margin:0 auto">
+		  <vue-viewer v-else class="preview" width="100" height="60" :thumb="row.logo" :full="row.logo" style="margin:0 auto">
 		  </vue-viewer>
 		</template>
 	  </el-table-column>
 	  
+	  <el-table-column label="背景"  prop="logo" align="center" width="110">
+	  		<template slot-scope="{ row }">
+	  		  <el-button v-if="!row.edit" @click="row.edit=true" type="text"> 查看图片 </el-button>
+	  		  <vue-viewer v-else class="preview" width="100" height="60" :thumb="row.background" :full="row.background" style="margin:0 auto">
+	  		  </vue-viewer>
+	  		</template>
+	  </el-table-column>
+	  
       <el-table-column
         align="center"
         width="160px"

+ 2 - 2
vue.config.js

@@ -4,8 +4,8 @@ const path = require('path')
 const buildConf = require('./build.config')
 const packageConf = require('./package.json')
 
-// const HOST = "http://ndzxadmin.hqedust.com:8888"
-const HOST = "http://localhost:8000"
+const HOST = "http://ndzxadmin.hqedust.com:8888"
+// const HOST = "http://localhost:8000"
 function resolve(dir) {
     return path.join(__dirname, dir)
 }