Commit 23651259 authored by your yuchenglong's avatar your yuchenglong

update:图片上传,搜商品,商家接口

parent 71ecc8f7
// const ACTIVITY_URI = require("../config.js").ACTIVITY_URI;
// const req = require("../utils/request").httpReq;
const ACTIVITY_URI = require("../config.js").ACTIVITY_URI;
const req = require("../utils/request").httpReq;
// 获取商家列表
exports.getBusinessList = async ctx => {
const url = `${ACTIVITY_URI}/goods/background/ota_list`;
const opts = {
url,
method: "GET"
};
ctx.body = await req(ctx, opts);
};
// 添加商品
exports.addGoods = async ctx => {
const url = `${ACTIVITY_URI}/goods/background/add_goods`;
const opts = {
url,
method: "POST",
json: true,
body: ctx.request.body
};
ctx.body = await req(ctx, opts);
};
// 商品库列表
exports.pindanGoods = async ctx => {
const url = `${ACTIVITY_URI}/goods/background/pindan_goods`;
const opts = {
url,
method: "GET"
};
ctx.body = await req(ctx, opts);
};
\ No newline at end of file
......@@ -63,4 +63,9 @@ router.get(`${API_VERSION}/merchant/lifeinner/life_list`, life.get_life_list)
//用户
router.post(`${API_VERSION}/merchant/authority/get_user_info`, user.getUser_detail)
//活动管理
router.get(`${API_VERSION}/goods/background/ota_list`, activity.getBusinessList);
router.post(`${API_VERSION}/goods/background/add_goods`, activity.addGoods);
router.get(`${API_VERSION}/goods/background/pindan_goods`, activity.pindanGoods);
module.exports = router;
......@@ -178,6 +178,9 @@ export default {
// 查看详情
handleLook() {},
},
created(){
}
};
</script>
<style lang="less" src="./index.less" scope></style>
\ No newline at end of file
......@@ -19,65 +19,76 @@
</el-form-item>
<el-form-item label="图片:">
<el-upload
action="#"
:class="{ hide: hideUpload }"
:data="{ type: 1 }"
:action="uploadUrl"
:on-preview="previewImage"
:on-success="handleDetailSuccess"
:before-remove="removeDetailFiles"
:file-list="infoEditForm.picUrlList"
auto-upload
ref="picUpload"
:limit="9"
list-type="picture-card"
:auto-upload="false"
limit="9"
multiple
>
<template #default>
<i class="el-icon-plus"></i>
</template>
<template #file="{ file }">
<div>
<img
class="el-upload-list__item-thumbnail"
:src="file.url"
alt=""
/>
<span class="el-upload-list__item-actions">
<span
v-if="!disabled"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete"></i>
</span>
</span>
</div>
</template>
</el-upload>
<el-dialog v-model="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog>
</el-form-item>
</el-form>
<!-- 展示缩略图 -->
<el-dialog width="40%" v-model="isShowPopver">
<el-image :src="popoverImage" fit="fill" style="width: 100%"></el-image>
</el-dialog>
</div>
</template>
<script>
import { GOODS_URI } from "../../../../../server/config";
export default {
data() {
return {
infoEditForm: {
title: "",
desc: "",
title: "", // 标题
desc: "", // 介绍
picUploadList: [], // 上传详情图片列表
},
dialogImageUrl: "",
dialogVisible: false,
disabled: false,
hideUpload: false,
isShowPopver: false, // 是否展示图片框
picUrlList: [], // 图片回显列表
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址
};
},
methods: {
validate(callback) {
this.$refs.form.validate((valid) => {
callback(valid);
});
// 初始化上传图片列表
// formatUploadPictureList(fileStr) {
// if (!fileStr) {
// return [];
// } else {
// return fileStr.split(",");
// }
// },
// 展示商品大图
previewImage(file) {
this.popoverImage = file.url;
this.isShowPopver = true;
},
// 图片删除
handleRemove(file) {
console.log(file);
// 图片上传成功时
handleDetailSuccess(res) {
console.log(res);
this.infoEditForm.picUploadList.push(res.result.image_id);
},
// 图片删除后
removeDetailFiles(file, fileList) {
for (let i = 0; i < fileList.length; i++) {
if (fileList[i].uid == file.uid) {
this.infoEditForm.picUploadList.splice(i, 1);
}
}
},
},
};
......
......@@ -14,7 +14,7 @@
</el-steps>
<div class="content">
<infoEditing ref="infoEdit" v-if="active === 1" />
<addProduc v-else-if="active === 2" />
<addProduc ref="addProduc" v-else-if="active === 2" />
<spellOrderSet v-else />
</div>
<div class="stepsBtn">
......@@ -33,10 +33,10 @@
</template>
<script>
import { ElMessage } from "element-plus";
import infoEditing from "./components/infoEditing.vue";
import addProduc from "./components/addProduc.vue";
import spellOrderSet from "./components/spellOrderSet.vue";
import { ElMessage } from "element-plus";
export default {
components: {
infoEditing,
......@@ -46,7 +46,7 @@ export default {
data() {
return {
active: 1, // 步骤条状态
infoEditArr: [],
infoEditArr: [], // 信息编辑数据
};
},
......@@ -58,15 +58,20 @@ export default {
// 下一步
next() {
if (this.active == "1") {
if (this.active === 1) {
if (this.$refs.infoEdit.infoEditForm.title == "") {
ElMessage.error("请填写商品标题");
// this.$refs["infoEdit"].validateForm(() => {
// this.active++;
// });
return;
}
// console.log(this.$refs.infoEdit.infoEditForm.picUploadList.join(","));
this.infoEditArr.push(this.$refs.infoEdit.infoEditForm);
} else if (this.active === 2) {
if (this.$refs.addProduc.comTableData.length == 0) {
ElMessage.error("请至少选择一个商品");
return;
}
}
// 信息编辑中的图片
this.active++;
},
// 取消
......@@ -74,7 +79,9 @@ export default {
this.$router.go(-1);
},
// 确认发布
confirmRelease() {},
confirmRelease() {
this.$router.push({ path: "/op/activity/manage" });
},
},
created() {},
};
......
import axios from "@/utils/request";
// 获取商家列表
export async function getBusinessList(params) {
const res = await axios.get("/api/v1/goods/background/ota_list",{
params
});
return res;
}
// 添加商品
export async function addGoods(params) {
const res = await axios.post(
"/api/v1/goods/background/add_goods",
params
);
return res;
}
// 商品库列表
export async function pindanGoods(params) {
const res = await axios.get("/api/v1/goods/background/pindan_goods",{
params
});
return res;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment