产品管理基础代码
This commit is contained in:
parent
02a7105f26
commit
86e3cee234
34233
package-lock.json
generated
34233
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
112
src/api/crud/leaveWord.js
Normal file
112
src/api/crud/leaveWord.js
Normal file
@ -0,0 +1,112 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import request from '@/libs/request';
|
||||
|
||||
/**
|
||||
* 获取列表数据
|
||||
* @param params
|
||||
* @return {*}
|
||||
*/
|
||||
export function getLeaveWordListApi(params) {
|
||||
return request({
|
||||
url: 'crud/leave_word',
|
||||
method: 'get',
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取添加表单数据
|
||||
* @return {*}
|
||||
*/
|
||||
export function getLeaveWordCreateApi() {
|
||||
return request({
|
||||
url: 'crud/leave_word/create',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加数据
|
||||
* @param data
|
||||
* @return {*}
|
||||
*/
|
||||
export function leaveWordSaveApi(data) {
|
||||
return request({
|
||||
url: 'crud/leave_word',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编辑表单数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getLeaveWordEditApi(id) {
|
||||
return request({
|
||||
url: `crud/leave_word/${id}/edit`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function leaveWordUpdateApi(id, data) {
|
||||
return request({
|
||||
url: `crud/leave_word/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function leaveWordStatusApi(id, data) {
|
||||
return request({
|
||||
url: `crud/leave_word/status/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function leaveWordDeleteApi(id) {
|
||||
return request({
|
||||
url: `crud/leave_word/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getLeaveWordReadApi(id) {
|
||||
return request({
|
||||
url: `crud/leave_word/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
|
112
src/api/crud/shareList.js
Normal file
112
src/api/crud/shareList.js
Normal file
@ -0,0 +1,112 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import request from '@/libs/request';
|
||||
|
||||
/**
|
||||
* 获取列表数据
|
||||
* @param params
|
||||
* @return {*}
|
||||
*/
|
||||
export function getShareListListApi(params) {
|
||||
return request({
|
||||
url: 'crud/share_list',
|
||||
method: 'get',
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取添加表单数据
|
||||
* @return {*}
|
||||
*/
|
||||
export function getShareListCreateApi() {
|
||||
return request({
|
||||
url: 'crud/share_list/create',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加数据
|
||||
* @param data
|
||||
* @return {*}
|
||||
*/
|
||||
export function shareListSaveApi(data) {
|
||||
return request({
|
||||
url: 'crud/share_list',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编辑表单数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getShareListEditApi(id) {
|
||||
return request({
|
||||
url: `crud/share_list/${id}/edit`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function shareListUpdateApi(id, data) {
|
||||
return request({
|
||||
url: `crud/share_list/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function shareListStatusApi(id, data) {
|
||||
return request({
|
||||
url: `crud/share_list/status/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function shareListDeleteApi(id) {
|
||||
return request({
|
||||
url: `crud/share_list/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getShareListReadApi(id) {
|
||||
return request({
|
||||
url: `crud/share_list/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
|
112
src/api/crud/websiteProducts.js
Normal file
112
src/api/crud/websiteProducts.js
Normal file
@ -0,0 +1,112 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import request from '@/libs/request';
|
||||
|
||||
/**
|
||||
* 获取列表数据
|
||||
* @param params
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsListApi(params) {
|
||||
return request({
|
||||
url: 'crud/website_products',
|
||||
method: 'get',
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取添加表单数据
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsCreateApi() {
|
||||
return request({
|
||||
url: 'crud/website_products/create',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加数据
|
||||
* @param data
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsSaveApi(data) {
|
||||
return request({
|
||||
url: 'crud/website_products',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编辑表单数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsEditApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products/${id}/edit`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsUpdateApi(id, data) {
|
||||
return request({
|
||||
url: `crud/website_products/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsStatusApi(id, data) {
|
||||
return request({
|
||||
url: `crud/website_products/status/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsDeleteApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsReadApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
|
112
src/api/crud/websiteProductsMessage.js
Normal file
112
src/api/crud/websiteProductsMessage.js
Normal file
@ -0,0 +1,112 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import request from '@/libs/request';
|
||||
|
||||
/**
|
||||
* 获取列表数据
|
||||
* @param params
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsMessageListApi(params) {
|
||||
return request({
|
||||
url: 'crud/website_products_message',
|
||||
method: 'get',
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取添加表单数据
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsMessageCreateApi() {
|
||||
return request({
|
||||
url: 'crud/website_products_message/create',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加数据
|
||||
* @param data
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsMessageSaveApi(data) {
|
||||
return request({
|
||||
url: 'crud/website_products_message',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取编辑表单数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsMessageEditApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products_message/${id}/edit`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsMessageUpdateApi(id, data) {
|
||||
return request({
|
||||
url: `crud/website_products_message/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改状态
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsMessageStatusApi(id, data) {
|
||||
return request({
|
||||
url: `crud/website_products_message/status/${id}`,
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function websiteProductsMessageDeleteApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products_message/${id}`,
|
||||
method: 'delete'
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据
|
||||
* @param id
|
||||
* @return {*}
|
||||
*/
|
||||
export function getWebsiteProductsMessageReadApi(id) {
|
||||
return request({
|
||||
url: `crud/website_products_message/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
|
224
src/pages/crud/leaveWord/index.vue
Normal file
224
src/pages/crud/leaveWord/index.vue
Normal file
@ -0,0 +1,224 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card shadow="never" class="ivu-mt" :body-style="{padding:0}">
|
||||
<div class="padding-add">
|
||||
<el-form
|
||||
ref="curlFrom"
|
||||
:model="from"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
inline
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="姓名:" label-for="name">
|
||||
<el-input
|
||||
v-model="from.name"
|
||||
placeholder="请输入姓名"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="联系方式:" label-for="mobile">
|
||||
<el-input
|
||||
v-model="from.mobile"
|
||||
placeholder="请输入联系方式"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="留言:" label-for="content">
|
||||
<el-input
|
||||
v-model="from.content"
|
||||
placeholder="请输入留言"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="添加时间:">
|
||||
<el-date-picker
|
||||
:editable="false"
|
||||
clearabl
|
||||
@change="searchs"
|
||||
v-model="from.create_time"
|
||||
format="yyyy/MM/dd"
|
||||
type="daterange"
|
||||
value-format="yyyy/MM/dd"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width:250px;"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="searchs">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" dis-hover class="ivu-mt mt16">
|
||||
<el-row type="flex">
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['leave_word-add']" type="primary" icon="md-add" @click="add">添加</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column prop="name" label="姓名">
|
||||
</el-table-column>
|
||||
<el-table-column prop="mobile" label="联系方式">
|
||||
</el-table-column>
|
||||
<el-table-column prop="content" label="留言">
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<a @click="show(scope.row)">详情</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="edit(scope.row.id)">修改</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="del(scope.row, '删除', scope.$index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<pagination :total="total" @pagination="pageChange" :limit.sync="from.limit" :page.sync="from.page" />
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="查看详情" :visible.sync="dialogTableVisible" v-if='dialogTableVisible'>
|
||||
<el-descriptions title="leave_word">
|
||||
<el-descriptions-item label="">{{info.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">{{info.name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系方式">{{info.mobile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="留言">{{info.content}}</el-descriptions-item>
|
||||
<el-descriptions-item label="添加时间">{{info.create_time}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
import { leaveWordSaveApi, leaveWordStatusApi, leaveWordDeleteApi, leaveWordUpdateApi, getLeaveWordCreateApi, getLeaveWordEditApi, getLeaveWordListApi, getLeaveWordReadApi} from '@/api/crud/leaveWord';
|
||||
export default {
|
||||
name: 'leave_word',
|
||||
data() {
|
||||
return {
|
||||
grid: {
|
||||
xl: 7,
|
||||
lg: 7,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
loading: false,
|
||||
from: {
|
||||
name:'',
|
||||
mobile:'',
|
||||
content:'',
|
||||
create_time:'',
|
||||
page: 1,
|
||||
limit: 15,
|
||||
},
|
||||
dataList: [],
|
||||
total: 0,
|
||||
dialogTableVisible: false,
|
||||
info: {},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
show(row) {
|
||||
getLeaveWordReadApi(row.id).then(res => {
|
||||
this.dialogTableVisible = true;
|
||||
this.info = res.data;
|
||||
}).catch(res => {
|
||||
this.$Message.error(res.msg);
|
||||
})
|
||||
},
|
||||
//修改状态
|
||||
updateStatus(row, field) {
|
||||
leaveWordStatusApi(row.id, {field: field, value: row[field]})
|
||||
.then(async (res) => {
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
add() {
|
||||
this.$modalForm(getLeaveWordCreateApi()).then(() => this.getList());
|
||||
},
|
||||
// 表格搜索
|
||||
searchs() {
|
||||
this.from.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
//列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getLeaveWordListApi(this.from)
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.dataList = data.list;
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//分页
|
||||
pageChange(index) {
|
||||
this.from.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改
|
||||
edit(id) {
|
||||
this.$modalForm(getLeaveWordEditApi(id)).then(() => this.getList());
|
||||
},
|
||||
// 删除
|
||||
del(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
num: num,
|
||||
url: `crud/leave_word/${row.id}`,
|
||||
method: 'DELETE',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="stylus"></style>
|
180
src/pages/crud/shareList/index.vue
Normal file
180
src/pages/crud/shareList/index.vue
Normal file
@ -0,0 +1,180 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<el-card shadow="never" dis-hover class="ivu-mt ">
|
||||
<el-row type="flex">
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['share_list-add']" type="primary" icon="md-add" @click="add">添加</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column prop="name" label="名称">
|
||||
</el-table-column>
|
||||
<el-table-column prop="link" label="分享链接">
|
||||
</el-table-column>
|
||||
<el-table-column label="图标">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.img" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="蓝色图标">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.img_two" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="sort" label="排序">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<a @click="show(scope.row)">详情</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="edit(scope.row.id)">修改</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="del(scope.row, '删除', scope.$index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<pagination :total="total" @pagination="pageChange" :limit.sync="from.limit" :page.sync="from.page" />
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="查看详情" :visible.sync="dialogTableVisible" v-if='dialogTableVisible'>
|
||||
<el-descriptions title="share_list">
|
||||
<el-descriptions-item label="自增ID">{{info.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="名称">{{info.name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="分享链接">{{info.link}}</el-descriptions-item>
|
||||
<el-descriptions-item label="图标"><el-image :src="info.img" :preview-src-list="info.img"></el-descriptions-item>
|
||||
<el-descriptions-item label="蓝色图标"><el-image :src="info.img_two" :preview-src-list="info.img_two"></el-descriptions-item>
|
||||
<el-descriptions-item label="排序">{{info.sort}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
import { shareListSaveApi, shareListStatusApi, shareListDeleteApi, shareListUpdateApi, getShareListCreateApi, getShareListEditApi, getShareListListApi, getShareListReadApi} from '@/api/crud/shareList';
|
||||
export default {
|
||||
name: 'share_list',
|
||||
data() {
|
||||
return {
|
||||
grid: {
|
||||
xl: 7,
|
||||
lg: 7,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
loading: false,
|
||||
from: {
|
||||
page: 1,
|
||||
limit: 15,
|
||||
},
|
||||
dataList: [],
|
||||
total: 0,
|
||||
dialogTableVisible: false,
|
||||
info: {},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
show(row) {
|
||||
getShareListReadApi(row.id).then(res => {
|
||||
this.dialogTableVisible = true;
|
||||
this.info = res.data;
|
||||
}).catch(res => {
|
||||
this.$Message.error(res.msg);
|
||||
})
|
||||
},
|
||||
//修改状态
|
||||
updateStatus(row, field) {
|
||||
shareListStatusApi(row.id, {field: field, value: row[field]})
|
||||
.then(async (res) => {
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
add() {
|
||||
this.$modalForm(getShareListCreateApi()).then(() => this.getList());
|
||||
},
|
||||
// 表格搜索
|
||||
searchs() {
|
||||
this.from.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
//列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getShareListListApi(this.from)
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.dataList = data.list;
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//分页
|
||||
pageChange(index) {
|
||||
this.from.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改
|
||||
edit(id) {
|
||||
this.$modalForm(getShareListEditApi(id)).then(() => this.getList());
|
||||
},
|
||||
// 删除
|
||||
del(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
num: num,
|
||||
url: `crud/share_list/${row.id}`,
|
||||
method: 'DELETE',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="stylus"></style>
|
253
src/pages/crud/websiteProducts/index.vue
Normal file
253
src/pages/crud/websiteProducts/index.vue
Normal file
@ -0,0 +1,253 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card shadow="never" class="ivu-mt" :body-style="{padding:0}">
|
||||
<div class="padding-add">
|
||||
<el-form
|
||||
ref="curlFrom"
|
||||
:model="from"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
inline
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="标题:" label-for="title">
|
||||
<el-input
|
||||
v-model="from.title"
|
||||
placeholder="请输入标题"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="英文标题:" label-for="en_title">
|
||||
<el-input
|
||||
v-model="from.en_title"
|
||||
placeholder="请输入英文标题"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="简介:" label-for="profile">
|
||||
<el-input
|
||||
v-model="from.profile"
|
||||
placeholder="请输入简介"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="英文简介:" label-for="en_profile">
|
||||
<el-input
|
||||
v-model="from.en_profile"
|
||||
placeholder="请输入英文简介"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="产品详情:" label-for="content">
|
||||
<el-input
|
||||
v-model="from.content"
|
||||
placeholder="请输入产品详情"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="英文产品详情:" label-for="en_content">
|
||||
<el-input
|
||||
v-model="from.en_content"
|
||||
placeholder="请输入英文产品详情"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="searchs">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" dis-hover class="ivu-mt mt16">
|
||||
<el-row type="flex">
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['website_products-add']" type="primary" icon="md-add" @click="add">添加</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column label="列表头图">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="scope.row.image" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="轮播图">
|
||||
<template slot-scope="scope">
|
||||
<div class="tabBox_img" v-viewer>
|
||||
<img v-lazy="img" v-for="img in scope.row.images_label" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="title" label="标题">
|
||||
</el-table-column>
|
||||
<el-table-column prop="en_title" label="英文标题">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<a @click="show(scope.row)">详情</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="edit(scope.row.id)">修改</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="del(scope.row, '删除', scope.$index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<pagination :total="total" @pagination="pageChange" :limit.sync="from.limit" :page.sync="from.page" />
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="查看详情" :visible.sync="dialogTableVisible" v-if='dialogTableVisible'>
|
||||
<el-descriptions title="website_products">
|
||||
<el-descriptions-item label="自增ID">{{info.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="列表头图"><el-image :src="info.image" :preview-src-list="info.image" /></el-descriptions-item>
|
||||
<el-descriptions-item label="详情轮播图"><el-image v-for="item in info.images_label" :src="item" :preview-src-list="info.images_label" /></el-descriptions-item>
|
||||
<el-descriptions-item label="标题">{{info.title}}</el-descriptions-item>
|
||||
<el-descriptions-item label="英文标题">{{info.en_title}}</el-descriptions-item>
|
||||
<el-descriptions-item label="简介">{{info.profile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="英文简介">{{info.en_profile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="产品详情">{{info.content}}</el-descriptions-item>
|
||||
<el-descriptions-item label="英文产品详情">{{info.en_content}}</el-descriptions-item>
|
||||
<el-descriptions-item label="添加时间">{{info.create_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="修改时间">{{info.update_time}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
import { websiteProductsSaveApi, websiteProductsStatusApi, websiteProductsDeleteApi, websiteProductsUpdateApi, getWebsiteProductsCreateApi, getWebsiteProductsEditApi, getWebsiteProductsListApi, getWebsiteProductsReadApi} from '@/api/crud/websiteProducts';
|
||||
export default {
|
||||
name: 'website_products',
|
||||
data() {
|
||||
return {
|
||||
grid: {
|
||||
xl: 7,
|
||||
lg: 7,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
loading: false,
|
||||
from: {
|
||||
title:'',
|
||||
en_title:'',
|
||||
profile:'',
|
||||
en_profile:'',
|
||||
content:'',
|
||||
en_content:'',
|
||||
page: 1,
|
||||
limit: 15,
|
||||
},
|
||||
dataList: [],
|
||||
total: 0,
|
||||
dialogTableVisible: false,
|
||||
info: {},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
show(row) {
|
||||
getWebsiteProductsReadApi(row.id).then(res => {
|
||||
this.dialogTableVisible = true;
|
||||
this.info = res.data;
|
||||
}).catch(res => {
|
||||
this.$Message.error(res.msg);
|
||||
})
|
||||
},
|
||||
//修改状态
|
||||
updateStatus(row, field) {
|
||||
websiteProductsStatusApi(row.id, {field: field, value: row[field]})
|
||||
.then(async (res) => {
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
add() {
|
||||
this.$modalForm(getWebsiteProductsCreateApi()).then(() => this.getList());
|
||||
},
|
||||
// 表格搜索
|
||||
searchs() {
|
||||
this.from.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
//列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getWebsiteProductsListApi(this.from)
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.dataList = data.list;
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//分页
|
||||
pageChange(index) {
|
||||
this.from.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改
|
||||
edit(id) {
|
||||
this.$modalForm(getWebsiteProductsEditApi(id)).then(() => this.getList());
|
||||
},
|
||||
// 删除
|
||||
del(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
num: num,
|
||||
url: `crud/website_products/${row.id}`,
|
||||
method: 'DELETE',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="stylus"></style>
|
244
src/pages/crud/websiteProductsMessage/index.vue
Normal file
244
src/pages/crud/websiteProductsMessage/index.vue
Normal file
@ -0,0 +1,244 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card shadow="never" class="ivu-mt" :body-style="{padding:0}">
|
||||
<div class="padding-add">
|
||||
<el-form
|
||||
ref="curlFrom"
|
||||
:model="from"
|
||||
:label-width="labelWidth"
|
||||
:label-position="labelPosition"
|
||||
inline
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="留言产品:" label-for="product_id">
|
||||
<el-input
|
||||
v-model="from.product_id"
|
||||
placeholder="请输入留言产品"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="姓名:" label-for="name">
|
||||
<el-input
|
||||
v-model="from.name"
|
||||
placeholder="请输入姓名"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="电子邮箱:" label-for="emil">
|
||||
<el-input
|
||||
v-model="from.emil"
|
||||
placeholder="请输入电子邮箱"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="电话:" label-for="mobile">
|
||||
<el-input
|
||||
v-model="from.mobile"
|
||||
placeholder="请输入电话"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="公司:" label-for="company">
|
||||
<el-input
|
||||
v-model="from.company"
|
||||
placeholder="请输入公司"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="主题:" label-for="subject">
|
||||
<el-input
|
||||
v-model="from.subject"
|
||||
placeholder="请输入主题"
|
||||
class="form_content_width"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="searchs">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" dis-hover class="ivu-mt mt16">
|
||||
<el-row type="flex">
|
||||
<el-col v-bind="grid">
|
||||
<el-button v-auth="['website_products_message-add']" type="primary" icon="md-add" @click="add">添加</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
ref="table"
|
||||
class="mt25"
|
||||
:loading="loading"
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column prop="product_id" label="留言产品">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="姓名">
|
||||
</el-table-column>
|
||||
<el-table-column prop="emil" label="电子邮箱">
|
||||
</el-table-column>
|
||||
<el-table-column prop="mobile" label="电话">
|
||||
</el-table-column>
|
||||
<el-table-column prop="company" label="公司">
|
||||
</el-table-column>
|
||||
<el-table-column prop="subject" label="主题">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<a @click="show(scope.row)">详情</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="edit(scope.row.id)">修改</a>
|
||||
<el-divider direction="vertical" />
|
||||
<a @click="del(scope.row, '删除 ', scope.$index)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="acea-row row-right page">
|
||||
<pagination :total="total" @pagination="pageChange" :limit.sync="from.limit" :page.sync="from.page" />
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-dialog title="查看详情" :visible.sync="dialogTableVisible" v-if='dialogTableVisible'>
|
||||
<el-descriptions title="website_products_message">
|
||||
<el-descriptions-item label="自增ID">{{info.id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="留言产品">{{info.product_id}}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">{{info.name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="电子邮箱">{{info.emil}}</el-descriptions-item>
|
||||
<el-descriptions-item label="电话">{{info.mobile}}</el-descriptions-item>
|
||||
<el-descriptions-item label="公司">{{info.company}}</el-descriptions-item>
|
||||
<el-descriptions-item label="主题">{{info.subject}}</el-descriptions-item>
|
||||
<el-descriptions-item label="内容">{{info.content}}</el-descriptions-item>
|
||||
<el-descriptions-item label="添加时间">{{info.create_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="修改时间">{{info.update_time}}</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
import { websiteProductsMessageSaveApi, websiteProductsMessageStatusApi, websiteProductsMessageDeleteApi, websiteProductsMessageUpdateApi, getWebsiteProductsMessageCreateApi, getWebsiteProductsMessageEditApi, getWebsiteProductsMessageListApi, getWebsiteProductsMessageReadApi} from '@/api/crud/websiteProductsMessage';
|
||||
export default {
|
||||
name: 'website_products_message',
|
||||
data() {
|
||||
return {
|
||||
grid: {
|
||||
xl: 7,
|
||||
lg: 7,
|
||||
md: 12,
|
||||
sm: 24,
|
||||
xs: 24,
|
||||
},
|
||||
loading: false,
|
||||
from: {
|
||||
product_id:'',
|
||||
name:'',
|
||||
emil:'',
|
||||
mobile:'',
|
||||
company:'',
|
||||
subject:'',
|
||||
page: 1,
|
||||
limit: 15,
|
||||
},
|
||||
dataList: [],
|
||||
total: 0,
|
||||
dialogTableVisible: false,
|
||||
info: {},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState('media', ['isMobile']),
|
||||
labelWidth() {
|
||||
return this.isMobile ? undefined : '75px';
|
||||
},
|
||||
labelPosition() {
|
||||
return this.isMobile ? 'top' : 'left';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
show(row) {
|
||||
getWebsiteProductsMessageReadApi(row.id).then(res => {
|
||||
this.dialogTableVisible = true;
|
||||
this.info = res.data;
|
||||
}).catch(res => {
|
||||
this.$Message.error(res.msg);
|
||||
})
|
||||
},
|
||||
//修改状态
|
||||
updateStatus(row, field) {
|
||||
websiteProductsMessageStatusApi(row.id, {field: field, value: row[field]})
|
||||
.then(async (res) => {
|
||||
this.$message.success(res.msg);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$message.error(res.msg);
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
add() {
|
||||
this.$modalForm(getWebsiteProductsMessageCreateApi()).then(() => this.getList());
|
||||
},
|
||||
// 表格搜索
|
||||
searchs() {
|
||||
this.from.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
//列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getWebsiteProductsMessageListApi(this.from)
|
||||
.then(async (res) => {
|
||||
let data = res.data;
|
||||
this.dataList = data.list;
|
||||
this.total = data.count;
|
||||
this.loading = false;
|
||||
})
|
||||
.catch((res) => {
|
||||
this.loading = false;
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
//分页
|
||||
pageChange(index) {
|
||||
this.from.page = index;
|
||||
this.getList();
|
||||
},
|
||||
// 修改
|
||||
edit(id) {
|
||||
this.$modalForm(getWebsiteProductsMessageEditApi(id)).then(() => this.getList());
|
||||
},
|
||||
// 删除
|
||||
del(row, tit, num) {
|
||||
let delfromData = {
|
||||
title: tit,
|
||||
num: num,
|
||||
url: `crud/website_products_message/${row.id}`,
|
||||
method: 'DELETE',
|
||||
ids: '',
|
||||
};
|
||||
this.$modalSure(delfromData)
|
||||
.then((res) => {
|
||||
this.$Message.success(res.msg);
|
||||
this.getList();
|
||||
})
|
||||
.catch((res) => {
|
||||
this.$Message.error(res.msg);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="stylus"></style>
|
39
src/router/modules/crud/leaveWord.js
Normal file
39
src/router/modules/crud/leaveWord.js
Normal file
@ -0,0 +1,39 @@
|
||||
// +---------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +---------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +---------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +---------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +---------------------------------------------------------------------
|
||||
|
||||
import LayoutMain from '@/layout';
|
||||
import setting from '@/setting'
|
||||
|
||||
let routePre = setting.routePre
|
||||
|
||||
const meta = {
|
||||
auth: true,
|
||||
}
|
||||
|
||||
const pre = 'leave_word_'
|
||||
|
||||
export default {
|
||||
path: `${routePre}`,
|
||||
name: 'crud_leave_word',
|
||||
header: '',
|
||||
meta,
|
||||
component: LayoutMain,
|
||||
children: [
|
||||
{
|
||||
path: 'crud/leave_word',
|
||||
name: `${pre}list`,
|
||||
meta: {
|
||||
auth: ['leave_word-crud-list-index'],
|
||||
title: '联系我们留言',
|
||||
},
|
||||
component: () => import('@/pages/crud/leaveWord/index'),
|
||||
},
|
||||
],
|
||||
}
|
39
src/router/modules/crud/shareList.js
Normal file
39
src/router/modules/crud/shareList.js
Normal file
@ -0,0 +1,39 @@
|
||||
// +---------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +---------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +---------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +---------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +---------------------------------------------------------------------
|
||||
|
||||
import LayoutMain from '@/layout';
|
||||
import setting from '@/setting'
|
||||
|
||||
let routePre = setting.routePre
|
||||
|
||||
const meta = {
|
||||
auth: true,
|
||||
}
|
||||
|
||||
const pre = 'share_list_'
|
||||
|
||||
export default {
|
||||
path: `${routePre}`,
|
||||
name: 'crud_share_list',
|
||||
header: '',
|
||||
meta,
|
||||
component: LayoutMain,
|
||||
children: [
|
||||
{
|
||||
path: 'crud/share_list',
|
||||
name: `${pre}list`,
|
||||
meta: {
|
||||
auth: ['share_list-crud-list-index'],
|
||||
title: '分享列表',
|
||||
},
|
||||
component: () => import('@/pages/crud/shareList/index'),
|
||||
},
|
||||
],
|
||||
}
|
39
src/router/modules/crud/websiteProducts.js
Normal file
39
src/router/modules/crud/websiteProducts.js
Normal file
@ -0,0 +1,39 @@
|
||||
// +---------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +---------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +---------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +---------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +---------------------------------------------------------------------
|
||||
|
||||
import LayoutMain from '@/layout';
|
||||
import setting from '@/setting'
|
||||
|
||||
let routePre = setting.routePre
|
||||
|
||||
const meta = {
|
||||
auth: true,
|
||||
}
|
||||
|
||||
const pre = 'website_products_'
|
||||
|
||||
export default {
|
||||
path: `${routePre}`,
|
||||
name: 'crud_website_products',
|
||||
header: '',
|
||||
meta,
|
||||
component: LayoutMain,
|
||||
children: [
|
||||
{
|
||||
path: 'crud/website_products',
|
||||
name: `${pre}list`,
|
||||
meta: {
|
||||
auth: ['website_products-crud-list-index'],
|
||||
title: '网站产品管理',
|
||||
},
|
||||
component: () => import('@/pages/crud/websiteProducts/index'),
|
||||
},
|
||||
],
|
||||
}
|
39
src/router/modules/crud/websiteProductsMessage.js
Normal file
39
src/router/modules/crud/websiteProductsMessage.js
Normal file
@ -0,0 +1,39 @@
|
||||
// +---------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +---------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2025 https://www.crmeb.com All rights reserved.
|
||||
// +---------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +---------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +---------------------------------------------------------------------
|
||||
|
||||
import LayoutMain from '@/layout';
|
||||
import setting from '@/setting'
|
||||
|
||||
let routePre = setting.routePre
|
||||
|
||||
const meta = {
|
||||
auth: true,
|
||||
}
|
||||
|
||||
const pre = 'website_products_message_'
|
||||
|
||||
export default {
|
||||
path: `${routePre}`,
|
||||
name: 'crud_website_products_message',
|
||||
header: '',
|
||||
meta,
|
||||
component: LayoutMain,
|
||||
children: [
|
||||
{
|
||||
path: 'crud/website_products_message',
|
||||
name: `${pre}list`,
|
||||
meta: {
|
||||
auth: ['website_products_message-crud-list-index'],
|
||||
title: '产品留言板',
|
||||
},
|
||||
component: () => import('@/pages/crud/websiteProductsMessage/index'),
|
||||
},
|
||||
],
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user