Commit 23863bbd authored by mengwenhao's avatar mengwenhao

feature:商品管理详情

parent 49142d00
const env = process.env.NODE_ENV || 'development';
const env = process.env.NODE_ENV || "development";
const port = process.env.PORT || 8055;
const LOGIN_URI = {
'development': "http://bp-test.ini.yidian-inc.com ",
'test': "http://web-rest.int.yidian-inc.com",
'production': "http://web-rest.int.yidian-inc.com"
}
};
const PANDORA_URI = {
'development': "http://pandora.yidian-inc.com",
'test': "http://pandora.yidian-inc.com",
'production': "http://pandora.yidian-inc.com"
}
};
const API_INTERNAL_URI = {
'development': "http://bp-test.ini.yidian-inc.com",
'test': "http://bp-test.ini.yidian-inc.com",
'production': "http://bp-test.ini.yidian-inc.com"
}
};
const GOODS_URI = {
'development': "http://bp-dev.ini.yidian-inc.com",
'test': "http://bp-test.ini.yidian-inc.com",
'production': "http://bp-test.ini.yidian-inc.com"
};
const IDGEN_URI = {
'development': "https://bp-test.go2yd.com",
'test': "http://idgen-test.ini.yidian-inc.com",
'production': "http://idgen-test.ini.yidian-inc.com"
}
};
module.exports = {
env: env,
......@@ -31,5 +37,6 @@ module.exports = {
LOGIN_URI: LOGIN_URI[env],
API_INTERNAL_URI: API_INTERNAL_URI[env],
PANDORA_URI: PANDORA_URI[env],
IDGEN_URI: IDGEN_URI[env]
IDGEN_URI: IDGEN_URI[env],
GOODS_URI: GOODS_URI[env]
};
const GOODS_URI = require("../config.js").GOODS_URI;
const req = require("../utils/request").httpReq;
exports.getCategoryList = async ctx => {
const url = `${GOODS_URI}/goods/background/get_goods_category_list`;
const opts = {
url,
method: "GET",
};
ctx.body = await req(ctx, opts);
};
......@@ -4,7 +4,8 @@ const system = require("./controllers/system");
const user = require("./controllers/user");
const enterprise = require("./controllers/enterprise");
const role = require('./controllers/role')
const life = require('./controllers/life-no')
const life = require('./controllers/life-no');
const goods = require('./controllers/goods');
const router = Router();
const API_VERSION = "/api/v1";
......@@ -36,6 +37,9 @@ router.post(`${API_VERSION}/business`, enterprise.postBusiness)
router.post(`${API_VERSION}/op_commit`, enterprise.opCommit);
router.post(`${API_VERSION}/op_business_update`, enterprise.opBusinessUpdate);
/* 商品管理 */
router.get(`${API_VERSION}/get_goods_category_list`, goods.getCategoryList)
//生活号
router.post(`${API_VERSION}/merchant/lifeinner/life_info`, life.get_life_info)
router.get(`${API_VERSION}/merchant/lifeinner/life_list`, life.get_life_list)
......
const request = require('request')
const request = require("request");
exports.httpReq = (ctx, opts) => {
opts.timeout = opts.timeout || 1000
opts.timeout = opts.timeout || 1000;
return new Promise((resolve, reject) => {
var time_start = +new Date()
var time_start = +new Date();
const defaultQs = {
appid: 'merchant-op',
cv: '1.0.0',
version: '999999',
distribution: 'op',
net: 'wifi',
platform: '2',
}
appid: "merchant-op",
cv: "1.0.0",
version: "999999",
distribution: "op",
net: "wifi",
platform: "2"
};
opts.qs = { ...defaultQs, ...ctx.request.query, ...opts.qs};
opts.qs = { ...defaultQs, ...ctx.request.query, ...opts.qs };
request(opts, (err, res, body) => {
console.info(`[Api] httpReq (${opts.url}, user:[${opts.qs.op_cur_user}]) spent: ${+new Date() - time_start}ms`)
console.info(
`[Api] httpReq (${opts.url}, user:[${opts.qs.op_cur_user
}]) spent: ${+new Date() - time_start}ms`
);
if (!err) {
resolve(body)
resolve(body);
} else {
reject(err)
console.error(opts.url, err)
reject(err);
console.error(opts.url, err);
}
})
})
}
});
});
};
......@@ -418,7 +418,6 @@ export default {
// 审核-拒绝审核
async auditResult (status) {
console.log(this.$store.state.userInfo.userid);
const params = {
audit_status: status,
audit_user_name: this.$store.state.userInfo.name,
......
<template>
<div class="list">
<el-card class="commodity">
<el-card class="goods">
<!-- 筛选区 -->
<el-form
inline
......@@ -17,7 +17,7 @@
<!-- 所属分类 -->
<el-form-item label="所属分类">
<el-cascader
:options="options"
:options="labelOptions"
:props="cascaderProps"
collapse-tags
clearable
......@@ -55,19 +55,19 @@
<!-- 列表区 -->
<el-table
class="commodity_list"
:data="commodityList"
class="goods_list"
:data="goodsList"
border
stripe
>
<el-table-column
label="商品id"
prop="commodity_id"
prop="goods_id"
align="center"
></el-table-column>
<el-table-column
label="商品名称"
prop="commodity_name"
prop="goods_name"
align="center"
></el-table-column>
<el-table-column
......@@ -132,7 +132,7 @@
></el-table-column>
<el-table-column
label="商品创建时间"
prop="commodity_create_time"
prop="goods_create_time"
align="center"
></el-table-column>
<!-- 操作快捷键 -->
......@@ -156,12 +156,12 @@
<el-button
type="text"
v-if="scope.row.state === 1"
@click="changeCommodityState('GROUNDING')"
@click="changeGoodsState('GROUNDING')"
>上架</el-button>
<el-button
type="text"
v-if="scope.row.state === 1"
@click="changeCommodityState('UNDERCARRIAGE')"
@click="changeGoodsState('UNDERCARRIAGE')"
>下架</el-button>
</template>
</el-table-column>
......@@ -184,16 +184,25 @@
<style lang="less" src="./index.less" scope></style>
<script>
import { getGoodsList } from "@/service/Goods/goods";
export default {
name: "CommodityList",
name: "GoodsList",
created () { },
created () {
// 获取级联选择
this.getOptionList();
},
data () {
return {
cascaderProps: { multiple: true },
cascaderProps: {
multiple: true,
value: "category_id",
label: "name",
children: "sub_list"
},
// 级联选择器
options: [
labelOptions: [
{
value: 1,
label: "东南",
......@@ -260,10 +269,10 @@ export default {
// 商品状态
stateValue: [],
// 商品列表
commodityList: [
goodsList: [
{
commodity_id: 1,
commodity_name: "威化",
goods_id: 1,
goods_name: "威化",
first_classify: 1,
second_classify: 1,
life_no_id: 1,
......@@ -276,7 +285,7 @@ export default {
inventory: 999,
state: 1,
state_update_time: "2021-06-17",
commodity_create_time: "2021-06-17"
goods_create_time: "2021-06-17"
}
],
currentPage: 1 // 当前页码
......@@ -284,13 +293,27 @@ export default {
},
methods: {
// 获取级联选择
async getOptionList () {
try {
const res = await getGoodsList();
if (res.code !== 0) {
return this.$message.error(res.reason);
} else {
this.labelOptions = res.result;
}
console.log(res);
} catch (error) {
console.error(error);
}
},
// 获取列表信息
getCommodityList () {
getList () {
console.log("我是准备获取信息的!!!");
},
// 上架/下架操作
changeCommodityState (state) {
changeGoodsState (state) {
console.log(state);
},
......@@ -298,12 +321,12 @@ export default {
handleCurrentChange (e) {
this.currentPage = e;
// 获取信息
this.getCommodityList();
this.getList();
},
// 去往详情页
goDetail (where) {
this.$router.push({ name: "CommodityDetail", params: { operation: where } });
this.$router.push({ name: "GoodsDetail", params: { operation: where } });
}
}
};
......
/**
* 商品列表管理
*/
const goodsRouters = [
{
path: "/goods/list",
name: "GoodsList",
component: () => import(/* webpackChunkName: "goods" */ "@/pages/Goods/List")
},
{
path: "/goods/detail",
name: "GoodsDetail",
component: () => import(/* webpackChunkName: "goods" */ "@/pages/Goods/Detail")
},
];
export default goodsRouters;
......@@ -9,6 +9,7 @@ import UserDetail from "../pages/User/user-detail.vue";
import AddRole from "../pages/Role/add-role.vue";
import ManageRole from "../pages/Role/manage-role.vue";
import RoleDetail from "../pages/Role/role-detail.vue";
import goodsRouter from "./Goods/index";
const routes = [
{
......@@ -53,24 +54,12 @@ const routes = [
name: "Establish",
component: () =>
import(
/* webpackChunkName: "enterprise" */ "@/pages/Enterprise/Establish"
/* webpackChunkName: "enterprise" */ "@/pages/Enterprise/Establish"
),
meta: {
requireAuth: true
}
},
// 商品详情管理
{
path: "/commodity/list",
name: "CommodityList",
component: () => import(/* webpackChunkName: "commodity" */ "@/pages/Commodity/List")
},
// 商品详情管理
{
path: "/commodity/detail",
name: "CommodityDetail",
component: () => import(/* webpackChunkName: "commodity" */ "@/pages/Commodity/Detail")
},
//生活号管理
{
path: "/lifeNo",
......@@ -122,12 +111,15 @@ const routes = [
meta: {
keepAlive: true
}
}
},
// 商品管理路由
...goodsRouter
];
console.log(routes);
const router = createRouter({
history: createWebHashHistory(),
routes
});
export default router;
export default router;
\ No newline at end of file
import axios from "@/utils/request";
// 获取商品分类列表
export async function getGoodsList () {
const res = await axios.get("/api/v1/get_goods_category_list");
return res;
}
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