2 changed files with 0 additions and 1377 deletions
@ -1,809 +0,0 @@ |
|||||
<template> |
|
||||
<view class="u-wrap"> |
|
||||
<view style="width: 100%;position: fixed;background: #fff;z-index: 99;"> |
|
||||
<button size="default" type="default" @tap="inputDialogToggle('add')" hover-class="is-hover">添加分类</button> |
|
||||
</view> |
|
||||
<view class="card-list"> |
|
||||
<ul> |
|
||||
<!--<li v-for="(item, index) in indexList" :key="index" @tap="clickList(item)"> --> |
|
||||
<li v-for="(item, index) in indexList" :key="index"> |
|
||||
<view class="name"> |
|
||||
<text>{{item.categoryName}}</text> |
|
||||
<view @tap.stop="inputDialogToggle('edit', item)"> |
|
||||
<uni-icons type="compose" size='22'></uni-icons> |
|
||||
</view> |
|
||||
</view> |
|
||||
<button class="bj-btn" @tap.stop="goGategoryLow(item.id)">编辑规格</button> |
|
||||
</li> |
|
||||
</ul> |
|
||||
</view> |
|
||||
<u-modal :show="show" :title="'删除'" :content="'是否确认删除此分类?'" showCancelButton="true" @cancel="show = false" |
|
||||
@confirm="delItemModal"></u-modal> |
|
||||
<uni-popup ref="inputDialog" type="dialog"> |
|
||||
<uni-popup-dialog ref="inputClose" mode="input" :title="dialogTit" :value="inputVal" placeholder="请输入名称" |
|
||||
@confirm="dialogInputConfirm" @close="dialogClose"> |
|
||||
</uni-popup-dialog> |
|
||||
</uni-popup> |
|
||||
<uni-popup ref="delDialog" type="dialog"> |
|
||||
<view class="type-popup" |
|
||||
style="width:100%;margin-bottom: 0;border-radius: 0;height: 650rpx;border-radius: 20rpx;"> |
|
||||
<view style="height: 120rpx;font-size: 36rpx;font-weight: bold;line-height: 120rpx;text-align: center;"> |
|
||||
编辑分类 |
|
||||
</view> |
|
||||
<view style="height: 80rpx;font-size: 28rpx;line-height: 80rpx;text-align: center;"> |
|
||||
请在下方输入框中输入分类名 |
|
||||
</view> |
|
||||
<view style="width: 90%;margin: 40rpx auto 0;"> |
|
||||
分类名称: |
|
||||
<uni-easyinput type="text" v-model="inputVal" @blur="handleBlur" placeholder="请输入规格值" /> |
|
||||
</view> |
|
||||
<view style="width: 90%;margin: 40rpx auto 0;"> |
|
||||
排序:<uni-easyinput type="text" v-model="sortTextEdit" @blur="handleBlurSort" placeholder="可设置排序" /> |
|
||||
</view> |
|
||||
<view |
|
||||
style="width: 100%;height: 90rpx;line-height: 90rpx;text-align: center;border-radius: 0;color: #fff;display: flex;position: absolute;bottom: 0;"> |
|
||||
<view style="flex: 1;background: linear-gradient(90deg, #60F3FF, #088FEB);" |
|
||||
v-if="inputVal != '默认分类'" @tap="dialogDel">删除</view> |
|
||||
<view style="flex: 1;background: linear-gradient(90deg, #FF9797, #FFC1E0);" |
|
||||
@tap="dialogInputConfirm">确认</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</uni-popup> |
|
||||
<!-- 添加分类弹出层 --> |
|
||||
<uni-popup ref="addTypeDialog" background-color="#fff"> |
|
||||
<view class="add-popup-content"> |
|
||||
<view class="add-popup-title"> |
|
||||
<text>新增分类</text> |
|
||||
<uni-icons @tap='close' type="closeempty" color='red' size="16" |
|
||||
style="height:40rpx;line-height: 40rpx;position: absolute !important;bottom:0;right: 30rpx;"></uni-icons> |
|
||||
</view> |
|
||||
<view class="add-popup-container"> |
|
||||
<input type="text" v-model="typeText" |
|
||||
style="width: 100%;border: 1px solid #eee;height: 80rpx;padding-left: 20rpx;margin:20rpx 0;font-size: 25rpx;line-height: 80rpx;" |
|
||||
placeholder="请输入分类名称"> |
|
||||
<input type="text" v-model="sortText" |
|
||||
style="width: 100%;border: 1px solid #eee;height: 80rpx;padding-left: 20rpx;margin:20rpx 0;font-size: 25rpx;line-height: 80rpx;" |
|
||||
placeholder="可设置分类排序"> |
|
||||
<view class="add-popup-bottom"> |
|
||||
<view class="add-popup-btn" @tap="dialogInputConfirm(typeText)">确认</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</uni-popup> |
|
||||
<!-- 查看商品库存弹出层 --> |
|
||||
<uni-popup ref="carPopup" background-color="#fff"> |
|
||||
<view class="popup-content" style="height:auto !important;"> |
|
||||
<view style="font-size: 36rpx;font-weight: bold;text-align: center;">提示</view> |
|
||||
<view v-if="goodsList !=''" |
|
||||
style="width:100%;font-weight:bold;text-align: center;font-size: 28rpx;margin: 20rpx 0;"> |
|
||||
“{{goodsList[0].productName}}”分类下有以下库存,确认继续删除吗? |
|
||||
</view> |
|
||||
<view class="tui-order-item boxbg"> |
|
||||
<view style="display: flex;border-bottom: 1px solid #eee;height: 50rpx;line-height: 50rpx;"> |
|
||||
<view style="width: 70%;text-align: center;border-right: 1px solid #eee;">商品规格</view> |
|
||||
<view style="width: 29%;text-align: center;">数量</view> |
|
||||
</view> |
|
||||
<view class="shop-box" v-for="(item,index) in goodsList" :key="index" style="position: relative;"> |
|
||||
<view style='height: 50rpx;line-height: 50rpx;'> |
|
||||
<view |
|
||||
style="width: 70%;text-align: center;border-right: 1px solid #eee;float: left;height: 50rpx;overflow: hidden;"> |
|
||||
{{item.attributeList | sliceMsg}} |
|
||||
</view> |
|
||||
<view style="width: 29%;text-align: center;float: left;"> |
|
||||
{{item.stockCount}} |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!-- <u-loadmore :status="status" /> --> |
|
||||
<view class="popup-bottom"> |
|
||||
<view class="popup-bottom-left"> |
|
||||
<view class="bottom-btn" @tap="this.$refs.carPopup.close()" |
|
||||
style="background: linear-gradient(90deg, #FF9797, #FFC1E0);">再想想</view> |
|
||||
</view> |
|
||||
<view class="popup-bottom-right"> |
|
||||
<view class="bottom-btn" @tap="this.show = true">确认删除</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</uni-popup> |
|
||||
</view> |
|
||||
|
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
indexList: [], |
|
||||
show: false, |
|
||||
inputVal: '', |
|
||||
specVal: '', |
|
||||
addIndex: 0, |
|
||||
typeModel: '', |
|
||||
editItem: {}, |
|
||||
delItems: {}, |
|
||||
isOpenId: '', |
|
||||
delType: '', |
|
||||
goodsList: [], |
|
||||
dialogTit: '输入分类名', |
|
||||
typeText: '', |
|
||||
sortText: '', |
|
||||
sortTextEdit: '', |
|
||||
defaultList: [{ |
|
||||
name: '颜色', |
|
||||
list: [{ |
|
||||
value: '均色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '白色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '黑色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '浅蓝', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '蓝色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '灰色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '咖色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '紫色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '红色', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '米色', |
|
||||
checked: false, |
|
||||
}] |
|
||||
}, { |
|
||||
name: '尺码', |
|
||||
list: [{ |
|
||||
value: '均码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'XS码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: 'S码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'M码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'L码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'XL码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'XXL码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'XXXL码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: 'XXXXL码', |
|
||||
checked: false, |
|
||||
}, { |
|
||||
value: '25码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '26码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '27码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '28码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '29码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '30码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '31码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '32码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '33码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '34码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '35码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '36码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '37码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '38码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '39码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '40码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '41码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '42码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '43码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '44码', |
|
||||
checked: false |
|
||||
}, { |
|
||||
value: '45码', |
|
||||
checked: false |
|
||||
}] |
|
||||
}], |
|
||||
multipleList: [] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
|
|
||||
}, |
|
||||
filters: { |
|
||||
sliceMsg(val) { |
|
||||
var name = '' |
|
||||
if (typeof(val) == 'string') { |
|
||||
let newObj = JSON.parse(val) |
|
||||
for (let as in newObj) { |
|
||||
name += newObj[as] + '/' |
|
||||
} |
|
||||
} |
|
||||
return name; |
|
||||
} |
|
||||
}, |
|
||||
onShow() { |
|
||||
this.getGategoryList() |
|
||||
}, |
|
||||
methods: { |
|
||||
//初始化获取分类列表 |
|
||||
getGategoryList() { |
|
||||
this.NB.sendRequest('/app/productCategory/list', {}, false, 'get', 'application/json').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.indexList = res.result; |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
//判断需要打开哪个弹窗(删除弹窗、取消弹窗) |
|
||||
inputDialogToggle(type, item, parent) { |
|
||||
this.typeModel = type; |
|
||||
if (type == 'edit') { |
|
||||
this.inputVal = item.categoryName; |
|
||||
this.editItem = item; |
|
||||
this.sortTextEdit = (this.editItem.sort == null || this.editItem.sort == 'null') ? '' : this.editItem |
|
||||
.sort |
|
||||
this.$refs.delDialog.open('bottom') |
|
||||
} else if (type == 'add') { |
|
||||
this.inputVal = ''; |
|
||||
this.isOpenId = item; |
|
||||
this.dialogTit = '输入分类名' |
|
||||
this.$refs.addTypeDialog.open('bottom') |
|
||||
} |
|
||||
|
|
||||
}, |
|
||||
close() { |
|
||||
this.$refs.addTypeDialog.close() |
|
||||
}, |
|
||||
handleBlur(e) { |
|
||||
this.inputVal = e.detail.value |
|
||||
}, |
|
||||
handleBlurSort(e) { |
|
||||
this.sortTextEdit = e.detail.value |
|
||||
}, |
|
||||
//查询分类下有没有库存 |
|
||||
getTypeToNum(id) { |
|
||||
let that = this; |
|
||||
this.NB.sendRequest('/app/stock/getlistByAttributeList', { |
|
||||
categoryId: id, |
|
||||
}, false, 'post', 'application/json').then(data => { |
|
||||
if (res.code == 200) { |
|
||||
if (res.result != '') { |
|
||||
this.goodsList = res.result |
|
||||
this.$refs.carPopup.open('bottom') |
|
||||
} else { |
|
||||
this.NB.sendRequest('/app/productAttribute/selectByCategoryId', { |
|
||||
categoryId: this.delItems.id |
|
||||
}, false, 'POST', 'application/json').then(data => { |
|
||||
if (res1.code == 200) { |
|
||||
if (res1.result.length > 0) { |
|
||||
uni.showModal({ |
|
||||
title: "提示", |
|
||||
content: "此分类已经维护了子分类,确定继续删除吗?", |
|
||||
confirmText: '取消', |
|
||||
cancelText: '确认', |
|
||||
success: function(res2) { |
|
||||
if (res2.cancel) { |
|
||||
that.delItemModal() |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
} else { |
|
||||
that.show = true |
|
||||
} |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res1.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
//点击选择列表,带参数 返回上一页 |
|
||||
clickList(item) { |
|
||||
let pages = getCurrentPages(); |
|
||||
let prevPage = pages[pages.length - 2]; |
|
||||
prevPage.$vm.typeItem = item |
|
||||
uni.navigateBack({ |
|
||||
delta: 1 |
|
||||
}) |
|
||||
}, |
|
||||
//分类编辑(新增,修改) |
|
||||
dialogInputConfirm(e) { |
|
||||
let that = this; |
|
||||
switch (that.typeModel) { |
|
||||
case 'add': |
|
||||
for (let i = 0; i < that.indexList.length; i++) { |
|
||||
if (that.indexList[i].categoryName == e) { |
|
||||
uni.showToast({ |
|
||||
title: "请勿重复添加!", |
|
||||
icon: 'error' |
|
||||
}) |
|
||||
return |
|
||||
} |
|
||||
} |
|
||||
if (e == '') { |
|
||||
uni.showToast({ |
|
||||
title: "请输入分类名", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
return |
|
||||
} |
|
||||
//application/x-www-form-urlencoded |
|
||||
this.NB.sendRequest('/app/productCategory/batchSaveCategoryAndAttribute', { |
|
||||
categoryName: e, |
|
||||
sort: that.sortText, |
|
||||
productAttributeOfAddVos: that.multipleList |
|
||||
}, false, 'POST', 'application/json').then(data => { |
|
||||
if (res.code == 200) { |
|
||||
uni.showToast({ |
|
||||
title: "添加成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
that.$refs.addTypeDialog.close() |
|
||||
that.sortText = '' |
|
||||
|
|
||||
that.getGategoryList() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "添加失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
for (var i = 0; i < that.defaultList.length; i++) { |
|
||||
for (var m = 0; m < that.defaultList[i].list.length; m++) { |
|
||||
that.defaultList[i].list[m].checked = false |
|
||||
} |
|
||||
} |
|
||||
that.typeText = '' |
|
||||
that.multipleList = [] |
|
||||
break; |
|
||||
case 'edit': |
|
||||
this.NB.sendRequest('/app/productCategory/edit', { |
|
||||
categoryName: this.inputVal, |
|
||||
sort: that.sortTextEdit, |
|
||||
id: that.editItem.id |
|
||||
}, false, 'POST', 'application/json').then(data => { |
|
||||
if (res.code == 200) { |
|
||||
that.getGategoryList() |
|
||||
that.sortText = '' |
|
||||
uni.showToast({ |
|
||||
title: "修改成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "修改失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
default: |
|
||||
} |
|
||||
that.$refs.delDialog.close() |
|
||||
that.$refs.inputClose.val = '' |
|
||||
this.inputVal = "" |
|
||||
}, |
|
||||
//点击取消按钮 |
|
||||
dialogClose() { |
|
||||
this.inputVal = ''; |
|
||||
this.specVal = ''; |
|
||||
this.$refs.inputClose.val = '' |
|
||||
this.$refs.addClose.val = '' |
|
||||
|
|
||||
}, |
|
||||
//带删除按钮的弹窗 |
|
||||
dialogDel() { |
|
||||
this.delItem(this.editItem, 'del') |
|
||||
}, |
|
||||
delItemModal() { |
|
||||
this.show = false; |
|
||||
if (this.delType == 'del') { |
|
||||
this.NB.sendRequest('/app/productCategory/delById', { |
|
||||
id: this.delItems.id, |
|
||||
}, false, 'POST', 'application/json').then(data => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "删除成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
this.$refs.carPopup.close() |
|
||||
this.$refs.delDialog.close() |
|
||||
|
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "删除失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
delItem(item, type) { |
|
||||
this.delType = type; |
|
||||
this.delItems = item; |
|
||||
this.getTypeToNum(this.delItems.id) |
|
||||
}, |
|
||||
//跳转子分类页 |
|
||||
goGategoryLow(id) { |
|
||||
uni.navigateTo({ |
|
||||
url: '../goods/gategoryLow?id=' + id |
|
||||
}) |
|
||||
}, |
|
||||
//选择多个规格保存 |
|
||||
addMultipleType(item, item1, index) { |
|
||||
|
|
||||
|
|
||||
item.list[index].checked = !item.list[index].checked |
|
||||
var list = [] |
|
||||
if (this.multipleList == '') { |
|
||||
|
|
||||
list.push(item.list[index]) |
|
||||
var data = { |
|
||||
attributeName: item.name, |
|
||||
productAttributeValueVoList: list |
|
||||
} |
|
||||
this.multipleList.push(data) |
|
||||
} else { |
|
||||
for (var i = 0; i < this.multipleList.length; i++) { |
|
||||
if (this.multipleList[i].attributeName == item.name) { //同种分类 |
|
||||
for (var m = 0; m < this.multipleList[i].productAttributeValueVoList.length; m++) { |
|
||||
if (this.multipleList[i].productAttributeValueVoList[m].value == item.list[index] |
|
||||
.value) { //规格相同 |
|
||||
|
|
||||
this.multipleList[i].productAttributeValueVoList.splice(m, 1) |
|
||||
|
|
||||
return; |
|
||||
} else { //规格不同 |
|
||||
if (m + 1 == this.multipleList[i].productAttributeValueVoList.length) { |
|
||||
|
|
||||
this.multipleList[i].productAttributeValueVoList.push(item.list[index]) |
|
||||
|
|
||||
return; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} else { //不同分类 |
|
||||
if (this.multipleList.length == i + 1) { |
|
||||
list.push(item.list[index]) |
|
||||
var data = { |
|
||||
attributeName: item.name, |
|
||||
productAttributeValueVoList: list |
|
||||
} |
|
||||
this.multipleList.push(data) |
|
||||
|
|
||||
return; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
page, |
|
||||
.page1 { |
|
||||
font-size: 28rpx; |
|
||||
} |
|
||||
|
|
||||
.u-wrap { |
|
||||
height: calc(100vh); |
|
||||
/* #ifdef H5 */ |
|
||||
height: calc(100vh - var(--window-top)); |
|
||||
/* #endif */ |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
|
|
||||
.top { |
|
||||
line-height: 70rpx; |
|
||||
margin: 20rpx 0; |
|
||||
padding: 0 20rpx; |
|
||||
background-color: #fff; |
|
||||
|
|
||||
.u-collapse-content { |
|
||||
.icon { |
|
||||
display: flex; |
|
||||
float: right; |
|
||||
|
|
||||
.u-icon { |
|
||||
flex: 1; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.name { |
|
||||
font-size: 28rpx; |
|
||||
|
|
||||
.rightBox { |
|
||||
display: flex; |
|
||||
float: right; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.attr { |
|
||||
line-height: 56rpx; |
|
||||
margin-left: 20rpx; |
|
||||
|
|
||||
.attrName { |
|
||||
color: #767a82; |
|
||||
font-size: 24rpx; |
|
||||
display: flex; |
|
||||
box-sizing: border-box; |
|
||||
width: 100%; |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.attrs { |
|
||||
margin-left: 20rpx; |
|
||||
|
|
||||
.u-tag-wrapper { |
|
||||
width: 20%; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
button { |
|
||||
color: #ffffff; |
|
||||
background: #5fd9ee; |
|
||||
width: 90%; |
|
||||
margin: 20rpx auto 20rpx; |
|
||||
} |
|
||||
|
|
||||
.card-list { |
|
||||
width: 95%; |
|
||||
border-radius: 10upx; |
|
||||
background: #fff; |
|
||||
height: auto; |
|
||||
margin: 150rpx auto 0; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.checked { |
|
||||
background: #60F3FF; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.card-list ul {} |
|
||||
|
|
||||
.card-list li { |
|
||||
width: 95%; |
|
||||
height: 100rpx; |
|
||||
line-height: 100rpx; |
|
||||
padding-left: 20rpx; |
|
||||
font-size: 37rpx; |
|
||||
border-bottom: 0.5px solid #eee; |
|
||||
margin: 0 auto; |
|
||||
} |
|
||||
|
|
||||
.bj-btn { |
|
||||
width: 120rpx; |
|
||||
height: 60rpx; |
|
||||
font-size: 26rpx; |
|
||||
background: red; |
|
||||
margin: 20rpx 0; |
|
||||
float: left; |
|
||||
padding: 0; |
|
||||
line-height: 60rpx; |
|
||||
} |
|
||||
|
|
||||
.name { |
|
||||
width: 75%; |
|
||||
float: left; |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.data-v-5ff5d986 {} |
|
||||
|
|
||||
.popup-content { |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
padding: 30rpx; |
|
||||
height: 1200rpx; |
|
||||
background-color: #fff; |
|
||||
margin-bottom: 100rpx; |
|
||||
overflow: scroll; |
|
||||
} |
|
||||
|
|
||||
.popup-container { |
|
||||
width: 100%; |
|
||||
background: #fff; |
|
||||
height: 50rpx; |
|
||||
} |
|
||||
|
|
||||
.checkList { |
|
||||
display: flex; |
|
||||
height: 50rpx; |
|
||||
font-size: 28rpx; |
|
||||
line-height: 50rpx; |
|
||||
margin: 20rpx 0; |
|
||||
} |
|
||||
|
|
||||
.checkList-box { |
|
||||
height: 50rpx; |
|
||||
width: 60%; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom { |
|
||||
width: 95%; |
|
||||
height: 100rpx; |
|
||||
position: fixed; |
|
||||
bottom: 0; |
|
||||
left: 2.5%; |
|
||||
display: flex; |
|
||||
z-index: 99; |
|
||||
background: #fff; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom-left { |
|
||||
width: 50%; |
|
||||
line-height: 80rpx; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom-right { |
|
||||
width: 50%; |
|
||||
line-height: 100rpx; |
|
||||
} |
|
||||
|
|
||||
.bottom-btn { |
|
||||
width: 70%; |
|
||||
line-height: 70rpx; |
|
||||
height: 70rpx; |
|
||||
text-align: center; |
|
||||
/* margin-top: 10rpx; */ |
|
||||
color: #fff; |
|
||||
font-size: 28rpx; |
|
||||
margin: 0 auto; |
|
||||
background: linear-gradient(90deg, #60F3FF, #088FEB); |
|
||||
border-radius: 70rpx; |
|
||||
} |
|
||||
|
|
||||
.add-popup-content { |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
padding: 30rpx; |
|
||||
width: 90%; |
|
||||
height: 400rpx; |
|
||||
background-color: #fff; |
|
||||
overflow: scroll; |
|
||||
} |
|
||||
|
|
||||
.add-popup-title { |
|
||||
font-size: 36rpx; |
|
||||
font-weight: bold; |
|
||||
text-align: center; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.add-popup-container { |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.add-popup-bottom { |
|
||||
display: flex; |
|
||||
height: 80rpx; |
|
||||
color: #fff; |
|
||||
line-height: 80rpx; |
|
||||
margin-top: 50rpx; |
|
||||
} |
|
||||
|
|
||||
.add-popup-btn { |
|
||||
flex: 1; |
|
||||
text-align: center; |
|
||||
background: linear-gradient(90deg, #60F3FF, #088FEB); |
|
||||
} |
|
||||
|
|
||||
.title-fur { |
|
||||
width: 95%; |
|
||||
height: 70rpx; |
|
||||
margin: 0 auto; |
|
||||
border-bottom: 1px solid #eee; |
|
||||
|
|
||||
.name { |
|
||||
font-size: 30rpx; |
|
||||
width: 90%; |
|
||||
float: left; |
|
||||
height: 70rpx; |
|
||||
line-height: 70rpx; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.content-fur { |
|
||||
padding-bottom: 25rpx; |
|
||||
} |
|
||||
|
|
||||
.content-low { |
|
||||
width: auto; |
|
||||
border: 1px solid #eee; |
|
||||
display: inline-block; |
|
||||
min-width: 90rpx; |
|
||||
padding: 5rpx; |
|
||||
font-size: 35rpx; |
|
||||
text-align: center; |
|
||||
color: #777; |
|
||||
margin: 20rpx 0 0 20rpx; |
|
||||
} |
|
||||
|
|
||||
.type-popup { |
|
||||
width: 500rpx; |
|
||||
height: auto; |
|
||||
background: #fff; |
|
||||
border-radius: 10px; |
|
||||
position: relative; |
|
||||
margin-bottom: 40rpx; |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,568 +0,0 @@ |
|||||
<template> |
|
||||
<view class="u-wrap"> |
|
||||
<view style="width: 100%;position: fixed;z-index: 99;"> |
|
||||
<button size="default" type="default" @tap="inputDialogToggle('attrAdd',categoryId)" |
|
||||
hover-class="is-hover">添加分类</button> |
|
||||
</view> |
|
||||
<view class="card-list"> |
|
||||
<ul> |
|
||||
<li v-for="items in attrList" :key="items.id"> |
|
||||
<view class="title-fur"> |
|
||||
<view class="name">{{items.attributeName}}</view> |
|
||||
<view class="rightBox"> |
|
||||
<uni-icons type="plusempty" size="20" color="#5fd9ee" @tap="inputDialogToggle('attrValAdd', items.id)"></uni-icons> |
|
||||
<uni-icons type="gear" size="24" color="#5fd9ee" @tap="inputDialogToggle('attrEdit', items, item)"></uni-icons> |
|
||||
<uni-icons type="trash" size="24" color="#f56c6c" @tap="delItem(items, 'attrDel')"></uni-icons> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="content-fur"> |
|
||||
<view class="content-low" v-for="item in items.attributeValue" :key="item.id" |
|
||||
@tap="delItem(item, 'attrNameDel')">{{item.value}}</view> |
|
||||
</view> |
|
||||
</li> |
|
||||
</ul> |
|
||||
</view> |
|
||||
<uni-popup ref="inputDialog" type="dialog"> |
|
||||
<view class="type-popup" style="width:100%;margin-bottom: 0;border-radius: 0;height: 450rpx;border-radius: 10px;"> |
|
||||
<view style="height: 120rpx;font-size: 36rpx;font-weight: bold;line-height: 120rpx;text-align: center;"> |
|
||||
新增规格 |
|
||||
</view> |
|
||||
<view style="height: 80rpx;font-size: 28rpx;line-height: 80rpx;text-align: center;"> |
|
||||
请在下方输入框中输入新规格 |
|
||||
</view> |
|
||||
<view style="width: 90%;margin: 40rpx auto 0;"> |
|
||||
<uni-easyinput type="text" v-model="categoryText" @blur="handleBlur" placeholder="请输入规格值" /> |
|
||||
</view> |
|
||||
<view style="width: 100%;height: 90rpx;line-height: 90rpx;text-align: center;border-radius: 0;background: linear-gradient(90deg, #60F3FF, #088FEB);color: #fff;display: flex;position: absolute;bottom: 0;"> |
|
||||
<view style="width:50%;" @tap="$refs.inputDialog.close()">取消</view> |
|
||||
<view style="width:50%;background: linear-gradient(90deg, #FF9797, #FFC1E0);" @tap="dialogInputConfirm">确认</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</uni-popup> |
|
||||
<!-- 查看商品库存弹出层 --> |
|
||||
<uni-popup ref="carPopup" background-color="#fff"> |
|
||||
<view class="popup-content" style="height:auto !important;"> |
|
||||
<view style="font-size: 36rpx;font-weight: bold;text-align: center;">提示</view> |
|
||||
<view v-if="goodsList !=''" |
|
||||
style="width:100%;font-weight:bold;text-align: center;font-size: 28rpx;margin: 20rpx 0;"> |
|
||||
{{goodsList[0].productName}}商品有以下库存,确认继续删除吗? |
|
||||
</view> |
|
||||
<view class="tui-order-item boxbg"> |
|
||||
<view style="display: flex;border-bottom: 1px solid #eee;height: 50rpx;line-height: 50rpx;"> |
|
||||
<view style="width: 70%;text-align: center;border-right: 1px solid #eee;">商品规格</view> |
|
||||
<view style="width: 29%;text-align: center;">数量</view> |
|
||||
</view> |
|
||||
<view class="shop-box" v-for="(item,index) in goodsList" :key="index" style="position: relative;"> |
|
||||
<view style='height: 50rpx;line-height: 50rpx;'> |
|
||||
<view |
|
||||
style="width: 70%;text-align: center;border-right: 1px solid #eee;float: left;height: 50rpx;overflow: hidden;"> |
|
||||
{{item.attributeList | sliceMsg}} |
|
||||
</view> |
|
||||
<view style="width: 29%;text-align: center;float: left;"> |
|
||||
{{item.stockCount}} |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
<!-- <u-loadmore :status="status" /> --> |
|
||||
<view class="popup-bottom"> |
|
||||
<view class="popup-bottom-left"> |
|
||||
<view class="bottom-btn" @tap="this.$refs.carPopup.close()" |
|
||||
style="background: linear-gradient(90deg, #FF9797, #FFC1E0);">再想想</view> |
|
||||
</view> |
|
||||
<view class="popup-bottom-right"> |
|
||||
<view class="bottom-btn" @tap="this.show = true">确认删除</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
|
||||
</uni-popup> |
|
||||
</view> |
|
||||
|
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
data() { |
|
||||
return { |
|
||||
// indexList: [], |
|
||||
show: false, |
|
||||
inputVal: '', |
|
||||
typeModel: '', |
|
||||
editItem: {}, |
|
||||
delItems: {}, |
|
||||
isOpenId: '', |
|
||||
attrList: [], |
|
||||
openIndex: '', |
|
||||
delType: '', |
|
||||
dialogTit: '输入分类名', |
|
||||
categoryId: '', |
|
||||
goodsList: [], |
|
||||
categoryText:'' |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
|
|
||||
}, |
|
||||
filters: { |
|
||||
sliceMsg(val) { |
|
||||
var name = '' |
|
||||
if (typeof(val) == 'string') { |
|
||||
let newObj = JSON.parse(val) |
|
||||
for (let as in newObj) { |
|
||||
name += newObj[as] + '/' |
|
||||
} |
|
||||
} |
|
||||
return name; |
|
||||
} |
|
||||
}, |
|
||||
onLoad(options) { |
|
||||
this.categoryId = options.id |
|
||||
this.getGategoryList(options.id) |
|
||||
}, |
|
||||
methods: { |
|
||||
//初始化获取子分类列表 |
|
||||
getGategoryList() { |
|
||||
let data = [] |
|
||||
this.NB.sendRequest('/app/productAttribute/selectByCategoryId', { |
|
||||
categoryId: this.categoryId |
|
||||
}, false, 'POST', 'application/x-www-form-urlencoded').then(res1 => { |
|
||||
if (res1.code == 200) { |
|
||||
data = res1.result; |
|
||||
if (res1.result.length > 0) { |
|
||||
data.forEach((items) => { |
|
||||
this.NB.sendRequest('/app/productAttributeValue/selectByAttributeId', { |
|
||||
id: items.id |
|
||||
}, false, 'get', 'application/x-www-form-urlencoded').then(res2 => { |
|
||||
if (res2.code == 200) { |
|
||||
items.attributeValue = res2.result; |
|
||||
this.$forceUpdate() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
|
|
||||
} |
|
||||
}) |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
|
|
||||
} |
|
||||
}) |
|
||||
|
|
||||
this.$forceUpdate() |
|
||||
setTimeout(() => { |
|
||||
this.attrList = data |
|
||||
}, 1000) |
|
||||
}, |
|
||||
inputDialogToggle(type, item, parent) { |
|
||||
this.typeModel = type; |
|
||||
if (type == 'edit') { |
|
||||
this.inputVal = item.categoryName; |
|
||||
this.editItem = item; |
|
||||
} else if (type == 'add' || type == 'attrAdd' || type == 'attrValAdd') { |
|
||||
this.inputVal = ''; |
|
||||
this.isOpenId = item; |
|
||||
if (type == 'add') { |
|
||||
this.dialogTit = '输入分类名' |
|
||||
} else if (type == 'attrAdd') { |
|
||||
this.dialogTit = '输入分类名' |
|
||||
// this.$refs.addTypeDialog.open('bottom') |
|
||||
} else if (type == 'attrValAdd') { |
|
||||
this.dialogTit = '输入属性值' |
|
||||
} |
|
||||
} else if (type == 'attrEdit') { |
|
||||
this.inputVal = item.attributeName; |
|
||||
this.editItem = item; |
|
||||
} |
|
||||
this.$refs.inputDialog.open('bottom') |
|
||||
}, |
|
||||
handleBlur(e){ |
|
||||
this.categoryText = e.detail.value |
|
||||
}, |
|
||||
dialogInputConfirm(e) { |
|
||||
switch (this.typeModel) { |
|
||||
case 'add': |
|
||||
this.NB.sendRequest('/app/productCategory/save', { |
|
||||
categoryName: this.categoryText |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "添加成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "添加失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
case 'edit': |
|
||||
this.NB.sendRequest('/app/productCategory/edit', { |
|
||||
categoryName: this.categoryText, |
|
||||
id: this.editItem.id |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "修改成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "修改失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
case 'attrAdd': |
|
||||
for (let i = 0; i < this.attrList.length; i++) { |
|
||||
if (this.attrList[i].attributeName == e) { |
|
||||
uni.showToast({ |
|
||||
title: "请勿重复添加", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
return |
|
||||
} |
|
||||
} |
|
||||
this.NB.sendRequest('/app/productAttribute/save', { |
|
||||
attributeName: this.categoryText, |
|
||||
categoryId: this.isOpenId |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "添加成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "添加失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
case 'attrValAdd': |
|
||||
if (e == '') { |
|
||||
uni.showToast({ |
|
||||
title: "不能为空!", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
return |
|
||||
} |
|
||||
this.NB.sendRequest('/app/productAttributeValue/save', { |
|
||||
value: this.categoryText, |
|
||||
attributeId: this.isOpenId |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "添加成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
this.$refs.inputDialog.close() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: res.message, |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
case 'attrEdit': |
|
||||
this.NB.sendRequest('/app/productAttribute/edit', { |
|
||||
attributeName: this.categoryText, |
|
||||
categoryId: this.editItem.categoryId, |
|
||||
id: this.editItem.id |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "修改成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "修改失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
break; |
|
||||
default: |
|
||||
} |
|
||||
this.$refs.inputClose.val = '' |
|
||||
}, |
|
||||
dialogClose() { |
|
||||
this.inputVal = ''; |
|
||||
this.$refs.inputClose.val = '' |
|
||||
}, |
|
||||
dialogDel() { |
|
||||
this.delItem(this.editItem, 'del') |
|
||||
}, |
|
||||
delItemModal() { |
|
||||
this.show = false; |
|
||||
if (this.delType == 'del') { |
|
||||
this.NB.sendRequest('/app/productCategory/delById', { |
|
||||
id: this.delItems.id, |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "删除成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
this.$refs.carPopup.close() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "删除失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} else if (this.delType == 'attrDel') { |
|
||||
this.NB.sendRequest('/app/productAttribute/delById', { |
|
||||
categoryId: this.delItems.categoryId, |
|
||||
attributeName: this.delItems.attributeName, |
|
||||
id: this.delItems.id, |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "删除成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
this.$refs.carPopup.close() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "删除失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} else if (this.delType == 'attrNameDel') { |
|
||||
this.NB.sendRequest('/app/productAttributeValue/delById', { |
|
||||
attributeId: this.delItems.attributeId, |
|
||||
value: this.delItems.value, |
|
||||
id: this.delItems.id, |
|
||||
}, false, 'post', 'application/x-www-form-urlencoded').then(res => { |
|
||||
if (res.code == 200) { |
|
||||
this.getGategoryList() |
|
||||
uni.showToast({ |
|
||||
title: "删除成功", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
this.$refs.carPopup.close() |
|
||||
} else { |
|
||||
uni.showToast({ |
|
||||
title: "删除失败", |
|
||||
icon: 'none' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
delItem(item, type) { |
|
||||
let that = this; |
|
||||
this.delType = type; |
|
||||
this.delItems = item; |
|
||||
this.show = true |
|
||||
uni.showModal({ |
|
||||
title: '提示', |
|
||||
content: '是否确认删除此分类?', |
|
||||
confirmText: '取消', |
|
||||
cancelText: '确认', |
|
||||
success: function (res) { |
|
||||
if (res.cancel) { |
|
||||
that.delItemModal() |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss" scoped> |
|
||||
.u-wrap { |
|
||||
height: calc(100vh); |
|
||||
/* #ifdef H5 */ |
|
||||
height: calc(100vh - var(--window-top)); |
|
||||
/* #endif */ |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
} |
|
||||
|
|
||||
button { |
|
||||
color: #ffffff; |
|
||||
background: #5fd9ee; |
|
||||
width: 90%; |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.card-list { |
|
||||
width: 95%; |
|
||||
border-radius: 10rpx; |
|
||||
background: #fff; |
|
||||
height: auto; |
|
||||
margin: 140rpx auto 0; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.title-fur { |
|
||||
width: 95%; |
|
||||
height: 70rpx; |
|
||||
margin: 0 auto; |
|
||||
border-bottom: 1px solid #eee; |
|
||||
} |
|
||||
|
|
||||
.name { |
|
||||
font-size: 30rpx; |
|
||||
width: 50%; |
|
||||
float: left; |
|
||||
height: 70rpx; |
|
||||
line-height: 70rpx; |
|
||||
} |
|
||||
|
|
||||
.rightBox { |
|
||||
display: flex; |
|
||||
float: right; |
|
||||
} |
|
||||
|
|
||||
.content-fur { |
|
||||
padding-bottom: 25rpx; |
|
||||
} |
|
||||
|
|
||||
.content-low { |
|
||||
width: auto; |
|
||||
border: 1px solid #eee; |
|
||||
display: inline-block; |
|
||||
min-width: 90rpx; |
|
||||
padding: 5rpx; |
|
||||
font-size: 35rpx; |
|
||||
text-align: center; |
|
||||
color: #777; |
|
||||
margin: 20rpx 0 0 20rpx; |
|
||||
} |
|
||||
|
|
||||
.popup-content { |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
padding: 30rpx; |
|
||||
height: 1200rpx; |
|
||||
background-color: #fff; |
|
||||
margin-bottom: 30rpx; |
|
||||
overflow: scroll; |
|
||||
} |
|
||||
|
|
||||
.popup-container { |
|
||||
width: 100%; |
|
||||
background: #fff; |
|
||||
height: 50rpx; |
|
||||
} |
|
||||
|
|
||||
.checkList { |
|
||||
display: flex; |
|
||||
height: 50rpx; |
|
||||
font-size: 28rpx; |
|
||||
line-height: 50rpx; |
|
||||
margin: 20rpx 0; |
|
||||
} |
|
||||
|
|
||||
.checkList-box { |
|
||||
height: 50rpx; |
|
||||
width: 60%; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom { |
|
||||
width: 95%; |
|
||||
height: 100rpx; |
|
||||
position: fixed; |
|
||||
bottom: 0; |
|
||||
left: 2.5%; |
|
||||
display: flex; |
|
||||
z-index: 99; |
|
||||
background: #fff; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom-left { |
|
||||
width: 50%; |
|
||||
line-height: 80rpx; |
|
||||
} |
|
||||
|
|
||||
.popup-bottom-right { |
|
||||
width: 50%; |
|
||||
line-height: 100rpx; |
|
||||
} |
|
||||
|
|
||||
.bottom-btn { |
|
||||
width: 70%; |
|
||||
line-height: 70rpx; |
|
||||
height: 70rpx; |
|
||||
text-align: center; |
|
||||
/* margin-top: 10rpx; */ |
|
||||
color: #fff; |
|
||||
font-size: 28rpx; |
|
||||
margin: 0 auto; |
|
||||
background: linear-gradient(90deg, #60F3FF, #088FEB); |
|
||||
border-radius: 70rpx; |
|
||||
} |
|
||||
.checked{ |
|
||||
background: #60F3FF; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
.add-popup-content { |
|
||||
align-items: center; |
|
||||
justify-content: center; |
|
||||
padding: 30rpx; |
|
||||
width: 100%; |
|
||||
height: 1300rpx; |
|
||||
background-color: #fff; |
|
||||
} |
|
||||
|
|
||||
.add-popup-title { |
|
||||
font-size: 36rpx; |
|
||||
font-weight: bold; |
|
||||
text-align: center; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.add-popup-container { |
|
||||
margin-top: 20rpx; |
|
||||
} |
|
||||
|
|
||||
.add-popup-bottom { |
|
||||
display: flex; |
|
||||
height: 80rpx; |
|
||||
color: #fff; |
|
||||
line-height: 80rpx; |
|
||||
margin-top: 50rpx; |
|
||||
} |
|
||||
|
|
||||
.add-popup-btn { |
|
||||
flex: 1; |
|
||||
text-align: center; |
|
||||
background: linear-gradient(90deg, #60F3FF, #088FEB); |
|
||||
} |
|
||||
.type-popup{ |
|
||||
width: 500rpx; |
|
||||
height: auto; |
|
||||
background: #fff; |
|
||||
border-radius: 10px; |
|
||||
position: relative; |
|
||||
margin-bottom: 40rpx; |
|
||||
} |
|
||||
</style> |
|
||||
Loading…
Reference in new issue