|
@@ -9,8 +9,19 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item label="类型" prop="type">
|
|
|
+ <el-select v-model="searchInfo.type" clearable>
|
|
|
+ <el-option v-for="(item,index) in typeList"
|
|
|
+ :value="item"
|
|
|
+ :key="index"
|
|
|
+ :label="item">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item >
|
|
|
<el-button @click="createPaperItem" type="primary">添加内容</el-button>
|
|
|
+ <el-button @click="flushAll" type="primary">刷新</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -18,14 +29,26 @@
|
|
|
<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="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="preview" label="预览" width="50"></el-table-column> -->
|
|
|
+ <el-table-column prop="desc" label="描述">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <div v-html="row.desc" style="height: 50px;text-overflow: ellipsis;overflow: hidden;"> </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="text" label="文本">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <div v-html="row.text" style="height: 50px;text-overflow: ellipsis;overflow: hidden;"> </div>
|
|
|
+ </template>
|
|
|
+ </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="图片文字" >
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <div v-html="row.marks"> </div>
|
|
|
+ </template>
|
|
|
+ </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
|
|
@@ -105,31 +128,40 @@
|
|
|
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="样式" prop="style">
|
|
|
+ <el-select @change="(item)=>{form.style= item}" clearable>
|
|
|
+ <el-option v-for="(item,index) in paperStyleList"
|
|
|
+ :value="item.style"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
<el-input v-model="form.style" style="width: 600px;" type="textarea"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="24">
|
|
|
<el-form-item label="图片文字" prop="marks">
|
|
|
- <el-input v-model="form.marks" style="width: 220px;"/>
|
|
|
+ <el-input v-model="form.marks" style="width: 600px;" type="textarea"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="链接" prop="link">
|
|
|
- <el-input v-model.number="form.link" type="number" style="width: 220px;"/>
|
|
|
+ <el-input v-model.number="form.link" type="number" style="width: 100px;"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="是否预览" prop="marks">
|
|
|
- <el-switch :active-value="1" :inactive-value="0" v-model="form.preview"></el-switch>
|
|
|
+ <el-switch :active-value="1" :inactive-value="0" v-model="form.preview"
|
|
|
+ style="width: 100px;"
|
|
|
+ ></el-switch>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="排序" prop="orderId">
|
|
|
- <el-input v-model.number="form.orderId" type="number" style="width: 220px;"/>
|
|
|
+ <el-input v-model.number="form.orderId" type="number" style="width: 100px;"/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
@@ -154,7 +186,7 @@
|
|
|
import BImage from '@/components/upload/BImage.vue'
|
|
|
import Inode from './components/Inode.vue'
|
|
|
import { tow60 } from "@/utils/stringFun";
|
|
|
- import { getPaper, addPaper, addPaperItem } from "@/api/paper";
|
|
|
+ import { getPaper, addPaper, addPaperItem, getPaperStyle } from "@/api/paper";
|
|
|
|
|
|
const getTitle = function(item){
|
|
|
return item.text||item.marks||item.desc||(''+item.id);
|
|
@@ -180,6 +212,10 @@
|
|
|
children: [],
|
|
|
nodeList: [],
|
|
|
tableData:[],
|
|
|
+ paperStyleList:[],
|
|
|
+ searchInfo:{
|
|
|
+ type:'',
|
|
|
+ },
|
|
|
rules: {
|
|
|
type: [{ required: true, message: "请选择类型", trigger: "blur" }],
|
|
|
}
|
|
@@ -191,13 +227,25 @@
|
|
|
if( this.id ){
|
|
|
this.loadData( )
|
|
|
}
|
|
|
+ this.getPaperStyle()
|
|
|
},
|
|
|
watch:{
|
|
|
nodeId(){
|
|
|
this.filterData()
|
|
|
+ },
|
|
|
+ searchInfo:{
|
|
|
+ handler(new_value,old_value){
|
|
|
+ this.page = 1;
|
|
|
+ this.filterData();
|
|
|
+ },
|
|
|
+ deep: true,
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
+ flushAll(){
|
|
|
+ this.loadData( )
|
|
|
+ this.getPaperStyle()
|
|
|
+ },
|
|
|
initEdit(row ){
|
|
|
this.form = Object.assign( this.form, row );
|
|
|
this.form.nodeId = this.nodeId;
|
|
@@ -233,8 +281,11 @@
|
|
|
},
|
|
|
filterData(){
|
|
|
let nodeId = this.nodeId||'main';
|
|
|
+ let {type}= this.searchInfo;
|
|
|
this.tableData = this.children.filter( item =>{
|
|
|
- return item.nodeId == nodeId
|
|
|
+ if( item.nodeId != nodeId) return false;
|
|
|
+ if( type && item.type != type) return false
|
|
|
+ return true
|
|
|
})
|
|
|
},
|
|
|
addPaperItem(){
|
|
@@ -255,6 +306,11 @@
|
|
|
},
|
|
|
onFinish(url, index){
|
|
|
this.info.slider[index] = url;
|
|
|
+ },
|
|
|
+ getPaperStyle(){
|
|
|
+ getPaperStyle({}).then( res=>{
|
|
|
+ this.paperStyleList = res.data||[]
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|