You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
321 lines
8.6 KiB
321 lines
8.6 KiB
|
2 months ago
|
<template>
|
||
|
|
<div class="user-edit">
|
||
|
|
<!-- Drawer抽屉 -->
|
||
|
|
<Drawer
|
||
|
|
:title="title"
|
||
|
|
v-model="visible"
|
||
|
|
width="720"
|
||
|
|
draggable
|
||
|
|
:mask-closable="type == '0'"
|
||
|
|
>
|
||
|
|
<div :style="{ maxHeight: maxHeight }" class="drawer-content">
|
||
|
|
|
||
|
|
|
||
|
|
<Form
|
||
|
|
ref="form"
|
||
|
|
:model="form"
|
||
|
|
:rules="formValidate"
|
||
|
|
label-position="top"
|
||
|
|
>
|
||
|
|
<Row :gutter="32" >
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="拼团佣金" prop="commissionRateMore">
|
||
|
|
<Input
|
||
|
|
v-model="form.commissionRateMore"
|
||
|
|
autocomplete="off"
|
||
|
|
:maxlength="16"
|
||
|
|
/>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="单独购买佣金" prop="commissionRateOne">
|
||
|
|
<Input
|
||
|
|
v-model="form.commissionRateOne"
|
||
|
|
autocomplete="off"
|
||
|
|
:maxlength="16"
|
||
|
|
/>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
</Row>
|
||
|
|
<Row :gutter="32">
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="营业开始时间" prop="businessHourBegin">
|
||
|
|
<DatePicker
|
||
|
|
v-model="form.businessHourBegin"
|
||
|
|
style="display: block"
|
||
|
|
type="time"
|
||
|
|
format="HH:mm"
|
||
|
|
transfer
|
||
|
|
></DatePicker>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="营业结束时间" prop="businessHourEnd">
|
||
|
|
<DatePicker
|
||
|
|
v-model="form.businessHourEnd"
|
||
|
|
style="display: block"
|
||
|
|
type="time"
|
||
|
|
format="HH:mm"
|
||
|
|
transfer
|
||
|
|
></DatePicker>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
</Row>
|
||
|
|
<Row :gutter="32">
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="营业状态" class="form-noheight">
|
||
|
|
<dict dict="status" v-model="form.status" transfer />
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="经营品类" class="form-noheight">
|
||
|
|
<dict dict="shopType" v-model="form.type" transfer />
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
</Row>
|
||
|
|
<Row :gutter="32">
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="是否支持配送" class="form-noheight">
|
||
|
|
<dict dict="yesorno" v-model="form.isDelivery" transfer />
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="出餐时间" prop="cookingTime">
|
||
|
|
<Input
|
||
|
|
v-model="form.cookingTime"
|
||
|
|
autocomplete="off"
|
||
|
|
:maxlength="16"
|
||
|
|
/>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
</Row>
|
||
|
|
<Row :gutter="32">
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="排名" prop="shoprank">
|
||
|
|
<Input
|
||
|
|
v-model="form.shoprank"
|
||
|
|
autocomplete="off"
|
||
|
|
:maxlength="16"
|
||
|
|
/>
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
<Col span="12">
|
||
|
|
<FormItem label="是否价格锁定" class="form-noheight">
|
||
|
|
<dict dict="yesorno" v-model="form.isPriceLock" transfer />
|
||
|
|
</FormItem>
|
||
|
|
</Col>
|
||
|
|
</Row>
|
||
|
|
|
||
|
|
<Divider />
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
</Form>
|
||
|
|
</div>
|
||
|
|
<div class="drawer-footer br" v-show="type != '0'">
|
||
|
|
<Button type="primary" :loading="submitLoading" @click="submit1"
|
||
|
|
>提交</Button
|
||
|
|
>
|
||
|
|
<Button @click="visible = false">取消</Button>
|
||
|
|
</div>
|
||
|
|
</Drawer>
|
||
|
|
</div>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
import {getUsersByRoleName,getDictDataByType} from "@/api/index";
|
||
|
|
import {
|
||
|
|
validateUsername,
|
||
|
|
validateMobile,
|
||
|
|
validatePassword,
|
||
|
|
} from "@/libs/validate";
|
||
|
|
import shopAreaTreeChoose from "@/views/my-components/hiver/shopArea-tree-choose";
|
||
|
|
import uploadPicInput from "@/views/my-components/hiver/upload-pic-input";
|
||
|
|
import SetPassword from "@/views/my-components/hiver/set-password";
|
||
|
|
import dict from "@/views/my-components/hiver/dict";
|
||
|
|
import {addShopTakeway, editShopTakeway,getByShopId} from "@/api/app";
|
||
|
|
export default {
|
||
|
|
name: "mernage",
|
||
|
|
components: {
|
||
|
|
shopAreaTreeChoose,
|
||
|
|
uploadPicInput,
|
||
|
|
SetPassword,
|
||
|
|
dict,
|
||
|
|
},
|
||
|
|
props: {
|
||
|
|
value: {
|
||
|
|
type: Boolean,
|
||
|
|
default: false,
|
||
|
|
},
|
||
|
|
data: {
|
||
|
|
type: Object,
|
||
|
|
},
|
||
|
|
type: {
|
||
|
|
type: String,
|
||
|
|
default: "0",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
data() {
|
||
|
|
return {
|
||
|
|
roleList: [],
|
||
|
|
roleList2: [],
|
||
|
|
shopAreaList: [],
|
||
|
|
businessDistrictLevelList: [],
|
||
|
|
visible: this.value,
|
||
|
|
title: "",
|
||
|
|
passColor: "",
|
||
|
|
submitLoading: false,
|
||
|
|
maxHeight: 510,
|
||
|
|
form: {
|
||
|
|
},
|
||
|
|
takeData: {},
|
||
|
|
isAdd: true,
|
||
|
|
formValidate: {
|
||
|
|
// 表单验证规则
|
||
|
|
username: [
|
||
|
|
{ required: true, message: "请输入登录账号", trigger: "blur" },
|
||
|
|
{ validator: validateUsername, trigger: "blur" },
|
||
|
|
],
|
||
|
|
nickname: [
|
||
|
|
{ required: true, message: "请输入用户名", trigger: "blur" },
|
||
|
|
],
|
||
|
|
mobile: [
|
||
|
|
{ required: true, message: "请输入手机号", trigger: "blur" },
|
||
|
|
{ validator: validateMobile, trigger: "blur" },
|
||
|
|
],
|
||
|
|
password: [
|
||
|
|
{ required: true, message: "请输入密码", trigger: "blur" },
|
||
|
|
{ validator: validatePassword, trigger: "blur" },
|
||
|
|
],
|
||
|
|
email: [
|
||
|
|
{ required: true, message: "请输入邮箱地址" },
|
||
|
|
{ type: "email", message: "邮箱格式不正确" },
|
||
|
|
],
|
||
|
|
},
|
||
|
|
};
|
||
|
|
},
|
||
|
|
methods: {
|
||
|
|
init(data) {
|
||
|
|
getByShopId({"shopId":data.id}).then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
console.log("res",res);
|
||
|
|
if(res.result == null){
|
||
|
|
this.form = {}
|
||
|
|
this.form.shopId = data.id
|
||
|
|
this.form.shopName = data.shopName
|
||
|
|
this.form.regionId = data.regionId
|
||
|
|
this.isAdd = true
|
||
|
|
}else{
|
||
|
|
this.isAdd = false
|
||
|
|
this.form = res.result
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
this.getRoleList();
|
||
|
|
},
|
||
|
|
getRoleList() {
|
||
|
|
getUsersByRoleName("ROLE_OWNER").then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
this.roleList = res.result;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
getUsersByRoleName("ROLE_MANAGER").then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
this.roleList2 = res.result;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
getDictDataByType("yesorno").then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
this.yesorno = res.result;
|
||
|
|
this.yesorno = res.result;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
getDictDataByType("shopType").then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
this.shopType = res.result;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
getDictDataByType("status").then((res) => {
|
||
|
|
if (res.success) {
|
||
|
|
this.status = res.result;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
},
|
||
|
|
changePass(v, grade, strength) {
|
||
|
|
this.form.passStrength = strength;
|
||
|
|
},
|
||
|
|
submit1() {
|
||
|
|
// 处理商品分类的名称
|
||
|
|
if(this.form.type != '' && this.form.type != null){
|
||
|
|
this.shopType.forEach(item => {
|
||
|
|
debugger;
|
||
|
|
if (this.form.type == item.value) {
|
||
|
|
this.form.type = item.value;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
if (this.isAdd) {
|
||
|
|
// 添加
|
||
|
|
this.submitLoading = true;
|
||
|
|
addShopTakeway(this.form).then((res) => {
|
||
|
|
this.submitLoading = false;
|
||
|
|
if (res.success) {
|
||
|
|
this.$Message.success("操作成功");
|
||
|
|
this.$emit("on-submit", true);
|
||
|
|
this.visible = false;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
console.log("22222",this.isAdd)
|
||
|
|
// 编辑
|
||
|
|
delete this.form.updateTime
|
||
|
|
this.submitLoading = true;
|
||
|
|
editShopTakeway(this.form).then((res) => {
|
||
|
|
this.submitLoading = false;
|
||
|
|
if (res.success) {
|
||
|
|
this.$Message.success("操作成功");
|
||
|
|
this.$emit("on-submit", true);
|
||
|
|
this.visible = false;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
},
|
||
|
|
setCurrentValue(value) {
|
||
|
|
if (value === this.visible) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if (this.type == "1") {
|
||
|
|
this.title = "管理店铺业务信息";
|
||
|
|
this.maxHeight =
|
||
|
|
Number(document.documentElement.clientHeight - 121) + "px";
|
||
|
|
} else if (this.type == "2") {
|
||
|
|
this.title = "管理店铺业务信息";
|
||
|
|
this.maxHeight =
|
||
|
|
Number(document.documentElement.clientHeight - 121) + "px";
|
||
|
|
} else {
|
||
|
|
this.title = "店铺详情";
|
||
|
|
this.maxHeight = "100%";
|
||
|
|
}
|
||
|
|
|
||
|
|
this.visible = value;
|
||
|
|
},
|
||
|
|
},
|
||
|
|
watch: {
|
||
|
|
value(val) {
|
||
|
|
this.setCurrentValue(val);
|
||
|
|
},
|
||
|
|
visible(value) {
|
||
|
|
this.$emit("input", value);
|
||
|
|
},
|
||
|
|
},
|
||
|
|
mounted() {
|
||
|
|
this.init();
|
||
|
|
},
|
||
|
|
};
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<style lang="less">
|
||
|
|
@import "@/styles/drawer-common.less";
|
||
|
|
</style>
|
||
|
|
|