Commit e007fb32 authored by liwenhong's avatar liwenhong

Merge branch 'master' into lwh/head-distribution

# Conflicts:
#	server/utils/request.js
#	src/pages/Activity/ActivityDetail/index.vue
#	src/pages/Activity/releaseProduc/components/addProduc.vue
#	src/pages/Activity/releaseProduc/components/infoEditing.vue
#	src/pages/Activity/releaseProduc/components/myMap.vue
#	src/pages/Activity/releaseProduc/index.vue
#	src/pages/Goods/Detail/index.vue
#	src/utils/util.js
parents c3a373c3 e0d63de7
This diff is collapsed.
......@@ -16,6 +16,8 @@
<% for (let i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %>
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
<% } %>
<script src="//webapi.amap.com/maps?v=1.3&key=bb057625545d8cf77df1379e7aaae0b5"></script>
<script src="//webapi.amap.com/ui/1.0/main.js"></script>
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
......
const fs = require("fs");
const API_INTERNAL_URI = require("../config.js").API_INTERNAL_URI;
const reqOther = require("../utils/request").httpReqOther;
const FormData = require("form-data");
const http = require("http");
const GROUPMEAL_URI = require("../config.js").GROUPMEAL_URI;
exports.uploadPic = async (ctx, next) => {
const url = `${API_INTERNAL_URI}/ksy/ks3apiunencrypt/ks3api_upload`;
const {
body: { type },
files,
} = ctx.request;
console.log("type", type);
const filePath = files.file.path;
const file = fs.createReadStream(filePath);
const form = new FormData();
form.append("file", file);
form.append("type", type);
const opts = {
method: "post",
url: url,
body: form,
headers: form.getHeaders(),
};
ctx.body = await reqOther(opts);
};
exports.oldOrderExport = async (ctx) => {
const { marketing_id, type } = ctx.query;
// `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
const url = `${GROUPMEAL_URI}/order/oldbackground/order_export?marketing_id=${marketing_id}&type=${type}`;
console.log("url", url);
const options = new URL(url);
let { buffer, res } = await requestPromise(options);
const fileName = res.headers["content-disposition"].split("=")[1];
ctx.set("Content-Type", "application/octet-stream");
ctx.set("Content-Disposition", `attachment; filename=${fileName}`);
ctx.body = buffer;
};
exports.orderExport = async (ctx) => {
const { marketing_id, type } = ctx.query;
const url = `${GROUPMEAL_URI}/order/background/order_export?marketing_id=${marketing_id}&type=${type}`;
console.log("url", url);
const options = new URL(url);
let { buffer, res } = await requestPromise(options);
const fileName = res.headers["content-disposition"].split("=")[1];
ctx.set("Content-Type", "application/octet-stream");
ctx.set("Content-Disposition", `attachment; filename=${fileName}`);
ctx.body = buffer;
};
function requestPromise(options) {
return new Promise(function (resolve, reject) {
const req = http.request(options, function (res) {
let { statusCode } = res;
//返回不是200
if (statusCode !== 200) {
return reject(new Error("error"));
}
let arr = [];
let len = 0;
res.on("data", (chunk) => {
len += chunk.length;
arr.push(Buffer.from(chunk));
});
res.on("end", () => {
//正确 success
return resolve({
buffer: Buffer.concat(arr, len),
res,
});
});
});
//请求出错
req.on("error", (err) => {
return reject(err);
});
req.end();
});
}
......@@ -10,6 +10,7 @@ const activity = require("./controllers/activity");
const withdrawal = require("./controllers/withdrawal");
const groupmeal = require("./controllers/groupmeal");
const qr_code = require("./controllers/qr-code");
const relay = require("./controllers/relay");
const router = Router();
const API_VERSION = "/api/v1";
......@@ -143,4 +144,9 @@ router.post(`${API_VERSION}/get_reblack_list`, withdrawal.getReblackList);
router.get(`${API_VERSION}/get_wallet_account_status`, withdrawal.getWalletAccountStatus);
router.post(`${API_VERSION}/reset_wallet_account_status`, withdrawal.resetAccountStatus);
// 图片上传
router.post(`${API_VERSION}/relay/ks3api_upload`, relay.uploadPic);
router.get(`${API_VERSION}/relay/order_export`, relay.orderExport);
router.get(`${API_VERSION}/relay/old_order_export`, relay.oldOrderExport);
module.exports = router;
......@@ -28,3 +28,17 @@ exports.httpReq = (ctx, opts) => {
});
});
};
exports.httpReqOther = (opts) => {
opts.timeout = opts.timeout || 10000;
return new Promise((resolve, reject) => {
request(opts, (err, res, body) => {
if (!err) {
resolve(body);
} else {
reject(err);
console.error(opts.url, err);
}
});
});
};
......@@ -188,9 +188,8 @@
</template>
<script>
import { GOODS_URI } from "../../../../../server/config";
import { ElMessage } from "element-plus";
import { getCookie } from "@/utils/util";
import { getCookie, UploadPicUrl } from "@/utils/util";
import { addGoods, getBusinessList, pindanGoods, markGoodsInfo, editGoods } from "../../../../service/Activity/index";
// 当选择(每人最多买时 添加验证(非空))
......@@ -249,7 +248,7 @@
picUrlList: [],
picUploadList: [], // 上传详情图片列表
isShowPopver: false, // 是否展示图片框
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址
uploadUrl: UploadPicUrl, // 金山云上传地址
hideUpload: false,
limitCount: 1,
......
......@@ -37,7 +37,8 @@
</template>
<script>
import { GOODS_URI } from "../../../../../server/config";
import { UploadPicUrl } from "@/utils/util";
export default {
props: {
infoEditArr: {
......@@ -61,7 +62,7 @@
picSubmitList: [], // 发布功能需要的图片列表
propData: {},
isShowPopver: false, // 是否展示图片框
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址
uploadUrl: UploadPicUrl, // 金山云上传地址
hideUpload: false,
limitCount: 9,
};
......
......@@ -108,6 +108,7 @@
mapConfig.center = [this.lng, this.lat];
}
let map = new AMap.Map("js-container", mapConfig);
let _this = this;
// 加载地图搜索插件
AMap.service("AMap.PlaceSearch", () => {
......@@ -119,6 +120,22 @@
map: map,
panel: "js-result",
});
this.placeSearch.on("selectChanged", function ({ selected }) {
console.log(selected);
const { address, location, pname, cityname, adname } = selected.data;
_this.dragData = {
lng: location.lng,
lat: location.lat,
address: address,
province: pname,
city: cityname,
area: adname,
};
_this.searchKey = "";
});
});
// 启用工具条
......
......@@ -153,6 +153,7 @@
for (var i in this.addProducArr) {
this.goodsSkuIDArr.push(this.addProducArr[i].goods_sku_id);
}
this.goodsSkuIDArr = [...new Set(this.goodsSkuIDArr)];
this.startDate = this.$refs.spellOrderSet.startDate;
this.endDate = this.$refs.spellOrderSet.endDate;
let params = {
......
......@@ -458,7 +458,7 @@
editGoods,
} from "@/service/Goods/goods";
import { GOODS_URI } from "../../../../server/config.js";
import { UploadPicUrl } from "@/utils/util";
import filterInput from "../utils/filterInput";
......@@ -608,7 +608,7 @@
activeStartTime: "", // 活动开始时间
activeEndTime: "", // 活动结束时间
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址
uploadUrl: UploadPicUrl, // 金山云上传地址
addShopShow: false, // 添加门店弹框显示
......
......@@ -21,15 +21,26 @@
<!-- <el-button type="primary" size="small">审核</el-button> -->
<template #default="scope">
<!-- v-if="scope.row.audit_status == 0" -->
<el-button type="primary" size="mini" @click="apply(scope.row)">审核</el-button>
<el-button type="primary" size="mini" @click="handleApplyItem(scope.row)">审核</el-button>
<el-button type="text" size="small" v-if="scope.row.audit_status == 1">通过</el-button>
<el-button type="primary" size="small" @click="addPoint(scope.row.colonel_apply_id)">添加自提点</el-button>
<el-button type="primary" size="small" v-if="scope.row.take_place_status == 1" @click="addPoint(scope.row.colonel_apply_id)">
添加自提点
</el-button>
<!-- v-if="scope.row.take_place_status==1" -->
<el-button type="text" size="small" v-if="scope.row.audit_status == 2">拒绝</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog title="团长审核" v-model="dialogFormVisible">
您确认通过{{ applyItem.contact_name }}的团长申请吗
<template #footer>
<span class="dialog-footer">
<el-button @click="apply(applyItem, 2)">拒绝申请</el-button>
<el-button type="primary" @click="apply(applyItem, 1)">通过申请</el-button>
</span>
</template>
</el-dialog>
<el-dialog title="添加自提点" v-model="showAddPointDialog" width="50%" top="2%">
<el-form :model="pointObj">
<el-form-item label="联系人姓名">
......@@ -78,6 +89,7 @@
</span>
</template>
</el-dialog>
<div class="marketing">
<!-- 表头 -->
<div class="header">
......@@ -126,6 +138,8 @@
fileList: [],
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址
pickStation: {},
dialogFormVisible: false,
applyItem: {},
};
},
async created() {
......@@ -133,6 +147,10 @@
await this.getColoneApplyList();
},
methods: {
handleApplyItem(item) {
this.applyItem = item;
this.dialogFormVisible = true;
},
handleDetailSuccess(res) {
this.pointObj.take_place_pic = res.result.url;
},
......@@ -142,25 +160,12 @@
if (res.code !== 0) return this.$message.error(res.reason);
else return this.$message.success("添加成功");
},
apply(item) {
// this.applyPopTitle = `您确认通过(${name})的团长申请吗`
this.$confirm(`您确认${item.audit_status == 2 ? "通过" : "驳回"}(${item.contact_name})的团长申请吗`, "团长审核", {
confirmButtonText: "确定",
cancelButtonText: "拒绝",
center: true,
})
.then(async () => {
let res = await colonelAudit({ colonel_apply_id: item.colonel_apply_id, audit_status: 1 });
async apply(item, type) {
let res = await colonelAudit({ colonel_apply_id: item.colonel_apply_id, audit_status: type });
await this.getColoneApplyList();
this.dialogFormVisible = false;
if (res.code !== 0) return this.$message.error(res.reason);
else this.$message.success("操作成功");
})
.catch(async (err) => {
let res = await colonelAudit({ colonel_apply_id: item.colonel_apply_id, audit_status: 2 });
await this.getColoneApplyList();
if (res.code !== 0) return this.$message.error(res.reason);
else this.$message.success("操作成功");
});
},
async addPoint(id) {
let res = await colonelApplyPoint({ colonel_apply_id: id });
......
......@@ -112,15 +112,21 @@ export async function orderRefundReject(params) {
// 导出订单
export function getOrderExportURL(eventId, type) {
var ENV;
if (process.env.NODE_ENV == "development") {
ENV = "http://bp-dev.ini.yidian-inc.com/";
} else if (process.env.NODE_ENV == "test") {
ENV = "http://bp-test.ini.yidian-inc.com/";
// var ENV;
// if(process.env.NODE_ENV == "development"){
// ENV = "http://bp-dev.ini.yidian-inc.com/"
// }else if(process.env.NODE_ENV == "test"){
// ENV = "http://bp-test.ini.yidian-inc.com/"
// }else{
// ENV = "http://bp.int.yidian-inc.com/"
// }
// return `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
if (process.env.NODE_ENV === "development") {
return `http://127.0.0.1:8055/api/v1/relay/old_order_export?marketing_id=${eventId}&type=${type}`;
} else {
ENV = "http://bp.int.yidian-inc.com/";
return `/api/v1/relay/old_order_export?marketing_id=${eventId}&type=${type}`;
}
return `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
}
// 新订单管理
......@@ -191,13 +197,10 @@ export async function newOrderRefundReject(params) {
// 导出订单
export function newGetOrderExportURL(eventId, type) {
var ENV;
if (process.env.NODE_ENV == "development") {
ENV = "http://bp-dev.ini.yidian-inc.com/";
} else if (process.env.NODE_ENV == "test") {
ENV = "http://bp-test.ini.yidian-inc.com/";
if (process.env.NODE_ENV === "development") {
return `http://127.0.0.1:8055/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
} else {
ENV = "http://bp.int.yidian-inc.com/";
return `/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
}
return `${ENV}order/background/order_export?marketing_id=${eventId}&type=${type}`;
// return `/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
}
......@@ -67,3 +67,6 @@ export function delCookie() {
}
}
}
export const UploadPicUrl =
process.env.NODE_ENV === "development" ? `http://127.0.0.1:8055/api/v1/relay/ks3api_upload` : "/api/v1/relay/ks3api_upload";
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