初始化

This commit is contained in:
aixianling
2021-12-14 18:36:19 +08:00
parent 9afa4101b6
commit a8dff862d2
327 changed files with 88702 additions and 0 deletions

View File

@@ -0,0 +1,202 @@
<template>
<ai-detail class="add-products">
<template #title>
<ai-title title="特色农产品" isShowBack :isShowBottomBorder="true" @onBackClick="$emit('goto')"></ai-title>
</template>
<template #content>
<ai-card title="基本信息">
<template #content>
<el-form :model="ruleForm" label-width="120px" ref="ruleForm" :rules="rules" style="padding-top:16px;">
<el-form-item label="产品名称" prop="title">
<el-input size="small" v-model="ruleForm.title" clearable placeholder="请输入..." style="width: 240px;" maxLength="100"></el-input>
</el-form-item>
<el-form-item label="经营单位" prop="businessUnit">
<el-input size="small" v-model="ruleForm.businessUnit" clearable placeholder="请输入..." style="width: 240px;" maxLength="50"></el-input>
</el-form-item>
<el-form-item label="联系人" prop="contactPerson">
<el-input size="small" v-model="ruleForm.contactPerson" clearable placeholder="请输入..." style="width: 240px;" maxLength="50"></el-input>
</el-form-item>
<el-form-item label="联系方式" prop="contactPhone">
<el-input size="small" v-model="ruleForm.contactPhone" clearable placeholder="请输入..." style="width: 240px;" maxLength="11"></el-input>
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input size="small" v-model="ruleForm.address" clearable placeholder="请输入..." style="width: 240px;" maxLength="20"></el-input>
</el-form-item>
<el-form-item label="文字介绍" prop="content">
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
maxLength="200"
v-model="ruleForm.content">
</el-input>
</el-form-item>
<el-form-item prop="areaId" label="发布地区">
<ai-area-select clearable always-show :instance="instance"
v-model="ruleForm.areaId"
:disabled-level="disabledLevel">
</ai-area-select>
</el-form-item>
<el-form-item label="图片介绍">
<span class="upload-more" style="left:-70px">(最多5张)</span>
<ai-uploader :instance="instance" v-model="ruleForm.photo" :limit="5"></ai-uploader>
<!-- <el-upload
class="upload-demo upload-list-mini"
ref="upload"
multiple
action
list-type="picture-card"
:file-list="fileList"
:limit="5"
:disabled="fileList.length === 5"
:http-request="uploadFile"
:on-remove="handleRemove"
:on-change="handleChange"
accept=".jpeg,.jpg,.png">
<div class="upload-img-small mar-t16">
<span class="iconfont iconPhoto iconPhoto2"></span>
<div class="upload-text">上传照片</div>
</div>
</el-upload> -->
</el-form-item>
</el-form>
</template>
</ai-card>
</template>
<template #footer>
<template class="bottom-bar" v-if="!isEdit">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '0')">保存</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">保存并发布</el-button>
</template>
<template class="bottom-bar" v-if="isEdit && ruleForm.status != '1'">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '0')">修改</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">修改并发布</el-button>
</template>
<template class="bottom-bar" v-if="isEdit && ruleForm.status == '1'">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">修改</el-button>
</template>
</template>
</ai-detail>
</template>
<script>
import { mapState } from 'vuex';
export default {
name: 'add-products',
props: {
instance: Function,
dict: Object,
permissions: Function,
detailTitle: String,
isEdit: Boolean,
areaId: String,
detailId: String,
disabledLevel: Number
},
data() {
var transferInAreaIdPass = (rule, value, callback) => {
this.instance.post(`admin/area/queryAreaFullNameByList?ids=` + value).then(res => {
if (value) {
let list = res.data[value]
if (list.length < 5) {
callback(new Error('发布地区需选到村级'));
} else {
callback();
}
}
})
}
return {
ruleForm: {
type: '3',
title: '',
content: '',
areaId: '',
createUnitName: '',
createUserName: '',
status: '',
businessUnit: '',
contactPerson: '',
contactPhone: '',
photo: [],
address: '',
},
rules: {
title: [
{required: true, message: '请输入产品名称', trigger: 'change'}
],
businessUnit: [
{required: true, message: '请输入经营单位', trigger: 'change'}
],
contactPerson: [
{required: true, message: '请输入联系人', trigger: 'change'}
],
contactPhone: [
{required: true, message: '请输入联系方式', trigger: 'change'}
],
address: [
{required: true, message: '请输入地址', trigger: 'change'}
],
content: [
{required: true, message: '请输入文字介绍', trigger: 'change'}
],
areaId: [
// {required: true, validator: transferInAreaIdPass, trigger: 'blur'}
{required: true, message: '请选择发布地区', trigger: 'change'}
],
},
fileList: []
};
},
methods: {
cancel() {
this.$emit('goto');
},
confirm(formName, status) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleForm.status = status
this.confirmAjax();
} else {
return false;
}
});
},
confirmAjax() {
this.instance.post('/app/appcountrysidetourism/addOrUpdate', {
...this.ruleForm,
photo: JSON.stringify(this.ruleForm.photo)
}).then(res => {
if (res && res.code == 0) {
this.detailId ? this.$message.success('编辑成功') : this.$message.success('添加成功');
this.cancel();
}
});
},
getDetail() {
this.instance.post(`/app/appcountrysidetourism/queryDetailById?id=${this.detailId}`).then(res => {
if (res && res.code == 0) {
this.ruleForm = {...res.data}
this.ruleForm.photo = JSON.parse(this.ruleForm.photo)
}
});
}
},
mounted() {
if (this.detailId) { //编辑
this.getDetail()
} else { //新增
this.ruleForm.areaId = this.areaId
this.ruleForm.createUnitName = this.user.info.unitName
this.ruleForm.createUserName = this.user.info.name
}
},
computed: {
...mapState(['user'])
},
};
</script>

View File

@@ -0,0 +1,374 @@
<template>
<ai-detail class="addRural">
<template slot="title">
<ai-title :title="detailTitle" isShowBack :isShowBottomBorder="true" @onBackClick="$emit('goto')"></ai-title>
</template>
<template #content>
<ai-card title="基本信息">
<template #content>
<el-form :model="ruleForm" label-width="120px" ref="ruleForm" :rules="rules" style="padding-top:16px;">
<el-form-item label="标题" prop="title">
<el-input type="textarea" :rows="2" v-model="ruleForm.title" clearable placeholder="请输入..." maxlength="30"
show-word-limit></el-input>
</el-form-item>
<el-form-item prop="areaId" label="发布地区">
<ai-area-select clearable always-show :instance="instance"
v-model="ruleForm.areaId"
:disabled-level="disabledLevel">
</ai-area-select>
</el-form-item>
<el-form-item label="正文" prop="content">
<!-- <vue-ueditor-wrap v-model="ruleForm.content" :config="$ueditor_config" maxLength="3000"></vue-ueditor-wrap> -->
<ai-editor v-model="ruleForm.content" :instance="instance"/>
</el-form-item>
<el-form-item label="缩略图" prop="thumbUrl">
<ai-uploader
:instance="instance"
isShowTip
v-model="ruleForm.thumbUrl"
:limit="1"
:cropOps="cropOps"
is-crop>
<template slot="tips">
<p>最多上传1张图片,单个文件最大10MB支持jpgjpegpng格式</p>
<p>图片比例1.61</p>
</template>
</ai-uploader>
</el-form-item>
<el-form-item label="图片信息" v-if="detailTitle == '旅游服务'">
<span class="upload-more" style="left:-70px">(最多9张)</span>
<ai-uploader
:instance="instance"
v-model="fileList"
:limit="9">
</ai-uploader>
</el-form-item>
</el-form>
</template>
</ai-card>
</template>
<template #footer>
<template v-if="!isEdit">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '0')">保存</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">保存并发布</el-button>
</template>
<template v-if="isEdit && ruleForm.status != '1'">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '0')">修改</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">修改并发布</el-button>
</template>
<template v-if="isEdit && ruleForm.status == '1'">
<el-button size="small" style="width: 92px;" @click="$emit('goto')">取消</el-button>
<el-button type="primary" size="small" style="width: 92px;" @click="confirm('ruleForm', '1')">修改</el-button>
</template>
</template>
</ai-detail>
<!-- <div class="addRural detail-content details-page no-content-border">
<el-row type="flex" style="position: relative;height: calc(100% - 112px);">
<div class="right-content">
<div :style=" isEdit ? 'width: 790px;margin: 0 auto;position:relative;' : 'width: 790px;margin: 0 auto;position:relative;padding-bottom: 80px;' ">
<el-form :model="ruleForm" label-width="120px" ref="ruleForm" :rules="rules" style="padding-top:16px;">
<el-form-item label="标题" prop="title">
<el-input size="small" v-model="ruleForm.title" clearable placeholder="请输入..." style="width: 240px;" maxLength="20"></el-input>
</el-form-item>
<el-form-item prop="areaId" label="发布地区">
<ai-area-select clearable always-show :instance="instance"
v-model="ruleForm.areaId"
:disabled-level="disabledLevel">
</ai-area-select>
</el-form-item>
<el-form-item label="正文" prop="content">
<ai-editor v-model="ruleForm.content" :instance="instance" />
</el-form-item>
<el-form-item label="缩略图" prop="thumbUrl">
<ai-uploader
:instance="instance"
v-model="ruleForm.thumbUrl"
:limit="1"
:cropOps="cropOps"
is-crop>
<template slot="tips">图片比例1.61</template>
</ai-uploader>
</el-form-item>
<el-form-item label="图片信息" v-if="detailTitle == '旅游服务'">
<span class="upload-more" style="left:-70px">(最多9张)</span>
<el-upload
class="upload-demo upload-list"
ref="upload"
multiple
action
list-type="picture-card"
:file-list="fileList"
:http-request="uploadFile"
:on-remove="handleRemoveFile"
:on-change="fileChange"
accept=".jpeg,.jpg,.png">
<div class="upload-img">
<div class="iconfont iconPhoto"></div>
<div class="upload-text">上传照片</div>
</div>
</el-upload>
</el-form-item>
</el-form>
</div>
</div>
</el-row>
</div> -->
</template>
<script>
import {mapState} from 'vuex';
export default {
name: 'add-rural',
props: {
instance: Function,
dict: Object,
permissions: Function,
detailTitle: String,
isEdit: Boolean,
areaId: String,
type: String,
detailId: String,
disabledLevel: Number
},
data() {
return {
ruleForm: {
title: '',
content: '',
areaId: '',
createUnitName: '',
createUserName: '',
status: '',
thumbUrl: []
},
cropOps: {
width: "336px",
height: "210px"
},
rules: {
title: [
{required: true, message: '请输入标题', trigger: 'change'}
],
content: [
{required: true, message: '请输入内容', trigger: 'change'}
],
areaId: [
// {required: true, validator: transferInAreaIdPass, trigger: 'change'}
{required: true, message: '请选择发布地区', trigger: 'change'}
],
photo: [
{required: true, message: '请上传图片', trigger: 'blur'}
],
},
fileList: []
};
},
filters: {
timeVal(val) {
if (val) {
return val.substring(0, 10);
}
}
},
methods: {
// 上传照片
uploadFile(file) {
var isPng = true
isPng = file.file.type == 'image/jpeg' || file.file.type == 'image/png' || file.file.type == 'image/jpg';
if (!isPng) {
this.$message.warning('上传图片信息必须是jpeg/png/jpg格式!');
for (let i = 0; i < this.fileList.length; i++) {
if (this.fileList[i].uid == file.file.uid) {
this.fileList.splice(i, 1);
}
}
return
}
const isLt10M = file.file.size / 1024 / 1024 < 10;
if (!isLt10M) {
this.$message.warning("图片大小不能超过 10MB!");
for (let i = 0; i < this.fileList.length; i++) {
if (this.fileList[i].uid == file.file.uid) {
this.fileList.splice(i, 1);
}
}
return;
}
if (this.fileList.length > 9) {
this.$message.error('图片信息不能超过9张')
this.fileList.map((item, index) => {
if (item.uid == file.file.uid) {
this.fileList.splice(index, 1)
}
return this.fileList
})
return
}
let formData = new FormData();
formData.append("file", file.file);
this.instance.post(`/admin/file/add`, formData).then(res => {
if (res.msg == "success") {
this.$message({message: '图片上传成功', type: 'success'})
let imgInfo = res.data[0].split(';');
let img = {
'fileId': imgInfo[1],
'accessUrl': imgInfo[0]
}
this.fileList.map((item, index) => {
if (item.uid == file.file.uid) {
this.fileList[index].fileId = img.fileId
this.fileList[index].accessUrl = img.accessUrl
this.fileList[index].url = img.accessUrl
}
return this.fileList
})
}
})
},
handleRemoveFile(file, fileList) {
this.fileList = fileList
},
fileChange(file, fileList) {
if (fileList.lenth == 9) {
this.$message.error('图片信息不能超过9张')
return
}
this.fileList = fileList
},
cancel() {
this.$emit('goto');
},
confirm(formName, status) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleForm.status = status
this.confirmAjax();
} else {
return false;
}
});
},
confirmAjax() {
this.ruleForm.photo = JSON.stringify(this.fileList)
this.instance.post('/app/appcountrysidetourism/addOrUpdate', {
...this.ruleForm,
thumbUrl: this.ruleForm.thumbUrl.length ? JSON.stringify([{
url: this.ruleForm.thumbUrl[0].url
}]) : ''
}).then(res => {
if (res && res.code == 0) {
this.detailId ? this.$message.success('修改成功') : this.$message.success('添加成功');
this.cancel();
}
});
},
getDetail() {
this.instance.post(`/app/appcountrysidetourism/queryDetailById?id=${this.detailId}`).then(res => {
if (res && res.code == 0) {
this.ruleForm = {...res.data}
this.ruleForm.thumbUrl = res.data.thumbUrl ? JSON.parse(res.data.thumbUrl) : []
if (this.ruleForm.photo) {
this.fileList = JSON.parse(this.ruleForm.photo)
}
}
});
},
contentInput() {
this.$refs.ruleForm.validateField('content')
}
},
mounted() {
if (this.detailId) { //编辑
this.getDetail()
} else { //新增
this.ruleForm.areaId = this.areaId
this.ruleForm.type = this.type
this.ruleForm.createUnitName = this.user.info.unitName
this.ruleForm.createUserName = this.user.info.name
}
},
computed: {
...mapState(['user'])
},
};
</script>
<style scoped lang="scss">
.cover {
display: block;
width: 300px;
height: 140px;
margin: 20px auto;
}
.addRural {
::v-deep .upload-list .el-upload-list--picture-card {
.el-upload-list__item-actions {
width: 84px !important;
height: 84px !important;
}
}
::v-deep .upload-list .el-upload-list__item {
margin-right: 16px;
}
::v-deep .upload-list .el-upload-list__item, .el-upload-list__item {
img {
width: 84px !important;
height: 84px !important;
border-radius: 2px !important;
}
}
.upload-list {
padding-bottom: 100px;
::v-deep .el-upload-list__item {
width: 84px !important;
height: 84px !important;
border-radius: 2px !important;
}
}
.upload-img {
width: 84px;
height: 84px;
background: rgba(245, 245, 245, 1);
border-radius: 2px;
border: 1px solid rgba(208, 212, 220, 1);
.iconPhoto {
margin-top: 20px;
font-size: 32px;
color: #8B9CB6;
}
}
.upload-demo {
// padding: 0 15px;
}
.upload-text {
color: rgba(102, 102, 102, 1);
font-size: 12px;
height: 16px;
line-height: 16px;
}
::v-deep .upload-list .el-upload--picture-card {
width: 84px !important;
height: 84px !important;
line-height: 30px !important;
background: rgba(245, 245, 245, 1) !important;
border-radius: 2px !important;
border: none !important;
}
}
</style>

View File

@@ -0,0 +1,314 @@
<template>
<ai-list isTabs class="appCountrysideTourism bg369">
<template #content>
<ai-search-bar>
<template slot="left">
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" @click="toAdd()" v-if="$permissions('app_appcountrysidetourism_edit')">添加
</el-button>
<el-button icon="el-icon-delete-solid" size="small" class="del-btn-list" @click="deleteList()" v-if="$permissions('app_appcountrysidetourism_del')" :disabled="!multipleSelection.length">删除
</el-button>
</template>
<template #right>
<el-input
v-model="search.title"
class="search-input"
size="small"
@keyup.enter.native="search.current = 1, search.title, getAppCountrysideTourism()"
placeholder="请输入标题"
clearable
@clear="search.current = 1, search.title = '', getAppCountrysideTourism()"
suffix-icon="iconfont iconSearch">
</el-input>
</template>
</ai-search-bar>
<ai-table
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
ref="aitableex"
:current.sync="page.current"
@selection-change="handleSelectionChange"
:size.sync="page.size"
@getList="getAppCountrysideTourism">
<el-table-column width="160" slot="options" label="操作" align="center" fixed="right">
<template slot-scope="{ row }">
<div class="table-options">
<el-button type="text" :title="row.status == 1 ? '取消发布' : '发布'" @click="changeStatus(row)">{{ row.status == 1 ? '取消发布' : '发布' }}</el-button>
<el-button type="text" title="编辑" @click="viewDetail(row)" :disabled="!$permissions('app_appcountrysidetourism_edit')">编辑</el-button>
<el-button type="text" title="删除" @click="deleteItem(row)" :disabled="!$permissions('app_appcountrysidetourism_del')">删除</el-button>
</div>
</template>
</el-table-column>
</ai-table>
<!-- <el-table ref="multipleTable" :data="tableData" style="margin-top:8px;" header-cell-class-name="table-header"
tooltip-effect="light" row-class-name="table-row" cell-class-name="table-cell"
@selection-change="handleSelectionChange">
<el-table-column prop="title" label="产品名称" v-if="activeName == 'ruralProdect'" align="center"
show-overflow-tooltip>
<div slot-scope="{row}">
{{ row.title || "-" }}
</div>
</el-table-column>
<el-table-column prop="status" label="发布状态" align="center">
<div slot-scope="{row}" v-if="row.status == 1"> 已发布</div>
<div slot-scope="{row}" v-else> 未发布</div>
</el-table-column>
<el-table-column slot="operate" label="操作" align="center">
<div slot-scope="{row}">
<span class="iconfont iconChange icon-color89B mar-r8" :title="row.status==1?'取消发布':'发布'"
style="cursor: pointer;" @click="changeStatus(row)"/>
<span class="iconfont iconEdit icon-color89B mar-r8" title="编辑" style="cursor: pointer;"
@click="viewDetail(row)" v-if="$permissions('app_appcountrysidetourism_edit')"/>
<span class="iconfont iconDelete icon-color89B" title="删除" style="cursor: pointer;" @click="deleteItem(row)"
v-if="$permissions('app_appcountrysidetourism_del')"/>
</div>
</el-table-column>
</el-table> -->
</template>
</ai-list>
</template>
<script>
import {mapState} from 'vuex'
export default {
name: 'appCountrysideTourism',
props: {
instance: Function,
dict: Object,
permissions: Function,
activeName: String,
type: String,
areaId: String
},
inject: ['home'],
data() {
return {
tableData: [],
columns: [
{
label: '标题',
prop: 'title',
type: '',
dict: ''
},
{
label: '地区',
prop: 'areaName',
type: '',
dict: ''
},
{
label: '发布状态',
prop: 'status',
type: '',
dict: ''
},
{
label: '发布时间',
prop: 'createDate',
type: 'time',
dict: ''
},
// {
// label: '发布单位',
// prop: 'createUnitName',
// type: '',
// dict: ''
// },
{
label: '发布人',
prop: 'createUserName',
type: '',
dict: ''
},
{
label: '操作',
prop: 'operate',
type: '',
dict: ''
}
],
search: {
style: {},
title: ''
},
page: {
current: 1,
size: 10,
},
total: 0,
multipleSelection: [],
ids: []
}
},
computed: {
...mapState(['user']),
colConfigs () {
return [
{ type: 'selection', align: 'center'},
{ prop: 'title', label: this.activeName == 'ruralProdect' ? '产品名称' : '标题', align: 'left', width: '200px' },
{ prop: 'areaName', label: '地区', align: 'center' },
{ prop: 'status', label: '发布状态', align: 'center', formart: v => v === '1' ? '已发布' : '未发布' },
{ prop: 'createDate', label: '发布时间', align: 'center' },
{ prop: 'createUnitName', label: '发布单位', align: 'center' },
{ prop: 'createUserName', label: '发布人', align: 'center' },
{ slot: 'options', label: '操作', align: 'center' }
]
}
},
mounted() {
if (this.dict) this.dict.load(this.columns.map(e => (e.type == 'select' ? e.dict : '')))
this.resetSearch()
},
methods: {
isPermit(params) {
return this.permissions ? this.permissions(params) : false;
},
handleSelectionChange(val) {
this.multipleSelection = val;
this.ids = []
this.multipleSelection.forEach(e => {
this.ids.push(e.id);
});
},
deleteItem(item) {
this.ids = []
this.ids.push(item.id);
this.deleteList();
},
deleteList() {
this.$confirm('是否要删除这些信息?', {type: 'warning'})
.then(() => {
this.instance.post('/app/appcountrysidetourism/delete?ids=' + this.ids, null, {}).then(() => {
this.getAppCountrysideTourism();
this.ids = [];
this.$message.success('删除成功!');
});
})
.catch(() => {
});
},
viewDetail(item) {
this.$emit('showEditRoral', item);
},
handleSizeChange(val) {
this.page.size = val
this.getAppCountrysideTourism()
},
resetSearch() {
this.page.current = 1;
this.page.size = 10;
this.columns.map(c => {
if (c.type) this.search[c.prop] = null;
});
Object.keys(this.search).forEach(e => {
this.search[e] = null;
});
this.getAppCountrysideTourism();
},
getAppCountrysideTourism() {
this.instance.post(`/app/appcountrysidetourism/list?type=${this.type}&areaId=${this.home.areaId}`, null, {
params: {
...this.search,
...this.page
}
})
.then(res => {
if (res && res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
}
});
},
addOrUpdateAppCountrysideTourism() {
this.instance.post('/app/appcountrysidetourism/addOrUpdate', this.dialog.add).then(() => {
this.getAppCountrysideTourism();
this.$message.success('添加或修改成功!');
});
},
deleteAppCountrysideTourism(ids) {
this.$confirm('是否要删除这些账号?', {
type: 'warning'
})
.then(() => {
this.instance
.post('/app/appcountrysidetourism/delete', null, {
params: {
ids: ids
}
})
.then(() => {
this.getAppCountrysideTourism();
this.$message.success('删除成功!');
});
})
.catch(() => {
});
},
handleCurrentChange(val) {
this.page.current = val;
this.getAppCountrysideTourism();
},
toAdd() {
this.$emit('showAddRoral');
},
changeStatus(item) {
let title = item.status == '1' ? '是否要取消发布?' : '是否要发布?';
this.$confirm(title, {type: 'warning'})
.then(() => {
item.status = item.status == '1' ? '0' : '1';
this.instance.post('/app/appcountrysidetourism/addOrUpdate', item).then(res => {
if (res && res.code == 0) {
title == '是否要发布?' ? this.$message.success('发布成功') : this.$message.success('取消发布成功');
this.getAppCountrysideTourism();
}
});
})
.catch(() => {
});
}
}
}
</script>
<style lang="scss" scoped>
.appVillageCadres {
background-color: #f3f6f9;
width: 100%;
height: 100%;
.header {
padding: 0 16px;
width: 100%;
background-color: #ffffff;
height: 48px;
line-height: 48px;
box-shadow: inset 0px -1px 0px 0px #d8dce3;
}
.main-content {
margin: 16px;
background-color: white;
border: 1px solid #eee;
padding: 12px 16px;
.searchBar {
border-bottom: 1px solid #eee;
.el-col {
margin-bottom: 12px;
height: 32px;
}
}
.row-btn {
margin: 16px 0;
}
}
}
</style>