mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-11-11 20:30:35 +00:00
256 lines
6.7 KiB
Vue
256 lines
6.7 KiB
Vue
<template>
|
|
<div>
|
|
<div class="i-layout-page-header">
|
|
<div class="i-layout-page-header">
|
|
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
|
</div>
|
|
</div>
|
|
<Card :bordered="false" dis-hover class="ivu-mt">
|
|
<Row type="flex">
|
|
<Col v-bind="grid">
|
|
<Button v-auth="['admin-template']" type="primary" icon="md-add" @click="add">添加模板</Button>
|
|
</Col>
|
|
</Row>
|
|
<Table
|
|
:columns="columns1"
|
|
:data="list"
|
|
ref="table"
|
|
class="mt25"
|
|
:loading="loading"
|
|
highlight-row
|
|
no-userFrom-text="暂无数据"
|
|
no-filtered-userFrom-text="暂无筛选结果"
|
|
>
|
|
<template slot-scope="{ row, index }" slot="region">
|
|
<div class="font-blue">首页</div>
|
|
</template>
|
|
<template slot-scope="{ row, index }" slot="action">
|
|
<div style="display: inline-block" v-if="row.status != 1">
|
|
<a @click="setStatus(row, index)">设为首页</a>
|
|
</div>
|
|
<Divider type="vertical" v-if="row.status != 1" />
|
|
<div style="display: inline-block" v-if="row.status || row.type">
|
|
<a @click="edit(row)">编辑</a>
|
|
</div>
|
|
<Divider type="vertical" v-if="row.status || row.type" />
|
|
<template>
|
|
<Dropdown @on-click="changeMenu(row, index, $event)" :transfer="true">
|
|
<a href="javascript:void(0)"
|
|
>更多
|
|
<Icon type="ios-arrow-down"></Icon>
|
|
</a>
|
|
<DropdownMenu slot="list">
|
|
<DropdownItem name="1" v-show="!row.type">设置默认数据</DropdownItem>
|
|
<DropdownItem name="2" v-show="!row.type">恢复默认数据</DropdownItem>
|
|
<DropdownItem name="3" v-show="row.id != 1">删除模板</DropdownItem>
|
|
</DropdownMenu>
|
|
</Dropdown>
|
|
</template>
|
|
</template>
|
|
</Table>
|
|
</Card>
|
|
<Modal
|
|
v-model="isTemplate"
|
|
scrollable
|
|
footer-hide
|
|
closable
|
|
title="开发移动端链接"
|
|
:z-index="1"
|
|
width="500"
|
|
@on-cancel="cancel"
|
|
>
|
|
<div class="article-manager">
|
|
<Card :bordered="false" dis-hover class="ivu-mt">
|
|
<Form
|
|
ref="formItem"
|
|
:model="formItem"
|
|
:label-width="120"
|
|
label-position="right"
|
|
:rules="ruleValidate"
|
|
@submit.native.prevent
|
|
>
|
|
<Row type="flex" :gutter="24">
|
|
<Col span="24">
|
|
<Col v-bind="grid">
|
|
<FormItem label="开发移动端链接:" prop="link" label-for="link">
|
|
<Input v-model="formItem.link" placeholder="http://localhost:8080" />
|
|
</FormItem>
|
|
</Col>
|
|
</Col>
|
|
</Row>
|
|
<Row type="flex">
|
|
<Col v-bind="grid">
|
|
<Button type="primary" class="ml20" @click="handleSubmit('formItem')" style="width: 100%">提交</Button>
|
|
</Col>
|
|
</Row>
|
|
</Form>
|
|
</Card>
|
|
</div>
|
|
</Modal>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { diyList, diyDel, setStatus, recovery, getDiyCreate, getRecovery } from '@/api/diy';
|
|
import { getCookies, setCookies } from '@/libs/util';
|
|
import { mapState } from 'vuex';
|
|
export default {
|
|
name: 'devise_list',
|
|
data() {
|
|
return {
|
|
grid: {
|
|
xl: 18,
|
|
lg: 18,
|
|
md: 18,
|
|
sm: 24,
|
|
xs: 24,
|
|
},
|
|
loading: false,
|
|
columns1: [
|
|
{
|
|
title: '页面ID',
|
|
key: 'id',
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
title: '页面名称',
|
|
key: 'name',
|
|
minWidth: 170,
|
|
},
|
|
{
|
|
title: '页面类型',
|
|
key: 'template_name',
|
|
minWidth: 120,
|
|
},
|
|
{
|
|
title: '添加时间',
|
|
key: 'add_time',
|
|
minWidth: 170,
|
|
},
|
|
{
|
|
title: '更新时间',
|
|
key: 'update_time',
|
|
minWidth: 170,
|
|
},
|
|
{
|
|
title: '操作',
|
|
slot: 'action',
|
|
fixed: 'right',
|
|
minWidth: 300,
|
|
},
|
|
],
|
|
list: [],
|
|
isTemplate: false,
|
|
formItem: {
|
|
id: 0,
|
|
link: '',
|
|
},
|
|
ruleValidate: {
|
|
link: [{ required: true, message: '请输入移动端链接', trigger: 'blur' }],
|
|
},
|
|
};
|
|
},
|
|
created() {
|
|
this.formItem.link = getCookies('moveLink');
|
|
this.getList();
|
|
},
|
|
methods: {
|
|
cancel() {
|
|
this.$refs['formItem'].resetFields();
|
|
},
|
|
handleSubmit(name) {
|
|
this.$refs[name].validate((valid) => {
|
|
if (valid) {
|
|
setCookies('moveLink', this.formItem.link);
|
|
this.$router.push({ path: '/admin/setting/pages/diy', query: { id: this.formItem.id, type: 1 } });
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
},
|
|
changeMenu(row, index, name) {
|
|
switch (name) {
|
|
case '1':
|
|
this.setDefault(row);
|
|
break;
|
|
case '2':
|
|
this.recovery(row);
|
|
break;
|
|
case '3':
|
|
this.del(row, '删除此模板', index);
|
|
break;
|
|
default:
|
|
}
|
|
},
|
|
//设置默认数据
|
|
setDefault(row) {
|
|
getRecovery(row.id)
|
|
.then((res) => {
|
|
this.$Message.success(res.msg);
|
|
this.getList();
|
|
})
|
|
.catch((err) => {
|
|
this.$Message.error(err.msg);
|
|
});
|
|
},
|
|
// 添加
|
|
add() {
|
|
this.$modalForm(getDiyCreate()).then(() => this.getList());
|
|
},
|
|
// 获取列表
|
|
getList() {
|
|
this.loading = true;
|
|
diyList().then((res) => {
|
|
this.loading = false;
|
|
this.list = res.data.list;
|
|
});
|
|
},
|
|
// 编辑
|
|
edit(row) {
|
|
this.formItem.id = row.id;
|
|
if (row.type) {
|
|
this.isTemplate = true;
|
|
} else {
|
|
this.$router.push({ path: '/admin/setting/pages/diy', query: { id: row.id, type: 0 } });
|
|
}
|
|
},
|
|
// 删除
|
|
del(row, tit, num) {
|
|
let delfromData = {
|
|
title: tit,
|
|
num: num,
|
|
url: `diy/del/${row.id}`,
|
|
method: 'DELETE',
|
|
ids: '',
|
|
};
|
|
this.$modalSure(delfromData)
|
|
.then((res) => {
|
|
this.getList();
|
|
})
|
|
.catch((res) => {
|
|
this.$Message.error(res.msg);
|
|
});
|
|
},
|
|
// 使用模板
|
|
setStatus(row) {
|
|
setStatus(row.id)
|
|
.then((res) => {
|
|
this.$Message.success(res.msg);
|
|
this.getList();
|
|
})
|
|
.catch((error) => {
|
|
this.$Message.error(error.msg);
|
|
});
|
|
},
|
|
recovery(row) {
|
|
recovery(row.id).then((res) => {
|
|
this.$Message.success(res.msg);
|
|
this.getList();
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped></style>
|