增加常见问题、关于我们等配置
This commit is contained in:
@@ -37,6 +37,11 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
|
/* 宽度 */
|
||||||
|
wight: {
|
||||||
|
type: Number,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
/* 最小高度 */
|
/* 最小高度 */
|
||||||
minHeight: {
|
minHeight: {
|
||||||
type: Number,
|
type: Number,
|
||||||
|
|||||||
@@ -213,7 +213,8 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="商品详情:">
|
<el-form-item label="商品详情:">
|
||||||
<vue-ueditor-wrap v-model="formValidate.description" :config="myConfig" @beforeInit="addCustomDialog" style="width: 90%;"></vue-ueditor-wrap>
|
<!-- <vue-ueditor-wrap v-model="formValidate.description" :config="myConfig" @beforeInit="addCustomDialog" style="width: 90%;"></vue-ueditor-wrap>-->
|
||||||
|
<editor v-model="formValidate.description" :config="myConfig" @beforeInit="addCustomDialog"></editor>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|||||||
@@ -0,0 +1,106 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
||||||
|
<el-form-item label="关于我们">
|
||||||
|
<!-- <el-input v-model="form.site_url" style="width: 370px;" />-->
|
||||||
|
<vue-ueditor-wrap v-model="form.aboutUs" :config="myConfig" @beforeInit="addCustomDialog" style="width: 90%;"></vue-ueditor-wrap>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="">
|
||||||
|
<el-button type="primary" @click="doAdd">提交</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import checkPermission from '@/utils/permission'
|
||||||
|
import initData from '@/mixins/crud'
|
||||||
|
import { add, get } from '@/api/bxg/yxSystemConfig'
|
||||||
|
import eForm from './form'
|
||||||
|
import picUpload from '@/components/pic-upload'
|
||||||
|
import VueUeditorWrap from 'vue-ueditor-wrap';
|
||||||
|
export default {
|
||||||
|
components: { eForm, picUpload ,VueUeditorWrap},
|
||||||
|
mixins: [initData],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
myConfig: {
|
||||||
|
autoHeightEnabled: false, // 编辑器不自动被内容撑高
|
||||||
|
initialFrameHeight: 500, // 初始容器高度
|
||||||
|
initialFrameWidth: '100%', // 初始容器宽度
|
||||||
|
UEDITOR_HOME_URL: '/UEditor/',
|
||||||
|
serverUrl: ''
|
||||||
|
},
|
||||||
|
delLoading: false,
|
||||||
|
form: {
|
||||||
|
aboutUs:'',
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
get().then(rese => {
|
||||||
|
const that = this;
|
||||||
|
rese.content.map(function(key, value) {
|
||||||
|
const keyName = key.menuName
|
||||||
|
const newValue = key.value
|
||||||
|
if(keyName in that.form){
|
||||||
|
that.form[keyName] = newValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doAdd() {
|
||||||
|
add(this.form).then(res => {
|
||||||
|
this.$notify({
|
||||||
|
title: '添加成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2500
|
||||||
|
})
|
||||||
|
this.loading = false
|
||||||
|
this.$parent.init()
|
||||||
|
}).catch(err => {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// beforeInit() {
|
||||||
|
// this.url = 'bxg/api/yxSystemGroupData'
|
||||||
|
// const sort = 'id,desc'
|
||||||
|
// this.params = { page: this.page, size: this.size, sort: sort, groupName: 'zsw_home_aboutUs' }
|
||||||
|
// return true
|
||||||
|
// },
|
||||||
|
addCustomDialog () {
|
||||||
|
window.UE.registerUI('yshop', function (editor, uiName) {
|
||||||
|
let dialog = new window.UE.ui.Dialog({
|
||||||
|
iframeUrl: '/yshop/materia/index',
|
||||||
|
editor: editor,
|
||||||
|
name: uiName,
|
||||||
|
title: '上传图片',
|
||||||
|
cssRules: 'width:1200px;height:500px;padding:20px;'
|
||||||
|
});
|
||||||
|
this.dialog = dialog;
|
||||||
|
|
||||||
|
var btn = new window.UE.ui.Button({
|
||||||
|
name: 'dialog-button',
|
||||||
|
title: '上传图片',
|
||||||
|
cssRules: `background-image: url(../../../assets/images/icons.png);background-position: -726px -77px;`,
|
||||||
|
onclick: function () {
|
||||||
|
dialog.render();
|
||||||
|
dialog.open();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return btn;
|
||||||
|
}, 37);
|
||||||
|
},
|
||||||
|
checkPermission,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -10,6 +10,16 @@
|
|||||||
<el-form-item label="uniapp路由">
|
<el-form-item label="uniapp路由">
|
||||||
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="轮播图类型">
|
||||||
|
<el-select v-model="form.type" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="图片(750*375)">
|
<el-form-item label="图片(750*375)">
|
||||||
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num="1" :width="150" :height="150" />
|
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num="1" :width="150" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -25,7 +35,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<!--<el-input v-model="form.groupName" />-->
|
|
||||||
<el-button type="text" @click="cancel">取消</el-button>
|
<el-button type="text" @click="cancel">取消</el-button>
|
||||||
<el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
|
<el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -47,10 +56,29 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: false, dialog: false,
|
loading: false, dialog: false,
|
||||||
|
options:[
|
||||||
|
{
|
||||||
|
value:0,
|
||||||
|
label:'首页轮播图',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value:1,
|
||||||
|
label:'品牌馆轮播图',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value:2,
|
||||||
|
label:'优惠券轮播图',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value:3,
|
||||||
|
label:'活动专区轮播图',
|
||||||
|
},
|
||||||
|
],
|
||||||
form: {
|
form: {
|
||||||
id: '',
|
id: '',
|
||||||
groupName: 'zsw_home_banner',
|
groupName: 'zsw_home_banner',
|
||||||
name: '',
|
name: '',
|
||||||
|
type:0,
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
uniapp_url: '',
|
uniapp_url: '',
|
||||||
@@ -118,6 +146,7 @@ export default {
|
|||||||
id: '',
|
id: '',
|
||||||
groupName: 'zsw_home_banner',
|
groupName: 'zsw_home_banner',
|
||||||
name: '',
|
name: '',
|
||||||
|
type:'',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
uniapp_url: '',
|
uniapp_url: '',
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
||||||
<el-table-column prop="id" label="ID" />
|
<el-table-column prop="id" label="ID" />
|
||||||
<el-table-column prop="map.name" label="标题" />
|
<el-table-column prop="map.name" label="标题" />
|
||||||
|
<el-table-column prop="map.type" label="轮播类型" :formatter="Formatter" />
|
||||||
<el-table-column prop="map.url" label="链接url" />
|
<el-table-column prop="map.url" label="链接url" />
|
||||||
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
||||||
<el-table-column ref="table" label="图片">
|
<el-table-column ref="table" label="图片">
|
||||||
@@ -87,6 +88,17 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
Formatter(row,colum,cellValue){
|
||||||
|
console.log(cellValue,'row')
|
||||||
|
switch (cellValue)
|
||||||
|
{
|
||||||
|
case 0: return "首页轮播图"
|
||||||
|
case 1: return "品牌馆轮播图"
|
||||||
|
case 2: return "优惠券轮播图"
|
||||||
|
case 3: return "活动专区轮播图"
|
||||||
|
default: return "首页轮播图"
|
||||||
|
}
|
||||||
|
},
|
||||||
checkPermission,
|
checkPermission,
|
||||||
beforeInit() {
|
beforeInit() {
|
||||||
this.url = 'bxg/api/yxSystemGroupData'
|
this.url = 'bxg/api/yxSystemGroupData'
|
||||||
@@ -123,6 +135,7 @@ export default {
|
|||||||
id: data.id,
|
id: data.id,
|
||||||
groupName: data.groupName,
|
groupName: data.groupName,
|
||||||
name: data.map.name,
|
name: data.map.name,
|
||||||
|
type: data.map.type,
|
||||||
url: data.map.url,
|
url: data.map.url,
|
||||||
wxapp_url: data.map.wxapp_url,
|
wxapp_url: data.map.wxapp_url,
|
||||||
uniapp_url: data.map.uniapp_url,
|
uniapp_url: data.map.uniapp_url,
|
||||||
|
|||||||
@@ -0,0 +1,130 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!--工具栏-->
|
||||||
|
<div class="head-container">
|
||||||
|
<!-- 新增 -->
|
||||||
|
<div style="display: inline-block;margin: 0px 2px;">
|
||||||
|
<el-button
|
||||||
|
v-permission="['admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_CREATE']"
|
||||||
|
class="filter-item"
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
@click="add"
|
||||||
|
>新增</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--表单组件-->
|
||||||
|
<eForm ref="form" :is-add="isAdd" />
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table v-loading="loading" :data="data" size="small" style="width: 100%;">
|
||||||
|
<el-table-column prop="id" label="ID" />
|
||||||
|
<el-table-column prop="map.problem" label="问题" />
|
||||||
|
<el-table-column prop="map.answer" label="答案" width="300" type="textarea" />
|
||||||
|
<el-table-column label="状态" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>
|
||||||
|
<el-tag v-if="scope.row.status === 1" style="cursor: pointer" :type="''">显示</el-tag>
|
||||||
|
<el-tag v-else style="cursor: pointer" :type=" 'info' ">不显示</el-tag>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="checkPermission(['admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_EDIT','YXSYSTEMGROUPDATA_DELETE'])" label="操作" width="150px" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button v-permission="['admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_EDIT']" size="mini" type="primary" icon="el-icon-edit" @click="edit(scope.row)" />
|
||||||
|
<el-popover
|
||||||
|
:ref="scope.row.id"
|
||||||
|
v-permission="['admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_DELETE']"
|
||||||
|
placement="top"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
|
<p>确定删除本条数据吗?</p>
|
||||||
|
<div style="text-align: right; margin: 0">
|
||||||
|
<el-button size="mini" type="text" @click="$refs[scope.row.id].doClose()">取消</el-button>
|
||||||
|
<el-button :loading="delLoading" type="primary" size="mini" @click="subDelete(scope.row.id)">确定</el-button>
|
||||||
|
</div>
|
||||||
|
<el-button slot="reference" type="danger" icon="el-icon-delete" size="mini" />
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<el-pagination
|
||||||
|
:total="total"
|
||||||
|
:current-page="page + 1"
|
||||||
|
style="margin-top: 8px;"
|
||||||
|
layout="total, prev, pager, next, sizes"
|
||||||
|
@size-change="sizeChange"
|
||||||
|
@current-change="pageChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import checkPermission from '@/utils/permission'
|
||||||
|
import initData from '@/mixins/crud'
|
||||||
|
import { del } from '@/api/bxg/yxSystemGroupData'
|
||||||
|
import eForm from './problemform'
|
||||||
|
export default {
|
||||||
|
components: { eForm },
|
||||||
|
mixins: [initData],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
delLoading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
checkPermission,
|
||||||
|
beforeInit() {
|
||||||
|
this.url = 'bxg/api/yxSystemGroupData'
|
||||||
|
const sort = 'id,desc'
|
||||||
|
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'zsw_home_problem' }
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
subDelete(id) {
|
||||||
|
this.delLoading = true
|
||||||
|
del(id).then(res => {
|
||||||
|
this.delLoading = false
|
||||||
|
this.$refs[id].doClose()
|
||||||
|
this.dleChangePage()
|
||||||
|
this.init()
|
||||||
|
this.$notify({
|
||||||
|
title: '删除成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2500
|
||||||
|
})
|
||||||
|
}).catch(err => {
|
||||||
|
this.delLoading = false
|
||||||
|
this.$refs[id].doClose()
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
add() {
|
||||||
|
this.isAdd = true
|
||||||
|
this.$refs.form.dialog = true
|
||||||
|
},
|
||||||
|
edit(data) {
|
||||||
|
this.isAdd = false
|
||||||
|
const _this = this.$refs.form
|
||||||
|
_this.form = {
|
||||||
|
id: data.id,
|
||||||
|
groupName: data.groupName,
|
||||||
|
problem: data.map.problem,
|
||||||
|
answer: data.map.answer,
|
||||||
|
sort: data.map.sort,
|
||||||
|
status: data.map.status,
|
||||||
|
}
|
||||||
|
_this.dialog = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px">
|
||||||
|
<el-form-item label="问题">
|
||||||
|
<el-input v-model="form.problem" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="回答">
|
||||||
|
<el-input v-model="form.answer" style="width: 300px;" type="textarea" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序">
|
||||||
|
<el-input v-model="form.sort" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否显示">
|
||||||
|
<el-radio v-model="form.status" :label="1">是</el-radio>
|
||||||
|
<el-radio v-model="form.status" :label="0" style="width: 200px;">否</el-radio>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<!--<el-input v-model="form.groupName" />-->
|
||||||
|
<el-button type="text" @click="cancel">取消</el-button>
|
||||||
|
<el-button :loading="loading" type="primary" @click="doSubmit">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { add, edit } from '@/api/bxg/yxSystemGroupData'
|
||||||
|
import picUpload from '@/components/pic-upload'
|
||||||
|
import MaterialList from '@/components/material'
|
||||||
|
export default {
|
||||||
|
components: { picUpload, MaterialList },
|
||||||
|
props: {
|
||||||
|
isAdd: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false, dialog: false,
|
||||||
|
form: {
|
||||||
|
id: '',
|
||||||
|
groupName: 'zsw_home_problem',
|
||||||
|
problem: '',
|
||||||
|
answer: '',
|
||||||
|
sort: 0,
|
||||||
|
status: 1,
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
cancel() {
|
||||||
|
this.resetForm()
|
||||||
|
},
|
||||||
|
doSubmit() {
|
||||||
|
this.loading = true
|
||||||
|
if (this.isAdd) {
|
||||||
|
this.doAdd()
|
||||||
|
} else this.doEdit()
|
||||||
|
},
|
||||||
|
doAdd() {
|
||||||
|
add(this.form).then(res => {
|
||||||
|
this.resetForm()
|
||||||
|
this.$notify({
|
||||||
|
title: '添加成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2500
|
||||||
|
})
|
||||||
|
this.loading = false
|
||||||
|
this.$parent.init()
|
||||||
|
}).catch(err => {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
doEdit() {
|
||||||
|
edit(this.form).then(res => {
|
||||||
|
this.resetForm()
|
||||||
|
this.$notify({
|
||||||
|
title: '修改成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2500
|
||||||
|
})
|
||||||
|
this.loading = false
|
||||||
|
this.$parent.init()
|
||||||
|
}).catch(err => {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetForm() {
|
||||||
|
this.dialog = false
|
||||||
|
this.$refs['form'].resetFields()
|
||||||
|
this.form = {
|
||||||
|
id: '',
|
||||||
|
groupName: 'zsw_home_problem',
|
||||||
|
problem: '',
|
||||||
|
answer: '',
|
||||||
|
sort: 0,
|
||||||
|
status: 1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -14,7 +14,8 @@
|
|||||||
<el-input v-model="form.phone" style="width: 370px;" />
|
<el-input v-model="form.phone" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户积分">
|
<el-form-item label="用户积分">
|
||||||
<el-input v-model="form.integral" style="width: 370px;" />
|
<el-input v-model="form.integral" style="width: 370px;"
|
||||||
|
type="number" oninput="if(value>999999)value=999999"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商户管理">
|
<el-form-item label="商户管理">
|
||||||
<el-radio v-model="form.adminid" :label="1">开启</el-radio>
|
<el-radio v-model="form.adminid" :label="1">开启</el-radio>
|
||||||
@@ -75,6 +76,9 @@ export default {
|
|||||||
loginType: ''
|
loginType: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
integral: [
|
||||||
|
{ type: 'number', min: 0, max: 999999, message: '最大只能是999999', trigger: 'blur' }
|
||||||
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,24 +5,32 @@
|
|||||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||||
<crudOperation :permission="permission" />
|
<crudOperation :permission="permission" />
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
<el-dialog :destroy-on-close="true" :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
<!-- <el-form-item label="榜单列表ID">-->
|
<!-- <el-form-item label="榜单列表ID">-->
|
||||||
<!-- <el-input v-model="form.id" style="width: 370px;" />-->
|
<!-- <el-input v-model="form.id" style="width: 370px;" />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<el-form-item label="榜单名称" prop="listName">
|
<el-form-item label="榜单名称" prop="listName">
|
||||||
<el-input v-model="form.listName" style="width: 370px;" />
|
<el-input v-model="form.listName" style="width: 380px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品列表">
|
<el-form-item label="商品列表">
|
||||||
<el-cascader
|
<el-input style="width: 200px;" v-model="product" v-if="productNameList.length==0"
|
||||||
|
:readonly="true" @click.native="changeShow=!changeShow" placeholder="点击选择商品或收起商品列表">
|
||||||
|
</el-input>
|
||||||
|
<div v-else style="border:#c3c3c3 1px solid;border-radius:3px;margin-bottom:2px;padding-left:17px" @click="changeShow=!changeShow">
|
||||||
|
<div v-for="(item,index) in this.productNameList">
|
||||||
|
<span>top{{index+1}}:{{item}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-cascader-panel
|
||||||
|
v-if="changeShow"
|
||||||
:props="props"
|
:props="props"
|
||||||
clearable
|
|
||||||
@change="cascaderChange($event)"
|
@change="cascaderChange($event)"
|
||||||
v-model="productList"
|
v-model="productList"
|
||||||
placeholder="多选,按选择顺序排序"
|
placeholder="多选,按选择顺序排序"
|
||||||
:options="cateList"
|
:options="cateList"
|
||||||
ref="quitCascader"
|
ref="quitCascader"
|
||||||
filterable></el-cascader>
|
filterable></el-cascader-panel>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="是否显示">
|
<el-form-item label="是否显示">
|
||||||
@@ -33,7 +41,7 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="排序">
|
<el-form-item label="排序">
|
||||||
<el-input v-model="form.sort" style="width: 370px;" type="number" />
|
<el-input v-model="form.sort" style="width: 380px;" type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="添加时间">-->
|
<!-- <el-form-item label="添加时间">-->
|
||||||
<!-- <el-input v-model="form.createTime" style="width: 370px;" />-->
|
<!-- <el-input v-model="form.createTime" style="width: 370px;" />-->
|
||||||
@@ -123,6 +131,9 @@ export default {
|
|||||||
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
|
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
product:'',
|
||||||
|
productNameList:[],
|
||||||
|
changeShow:false,
|
||||||
oldProductList:[],
|
oldProductList:[],
|
||||||
props: { multiple: true },
|
props: { multiple: true },
|
||||||
productList:[],
|
productList:[],
|
||||||
@@ -144,17 +155,22 @@ export default {
|
|||||||
this.getInfo();
|
this.getInfo();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
cancel(){
|
||||||
|
this.productNameList=[]
|
||||||
|
},
|
||||||
cascaderChange(val) {
|
cascaderChange(val) {
|
||||||
this.productList=[]
|
this.productList=[]
|
||||||
let productList=[]
|
this.productNameList=[];
|
||||||
productList=this.getCascader(val,this.oldProductList);
|
let productList=[];
|
||||||
|
productList=this.getCascader(val,this.oldProductList,this.$refs.quitCascader.getCheckedNodes(true));
|
||||||
this.productList = productList //回显的数据
|
this.productList = productList //回显的数据
|
||||||
this.oldProductList=productList;
|
this.oldProductList=productList;
|
||||||
this.form.productList=JSON.stringify(this.productList.map(item=>item[1]));
|
console.log('val',val,'element',productList,'Nodes',this.$refs.quitCascader.getCheckedNodes(true))
|
||||||
|
this.form.productList=JSON.stringify(this.productList.map(item=>item[1]));
|
||||||
},
|
},
|
||||||
getCascader(newVal,oldVal) {
|
getCascader(newVal,oldVal,Nodes) {
|
||||||
let productList = []
|
let productList = []
|
||||||
console.log('val',newVal,'element',oldVal)
|
// console.log('val',newVal,'element',oldVal,'Nodes',Nodes)
|
||||||
//这次只选了一个,返回选择的
|
//这次只选了一个,返回选择的
|
||||||
if(newVal.length <= 1) {
|
if(newVal.length <= 1) {
|
||||||
productList=newVal;
|
productList=newVal;
|
||||||
@@ -180,7 +196,6 @@ export default {
|
|||||||
let diff = newValList.concat(oldValList).filter((value, index, arr) => {
|
let diff = newValList.concat(oldValList).filter((value, index, arr) => {
|
||||||
return arr.indexOf(value) === arr.lastIndexOf(value)
|
return arr.indexOf(value) === arr.lastIndexOf(value)
|
||||||
});
|
});
|
||||||
// console.log('newValList',newValList,oldValList,diff)
|
|
||||||
newVal.forEach((item)=> {
|
newVal.forEach((item)=> {
|
||||||
diff.forEach(ele=>{
|
diff.forEach(ele=>{
|
||||||
if(item[1]==ele) {
|
if(item[1]==ele) {
|
||||||
@@ -189,8 +204,20 @@ export default {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
productList=oldVal
|
productList=oldVal
|
||||||
console.log('productList',productList)
|
|
||||||
}
|
}
|
||||||
|
console.log('val',newVal,'productList',productList)
|
||||||
|
let productNameList=[];
|
||||||
|
productList.forEach(ele=>{
|
||||||
|
Nodes.forEach(item=>{
|
||||||
|
if (item.value==ele[1]){
|
||||||
|
// productNameList=item.parent.label+'/'+item.label+productNameList;
|
||||||
|
console.log('item.parent.label+\'/\'+item.label',item.parent.label+'/'+item.label)
|
||||||
|
productNameList.push(item.parent.label+'/'+item.label)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
console.log('productList',productNameList)
|
||||||
|
this.productNameList=productNameList;
|
||||||
return productList;
|
return productList;
|
||||||
},
|
},
|
||||||
change(val){
|
change(val){
|
||||||
@@ -231,15 +258,19 @@ export default {
|
|||||||
return true
|
return true
|
||||||
}, // 新增与编辑前做的操作
|
}, // 新增与编辑前做的操作
|
||||||
[CRUD.HOOK.afterToCU](crud, form) {
|
[CRUD.HOOK.afterToCU](crud, form) {
|
||||||
|
this.changeShow=false;
|
||||||
|
this.productNameList=[];
|
||||||
|
this.productList=[];
|
||||||
if (form.productList && form.id) {
|
if (form.productList && form.id) {
|
||||||
let data=JSON.parse(this.form.productList)
|
let data=JSON.parse(this.form.productList)
|
||||||
console.log('data',data)
|
console.log('data',data)
|
||||||
|
let productNameList=[]
|
||||||
data.forEach(item=>{
|
data.forEach(item=>{
|
||||||
let product=[Number(item.cateId),Number(item.id)]
|
let product=[Number(item.cateId),Number(item.id)]
|
||||||
this.productList.push(product)
|
this.productList.push(product)
|
||||||
|
productNameList.push(item.storeName)
|
||||||
})
|
})
|
||||||
// product=select
|
this.productNameList=productNameList;
|
||||||
console.log( '111',this.productList,typeof(this.product));
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
||||||
|
<el-form-item label="Webhook地址">
|
||||||
|
<el-input v-model="form.robotUrl" style="width: 800px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="">
|
||||||
|
<el-button type="primary" @click="doSubmit">提交</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import checkPermission from '@/utils/permission'
|
||||||
|
import initData from '@/mixins/crud'
|
||||||
|
import { del, add, get } from '@/api/bxg/yxSystemConfig'
|
||||||
|
import eForm from './form'
|
||||||
|
import picUpload from '@/components/pic-upload'
|
||||||
|
import { Message } from 'element-ui'
|
||||||
|
import fileUpload from '@/components/file-upload'
|
||||||
|
export default {
|
||||||
|
components: { eForm, picUpload, fileUpload },
|
||||||
|
mixins: [initData],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
delLoading: false,
|
||||||
|
form: {
|
||||||
|
robotUrl:''
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
get().then(rese => {
|
||||||
|
const that = this
|
||||||
|
rese.content.map(function(key, value) {
|
||||||
|
const keyName = key.menuName
|
||||||
|
const newValue = key.value
|
||||||
|
if(keyName in that.form){
|
||||||
|
that.form[keyName] = newValue
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
checkPermission,
|
||||||
|
doSubmit() {
|
||||||
|
add(this.form).then(res => {
|
||||||
|
Message({ message: '设置成功', type: 'success' })
|
||||||
|
}).catch(err => {
|
||||||
|
// this.loading = false
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -21,7 +21,6 @@
|
|||||||
:options="cateList"
|
:options="cateList"
|
||||||
filterable></el-cascader>
|
filterable></el-cascader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="评测介绍">
|
<el-form-item label="评测介绍">
|
||||||
<el-input v-model="form.synopsis" type="textarea" style="width: 370px;" />
|
<el-input v-model="form.synopsis" type="textarea" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -36,23 +35,30 @@
|
|||||||
<!-- <el-input v-model="form.homeImage" style="width: 370px;" />-->
|
<!-- <el-input v-model="form.homeImage" style="width: 370px;" />-->
|
||||||
<MaterialList v-model="picArr" type="image" :num="1" :width="250" :height="150" />
|
<MaterialList v-model="picArr" type="image" :num="1" :width="250" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="产品展示文字">
|
<!-- <el-form-item label="图文配置" >-->
|
||||||
|
<el-tabs v-model="activeName" type="card" @tab-click="handleClick" style="padding-left:250px">
|
||||||
|
<el-tab-pane label="产品展示栏" name="first"></el-tab-pane>
|
||||||
|
<el-tab-pane label="实用感受栏" name="second"></el-tab-pane>
|
||||||
|
<el-tab-pane label="易用感受栏" name="third"></el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<el-form-item label="产品展示文字" v-if="activeName=='first'">
|
||||||
<el-input v-model="form.displaySynopsis" type="textarea" style="width: 370px;" />
|
<el-input v-model="form.displaySynopsis" type="textarea" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="产品展示图集">
|
<el-form-item label="产品展示图集" v-if="activeName=='first'">
|
||||||
<!-- <el-input v-model="form.displayImage" style="width: 370px;" />-->
|
<!-- <el-input v-model="form.displayImage" style="width: 370px;" />-->
|
||||||
<MaterialList v-model="picArr1" type="image" :num="4" :width="150" :height="150" />
|
<MaterialList v-model="picArr1" type="image" :num="4" :width="150" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实用感受文字">
|
<el-form-item label="实用感受文字" v-if="activeName=='second'">
|
||||||
<el-input v-model="form.feelSynopsis" type="textarea" style="width: 370px;" />
|
<el-input v-model="form.feelSynopsis" type="textarea" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="实用感受图集">
|
<el-form-item label="实用感受图集" v-if="activeName=='second'">
|
||||||
<MaterialList v-model="picArr2" type="image" :num="4" :width="150" :height="150" />
|
<MaterialList v-model="picArr2" type="image" :num="4" :width="150" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="易用感受文字">
|
<el-form-item label="易用感受文字" v-if="activeName=='third'">
|
||||||
<el-input v-model="form.accessibilitySynopsis" type="textarea" style="width: 370px;" />
|
<el-input v-model="form.accessibilitySynopsis" type="textarea" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="易用感受图集">
|
<el-form-item label="易用感受图集" v-if="activeName=='third'">
|
||||||
<!-- <el-input v-model="form.accessibilityImage" style="width: 370px;" />-->
|
<!-- <el-input v-model="form.accessibilityImage" style="width: 370px;" />-->
|
||||||
<MaterialList v-model="picArr3" type="image" :num="4" :width="150" :height="150" />
|
<MaterialList v-model="picArr3" type="image" :num="4" :width="150" :height="150" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -62,14 +68,10 @@
|
|||||||
<el-radio :label="0">隐藏</el-radio>
|
<el-radio :label="0">隐藏</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="排序" prop="sort">
|
<el-form-item label="排序" prop="sort">
|
||||||
<el-input v-model="form.sort" style="width: 370px;" type="number" />
|
<el-input v-model="form.sort" style="width: 370px;" type="number" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item label="tenantId">-->
|
|
||||||
<!-- <el-input v-model="form.tenantId" style="width: 370px;" />-->
|
|
||||||
<!-- </el-form-item>-->
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
@@ -158,6 +160,7 @@ export default {
|
|||||||
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
|
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
activeName:'first',
|
||||||
product:[],
|
product:[],
|
||||||
//分类列表
|
//分类列表
|
||||||
cateList:[],
|
cateList:[],
|
||||||
@@ -260,6 +263,9 @@ export default {
|
|||||||
this.getInfo();
|
this.getInfo();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleClick(tab, event) {
|
||||||
|
console.log(tab, event);
|
||||||
|
},
|
||||||
// // 根据id获取商品名,因为异步同步无法实现
|
// // 根据id获取商品名,因为异步同步无法实现
|
||||||
// getProductName(value){
|
// getProductName(value){
|
||||||
// console.log(value,'value')
|
// console.log(value,'value')
|
||||||
|
|||||||
Reference in New Issue
Block a user