优化资源管理

This commit is contained in:
gyq 2024-05-11 17:17:42 +08:00
parent 8441022041
commit 5eb74b5463
6 changed files with 160 additions and 105 deletions

View File

@ -1,4 +1,4 @@
import request from '@/utils/request'
import request from "@/utils/request";
/**
* 商品列表
@ -6,10 +6,10 @@ import request from '@/utils/request'
*/
export function tbProduct(params) {
return request({
url: '/api/tbProduct',
method: 'get',
url: "/api/tbProduct",
method: "get",
params
})
});
}
/**
@ -18,10 +18,10 @@ export function tbProduct(params) {
*/
export function tbProductDelete(data) {
return request({
url: '/api/tbProduct',
method: 'delete',
url: "/api/tbProduct",
method: "delete",
data
})
});
}
/**
@ -30,10 +30,10 @@ export function tbProductDelete(data) {
*/
export function tbShopUnit(params) {
return request({
url: '/api/tbShopUnit',
method: 'get',
url: "/api/tbShopUnit",
method: "get",
params
})
});
}
/**
@ -43,8 +43,8 @@ export function tbShopUnit(params) {
export function tbShopCurrency(shopId) {
return request({
url: `/api/tbShopCurrency/${shopId}`,
method: 'get'
})
method: "get"
});
}
/**
@ -54,9 +54,9 @@ export function tbShopCurrency(shopId) {
export function tbShopCurrencyPut(data) {
return request({
url: `/api/tbShopCurrency`,
method: 'put',
method: "put",
data
})
});
}
/**
@ -66,9 +66,9 @@ export function tbShopCurrencyPut(data) {
export function tbShopUnitPost(data) {
return request({
url: `/api/tbShopUnit`,
method: 'post',
method: "post",
data
})
});
}
/**
@ -78,9 +78,9 @@ export function tbShopUnitPost(data) {
export function tbShopUnitPut(data) {
return request({
url: `/api/tbShopUnit`,
method: 'put',
method: "put",
data
})
});
}
/**
@ -90,9 +90,9 @@ export function tbShopUnitPut(data) {
export function tbShopUnitDelete(data) {
return request({
url: `/api/tbShopUnit`,
method: 'delete',
method: "delete",
data
})
});
}
/**
@ -102,9 +102,9 @@ export function tbShopUnitDelete(data) {
export function tbShopCurrencyGet(params) {
return request({
url: `/api/tbShopUnit`,
method: 'get',
method: "get",
params
})
});
}
/**
@ -114,21 +114,21 @@ export function tbShopCurrencyGet(params) {
export function tbShopCategoryGet(params) {
return request({
url: `/api/tbShopCategory`,
method: 'get',
method: "get",
params
})
});
}
/**
* 新增编辑分类/新增编辑子分类
* @returns
*/
export function tbShopCategoryPost(data, method = 'post') {
export function tbShopCategoryPost(data, method = "post") {
return request({
url: `/api/tbShopCategory`,
method: method,
data
})
});
}
/**
@ -138,9 +138,9 @@ export function tbShopCategoryPost(data, method = 'post') {
export function tbShopCategoryDelete(data) {
return request({
url: `/api/tbShopCategory`,
method: 'delete',
method: "delete",
data
})
});
}
/**
@ -150,9 +150,9 @@ export function tbShopCategoryDelete(data) {
export function tbProductSpecPost(data) {
return request({
url: `/api/tbProductSpec`,
method: 'post',
method: "post",
data
})
});
}
/**
@ -162,9 +162,9 @@ export function tbProductSpecPost(data) {
export function tbProductSpecGet(params) {
return request({
url: `/api/tbProductSpec`,
method: 'get',
method: "get",
params
})
});
}
/**
@ -174,9 +174,9 @@ export function tbProductSpecGet(params) {
export function tbProductSpecPut(data) {
return request({
url: `/api/tbProductSpec`,
method: 'put',
method: "put",
data
})
});
}
/**
@ -186,9 +186,9 @@ export function tbProductSpecPut(data) {
export function tbProductSpecDelete(data) {
return request({
url: `/api/tbProductSpec`,
method: 'DELETE',
method: "DELETE",
data
})
});
}
/**
@ -198,9 +198,9 @@ export function tbProductSpecDelete(data) {
export function tbProductGroupPost(data) {
return request({
url: `/api/tbProductGroup`,
method: 'post',
method: "post",
data
})
});
}
/**
@ -210,9 +210,9 @@ export function tbProductGroupPost(data) {
export function tbProductGroupPut(data) {
return request({
url: `/api/tbProductGroup`,
method: 'PUT',
method: "PUT",
data
})
});
}
/**
@ -222,9 +222,9 @@ export function tbProductGroupPut(data) {
export function tbProductGroupGet(params) {
return request({
url: `/api/tbProductGroup`,
method: 'get',
method: "get",
params
})
});
}
/**
@ -234,8 +234,8 @@ export function tbProductGroupGet(params) {
export function productListGet(productGroup) {
return request({
url: `/api/tbProductGroup/${productGroup}`,
method: 'get'
})
method: "get"
});
}
/**
@ -245,9 +245,9 @@ export function productListGet(productGroup) {
export function tbProductGroupDelete(data) {
return request({
url: `/api/tbProductGroup`,
method: 'DELETE',
method: "DELETE",
data
})
});
}
/**
@ -257,9 +257,9 @@ export function tbProductGroupDelete(data) {
export function tbProductPost(data) {
return request({
url: `/api/tbProduct`,
method: 'post',
method: "post",
data
})
});
}
/**
@ -269,9 +269,9 @@ export function tbProductPost(data) {
export function tbProductPut(data) {
return request({
url: `/api/tbProduct`,
method: 'put',
method: "put",
data
})
});
}
/**
@ -282,8 +282,8 @@ export function tbProductPut(data) {
export function tbProductGetDetail(product) {
return request({
url: `/api/tbProduct/${product}`,
method: 'get'
})
method: "get"
});
}
/**
@ -293,9 +293,9 @@ export function tbProductGetDetail(product) {
export function tbShopInfo(params) {
return request({
url: `/api/tbShopInfo`,
method: 'get',
method: "get",
params
})
});
}
/**
@ -305,9 +305,9 @@ export function tbShopInfo(params) {
export function tbMerchantRegisterPost(data) {
return request({
url: `/api/tbMerchantRegister`,
method: 'post',
method: "post",
data
})
});
}
/**
@ -317,21 +317,21 @@ export function tbMerchantRegisterPost(data) {
export function tbMerchantRegisterList(data) {
return request({
url: `/api/tbMerchantRegister/list`,
method: 'post',
method: "post",
data
})
});
}
/**
* 增加/编辑店铺
* @returns
*/
export function tbShopInfoPost(data, method = 'post') {
export function tbShopInfoPost(data, method = "post") {
return request({
url: `/api/tbShopInfo`,
method: method,
data
})
});
}
/**
@ -341,8 +341,8 @@ export function tbShopInfoPost(data, method = 'post') {
export function tbMerchantThirdApply(shopId) {
return request({
url: `/api/tbMerchantThirdApply/${shopId}`,
method: 'get'
})
method: "get"
});
}
/**
@ -352,9 +352,9 @@ export function tbMerchantThirdApply(shopId) {
export function tbMerchantThirdApplyPut(data) {
return request({
url: `/api/tbMerchantThirdApply`,
method: 'put',
method: "put",
data
})
});
}
/**
@ -364,21 +364,21 @@ export function tbMerchantThirdApplyPut(data) {
export function tbProductIsHot(params) {
return request({
url: `/api/tbProduct/isHot`,
method: 'get',
method: "get",
params
})
});
}
/**
* 增加/编辑优惠券
* @returns
*/
export function tbMerchantCoupon(data, method = 'post') {
export function tbMerchantCoupon(data, method = "post") {
return request({
url: `/api/tbMerchantCoupon`,
method: method,
data
})
});
}
/**
@ -388,10 +388,19 @@ export function tbMerchantCoupon(data, method = 'post') {
export function tbMerchantCouponGet(params) {
return request({
url: `/api/tbMerchantCoupon`,
method: 'get',
method: "get",
params
})
});
}
/**
* 设置热销商品
* @returns
*/
export function geocode(params) {
return request({
url: `/api/geocode`,
method: "get",
params
});
}

View File

@ -5,6 +5,9 @@
<el-form-item label="店铺名称" prop="shopName">
<el-input v-model="form.shopName" placeholder="请输入门店名称"></el-input>
</el-form-item>
<el-form-item label="连锁店扩展店名" prop="chainName">
<el-input v-model="form.chainName" placeholder="请输入连锁店扩展店名"></el-input>
</el-form-item>
<el-form-item label="门店logo" prop="logo">
<el-image :src="form.logo || require('@/assets/images/upload.png')" fit="contain"
style="width: 80px;height: 80px;" @click="showUpload = true; uploadIndex = 1"></el-image>
@ -49,14 +52,17 @@
</el-form-item> -->
<el-form-item label="店铺经度">
<el-row>
<el-col :span="4">
<el-input v-model="form.lng" placeholder="经度"></el-input>
<el-col :span="9" v-if="form.provinces">
<el-input :value="`${form.provinces}-${form.cities}-${form.districts}`" disabled />
</el-col>
<el-col :span="4" v-if="form.lng">
<el-input v-model="form.lng" placeholder="经度" disabled></el-input>
</el-col>
<el-col :span="4" v-if="form.lng">
<el-input v-model="form.lat" placeholder="纬度" disabled></el-input>
</el-col>
<el-col :span="4">
<el-input v-model="form.lat" placeholder="纬度" style="margin-left: 10px;"></el-input>
</el-col>
<el-col :span="4">
<el-button type="primary" plain icon="el-icon-place" style="margin-left: 20px;"
<el-button type="primary" plain icon="el-icon-place"
@click="showLocation = true">选择坐标</el-button>
</el-col>
</el-row>
@ -129,7 +135,7 @@
import { getToken } from '@/utils/auth'
import { mapGetters } from 'vuex'
import crudQiNiu from '@/api/tools/qiniu'
import { tbShopInfoPost } from '@/api/shop'
import { tbShopInfoPost, geocode } from '@/api/shop'
export default {
computed: {
...mapGetters([
@ -168,7 +174,11 @@ export default {
detail: '',
status: 1,
logo: '',
coverImg: ''
coverImg: '',
provinces: '',
cities: '',
districts: '',
chainName: ''
},
resetForm: '',
rules: {
@ -179,6 +189,13 @@ export default {
trigger: 'blur'
}
],
chainName: [
{
required: true,
message: ' ',
trigger: 'blur'
}
],
logo: [
{
required: true,
@ -226,20 +243,20 @@ export default {
this.amapOptions.center = [res[0].lng, res[0].lat]
},
//
selectLocationHandle(item) {
async selectLocationHandle(item) {
console.log(item);
this.form.lng = item.lng
this.form.lat = item.lat
this.form.address = item.address
this.showLocation = false
console.log(this.$refs.map.$$getInstance());
const position = `${item.lng},${item.lat}`;
const res = JSON.parse(await geocode({ location: position }))
console.log(res);
const position = { lng: item.lng, lat: item.lat };
this.$refs.map.geocoder.getAddress(position, (status, result) => {
if (status === 'complete' && result.info === 'OK') {
//
console.log(result.regeocode.addressComponent);
}
})
this.form.provinces = res.addressComponent.province
this.form.cities = res.addressComponent.city
this.form.districts = res.addressComponent.district
},
//
submitHandle() {

View File

@ -79,6 +79,12 @@
<el-form-item v-show="form.iFrame.toString() !== 'true' && form.type.toString() === '1'" label="选中父级菜单">
<el-input v-model="form.activeMenu" placeholder="请输入父级菜单path" style="width: 178px;" />
</el-form-item>
<el-form-item label="商家可用">
<el-radio-group v-model="form.isShop" size="mini">
<el-radio-button :label="1"></el-radio-button>
<el-radio-button :label="0"></el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="上级类目" prop="pid">
<treeselect v-model="form.pid" :options="menus" :load-options="loadMenus" style="width: 450px;"
placeholder="选择上级类目" />
@ -125,6 +131,12 @@
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="isShop" label="商家可用" width="75px">
<template slot-scope="scope">
<span v-if="scope.row.isShop"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建日期" width="135px" />
<el-table-column v-if="checkPer(['admin', 'menu:edit', 'menu:del'])" label="操作" width="130px" align="center"
fixed="right">

View File

@ -8,7 +8,7 @@
<el-option v-for="item in typeList" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="团购卷" prop="group" v-if="form.type == 'group'">
<el-form-item label="团购卷" prop="group">
<div v-if="!productIds.length">
<el-button type="primary" icon="el-icon-plus" @click="$refs.groupTypeList.show()">
添加团购券
@ -21,10 +21,10 @@
</el-tag>
</div>
</el-form-item>
<el-form-item label="描述" prop="name" v-if="form.type != 'group'">
<el-form-item label="描述" prop="name">
<el-input v-model="form.name" placeholder="请输入描述"></el-input>
</el-form-item>
<el-form-item label="值" prop="value" v-if="form.type != 'group'">
<el-form-item label="值" prop="value">
<el-input v-model="form.value" placeholder="请输入值"></el-input>
</el-form-item>
<el-form-item label="跳转类型" prop="jumpType">
@ -42,9 +42,9 @@
<el-form-item label="背景色">
<el-color-picker v-model="form.backColor"></el-color-picker>
</el-form-item>
<el-form-item label="相对跳转地址" prop="value">
<!-- <el-form-item label="相对跳转地址" prop="value">
<el-input v-model="form.relUrl" placeholder="请输入相对跳转地址"></el-input>
</el-form-item>
</el-form-item> -->
<el-form-item label="绝对跳转地址" prop="value">
<el-input v-model="form.absUrl" placeholder="请输入绝对跳转地址"></el-input>
</el-form-item>
@ -79,7 +79,7 @@
<el-button type="primary" :loading="loading" @click="onSubmitHandle"> </el-button>
</span>
</el-dialog>
<groupTypeList ref="groupTypeList" @success="row => productIds = [row]" />
<groupTypeList ref="groupTypeList" @success="groupSuccess" />
</div>
</template>
@ -148,14 +148,20 @@ export default {
this.resetForm = { ...this.form };
},
methods: {
groupSuccess(row) {
this.productIds = [row]
this.form.name = row.name
this.form.value = row.id
},
//
typeChange(e) {
if (e == 'group') {
// if (e == 'group') {
} else if (e == 'custom') {
// } else if (e == 'custom') {
} else {
// } else {
}
// }
},
//
onSubmitHandle() {

View File

@ -42,10 +42,14 @@ export default {
value: "ownMenu",
label: "个人中心菜单"
},
// {
// value: "group",
// label: "团购卷"
// },
{
value: "group",
label: "团购卷"
},
value: "hotCoupon",
label: "热榜推荐"
}
// {
// value: "custom",
// label: "自定义"

View File

@ -3,9 +3,15 @@
<div class="head-container">
<el-row :gutter="20">
<el-col :span="6">
<el-input v-model="query.blurry" size="small" clearable placeholder="请输入名称或描述" style="width: 100%;"
<el-input v-model="query.name" size="small" clearable placeholder="请输入名称或描述" style="width: 100%;"
class="filter-item" @keyup.enter.native="getTableData" />
</el-col>
<el-col :span="6">
<el-select v-model="query.type" placeholder="请选择资源类型">
<el-option v-for="item in enumData.typeList" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-col>
<el-col :span="6">
<el-button type="primary" @click="getTableData">查询</el-button>
<el-button @click="resetHandle">重置</el-button>
@ -23,7 +29,7 @@
<el-table-column label="描述" prop="name"></el-table-column>
<el-table-column label="类型" prop="type">
<template v-slot="scope">
{{ scope.row.type | typeFilter }}
{{ scope.row.type }}
</template>
</el-table-column>
<el-table-column label="跳转类型" prop="jumpType">
@ -107,6 +113,7 @@ export default {
},
data() {
return {
enumData,
query: {
name: "",
type: ''
@ -122,7 +129,7 @@ export default {
},
filters: {
typeFilter(t) {
let e = enumData.typeList.find(item => item.value == t).label
let e = t ? enumData.typeList.find(item => item.value == t).label : t
return e ? e : t
},
jumpFilter(t) {