商超管理

This commit is contained in:
zzyuan 2025-05-26 17:15:58 +08:00
parent ff33eff54b
commit ea56ac8592
3 changed files with 32 additions and 108 deletions

View File

@ -1,21 +1,9 @@
import request from '@/utils/request' import request from '@/utils/request'
// 系统区域权限树
export function systemAreaTreeApi(data) {
return request({
url: '/smart-canteen/api/v2/alloc/area/system-auth/tree',
method: 'post',
headers: {
"merchant-id":"378915229716713472",
},
data: data
})
}
// 单位列表-分页 // 单位列表-分页
export function drpUnitPageListApi(data) { export function drpUnitPageListApi(data) {
return request({ return request({
url: '/smart-canteen/supermarket_unit/list', url: '/smart-canteen/supply_product_unit/list',
method: 'get', method: 'get',
headers: { headers: {
"merchant-id":"378915229716713472", "merchant-id":"378915229716713472",
@ -27,7 +15,7 @@ export function drpUnitPageListApi(data) {
// 单位列表-新增 // 单位列表-新增
export function addDrpUnitApi(data) { export function addDrpUnitApi(data) {
return request({ return request({
url: '/smart-canteen/supermarket_unit', url: '/smart-canteen/supply_product_unit',
method: 'post', method: 'post',
headers: { headers: {
"merchant-id":"378915229716713472", "merchant-id":"378915229716713472",
@ -39,7 +27,7 @@ export function addDrpUnitApi(data) {
// 单位列表-编辑 // 单位列表-编辑
export function editDrpUnitApi(data) { export function editDrpUnitApi(data) {
return request({ return request({
url: '/smart-canteen/supermarket_unit/edit', url: '/smart-canteen/supply_product_unit/edit',
method: 'post', method: 'post',
headers: { headers: {
"merchant-id":"378915229716713472", "merchant-id":"378915229716713472",
@ -51,7 +39,7 @@ export function editDrpUnitApi(data) {
// 单位列表-删除 // 单位列表-删除
export function removeDrpUnitApi(unitId) { export function removeDrpUnitApi(unitId) {
return request({ return request({
url: '/smart-canteen/supermarket_unit/del/'+unitId, url: '/smart-canteen/supply_product_unit/del/'+unitId,
method: 'post', method: 'post',
headers: { headers: {
"merchant-id":"378915229716713472", "merchant-id":"378915229716713472",

View File

@ -95,7 +95,7 @@
<el-dialog :title="title+'-超市'" :visible.sync="open" width="1200px" append-to-body> <el-dialog :title="title+'-超市'" :visible.sync="open" width="1200px" append-to-body>
<el-tabs v-model="activeName" @tab-click="handleTabClick"> <el-tabs v-model="activeName" @tab-click="handleTabClick">
<!-- 基础设置 --> <!-- 基础设置 -->
<el-tab-pane label="基础设置" name="baseSetting" style="height: 600px;overflow-y: auto;"> <el-tab-pane label="基础设置" name="baseSetting" style="height: 550px;overflow-y: auto;">
<el-form ref="baseForm" :model="baseForm" :rules="baseFormRules" label-width="140px"> <el-form ref="baseForm" :model="baseForm" :rules="baseFormRules" label-width="140px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@ -116,9 +116,6 @@
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="超市仓库" prop="warehouseId"> <el-form-item label="超市仓库" prop="warehouseId">
<el-select v-model="baseForm.warehouseId" placeholder="请选择超市仓库" clearable style="width: 100%;"> <el-select v-model="baseForm.warehouseId" placeholder="请选择超市仓库" clearable style="width: 100%;">
@ -131,18 +128,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系人" prop="userId"> <el-form-item label="联系人" prop="userName">
<el-select v-model="baseForm.userId" placeholder="请选择联系人" style="width: 100%;" clearable @change="chosenUser"> <el-input v-model="baseForm.userName" placeholder="请输入联系人" maxlength="30" clearable/>
<el-option v-for="item in userOptions"
:key="item.userId"
:label="item.nickName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" prop="mobile"> <el-form-item label="联系电话" prop="mobile">
<el-input v-model="baseForm.mobile" placeholder="请输入联系电话" maxlength="11" clearable <el-input v-model="baseForm.mobile" placeholder="请输入联系电话" maxlength="11" clearable
@ -154,10 +143,7 @@
<el-input v-model="baseForm.address" placeholder="请输入超市地址" maxlength="30" clearable/> <el-input v-model="baseForm.address" placeholder="请输入超市地址" maxlength="30" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <!-- <el-col :span="12">
<el-row>
<el-col :span="12">
<el-form-item label="用户类别" prop="userType"> <el-form-item label="用户类别" prop="userType">
<el-select v-model="baseForm.userType" style="width: 100%" clearable> <el-select v-model="baseForm.userType" style="width: 100%" clearable>
<el-option <el-option
@ -174,10 +160,7 @@
<el-input v-model="baseForm.deliveryCost" placeholder="请输入配送费" maxlength="30" clearable <el-input v-model="baseForm.deliveryCost" placeholder="请输入配送费" maxlength="30" clearable
@input="(v)=>(baseForm.deliveryCost=v.replace(/[^\d]/g,''))"/> @input="(v)=>(baseForm.deliveryCost=v.replace(/[^\d]/g,''))"/>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="线上超市模式" prop="appSaleMode"> <el-form-item label="线上超市模式" prop="appSaleMode">
<el-select v-model="baseForm.appSaleMode" style="width: 100%" clearable> <el-select v-model="baseForm.appSaleMode" style="width: 100%" clearable>
@ -192,8 +175,6 @@
@input="(v)=>(baseForm.minDeliveryTime=v.replace(/[^\d]/g,''))"/> @input="(v)=>(baseForm.minDeliveryTime=v.replace(/[^\d]/g,''))"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="选择时间间隔(分钟)" prop="selectTimeInterval"> <el-form-item label="选择时间间隔(分钟)" prop="selectTimeInterval">
<el-select v-model="baseForm.selectTimeInterval" style="width: 100%" clearable> <el-select v-model="baseForm.selectTimeInterval" style="width: 100%" clearable>
@ -210,8 +191,6 @@
@input="(v)=>(baseForm.refundLimitTime=v.replace(/[^\d]/g,''))"/> @input="(v)=>(baseForm.refundLimitTime=v.replace(/[^\d]/g,''))"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="流水号前缀" prop="mealCode"> <el-form-item label="流水号前缀" prop="mealCode">
<el-input v-model="baseForm.mealCode" placeholder="请输入流水号前缀" maxlength="30" clearable <el-input v-model="baseForm.mealCode" placeholder="请输入流水号前缀" maxlength="30" clearable
@ -226,8 +205,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否关联出入库" prop="ifRelateDrp"> <el-form-item label="是否关联出入库" prop="ifRelateDrp">
<el-switch <el-switch
@ -239,13 +216,8 @@
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="图片"> <el-form-item label="超市图片">
<el-upload <el-upload
:http-request=" :http-request="
(obj) => imgUpLoad(obj, 'fileUrl') (obj) => imgUpLoad(obj, 'fileUrl')
@ -271,7 +243,7 @@
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<!-- 营业设置 --> <!-- 营业设置 -->
<!-- <el-tab-pane label="营业设置" name="paySetting" style="height: 600px;overflow-y: auto;"> <!-- <el-tab-pane label="营业设置" name="paySetting" style="height: 550px;overflow-y: auto;">
<div style="width: 100%;height: 400px;display: flex;align-items: center;justify-content: center;">暂无数据</div> <div style="width: 100%;height: 400px;display: flex;align-items: center;justify-content: center;">暂无数据</div>
</el-tab-pane> --> </el-tab-pane> -->
</el-tabs> </el-tabs>

View File

@ -1,16 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="所属区域" prop="areaId">
<el-cascader v-model="queryParams.areaId"
:options="treeAreaOptions" :filterable="true" style="width: 100%;" :show-all-levels="false"
:props="{
emitPath: false,// falseid
checkStrictly: false,//
value:'id',label:'label'
}" clearable collapse-tags>
</el-cascader>
</el-form-item>
<el-form-item label="单位名称" prop="unitName"> <el-form-item label="单位名称" prop="unitName">
<el-input <el-input
v-model="queryParams.unitName" v-model="queryParams.unitName"
@ -20,7 +10,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -46,16 +35,16 @@
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span> <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="所属区域" align="center" key="areaName" prop="areaName" :show-overflow-tooltip="true" /> <!-- <el-table-column label="所属区域" align="center" key="areaName" prop="areaName" :show-overflow-tooltip="true" /> -->
<el-table-column label="计量单位名称" align="center" key="unitName" prop="unitName" :show-overflow-tooltip="true" /> <el-table-column label="计量单位名称" align="center" key="unitName" prop="unitName" :show-overflow-tooltip="true" />
<el-table-column label="单位换算(g)" align="center" key="rate" prop="rate" :show-overflow-tooltip="true" />
<el-table-column label="计量类型" align="center" key="weighType" prop="weighType" :show-overflow-tooltip="true"> <el-table-column label="计量类型" align="center" key="weighType" prop="weighType" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.weighType==1">按份</span> <span v-if="scope.row.weighType==1">按份</span>
<span v-if="scope.row.weighType==2">称重</span> <span v-if="scope.row.weighType==2">称重</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="单位换算(g)" align="center" key="rate" prop="rate" :show-overflow-tooltip="true" /> <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -82,16 +71,6 @@
<!-- 添加或修改参数配置对话框 --> <!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> <el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="所属区域" prop="areaId">
<el-cascader v-model="form.areaId"
:options="treeAreaOptions" :filterable="true" style="width: 100%;" :show-all-levels="false"
:props="{
emitPath: false,// falseid
checkStrictly: false,//
value:'id',label:'label'
}" clearable>
</el-cascader>
</el-form-item>
<el-form-item label="计量单位名称" prop="unitName"> <el-form-item label="计量单位名称" prop="unitName">
<el-input v-model="form.unitName" placeholder="请输入计量单位名称" maxlength="10" /> <el-input v-model="form.unitName" placeholder="请输入计量单位名称" maxlength="10" />
</el-form-item> </el-form-item>
@ -103,10 +82,6 @@
<el-radio :label="1">按份</el-radio> <el-radio :label="1">按份</el-radio>
<el-radio :label="2">称重</el-radio> <el-radio :label="2">称重</el-radio>
</el-radio-group> </el-radio-group>
<!-- <el-select v-model="form.weighType" placeholder="请选择计量类型" style="width: 100%" @change="getDrpUnitList">
<el-option label="按份" value="1" />
<el-option label="称重" value="2" />
</el-select> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -118,7 +93,6 @@
</template> </template>
<script> <script>
import { systemAreaTreeApi } from "@/api/base/area";
import { drpUnitPageListApi,addDrpUnitApi, editDrpUnitApi, removeDrpUnitApi } from "@/api/superStore/superUitId"; import { drpUnitPageListApi,addDrpUnitApi, editDrpUnitApi, removeDrpUnitApi } from "@/api/superStore/superUitId";
export default { export default {
name: "", name: "",
@ -149,11 +123,9 @@
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
unitName: undefined, unitName: undefined,
areaId: undefined
}, },
// //
form: { form: {
areaId:null,
unitName:"", unitName:"",
rate:"0", rate:"0",
weighType: 1, weighType: 1,
@ -173,15 +145,9 @@
}; };
}, },
created() { created() {
this.getAreaTreeData();
this.getList(); this.getList();
}, },
methods: { methods: {
getAreaTreeData() {
systemAreaTreeApi({}).then((response) => {
this.treeAreaOptions = response.data;
});
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
@ -198,8 +164,7 @@
let param = { let param = {
"pageNum": this.queryParams.pageNum, "pageNum": this.queryParams.pageNum,
"pageSize": this.queryParams.pageSize, "pageSize": this.queryParams.pageSize,
"unitName": this.queryParams.unitName, "unitName": this.queryParams.unitName
"areaId": this.queryParams.areaId
} }
drpUnitPageListApi(param).then(response => { drpUnitPageListApi(param).then(response => {
this.tableListData = response.rows; this.tableListData = response.rows;
@ -217,7 +182,6 @@
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.form = Object.assign({}, row) this.form = Object.assign({}, row)
this.$set(this.form,"areaId",row.areaId)
this.$set(this.form,"unitName",row.unitName) this.$set(this.form,"unitName",row.unitName)
this.$set(this.form,"rate",row.rate) this.$set(this.form,"rate",row.rate)
this.$set(this.form,"weighType",Number(row.weighType)) this.$set(this.form,"weighType",Number(row.weighType))