This commit is contained in:
@fawn-nine
2023-03-06 15:27:06 +08:00
parent d41d5d1015
commit b001a5ca6d
8 changed files with 99 additions and 42 deletions

View File

@@ -0,0 +1,10 @@
<script type="text/javascript">
const baseUrl = 'http://59.110.212.44:9100/pb'
// function commonFun() {
// console.log("公共方法")
// }
export default {
baseUrl
//commonFun
}
</script>

View File

@@ -59,7 +59,7 @@
<!-- <span style="font-size: 12px; color: #888;">活动主体</span> -->
<span class="add" type="text" plain @click="selectProducts">选择商品</span>
<div style="overflow-y: scroll; ">
<el-upload class="pictureList" action="http://59.110.212.44:9100/pb/oss/fileoss" list-type="picture"
<el-upload class="pictureList" :action= "baseUrl + '/oss/fileoss'" list-type="picture"
:on-preview="handlePictureCardPreview1" :file-list="ProductsListFileList"
:on-success="handlePicSuccess1" accept=".jpeg,.jpg,.gif,.png" :on-remove="handleRemove1">
<i class="el-icon-plus"></i>
@@ -197,7 +197,7 @@
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="活动封面图" prop="productImages">
<el-upload :limit="1" class="el-uploadfeng" action="http://59.110.212.44:9100/pb/oss/fileoss"
<el-upload :limit="1" class="el-uploadfeng" :action= "baseUrl + '/oss/fileoss'"
list-type="picture-card" :on-preview="handlePictureCardPreview" :file-list="fileList"
:on-success="handlePicSuccess" accept=".jpeg,.jpg,.gif,.png" :on-remove="handleRemove">
<i class="el-icon-plus"></i>
@@ -221,10 +221,11 @@
</template>
<script>
import global from '../../common/common.vue' //引入共用组间
export default {
data() {
return {
baseUrl:global.baseUrl,
visible: false,
startTimeradio: 0,
dialogVisible: false,

View File

@@ -120,7 +120,7 @@
<el-form-item label="文件上传" prop="novel">
<el-upload
class="upload-demo"
action="http://59.110.212.44:9100/pb/oss/fileoss"
:action= "baseUrl + '/oss/fileoss'"
:on-preview="handlePreview"
:on-remove="handleRemoveNovel"
:before-remove="beforeRemove"
@@ -134,7 +134,7 @@
</el-form-item>
<el-form-item label="插图" prop="images">
<el-upload
action="http://59.110.212.44:9100/pb/oss/fileoss"
:action= "baseUrl + '/oss/fileoss'"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:file-list="fileList"
@@ -169,9 +169,11 @@
<script>
import global from '../../common/common.vue' //引入共用组间
export default {
data() {
return {
baseUrl:global.baseUrl,
visible: false,
bookList: [],
props: {

View File

@@ -16,7 +16,7 @@
<el-button style="margin-top: 10px;" @click="fontchange(dataForm.content)" type="primary">文字转语音</el-button>
</el-form-item>
<el-form-item label="音频文件上传" prop="voices">
<el-upload class="upload-demo" action="http://59.110.212.44:9100/pb/oss/fileoss" :on-preview="handlePreview"
<el-upload class="upload-demo" :action= "baseUrl + '/oss/fileoss'" :on-preview="handlePreview"
:on-remove="handleRemove" :on-success="handleVoicesSuccess" multiple :limit="3" :file-list="fileListVoices">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
@@ -71,9 +71,11 @@
<script>
import ueditor from 'ueditor'
import global from '../../common/common.vue' //引入共用组间
export default {
data() {
return {
baseUrl:global.baseUrl,
visible: false,
ue: null,
ueId: `J_ueditorBox_${new Date().getTime()}`,

View File

@@ -93,7 +93,7 @@
<el-col :span="24">
<el-form-item label="封面图" prop="couponUrl">
<el-upload :limit="1" class="el-uploadfeng"
action="http://59.110.212.44:9100/pb/oss/fileoss" list-type="picture-card"
:action= "baseUrl + '/oss/fileoss'" list-type="picture-card"
:on-preview="handlePictureCardPreview" :file-list="fileList" :on-success="handlePicSuccess"
accept=".jpeg,.jpg,.gif,.png" :on-remove="handleRemove">
<i class="el-icon-plus"></i>
@@ -113,9 +113,12 @@
</template>
<script>
import global from '../../common/common.vue' //引入共用组间
export default {
baseUrl:global.baseUrl,
data() {
return {
baseUrl:global.baseUrl,
visible: false,
options2: [{
value: 0,

View File

@@ -1,7 +1,7 @@
<template>
<div>
<el-tree :data="menus" :props="defaultProps" @node-click="handleNodeClick" show-checkbox node-key="catId"
:default-expanded-keys="expandedkey" :expand-on-click-node="false">
:default-expanded-keys="expandedkey" :expand-on-click-node="false" default-expand-all>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
<span>

View File

@@ -1,19 +1,16 @@
<template>
<el-dialog center :title="!dataForm.productId ? '新增' : '修改'" :close-on-click-modal="false" :visible.sync="visible"
@close="handlereset">
<el-dialog class="productsDialog" center :title="!dataForm.productId ? '新增' : '修改'" :close-on-click-modal="false" :visible.sync="visible"
@close="handlereset" lock-scroll>
<el-steps :active="steps" simple style="margin-bottom: 15px;">
<el-step title="基本信息" icon="el-icon-edit"></el-step>
<el-step title="商品详情" icon="el-icon-upload"></el-step>
</el-steps>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
<el-form :model="dataForm" :rules="dataRule" ref="dataForm"
label-width="100px">
<div class="steps1" v-if="steps == 1">
<el-form-item label="所属分类" prop="productPid">
<el-form-item label="所属分类" prop="poids">
<el-cascader v-model="dataForm.poids" :options="categorys" :props="props" clearable></el-cascader>
</el-form-item>
<el-form-item label="商品类型" prop="goodsType">
<el-select v-model="dataForm.goodsType" placeholder="请选择">
<el-option v-for="item in goodsTypeList" :key="item.dictType" :label="item.dictValue" :value="item.dictType">
@@ -25,11 +22,11 @@
<el-input v-model="dataForm.productName" placeholder="商品名称"></el-input>
</el-form-item>
<el-form-item label="商品图" prop="productImages">
<el-upload :limit="dataForm.limitCountImg" class="el-uploadfeng noneBtnImg"
<el-upload :limit="dataForm.limitCountImg" class="el-uploadfeng "
:class="{ uoloadSty: dataForm.showBtnDealImg, disUoloadSty: dataForm.noneBtnImg }"
action="http://59.110.212.44:9100/pb/oss/fileoss" list-type="picture-card"
:action= "baseUrl + '/oss/fileoss'" list-type="picture-card"
:on-preview="handlePictureCardPreview" :file-list="fileList" :on-success="handlePicSuccess"
accept=".jpeg,.jpg,.gif,.png" :on-change="dealImgChange" :on-remove="handleRemove">
accept=".jpeg,.jpg,.gif,.png" :on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true">
@@ -39,24 +36,30 @@
<el-form-item label="商品轮播图" prop="productImageList">
<el-upload :limit="5" class="el-uploadfeng noneBtnImg"
:class="{ uoloadSty: dataForm.showBtnDealImg, disUoloadSty: dataForm.noneBtnImg }"
action="http://59.110.212.44:9100/pb/oss/fileoss" list-type="picture-card"
:action= "baseUrl + '/oss/fileoss'" list-type="picture-card"
:on-preview="handlePictureCardPreview" :file-list="swiperfileList" :on-success="bannerHandlePicSuccess"
accept=".jpeg,.jpg,.gif,.png" :on-remove="bannerHandleRemove">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true">
<!-- <el-dialog :visible.sync="dialogVisible" :append-to-body="true">
<img width="100%" :src="dataForm.productImageList" alt="">
</el-dialog>
</el-dialog> -->
<span>图片尺寸600*600px支持图片类型.jpeg,.jpg,.gif,.png 最多上传5张图片</span>
</el-form-item>
<div>
<el-form-item label="商品价格" prop="price" style="width: 50%; float: left;">
<el-input v-model="dataForm.price" placeholder="商品价格"></el-input>
<el-form-item label="活动价" prop="price" style="width: 50%; float: left;">
<el-input v-model="dataForm.price" placeholder="活动价"></el-input>
</el-form-item>
<el-form-item label="商品重量" prop="weight" style="width: 48%; float: right;">
<el-form-item label="商品价格" prop="hDprice" style="width: 50%; float: left;">
<el-input v-model="dataForm.hDprice" placeholder="商品价格"></el-input>
</el-form-item>
<el-form-item label="商品重量" prop="weight" style="width: 50%; float: right;">
<el-input style="width: 80%;" v-model="dataForm.weight" placeholder="商品重量"></el-input><span
style="display: inline-block; float: right; width: 10%;"></span>
</el-form-item>
<el-form-item label="商品库存" prop="productStock" style="width: 50%; float: right;">
<el-input v-model="dataForm.productStock" placeholder="商品库存"></el-input>
</el-form-item>
</div>
<!-- <el-form-item label="上架状态" prop="publishStatus">
<el-input v-model="dataForm.publishStatus" placeholder="上架状态"></el-input>
@@ -65,17 +68,17 @@
<el-form-item label="出版社" prop="publisher" style="width: 50%; float: left;">
<el-input placeholder="出版社" v-model="dataForm.publisher"></el-input>
</el-form-item>
<el-form-item label="作者" prop="author" style="width: 48%; float: right;">
<el-form-item label="作者" prop="author" style="width: 50%; float: right;">
<el-input placeholder="作者" v-model="dataForm.author"></el-input>
</el-form-item>
</div>
<div>
<el-form-item label="出版时间" prop="pubDate" style="width: 50%; float: left;">
<el-date-picker @change="changed" format="yyyy 年 MM 月 dd 日" v-model="dataForm.pubDate" type="date" placeholder="选择日期时间">
<el-date-picker @change="changed" format="yyyy 年 MM 月 dd 日" v-model="dataForm.pubDate" type="date" placeholder="选择日期时间">
</el-date-picker>
<!-- <el-input placeholder="出版时间" v-model=""></el-input> -->
</el-form-item>
<el-form-item label="页数" prop="pageNum" style="width: 48%; float: right;">
<el-form-item label="页数" prop="pageNum" style="width: 50%; float: right;">
<el-input placeholder="页数" v-model="dataForm.pageNum"></el-input>
</el-form-item>
</div>
@@ -83,9 +86,17 @@
<el-form-item label="内文用纸材质" prop="quality" style="width: 50%; float: left;">
<el-input v-model="dataForm.quality" placeholder="内文用纸材质"></el-input>
</el-form-item>
<el-form-item label="开本" prop="format" style="width: 48%; float: right;">
<el-form-item label="开本" prop="format" style="width: 50%; float: right;">
<el-input v-model="dataForm.format" placeholder="16开或其他规格"></el-input>
</el-form-item>
</el-form-item>
</div>
<div style="clear: both;">
<el-form-item label="是否包邮" prop="isFreeMail">
<el-radio-group v-model="dataForm.isFreeMail">
<el-radio :label="0">是</el-radio>
<el-radio :label="1">否</el-radio>
</el-radio-group>
</el-form-item>
</div>
<!-- <el-form-item label="排序" prop="sort">
<el-input v-model="dataForm.sort" placeholder="排序"></el-input>
@@ -104,13 +115,15 @@
<!-- <el-button @click="handlereset">取消</el-button> -->
<el-button type="warning" @click="steps = 1" plain size="mini">添加基本信息</el-button>
<el-button type="success" @click="steps = 2" plain size="mini">添加商品详情</el-button>
<el-button type="primary" @click="dataFormSubmit()" plain size="mini">确定</el-button>
<el-button type="primary" @click="dataFormSubmit()" plain size="mini">确 定</el-button>
<el-button type="default" @click="handlereset" plain size="mini">关 闭</el-button>
</span>
</el-dialog>
</template>
<script>
import { quillEditor } from 'vue-quill-editor'
import global from '../../common/common.vue' //引入共用组间
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
@@ -119,6 +132,7 @@ import 'quill/dist/quill.bubble.css'
export default {
data() {
return {
baseUrl:global.baseUrl,
goodsTypeList: [],
steps: 1,
visible: false,
@@ -133,19 +147,22 @@ export default {
checkStrictly: true
},
dataForm: {
hDprice:null, // 活动价
productId: 0,
limitCountImg: 1, // 图片数量
productImageList: '', // 轮播图
showBtnDealImg: true,
noneBtnImg: false,
productName: '',
productStock:null, // 商品库存
price: '',
author: '',
publisher: '',
weight: '',
pubDate: '',
format: '', // 开本
pageNum: null,
isFreeMail:'', // 是否包邮
pageNum: '',
quality: '', // 内文用纸
sumSales: null, // 总销量
publishStatus: '',
@@ -171,7 +188,7 @@ export default {
goodsType: [
{ required: true, message: '商品类型不能为空', trigger: 'blur' }
],
productPid: [
poids: [
{ required: true, message: '商品父id不能为空', trigger: 'blur' }
],
productImages: [
@@ -180,9 +197,9 @@ export default {
productDetails: [
{ required: true, message: '商品详情不能为空', trigger: 'blur' }
],
// createTime: [
// { required: true, message: '创建时间不能为空', trigger: 'blur' }
// ],
productStock: [
{ required: true, message: '商品库存不能为空', trigger: 'blur' }
],
// updateTime: [
// { required: true, message: '更新时间不能为空', trigger: 'blur' }
// ],
@@ -244,9 +261,17 @@ export default {
this.dataForm.updateTime = data.shopProduct.updateTime
this.dataForm.delFlag = data.shopProduct.delFlag
this.dataForm.sort = data.shopProduct.sort
this.dataForm.publisher= data.shopProduct.publisher
this.dataForm.author = data.shopProduct.author
this.dataForm.pubDate = data.shopProduct.pubDate
this.dataForm.pageNum = data.shopProduct.pageNum
this.dataForm.quality = data.shopProduct.quality
this.dataForm.format = data.shopProduct.format
this.dataForm.isFreeMail = data.shopProduct.isFreeMail
this.dataForm.productDetails = data.shopProduct.productDetails
this.dataForm.poids = data.shopProduct.poids
this.dataForm.productStock = data.shopProduct.productStock
this.dataForm.hDprice = data.shopProduct.activityPrice
if (data.shopProduct.productImages != "") {
var img = { name: '', url: data.shopProduct.productImages }
var attr = []
@@ -314,18 +339,24 @@ export default {
'publisher': this.dataForm.publisher,
'pubDate': this.dataForm.pubDate,
'format': this.dataForm.format, // 开本
'isFreeMail' : this.dataForm.isFreeMail,
'pageNum': this.dataForm.pageNum,
'quality': this.dataForm.quality, // 内文用纸
'quality': this.dataForm.quality, // 内文用纸
'productStock' : this.dataForm.productStock , // 库存
'activityPrice' : this.dataForm.hDprice
})
}).then(({ data }) => {
if (data && data.code === 0) {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$refs['dataForm'].resetFields()
this.$refs['dataForm'].reset()
this.$emit('refreshDataList')
this.steps = 1
}
})
} else {
@@ -344,7 +375,7 @@ export default {
method: 'get',
params: this.$http.adornParams()
}).then(({ data }) => {
this.categorys = data.data;
this.categorys = data.data;
})
},
handlePictureCardPreview(file) {
@@ -371,8 +402,11 @@ export default {
}
},
handlePicSuccess(res, file) {
// console.log(res,'res')
if (res.msg == "success") {
this.dataForm.productImages = res;
this.dataForm.productImages = res.url;
this.fileList.push({ name: file.name, url: res.url })
// console.log(this.dataForm.productImages,'productImages')
this.$message.success("上传成功");
} else {
this.$message.error("上传失败");
@@ -389,6 +423,9 @@ export default {
handlereset() {
this.fileList = [],
this.visible = false
this.swiperfileList = []
this.$refs['dataForm'].resetFields()
this.$refs['dataForm'].reset()
},
// 失去焦点事件
onEditorBlur(quill) {
@@ -422,9 +459,9 @@ export default {
}
</script>
<style></style>
<style lang="less" scoped>
.productsDialog{height: 800px; overflow-y: scroll;}
.disUoloadSty {
.el-upload--picture-card {
display: none;

View File

@@ -15,7 +15,7 @@
</el-form-item>
<el-form-item label="头像" prop="avatar">
<!-- <el-input v-model="dataForm.avatar" placeholder="头像"></el-input> -->
<el-upload action="http://59.110.212.44:9100/pb/oss/fileoss" list-type="picture-card"
<el-upload :action= "baseUrl + '/oss/fileoss'" list-type="picture-card"
:on-preview="handlePictureCardPreview" :file-list="fileList" :on-success="handlePicSuccess"
:on-remove="handleRemove">
<i class="el-icon-plus"></i>
@@ -74,9 +74,11 @@
</template>
<script>
import global from '../../common/common.vue' //引入共用组间
export default {
data() {
return {
baseUrl:global.baseUrl,
visible: false,
dialogVisible: false,
fileList: [],