单个门店改为列表与配置新增uni页面配置
This commit is contained in:
@ -1,12 +1,20 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function get() {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/yxSystemStore',
|
url: 'api/yxSystemStore',
|
||||||
method: 'get'
|
method: 'post',
|
||||||
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// export function get() {
|
||||||
|
// return request({
|
||||||
|
// url: 'api/yxSystemStore',
|
||||||
|
// method: 'get'
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
export function getL(data) {
|
export function getL(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/yxSystemStore/getL',
|
url: 'api/yxSystemStore/getL',
|
||||||
@ -23,7 +31,7 @@ export function del(ids) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function update(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/yxSystemStore',
|
url: 'api/yxSystemStore',
|
||||||
method: 'put',
|
method: 'put',
|
||||||
@ -31,4 +39,4 @@ export function update(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { get, getL, update, del }
|
export default { getL, add, edit, del }
|
||||||
|
@ -2,7 +2,7 @@ module.exports = {
|
|||||||
/**
|
/**
|
||||||
* @description 网站标题
|
* @description 网站标题
|
||||||
*/
|
*/
|
||||||
title: 'YSHOP-2.0',
|
title: 'YSHOP-2.1',
|
||||||
/**
|
/**
|
||||||
* @description 是否显示 tagsView
|
* @description 是否显示 tagsView
|
||||||
*/
|
*/
|
||||||
|
@ -86,6 +86,72 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span style="font-weight: bolder">更新日志</span>
|
<span style="font-weight: bolder">更新日志</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
<span style="font-weight: bolder">(预计4月发布)yshop2.1版本 更新如下:</span>
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
1、单门店升级为多门店
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
2、充值增加充值方案
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
3、打通小程序与公众号账号
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
4、新增微信app支付(主要用于uniapp)
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
5、修复。。。。。等
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
<span style="font-weight: bolder">(2020-03-15)2.0.X修复优化版本 发布更新如下:</span>
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
1、修复后台上传图片点击图片预览关闭按钮不显示的问题#I1B8RB
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
2、后台新增物流快递查询
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
3、修复后台不能一次删除多个商品分类且优化删除分类#I1BASM
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
4、修复商品管理/管理商品/待上架产品删除问题#I1B9O7
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
5、微信支付新增小程序渠道,修复小程序与其他支付appid冲突问题,后台微信支付配置移除appid选项
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
6、后台微信菜单与自动回复显示字体调整
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
7、后台订单列表修改为状态栏展示
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
8、微信授权与小程序授权优化及其确认订单优化
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
9、新增公众号获取微信地址权限
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
10、修复打开图片素材库的标红警告#I1BLJM
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
11、修复后台订单详情时间显示不对的问题#I1BLV6
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
12、修复提交订单页面选取优惠时显示优惠券有效期错乱#I1BHA1
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
13、修复PC端图片素材“删除分组标红警告 #I1BNII
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
14、小程序增加下拉刷新功能#I1AHAX
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
15、修复小程序首页--促销单品--更多 报错#I1AA47
|
||||||
|
</div>
|
||||||
<div class="text item">
|
<div class="text item">
|
||||||
<span style="font-weight: bolder">(2020-03-07)yshop2.0版本 发布更新如下:</span>
|
<span style="font-weight: bolder">(2020-03-07)yshop2.0版本 发布更新如下:</span>
|
||||||
</div>
|
</div>
|
||||||
@ -164,45 +230,6 @@
|
|||||||
<div class="text item">
|
<div class="text item">
|
||||||
25、修复公众号商品直接微信分享标题不显示的问题#I1AX0R
|
25、修复公众号商品直接微信分享标题不显示的问题#I1AX0R
|
||||||
</div>
|
</div>
|
||||||
<div class="text item">
|
|
||||||
<span style="font-weight: bolder">(2020-02-24)yshop修复优化版本 发布更新如下:</span>
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
1.修复小程序积分支付功能#I1A03I
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
2.修复小程序砍价功能上面时间没有进行倒计时#I1A037
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
3.优化小程序底层导航栏适配ios#I1A1QX
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
4.修复小程序返回的问题#I1A036
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
5.修复小程序地址管理#I1A03U
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
6.调整小程序首页样式修改与H5保持同步
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
7.H5首页数据加载顺序调整
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
<span style="font-weight: bolder">(2020-02-20)yshop1.9.10版本 发布更新如下:</span>
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
1.小程序新增了商品详情海报功能
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
2.小程序新增了手机号绑定功能
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
3.修复小程序选择规格的问题#I19PD7
|
|
||||||
</div>
|
|
||||||
<div class="text item">
|
|
||||||
4.修改移动端二维码海报生成拆分为H5端与小程序端
|
|
||||||
</div>
|
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
|
<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="120px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px">
|
||||||
<el-form-item label="标题">
|
<el-form-item label="标题">
|
||||||
<el-input v-model="form.name" style="width: 300px;" />
|
<el-input v-model="form.name" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="跳转url">
|
<el-form-item label="H5跳转url">
|
||||||
<el-input v-model="form.url" style="width: 300px;" />
|
<el-input v-model="form.url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="小程序跳转page">
|
<el-form-item label="mpvue小程序路由">
|
||||||
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="uniapp路由">
|
||||||
|
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
||||||
|
</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>
|
||||||
@ -50,6 +53,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
@ -115,6 +119,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
<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.url" label="链接url" />
|
<el-table-column prop="map.url" label="链接url" />
|
||||||
<el-table-column prop="map.wxapp_url" label="小程序跳转page" />
|
<el-table-column prop="map.wxapp_url" label="mpvue小程序路由" width="140" />
|
||||||
|
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
||||||
<el-table-column ref="table" label="图片">
|
<el-table-column ref="table" label="图片">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank"><img :src="scope.row.map.pic" alt="点击打开" class="el-avatar"></a>
|
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank"><img :src="scope.row.map.pic" alt="点击打开" class="el-avatar"></a>
|
||||||
@ -124,6 +125,7 @@ export default {
|
|||||||
name: data.map.name,
|
name: data.map.name,
|
||||||
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,
|
||||||
pic: data.map.pic,
|
pic: data.map.pic,
|
||||||
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
||||||
sort: data.sort,
|
sort: data.sort,
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
<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.url" label="链接url" />
|
<el-table-column prop="map.url" label="链接url" />
|
||||||
<el-table-column prop="map.wxapp_url" label="小程序跳转page" />
|
<el-table-column prop="map.wxapp_url" label="mpvue小程序路由" width="140" />
|
||||||
|
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
||||||
<el-table-column ref="table" label="分类图标">
|
<el-table-column ref="table" label="分类图标">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank"><img :src="scope.row.map.pic" alt="点击打开" class="el-avatar"></a>
|
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank"><img :src="scope.row.map.pic" alt="点击打开" class="el-avatar"></a>
|
||||||
@ -124,6 +125,7 @@ export default {
|
|||||||
name: data.map.name,
|
name: data.map.name,
|
||||||
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,
|
||||||
pic: data.map.pic,
|
pic: data.map.pic,
|
||||||
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
||||||
sort: data.sort,
|
sort: data.sort,
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
|
<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="120px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px">
|
||||||
<el-form-item label="分类名称">
|
<el-form-item label="分类名称">
|
||||||
<el-input v-model="form.name" style="width: 300px;" />
|
<el-input v-model="form.name" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="跳转url">
|
<el-form-item label="跳转url">
|
||||||
<el-input v-model="form.url" style="width: 300px;" />
|
<el-input v-model="form.url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="小程序跳转page">
|
<el-form-item label="mpvue小程序路由">
|
||||||
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="uniapp路由">
|
||||||
|
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="分类图标(90*90)">
|
<el-form-item label="分类图标(90*90)">
|
||||||
<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>
|
||||||
@ -50,6 +53,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
@ -115,6 +119,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
|
131
src/views/shop/set/recharge.vue
Normal file
131
src/views/shop/set/recharge.vue
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
<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.price" label="额度" />
|
||||||
|
<el-table-column prop="map.give_price" label="赠送" />
|
||||||
|
<el-table-column prop="sort" label="排序" />
|
||||||
|
<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/yxSystemGroupData'
|
||||||
|
import eForm from './rechargeform'
|
||||||
|
export default {
|
||||||
|
components: { eForm },
|
||||||
|
mixins: [initData],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
delLoading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.init()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
checkPermission,
|
||||||
|
beforeInit() {
|
||||||
|
this.url = 'api/yxSystemGroupData'
|
||||||
|
const sort = 'id,desc'
|
||||||
|
this.params = { page: this.page, size: this.size, sort: sort, groupName: 'recharge_price_ways' }
|
||||||
|
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,
|
||||||
|
day: data.map.day,
|
||||||
|
sign_num: data.map.sign_num,
|
||||||
|
sort: data.sort,
|
||||||
|
status: data.status
|
||||||
|
}
|
||||||
|
_this.dialog = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
110
src/views/shop/set/rechargeform.vue
Normal file
110
src/views/shop/set/rechargeform.vue
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<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="100px">
|
||||||
|
<el-form-item label="额度">
|
||||||
|
<el-input v-model="form.price" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="赠送">
|
||||||
|
<el-input v-model="form.give_price" style="width: 300px;" />
|
||||||
|
</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/yxSystemGroupData'
|
||||||
|
import picUpload from '@/components/pic-upload'
|
||||||
|
export default {
|
||||||
|
components: { picUpload },
|
||||||
|
props: {
|
||||||
|
isAdd: {
|
||||||
|
type: Boolean,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false, dialog: false,
|
||||||
|
form: {
|
||||||
|
id: '',
|
||||||
|
groupName: 'recharge_price_ways',
|
||||||
|
price: 1,
|
||||||
|
give_price: 0,
|
||||||
|
sort: 0,
|
||||||
|
status: 1
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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: 'recharge_price_ways',
|
||||||
|
price: 1,
|
||||||
|
give_price: 0,
|
||||||
|
sort: 0,
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -21,7 +21,8 @@
|
|||||||
<el-table-column prop="id" label="ID" />
|
<el-table-column prop="id" label="ID" />
|
||||||
<el-table-column prop="map.info" label="滚动文字" />
|
<el-table-column prop="map.info" label="滚动文字" />
|
||||||
<el-table-column prop="map.url" label="链接url" />
|
<el-table-column prop="map.url" label="链接url" />
|
||||||
<el-table-column prop="map.wxapp_url" label="小程序跳转page" />
|
<el-table-column prop="map.wxapp_url" label="mpvue小程序路由" width="140" />
|
||||||
|
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
||||||
<el-table-column prop="sort" label="排序" />
|
<el-table-column prop="sort" label="排序" />
|
||||||
<el-table-column label="状态" align="center">
|
<el-table-column label="状态" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@ -120,6 +121,7 @@ export default {
|
|||||||
info: data.map.info,
|
info: data.map.info,
|
||||||
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,
|
||||||
pic: data.map.pic,
|
pic: data.map.pic,
|
||||||
sort: data.sort,
|
sort: data.sort,
|
||||||
status: data.status
|
status: data.status
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
|
<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="120px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px">
|
||||||
<el-form-item label="滚动文字">
|
<el-form-item label="滚动文字">
|
||||||
<el-input v-model="form.info" style="width: 300px;" />
|
<el-input v-model="form.info" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="跳转url">
|
<el-form-item label="跳转url">
|
||||||
<el-input v-model="form.url" style="width: 300px;" />
|
<el-input v-model="form.url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="小程序跳转page">
|
<el-form-item label="mpvue小程序路由">
|
||||||
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="uniapp路由">
|
||||||
|
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="排序">
|
<el-form-item label="排序">
|
||||||
<el-input v-model="form.sort" style="width: 300px;" />
|
<el-input v-model="form.sort" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -45,6 +48,7 @@ export default {
|
|||||||
groupName: 'routine_home_roll_news',
|
groupName: 'routine_home_roll_news',
|
||||||
info: '',
|
info: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
url: '',
|
url: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
status: 1
|
status: 1
|
||||||
@ -101,6 +105,7 @@ export default {
|
|||||||
groupName: 'routine_home_roll_news',
|
groupName: 'routine_home_roll_news',
|
||||||
info: '',
|
info: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
url: '',
|
url: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
status: 1
|
status: 1
|
||||||
|
@ -21,7 +21,8 @@
|
|||||||
<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.url" label="链接url" />
|
<el-table-column prop="map.url" label="链接url" />
|
||||||
<el-table-column prop="map.wxapp_url" label="小程序跳转page" />
|
<el-table-column prop="map.wxapp_url" label="mpvue小程序路由" width="140" />
|
||||||
|
<el-table-column prop="map.uniapp_url" label="uniapp路由" />
|
||||||
<el-table-column ref="table" label="图标">
|
<el-table-column ref="table" label="图标">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank">
|
<a :href="scope.row.map.pic" style="color: #42b983" target="_blank">
|
||||||
@ -126,6 +127,7 @@ export default {
|
|||||||
name: data.map.name,
|
name: data.map.name,
|
||||||
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,
|
||||||
pic: data.map.pic,
|
pic: data.map.pic,
|
||||||
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
imageArr: data.map.pic ? data.map.pic.split(',') : [],
|
||||||
sort: data.sort,
|
sort: data.sort,
|
||||||
|
@ -1,15 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :append-to-body="true" :close-on-click-modal="false" :before-close="cancel" :visible.sync="dialog" :title="isAdd ? '新增' : '编辑'" width="500px">
|
<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="120px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="140px">
|
||||||
<el-form-item label="菜单名">
|
<el-form-item label="菜单名">
|
||||||
<el-input v-model="form.name" style="width: 300px;" />
|
<el-input v-model="form.name" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="跳转url">
|
<el-form-item label="跳转url">
|
||||||
<el-input v-model="form.url" style="width: 300px;" />
|
<el-input v-model="form.url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="小程序跳转page">
|
<el-form-item label="mpvue小程序路由">
|
||||||
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
<el-input v-model="form.wxapp_url" style="width: 300px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="uniapp路由">
|
||||||
|
<el-input v-model="form.uniapp_url" style="width: 300px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="图标(52*52)">
|
<el-form-item label="图标(52*52)">
|
||||||
<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>
|
||||||
@ -50,6 +53,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
@ -115,6 +119,7 @@ export default {
|
|||||||
name: '',
|
name: '',
|
||||||
url: '',
|
url: '',
|
||||||
wxapp_url: '',
|
wxapp_url: '',
|
||||||
|
uniapp_url: '',
|
||||||
pic: '',
|
pic: '',
|
||||||
imageArr: [],
|
imageArr: [],
|
||||||
sort: 0,
|
sort: 0,
|
||||||
|
@ -2,168 +2,191 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!--工具栏-->
|
<!--工具栏-->
|
||||||
<div class="head-container">
|
<div class="head-container">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||||
<el-form-item label="门店名称" prop="name">
|
<crudOperation :permission="permission" />
|
||||||
<el-input v-model="form.name" style="width: 370px;" />
|
<!--表单组件-->
|
||||||
</el-form-item>
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
||||||
<el-form-item label="门店简介" prop="introduction">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
<el-input v-model="form.introduction" style="width: 370px;" />
|
<el-form-item label="门店名称" prop="name">
|
||||||
</el-form-item>
|
<el-input v-model="form.name" style="width: 370px;" />
|
||||||
<el-form-item label="门店手机" prop="phone">
|
</el-form-item>
|
||||||
<el-input v-model="form.phone" style="width: 370px;" />
|
<el-form-item label="门店简介" prop="introduction">
|
||||||
</el-form-item>
|
<el-input v-model="form.introduction" style="width: 370px;" />
|
||||||
<el-form-item label="门店地址" prop="address">
|
</el-form-item>
|
||||||
<el-input v-model="form.address" style="width: 370px;" />
|
<el-form-item label="门店手机" prop="phone">
|
||||||
<el-button :loading="loading" size="medium" type="primary" @click="getL(form.address)">获取经纬度</el-button>
|
<el-input v-model="form.phone" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="门店logo" prop="image">
|
<el-form-item label="门店地址" prop="address">
|
||||||
<MaterialList v-model="form.imageArr" style="width: 370px" type="image" :num="1" :width="150" :height="150" />
|
<el-input v-model="form.address" style="width: 370px;" />
|
||||||
</el-form-item>
|
<el-button size="medium" type="primary" @click="getL(form.address)">获取经纬度</el-button>
|
||||||
<el-form-item label="纬度" prop="latitude">
|
</el-form-item>
|
||||||
<el-input v-model="form.latitude" :disabled="true" style="width: 370px;" />
|
<el-form-item label="门店logo" prop="image">
|
||||||
</el-form-item>
|
<MaterialList v-model="form.imageArr" style="width: 370px" type="image" :num="1" :width="150" :height="150" />
|
||||||
<el-form-item label="经度" prop="longitude">
|
</el-form-item>
|
||||||
<el-input v-model="form.longitude" :disabled="true" style="width: 370px;" />
|
<el-form-item label="纬度" prop="latitude">
|
||||||
</el-form-item>
|
<el-input v-model="form.latitude" style="width: 370px;" :disabled="true" />
|
||||||
<el-form-item label="核销时效" prop="validTime">
|
</el-form-item>
|
||||||
<el-date-picker
|
<el-form-item label="经度" prop="longitude">
|
||||||
@change="getTimeT"
|
<el-input v-model="form.longitude" style="width: 370px;" :disabled="true" />
|
||||||
style="width: 370px;"
|
</el-form-item>
|
||||||
v-model="form.validTimeArr"
|
<el-form-item label="核销时效" prop="validTime">
|
||||||
type="daterange"
|
<el-date-picker
|
||||||
range-separator="-"
|
@change="getTimeT"
|
||||||
start-placeholder="开始日期"
|
style="width: 370px;"
|
||||||
end-placeholder="结束日期">
|
v-model="form.validTimeArr"
|
||||||
</el-date-picker>
|
type="daterange"
|
||||||
</el-form-item>
|
range-separator="-"
|
||||||
<el-form-item label="营业时间" prop="dayTime">
|
start-placeholder="开始日期"
|
||||||
<el-time-picker
|
end-placeholder="结束日期">
|
||||||
@change="getTime"
|
</el-date-picker>
|
||||||
style="width: 370px;"
|
</el-form-item>
|
||||||
is-range
|
<el-form-item label="营业时间" prop="dayTime">
|
||||||
v-model="form.dayTimeArr"
|
<el-time-picker
|
||||||
range-separator="-"
|
@change="getTime"
|
||||||
start-placeholder="开始时间"
|
style="width: 370px;"
|
||||||
end-placeholder="结束时间"
|
is-range
|
||||||
placeholder="选择时间范围">
|
v-model="form.dayTimeArr"
|
||||||
</el-time-picker>
|
range-separator="-"
|
||||||
</el-form-item>
|
start-placeholder="开始时间"
|
||||||
<el-form-item label="">
|
end-placeholder="结束时间"
|
||||||
<el-button :loading="loading" size="medium" type="primary" @click="doSubmit">保存配置</el-button>
|
placeholder="选择时间范围">
|
||||||
</el-form-item>
|
</el-time-picker>
|
||||||
</el-form>
|
</el-form-item>
|
||||||
|
<el-form-item label="是否显示" prop="isShow">
|
||||||
|
<el-radio-group v-model="form.isShow" style="width: 178px">
|
||||||
|
<el-radio :label="1">显示</el-radio>
|
||||||
|
<el-radio :label="0">隐藏</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
|
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
|
<el-table-column v-if="columns.visible('id')" prop="id" label="id" width="50" />
|
||||||
|
<el-table-column v-if="columns.visible('name')" prop="name" label="门店名称" />
|
||||||
|
<el-table-column v-if="columns.visible('phone')" prop="phone" label="门店电话" />
|
||||||
|
<el-table-column v-if="columns.visible('address')" prop="address" label="地址" />
|
||||||
|
<el-table-column v-if="columns.visible('image')" prop="image" label="门店logo" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<a :href="scope.row.image" style="color: #42b983" target="_blank"><img :src="scope.row.image" alt="点击打开" class="el-avatar"></a>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-if="columns.visible('validTime')" prop="validTime" label="核销有效日期" />
|
||||||
|
<el-table-column v-if="columns.visible('dayTime')" prop="dayTime" label="营业时间" />
|
||||||
|
<el-table-column v-if="columns.visible('isShow')" prop="isShow" label="是否显示" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>
|
||||||
|
<el-tag v-if="scope.row.isShow === 1" :type="''">显示</el-tag>
|
||||||
|
<el-tag v-else :type=" 'info' ">隐藏</el-tag>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column v-permission="['admin','yxSystemStore:edit','yxSystemStore:del']" label="操作" width="150px" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation
|
||||||
|
:data="scope.row"
|
||||||
|
:permission="permission"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { get, update, getL } from '@/api/yxSystemStore'
|
import crudYxSystemStore from '@/api/yxSystemStore'
|
||||||
import MaterialList from '@/components/material'
|
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||||
import { parseTime } from '@/utils/index'
|
import rrOperation from '@crud/RR.operation'
|
||||||
export default {
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
name: 'YxSystemStore',
|
import udOperation from '@crud/UD.operation'
|
||||||
components: { MaterialList },
|
import pagination from '@crud/Pagination'
|
||||||
data() {
|
import MaterialList from '@/components/material'
|
||||||
return {
|
import { parseTime } from '@/utils/index'
|
||||||
loading: false,
|
|
||||||
form: { id:null, name: '', introduction: '', phone: '', address: '', detailedAddress: '', image: '' ,
|
|
||||||
latitude: '', longitude: '', validTime: '', dayTime: '', validTimeStart: null, validTimeEnd: null,
|
|
||||||
dayTimeStart: null, dayTimeEnd: null, dayTimeArr: [new Date(),new Date()], validTimeArr: [], imageArr: []},
|
|
||||||
rules: {
|
|
||||||
name: [
|
|
||||||
{ required: true, message: '门店名称不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
introduction: [
|
|
||||||
{ required: true, message: '简介不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
phone: [
|
|
||||||
{ required: true, message: '手机号码不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
address: [
|
|
||||||
{ required: true, message: '省市区不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
latitude: [
|
|
||||||
{ required: true, message: '纬度不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
longitude: [
|
|
||||||
{ required: true, message: '经度不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
validTime: [
|
|
||||||
{ required: true, message: '核销有效日期不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
dayTime: [
|
|
||||||
{ required: true, message: '每日营业开关时间不能为空', trigger: 'blur' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
// crud交由presenter持有
|
||||||
},
|
const defaultCrud = CRUD({ title: '门店', url: 'api/yxSystemStore', sort: 'id,desc', crudMethod: { ...crudYxSystemStore }})
|
||||||
watch: {
|
const defaultForm = { id: null, name: null, introduction: null, phone: null, address: null, detailedAddress: null, image: null, latitude:
|
||||||
'form.imageArr': function(val) {
|
null, longitude: null, validTime: null, dayTime: null, addTime: null, isShow: 1, imageArr: [], validTimeArr: [], dayTimeArr: [] }
|
||||||
console.log(222)
|
export default {
|
||||||
if (val) {
|
name: 'YxSystemStore',
|
||||||
console.log(val)
|
components: { pagination, crudOperation, rrOperation, udOperation, MaterialList },
|
||||||
this.form.image = val.join(',')
|
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
|
||||||
}
|
data() {
|
||||||
}
|
return {
|
||||||
},
|
permission: {
|
||||||
created() {
|
add: ['admin', 'yxSystemStore:add'],
|
||||||
this.init()
|
edit: ['admin', 'yxSystemStore:edit'],
|
||||||
},
|
del: ['admin', 'yxSystemStore:del']
|
||||||
methods: {
|
},
|
||||||
init() {
|
rules: {
|
||||||
get().then(res => {
|
name: [
|
||||||
if(res.content.length > 0){
|
{ required: true, message: '门店名称不能为空', trigger: 'blur' }
|
||||||
const con = res.content[0]
|
],
|
||||||
this.form = con
|
introduction: [
|
||||||
this.form.imageArr = [con.image]
|
{ required: true, message: '简介不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
this.form.dayTimeArr = [con.dayTimeStart,con.dayTimeEnd]
|
phone: [
|
||||||
this.form.validTimeArr = [con.validTimeStart,con.validTimeEnd]
|
{ required: true, message: '手机号码不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
address: [
|
||||||
|
{ required: true, message: '省市区不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
latitude: [
|
||||||
|
{ required: true, message: '纬度不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
longitude: [
|
||||||
|
{ required: true, message: '经度不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
isShow: [
|
||||||
|
{ required: true, message: '是否显示不能为空', trigger: 'blur' }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
|
||||||
},
|
|
||||||
doSubmit() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.loading = true
|
|
||||||
this.form.image = this.form.imageArr.join(',')
|
|
||||||
update(this.form).then(res => {
|
|
||||||
this.$notify({
|
|
||||||
title: '保存成功',
|
|
||||||
type: 'success',
|
|
||||||
duration: 2500
|
|
||||||
})
|
|
||||||
this.loading = false
|
|
||||||
}).catch(err => {
|
|
||||||
this.loading = false
|
|
||||||
console.log(err.response.data.message)
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
},
|
},
|
||||||
getTime(t) {
|
methods: {
|
||||||
this.form.dayTimeStart = t[0]
|
// 获取数据前设置好接口地址
|
||||||
this.form.dayTimeEnd = t[1]
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
this.form.dayTime = parseTime(t[0],'{h}:{i}:{s}') + ' - ' + parseTime(t[1],'{h}:{i}:{s}')
|
return true
|
||||||
},
|
},
|
||||||
getTimeT(t) {
|
// 添加后
|
||||||
this.form.validTimeStart = t[0]
|
[CRUD.HOOK.beforeSubmit]() {
|
||||||
this.form.validTimeEnd = t[1]
|
//console.log('hah:'+this.form.imageArr)
|
||||||
this.form.validTime = parseTime(t[0],'{y}-{m}-{d}') + ' - ' + parseTime(t[1],'{y}-{m}-{d}')
|
this.form.image = this.form.imageArr.join(',')
|
||||||
},
|
},
|
||||||
getL(addr) {
|
// 编辑前
|
||||||
getL({addr}).then(res => {
|
[CRUD.HOOK.beforeToEdit](crud, form) {
|
||||||
this.form.latitude = res.result.location.lat
|
form.imageArr = [form.image]
|
||||||
this.form.longitude = res.result.location.lng
|
form.dayTimeArr = [form.dayTimeStart,form.dayTimeEnd]
|
||||||
})
|
form.validTimeArr = [form.validTimeStart,form.validTimeEnd]
|
||||||
|
},
|
||||||
|
getTime(t) {
|
||||||
|
this.form.dayTimeStart = t[0]
|
||||||
|
this.form.dayTimeEnd = t[1]
|
||||||
|
this.form.dayTime = parseTime(t[0],'{h}:{i}:{s}') + ' - ' + parseTime(t[1],'{h}:{i}:{s}')
|
||||||
|
},
|
||||||
|
getTimeT(t) {
|
||||||
|
this.form.validTimeStart = t[0]
|
||||||
|
this.form.validTimeEnd = t[1]
|
||||||
|
this.form.validTime = parseTime(t[0],'{y}-{m}-{d}') + ' - ' + parseTime(t[1],'{y}-{m}-{d}')
|
||||||
|
},
|
||||||
|
getL(addr) {
|
||||||
|
crudYxSystemStore.getL({addr}).then(res => {
|
||||||
|
this.form.latitude = res.result.location.lat
|
||||||
|
this.form.longitude = res.result.location.lng
|
||||||
|
|
||||||
|
//console.log(this.form)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
171
src/views/shop/store/indexbak.vue
Normal file
171
src/views/shop/store/indexbak.vue
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!--工具栏-->
|
||||||
|
<div class="head-container">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="150px">
|
||||||
|
<el-form-item label="门店名称" prop="name">
|
||||||
|
<el-input v-model="form.name" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="门店简介" prop="introduction">
|
||||||
|
<el-input v-model="form.introduction" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="门店手机" prop="phone">
|
||||||
|
<el-input v-model="form.phone" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="门店地址" prop="address">
|
||||||
|
<el-input v-model="form.address" style="width: 370px;" />
|
||||||
|
<el-button :loading="loading" size="medium" type="primary" @click="getL(form.address)">获取经纬度</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="门店logo" prop="image">
|
||||||
|
<MaterialList v-model="form.imageArr" style="width: 370px" type="image" :num="1" :width="150" :height="150" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="纬度" prop="latitude">
|
||||||
|
<el-input v-model="form.latitude" :disabled="true" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="经度" prop="longitude">
|
||||||
|
<el-input v-model="form.longitude" :disabled="true" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="核销时效" prop="validTime">
|
||||||
|
<el-date-picker
|
||||||
|
@change="getTimeT"
|
||||||
|
style="width: 370px;"
|
||||||
|
v-model="form.validTimeArr"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="营业时间" prop="dayTime">
|
||||||
|
<el-time-picker
|
||||||
|
@change="getTime"
|
||||||
|
style="width: 370px;"
|
||||||
|
is-range
|
||||||
|
v-model="form.dayTimeArr"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始时间"
|
||||||
|
end-placeholder="结束时间"
|
||||||
|
placeholder="选择时间范围">
|
||||||
|
</el-time-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="">
|
||||||
|
<el-button :loading="loading" size="medium" type="primary" @click="doSubmit">保存配置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { get, update, getL } from '@/api/yxSystemStore'
|
||||||
|
import MaterialList from '@/components/material'
|
||||||
|
import { parseTime } from '@/utils/index'
|
||||||
|
export default {
|
||||||
|
name: 'YxSystemStore',
|
||||||
|
components: { MaterialList },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
form: { id:null, name: '', introduction: '', phone: '', address: '', detailedAddress: '', image: '' ,
|
||||||
|
latitude: '', longitude: '', validTime: '', dayTime: '', validTimeStart: null, validTimeEnd: null,
|
||||||
|
dayTimeStart: null, dayTimeEnd: null, dayTimeArr: [new Date(),new Date()], validTimeArr: [], imageArr: []},
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '门店名称不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
introduction: [
|
||||||
|
{ required: true, message: '简介不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
phone: [
|
||||||
|
{ required: true, message: '手机号码不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
address: [
|
||||||
|
{ required: true, message: '省市区不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
latitude: [
|
||||||
|
{ required: true, message: '纬度不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
longitude: [
|
||||||
|
{ required: true, message: '经度不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
validTime: [
|
||||||
|
{ required: true, message: '核销有效日期不能为空', trigger: 'blur' }
|
||||||
|
],
|
||||||
|
dayTime: [
|
||||||
|
{ required: true, message: '每日营业开关时间不能为空', trigger: 'blur' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
'form.imageArr': function(val) {
|
||||||
|
console.log(222)
|
||||||
|
if (val) {
|
||||||
|
console.log(val)
|
||||||
|
this.form.image = val.join(',')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.init()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
get().then(res => {
|
||||||
|
if(res.content.length > 0){
|
||||||
|
const con = res.content[0]
|
||||||
|
this.form = con
|
||||||
|
this.form.imageArr = [con.image]
|
||||||
|
|
||||||
|
this.form.dayTimeArr = [con.dayTimeStart,con.dayTimeEnd]
|
||||||
|
this.form.validTimeArr = [con.validTimeStart,con.validTimeEnd]
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
doSubmit() {
|
||||||
|
this.$refs['form'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.loading = true
|
||||||
|
this.form.image = this.form.imageArr.join(',')
|
||||||
|
update(this.form).then(res => {
|
||||||
|
this.$notify({
|
||||||
|
title: '保存成功',
|
||||||
|
type: 'success',
|
||||||
|
duration: 2500
|
||||||
|
})
|
||||||
|
this.loading = false
|
||||||
|
}).catch(err => {
|
||||||
|
this.loading = false
|
||||||
|
console.log(err.response.data.message)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getTime(t) {
|
||||||
|
this.form.dayTimeStart = t[0]
|
||||||
|
this.form.dayTimeEnd = t[1]
|
||||||
|
this.form.dayTime = parseTime(t[0],'{h}:{i}:{s}') + ' - ' + parseTime(t[1],'{h}:{i}:{s}')
|
||||||
|
},
|
||||||
|
getTimeT(t) {
|
||||||
|
this.form.validTimeStart = t[0]
|
||||||
|
this.form.validTimeEnd = t[1]
|
||||||
|
this.form.validTime = parseTime(t[0],'{y}-{m}-{d}') + ' - ' + parseTime(t[1],'{y}-{m}-{d}')
|
||||||
|
},
|
||||||
|
getL(addr) {
|
||||||
|
getL({addr}).then(res => {
|
||||||
|
this.form.latitude = res.result.location.lat
|
||||||
|
this.form.longitude = res.result.location.lng
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
Reference in New Issue
Block a user