yshop1.8发布,新增素材管理等,详细查看readme或登录网站后台查看

This commit is contained in:
hupeng
2020-01-10 22:59:16 +08:00
parent 509669fe9f
commit 0fade96648
37 changed files with 1025 additions and 77 deletions

View File

@ -16,7 +16,7 @@
<el-input v-model="form.cateName" style="width: 370px;" />
</el-form-item>
<el-form-item label="分类图片">
<pic-upload v-model="form.pic" style="width: 500px;" />
<MaterialList v-model="picArr" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.isShow" style="width: 178px">
@ -69,16 +69,18 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
// crud交由presenter持有
const defaultCrud = CRUD({ title: '分类', url: 'api/yxStoreCategory', crudMethod: { ...crudDept }})
const defaultForm = { id: null, cateName: null, pid: 0, isShow: 1 }
export default {
name: 'Dept',
components: { Treeselect, crudOperation, rrOperation, udOperation, picUpload },
components: { Treeselect, crudOperation, rrOperation, udOperation, picUpload, MaterialList },
mixins: [presenter(defaultCrud), header(), form(defaultForm), crud()],
data() {
return {
picArr: [],
depts: [],
rules: {
cateName: [
@ -96,9 +98,19 @@ export default {
]
}
},
watch:{
picArr: function(val) {
this.form.pic = val.join(",");
}
},
methods: {
// 新增与编辑前做的操作
[CRUD.HOOK.afterToCU](crud, form) {
console.log(form)
if(form.pic){
this.picArr = form.pic.split(',')
}
// 获取所有部门
crudDept.getCates({ isShow: true }).then(res => {
this.depts = []

View File

@ -17,10 +17,10 @@
<el-input v-model="form.barCode" style="width: 320px;" />
</el-form-item>
<el-form-item label="商品图片">
<pic-upload v-model="form.image" style="width: 500px;" />
<MaterialList v-model="form.imageArr" style="width: 500px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
<el-form-item label="轮播图">
<mulpic-upload v-model="form.sliderImage" style="width: 500px;" />
<MaterialList v-model="form.sliderImageArr" style="width: 500px" type="image" :num=4 :width=150 :height=150></MaterialList>
</el-form-item>
<el-form-item label="商品简介">
<el-input v-model="form.storeInfo" style="width: 500px;" rows="5" type="textarea" />
@ -31,9 +31,6 @@
<el-form-item label="商品价格">
<el-input v-model="form.price" />
</el-form-item>
<!--<el-form-item label="会员价格" >-->
<!--<el-input v-model="form.vipPrice"/>-->
<!--</el-form-item>-->
<el-form-item label="市场价">
<el-input v-model="form.otPrice" />
</el-form-item>
@ -98,8 +95,9 @@ import picUpload from '@/components/pic-upload'
import mulpicUpload from '@/components/mul-pic-upload'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import MaterialList from '@/components/material'
export default {
components: { editor, picUpload, mulpicUpload, Treeselect },
components: { editor, picUpload, mulpicUpload, Treeselect, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -114,6 +112,8 @@ export default {
merId: 0,
image: '',
sliderImage: '',
imageArr: [],
sliderImageArr: [],
storeName: '',
storeInfo: '',
keyword: '',
@ -151,6 +151,18 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.image = val.join(",");
}
},
'form.sliderImageArr': function(val) {
if(val){
this.form.sliderImage = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()
@ -199,6 +211,8 @@ export default {
merId: '',
image: '',
sliderImage: '',
imageArr: [],
sliderImageArr: [],
storeName: '',
storeInfo: '',
keyword: '',
@ -210,16 +224,16 @@ export default {
postage: '',
unitName: '',
sort: '',
sales: '',
stock: '',
isShow: '',
isHot: '',
isBenefit: '',
isBest: '',
isNew: '',
sales: 0,
stock: 0,
isShow: 1,
isHot: 1,
isBenefit: 1,
isBest: 1,
isNew: 1,
description: '',
addTime: '',
isPostage: '',
isPostage: 1,
isDel: '',
merUse: '',
giveIntegral: '',

View File

@ -203,6 +203,8 @@ export default {
merId: data.merId,
image: data.image,
sliderImage: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
storeName: data.storeName,
storeInfo: data.storeInfo,
keyword: data.keyword,
@ -246,6 +248,8 @@ export default {
merId: data.merId,
image: data.image,
images: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
title: data.storeName,
info: data.storeInfo,
postage: data.postage,
@ -275,6 +279,8 @@ export default {
merId: data.merId,
image: data.image,
images: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
title: data.storeName,
info: data.storeInfo,
postage: data.postage,
@ -307,6 +313,8 @@ export default {
merId: data.merId,
image: data.image,
images: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
title: data.storeName,
info: data.storeInfo,
postage: data.postage,

View File

@ -160,6 +160,8 @@ export default {
merId: data.merId,
image: data.image,
sliderImage: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
storeName: data.storeName,
storeInfo: data.storeInfo,
keyword: data.keyword,

View File

@ -152,6 +152,8 @@ export default {
merId: data.merId,
image: data.image,
sliderImage: data.sliderImage,
imageArr: data.image.split(','),
sliderImageArr: data.sliderImage.split(','),
storeName: data.storeName,
storeInfo: data.storeInfo,
keyword: data.keyword,

View File

@ -64,7 +64,7 @@
<span>{{ formatTime(scope.row.addTime) }}</span>
</template>
</el-table-column>
<el-table-column v-if="checkPermission(['admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT','YXSTOREORDER_DELETE'])" label="操作" width="200" align="center">
<el-table-column v-if="checkPermission(['admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT','YXSTOREORDER_DELETE'])" label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope">
<el-button v-permission="['admin','YXSTOREORDER_ALL','YXSTOREORDER_EDIT']" size="mini" type="primary"
@click="detail(scope.row)">

View File

@ -115,7 +115,8 @@ export default {
title: data.map.title,
info: data.map.info,
url: data.map.url,
pic: data.map.pic
pic: data.map.pic,
imageArr: data.map.pic.split(','),
}
_this.dialog = true
}

View File

@ -12,6 +12,7 @@
</el-form-item>
<el-form-item label="图片(260*260/416*214)">
<pic-upload v-model="form.pic" style="width: 500px;" />
<MaterialList v-model="form.imageArr" style="width: 500px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -25,8 +26,9 @@
<script>
import { add, edit } from '@/api/yxSystemGroupData'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
export default {
components: { picUpload },
components: { picUpload, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -43,6 +45,7 @@ export default {
info: '',
url: '',
pic: '',
imageArr: [],
sort: '',
status: ''
},
@ -50,6 +53,13 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.pic = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()

View File

@ -11,7 +11,7 @@
<el-input v-model="form.wxapp_url" style="width: 300px;" />
</el-form-item>
<el-form-item label="图片(750*375)">
<pic-upload v-model="form.pic" />
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -25,8 +25,9 @@
<script>
import { add, edit } from '@/api/yxSystemGroupData'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
export default {
components: { picUpload },
components: { picUpload, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -43,6 +44,7 @@ export default {
url: '',
wxapp_url: '',
pic: '',
imageArr: [],
sort: '',
status: ''
},
@ -50,6 +52,13 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.pic = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()
@ -96,6 +105,7 @@ export default {
this.form = {
id: '',
groupName: 'routine_home_banner',
imageArr: [],
value: '',
addTime: '',
sort: '',

View File

@ -115,7 +115,8 @@ export default {
name: data.map.name,
url: data.map.url,
wxapp_url: data.map.wxapp_url,
pic: data.map.pic
pic: data.map.pic,
imageArr: data.map.pic ? data.map.pic.split(',') : []
}
_this.dialog = true
}

View File

@ -115,7 +115,8 @@ export default {
name: data.map.name,
url: data.map.url,
wxapp_url: data.map.wxapp_url,
pic: data.map.pic
pic: data.map.pic,
imageArr: data.map.pic ? data.map.pic.split(',') : []
}
_this.dialog = true
}

View File

@ -11,7 +11,7 @@
<el-input v-model="form.wxapp_url" style="width: 300px;" />
</el-form-item>
<el-form-item label="分类图标(90*90)">
<pic-upload v-model="form.pic" />
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -25,8 +25,9 @@
<script>
import { add, edit } from '@/api/yxSystemGroupData'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
export default {
components: { picUpload },
components: { picUpload, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -43,6 +44,7 @@ export default {
url: '',
wxapp_url: '',
pic: '',
imageArr: [],
sort: '',
status: ''
},
@ -50,6 +52,13 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.pic = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()
@ -96,6 +105,7 @@ export default {
this.form = {
id: '',
groupName: 'routine_home_menus',
imageArr: [],
value: '',
addTime: '',
sort: '',

View File

@ -24,7 +24,9 @@
<el-table-column prop="map.wxapp_url" label="小程序跳转page" />
<el-table-column ref="table" label="图标">
<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>
</template>
</el-table-column>
<el-table-column v-if="checkPermission(['admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_EDIT','YXSYSTEMGROUPDATA_DELETE'])" label="操作" width="150px" align="center">
@ -115,7 +117,8 @@ export default {
name: data.map.name,
url: data.map.url,
wxapp_url: data.map.wxapp_url,
pic: data.map.pic
pic: data.map.pic,
imageArr: data.map.pic ? data.map.pic.split(',') : []
}
_this.dialog = true
}

View File

@ -11,7 +11,7 @@
<el-input v-model="form.wxapp_url" style="width: 300px;" />
</el-form-item>
<el-form-item label="图标(52*52)">
<pic-upload v-model="form.pic" style="width: 500px;" />
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -25,8 +25,9 @@
<script>
import { add, edit } from '@/api/yxSystemGroupData'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
export default {
components: { picUpload },
components: { picUpload, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -43,6 +44,7 @@ export default {
url: '',
wxapp_url: '',
pic: '',
imageArr: [],
sort: '',
status: ''
},
@ -50,6 +52,13 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.pic = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()
@ -96,6 +105,7 @@ export default {
this.form = {
id: '',
groupName: 'routine_my_menus',
imageArr: [],
value: '',
addTime: '',
sort: '',

View File

@ -41,7 +41,7 @@
</el-table-column>
<el-table-column prop="spreadUid" label="推荐人" />
<el-table-column prop="payCount" label="购买次数" />
<el-table-column v-if="checkPermission(['admin','YXUSER_ALL','YXUSER_EDIT','YXUSER_DELETE'])" label="操作" width="185" align="center">
<el-table-column v-if="checkPermission(['admin','YXUSER_ALL','YXUSER_EDIT','YXUSER_DELETE'])" label="操作" width="185" align="center" fixed="right">
<template slot-scope="scope">
<el-button
v-permission="['admin','YXUSER_ALL','YXUSER_EDIT']"

View File

@ -18,10 +18,10 @@
<el-input v-model="form.discount" style="width: 370px;" />
</el-form-item>
<el-form-item label="会员背景">
<pic-upload v-model="form.image" />
<MaterialList v-model="form.imageArr" style="width: 300px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
<el-form-item label="会员图标">
<pic-upload v-model="form.icon" />
<MaterialList v-model="form.iconArr" style="width: 300px" type="image" :num=1 :width=150 :height=150></MaterialList>
</el-form-item>
<el-form-item label="是否显示">
<el-radio v-model="form.isShow" :label="1"></el-radio>
@ -41,8 +41,9 @@
<script>
import { add, edit } from '@/api/yxSystemUserLevel'
import picUpload from '@/components/pic-upload'
import MaterialList from '@/components/material'
export default {
components: { picUpload },
components: { picUpload, MaterialList },
props: {
isAdd: {
type: Boolean,
@ -58,13 +59,15 @@ export default {
name: '',
money: '',
validDate: '',
isForever: '',
isForever: 1,
isPay: '',
isShow: '',
isShow: 1,
grade: '',
discount: '',
image: '',
icon: '',
imageArr: [],
iconArr: [],
explain: '',
addTime: '',
isDel: ''
@ -73,6 +76,18 @@ export default {
}
}
},
watch:{
'form.imageArr': function(val) {
if(val){
this.form.image = val.join(",");
}
},
'form.iconArr': function(val) {
if(val){
this.form.icon = val.join(",");
}
}
},
methods: {
cancel() {
this.resetForm()
@ -131,6 +146,8 @@ export default {
icon: '',
explain: '',
addTime: '',
imageArr: [],
iconArr: [],
isDel: ''
}
}

View File

@ -135,6 +135,8 @@ export default {
discount: data.discount,
image: data.image,
icon: data.icon,
imageArr: data.image ? data.image.split(',') : [],
iconArr: data.icon ? data.icon.split(',') : [],
explain: data.explain,
addTime: data.addTime,
isDel: data.isDel