|
|
@@ -5,18 +5,92 @@
|
|
|
<view class="case">
|
|
|
创建商品
|
|
|
</view>
|
|
|
- <view class="step">
|
|
|
- {{schedule}}/2
|
|
|
- </view>
|
|
|
</view>
|
|
|
<view class="content">
|
|
|
- <u-form :model="form" ref="uForm" v-if="schedule ==1">
|
|
|
- <view class="titl ">
|
|
|
- 基本信息
|
|
|
+ <view class="form" v-if="schedule ==1">
|
|
|
+ <view class="titl">
|
|
|
+ 基础信息
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 商品分类<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker" @click="isSelectType = true">
|
|
|
+ <span v-if="showText == ''">选择商品分类</span>
|
|
|
+ <span v-else style="color: #333333;">{{showText}}</span>
|
|
|
+ <u-icon name="arrow-right"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 商品名称<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker">
|
|
|
+ <u-input v-model="form.productName" placeholder="输入商品名称" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item upload">
|
|
|
+ <view class="label">
|
|
|
+ 商品封面图<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="tips">
|
|
|
+ 支持jpg、png格式,尺寸为00px*00px
|
|
|
+ </view>
|
|
|
+ <u-upload ref="uUpload" :action="action" :file-list="fileList" max-count="1" width="140rpx"
|
|
|
+ height="140rpx"></u-upload>
|
|
|
+ </view>
|
|
|
+ <view class="item upload">
|
|
|
+ <view class="label">
|
|
|
+ 商品详情图<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="tips">
|
|
|
+ 支持jpg、png格式,尺寸为00px*00px,最多20张
|
|
|
+ </view>
|
|
|
+ <u-upload :action="action" :file-list="fileList" max-count="20" width="140rpx" height="140rpx"></u-upload>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 原价<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker">
|
|
|
+ <u-input v-model="form.price" placeholder="输入商品原价" />
|
|
|
+ </view>
|
|
|
+ <view class="unit">
|
|
|
+ 元
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 实际售价<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker">
|
|
|
+ <u-input type="num" v-model="form.soldPrice" placeholder="输入客户实际支付价" />
|
|
|
+ </view>
|
|
|
+ <view class="unit">
|
|
|
+ 元
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 组合套餐
|
|
|
+ </view>
|
|
|
+ <view class="picker set" @click="goGroup">
|
|
|
+ 去设置
|
|
|
+ <u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- <u-form :model="form" ref="uForm" v-if="schedule ==1"
|
|
|
+ style="background-color: #fff;padding: 16rpx;border-radius: 16rpx;">
|
|
|
+ <view class="titl">
|
|
|
+ 基础信息
|
|
|
</view>
|
|
|
- <u-form-item label="商品分类" label-width="200">
|
|
|
+ <u-form-item style="display: flex;">
|
|
|
+ <label>
|
|
|
+ 商品分类 <span style="color: red;">*</span>
|
|
|
+ </label>
|
|
|
<picker v-model="form.sex" :range="genderOptions" range-key="label" @change="onGenderChange">
|
|
|
- <view>{{ form.sex || '请选择分类' }}</view>
|
|
|
+ <view class="">{{ form.sex || '请选择分类' }}</view>
|
|
|
</picker>
|
|
|
</u-form-item>
|
|
|
<u-form-item label="商品名称" label-width="200"><u-input v-model="form.intro" /></u-form-item>
|
|
|
@@ -33,38 +107,66 @@
|
|
|
设置组合套餐
|
|
|
</view>
|
|
|
</u-form-item>
|
|
|
- </u-form>
|
|
|
- <u-form :model="form" ref="uForm" v-if="schedule == 2">
|
|
|
+ </u-form> -->
|
|
|
+ <view class="form" v-if="schedule == 2">
|
|
|
<view class="titl ">
|
|
|
售卖/使用信息
|
|
|
</view>
|
|
|
- <u-form-item label="售卖时间" label-width="200">
|
|
|
- <!-- <picker v-model="form.sex" :range="genderOptions" range-key="label" @change="onGenderChange">
|
|
|
- <view>{{ form.sex || '请选择售卖时间段' }}</view>
|
|
|
- </picker> -->
|
|
|
- <view class="" @click="isSelectDate = true">
|
|
|
- 请选择售卖时间段
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 售卖时间<span>*</span>
|
|
|
</view>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item label="库存" label-width="200"><u-input v-model="form.intro" /></u-form-item>
|
|
|
- <u-form-item label="可用时间" label-width="200">
|
|
|
- <view class="" @click="setUsable">
|
|
|
+ <view class="picker set inp" @click="isSelectDate = true">
|
|
|
去设置
|
|
|
+ <u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
|
</view>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item label="预约规则" label-width="200">
|
|
|
- <view class="" @click="setRule">
|
|
|
- 去设置
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 库存<span>*</span>
|
|
|
</view>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item label="退款规则" label-width="200">
|
|
|
- <view class="" @click="setUsable">
|
|
|
+ <view class="picker set">
|
|
|
+ <u-input v-model="form.productName" placeholder="输入库存数量" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 可用时间<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker set">
|
|
|
去设置
|
|
|
+ <u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
|
</view>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item label="使用说明" label-position="top" label-width="200"><u-input type="textarea"
|
|
|
- v-model="form.intro" /></u-form-item>
|
|
|
- </u-form>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 需要预约<span>*</span>
|
|
|
+ </view>
|
|
|
+ <view class="picker set">
|
|
|
+ <u-switch v-model="form.checked" style="margin-left:8rpx;" size="28"></u-switch>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 退款规则
|
|
|
+ </view>
|
|
|
+ <view class="picker set">
|
|
|
+ 请选择
|
|
|
+ <u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item upload">
|
|
|
+ <view class="label">
|
|
|
+ 使用说明
|
|
|
+ </view>
|
|
|
+ <view class="textarea">
|
|
|
+ <u-input v-model="form.num" type="textarea" placeholder="输入库存数量" maxlength="500" />
|
|
|
+ </view>
|
|
|
+ <view class="num">
|
|
|
+ 0/500
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="btn">
|
|
|
<view class="next" @click="next" v-if="schedule==1">
|
|
|
@@ -80,12 +182,45 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<selectDate @confirm="handleConfirm" @close="closeSelectDate" v-if="isSelectDate" />
|
|
|
- <refund v-if="isRefund" saveRule="saveFound" @closeRule="cutRule"/>
|
|
|
+ <refund v-if="isRefund" saveRule="saveFound" @closeRule="cutRule" />
|
|
|
+ <view class="popup" v-if="isSelectType">
|
|
|
+ <view class="model">
|
|
|
+ <view class="title">
|
|
|
+ 商品品类
|
|
|
+ <image src="/static/index/cut.png" mode="" @click="closePopup"></image>
|
|
|
+ </view>
|
|
|
+ <view class="tree">
|
|
|
+ <view class="left">
|
|
|
+ <view class="item" :class="currentLeft == index?'active':''" v-for="(item,index) in treeLeft" :key="item.id"
|
|
|
+ @click="selectLeft(item,index)">
|
|
|
+ {{item.name}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="left border">
|
|
|
+ <view class="item" :class="currentCenter == index?'active':''" v-for="(item,index) in treeCenter"
|
|
|
+ :key="item.id" @click="selectRight(item,index)">
|
|
|
+ {{item.name}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="left">
|
|
|
+ <view class="item" :class="currentRight == index?'active':''" v-for="(item,index) in treeRight"
|
|
|
+ :key="item.id" @click="selectLast(item,index)">
|
|
|
+ {{item.name}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="sub">
|
|
|
+ <view class="submit" @click="selectType">
|
|
|
+ 确定
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import selectDate from '@/components/select_date.vue'
|
|
|
+ import selectDate from '@/components/product/select_date.vue'
|
|
|
import refund from '@/components/refund.vue'
|
|
|
export default {
|
|
|
components: {
|
|
|
@@ -95,10 +230,14 @@
|
|
|
data() {
|
|
|
return {
|
|
|
form: {
|
|
|
- name: '',
|
|
|
+ productName: '',
|
|
|
+ productImage: '',
|
|
|
intro: '',
|
|
|
- sex: ''
|
|
|
+ sex: '',
|
|
|
+ checked: false,
|
|
|
+ num: 0
|
|
|
},
|
|
|
+ action: 'http://192.168.0.52:8080/jeecg-boot/sys/common/upload', //图片上传地址
|
|
|
checkboxList: [{
|
|
|
name: '苹果',
|
|
|
checked: false,
|
|
|
@@ -115,7 +254,6 @@
|
|
|
disabled: false
|
|
|
}
|
|
|
],
|
|
|
-
|
|
|
genderOptions: [{
|
|
|
label: '男',
|
|
|
value: 'male'
|
|
|
@@ -129,12 +267,22 @@
|
|
|
value: 'other'
|
|
|
}
|
|
|
],
|
|
|
- schedule: 1,
|
|
|
+ schedule: 1, //进度
|
|
|
fileList: [],
|
|
|
selectedTime: null,
|
|
|
isSelectDate: false,
|
|
|
- isRefund:true,
|
|
|
- selectedRules:null
|
|
|
+ isRefund: false,
|
|
|
+ selectedRules: null,
|
|
|
+ isSelectType: false,
|
|
|
+ treeLeft: [], //一级列表
|
|
|
+ treeCenter: [], //二级列表
|
|
|
+ treeRight: [], //三级列表
|
|
|
+ currentLeft: null, //一级选中
|
|
|
+ currentCenter: null, //二级选中
|
|
|
+ currentRight: null, //三级选中
|
|
|
+ productType: [], //选中的商品分类id
|
|
|
+ selectTypeList: [], //选中的商品分类名称
|
|
|
+ showText: ''
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -146,6 +294,13 @@
|
|
|
//下一步
|
|
|
next() {
|
|
|
this.schedule += 1
|
|
|
+ let files = [];
|
|
|
+ // 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
|
|
|
+ files = this.$refs.uUpload.lists.filter(val => {
|
|
|
+ return val.progress == 100;
|
|
|
+ })
|
|
|
+ this.form.productImage = files[0].response.message
|
|
|
+ console.log(this.form.productImage)
|
|
|
},
|
|
|
// 跳转至组合商品页
|
|
|
goGroup() {
|
|
|
@@ -176,18 +331,86 @@
|
|
|
})
|
|
|
},
|
|
|
//跳转至预约规则
|
|
|
- setRule(){
|
|
|
+ setRule() {
|
|
|
uni.navigateTo({
|
|
|
url: '/pages/product/rule'
|
|
|
})
|
|
|
},
|
|
|
- saveFound(rules){
|
|
|
- this.selectedRules = rules; // 保存退款规则
|
|
|
- this.selectedRules = false
|
|
|
+ saveFound(rules) {
|
|
|
+ this.selectedRules = rules; // 保存退款规则
|
|
|
+ this.selectedRules = false
|
|
|
+ },
|
|
|
+ cutRule() {
|
|
|
+ this.isRefund = false
|
|
|
+ },
|
|
|
+ //获取商品分类一级列表
|
|
|
+ getLeftTree() {
|
|
|
+ this.$http.get("/sys/category/childList?pid=" + '1889836358116098050', {}).then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ this.treeLeft = res.data.result
|
|
|
+ if (this.treeLeft[0]) {
|
|
|
+ this.getCenterTree(this.treeLeft[0].id)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
- cutRule(){
|
|
|
- this.isRefund = false
|
|
|
+ //获取商品分类二级列表
|
|
|
+ getCenterTree(id) {
|
|
|
+ this.$http.get("/sys/category/childList?pid=" + id, {}).then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ this.treeCenter = res.data.result
|
|
|
+ if (this.treeCenter[0]) {
|
|
|
+ this.getRightTree(this.treeCenter[0].id)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //获取商品分类三级列表
|
|
|
+ getRightTree(id) {
|
|
|
+ this.$http.get("/sys/category/childList?pid=" + id, {}).then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ this.treeRight = res.data.result
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //选中一级
|
|
|
+ selectLeft(item, index) {
|
|
|
+ this.showText = ''
|
|
|
+ this.productType = []
|
|
|
+ this.selectTypeList = []
|
|
|
+ this.currentLeft = index
|
|
|
+ this.currentCenter = null
|
|
|
+ this.currentRight = null
|
|
|
+ this.productType.push(item.id)
|
|
|
+ this.selectTypeList.push(item.name)
|
|
|
+ this.getCenterTree(item.id)
|
|
|
+ },
|
|
|
+ //选中二级
|
|
|
+ selectRight(item, index) {
|
|
|
+ this.currentCenter = index
|
|
|
+ this.currentRight = null
|
|
|
+ this.productType.push(item.id)
|
|
|
+ this.selectTypeList.push(item.name)
|
|
|
+ this.getRightTree(item.id)
|
|
|
+ },
|
|
|
+ //选中三级
|
|
|
+ selectLast(item, index) {
|
|
|
+ this.productType.push(item.id)
|
|
|
+ this.selectTypeList.push(item.name)
|
|
|
+ this.currentRight = index
|
|
|
+ },
|
|
|
+ //确定分类
|
|
|
+ selectType() {
|
|
|
+ this.isSelectType = false
|
|
|
+ this.showText = this.selectTypeList.join('·')
|
|
|
+ },
|
|
|
+ //关闭选择分类弹窗
|
|
|
+ closePopup() {
|
|
|
+ this.isSelectType = false
|
|
|
}
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getLeftTree()
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -196,10 +419,15 @@
|
|
|
.creat {
|
|
|
width: 100vw;
|
|
|
height: 100vh;
|
|
|
+ background: #F7F8FC;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
|
|
|
.head {
|
|
|
width: 100%;
|
|
|
- padding: 20rpx;
|
|
|
+ height: 112rpx;
|
|
|
+ padding: 32rpx 24rpx;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
background-color: #fff;
|
|
|
@@ -210,6 +438,15 @@
|
|
|
margin-right: 40rpx;
|
|
|
}
|
|
|
|
|
|
+ .case {
|
|
|
+ font-size: 36rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ }
|
|
|
+
|
|
|
.step {
|
|
|
position: absolute;
|
|
|
right: 20rpx;
|
|
|
@@ -218,30 +455,111 @@
|
|
|
|
|
|
.content {
|
|
|
width: 100%;
|
|
|
- background-color: #fff;
|
|
|
- padding: 20rpx;
|
|
|
+ flex: 1;
|
|
|
+ padding: 24rpx;
|
|
|
|
|
|
.titl {
|
|
|
width: 100%;
|
|
|
- height: 60rpx;
|
|
|
+ // height: 60rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ margin-bottom: 16rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .form {
|
|
|
background-color: #fff;
|
|
|
- // padding: 20rpx;
|
|
|
- border-bottom: 1px solid #eee;
|
|
|
+ padding: 16rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ width: 100%;
|
|
|
+ height: 58rpx;
|
|
|
+ border-bottom: 1px solid #EEEEEE;
|
|
|
+ display: flex;
|
|
|
+ // align-items: center;
|
|
|
+ padding-bottom: 16rpx;
|
|
|
+ margin-bottom: 16rpx;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ margin-right: 20rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 28rpx;
|
|
|
+ min-width: 126rpx;
|
|
|
+
|
|
|
+ span {
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .picker {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+
|
|
|
+ .set {
|
|
|
+ display: flex;
|
|
|
+ justify-content: end;
|
|
|
+
|
|
|
+ /deep/.u-input {
|
|
|
+ text-align: right !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload {
|
|
|
+ display: block;
|
|
|
+ height: auto;
|
|
|
+
|
|
|
+ .tips {
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: #999999;
|
|
|
+ margin-bottom: 16rpx;
|
|
|
+ margin-top: 10rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .textarea {
|
|
|
+ width: 100%;
|
|
|
+ height: 196rpx;
|
|
|
+ background: #F7F8FC;
|
|
|
+ border-radius: 4rpx;
|
|
|
+ padding: 12rpx 16rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ margin-top: 12rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .num {
|
|
|
+ width: 100%;
|
|
|
+ text-align: right;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #999999;
|
|
|
+ margin-top: 6rpx;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.btn {
|
|
|
width: 100%;
|
|
|
- height: 80rpx;
|
|
|
+ height: 112rpx;
|
|
|
background-color: #fff;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
|
|
|
.next {
|
|
|
- width: 80%;
|
|
|
- height: 70rpx;
|
|
|
- background-color: #eee;
|
|
|
+ width: 672rpx;
|
|
|
+ height: 76rpx;
|
|
|
+ border-radius: 54rpx;
|
|
|
+ border: 1px solid #449AFF;
|
|
|
margin: 0 auto;
|
|
|
- text-align: center;
|
|
|
- line-height: 70rpx;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #449AFF;
|
|
|
}
|
|
|
|
|
|
.handle {
|
|
|
@@ -250,21 +568,117 @@
|
|
|
justify-content: space-around;
|
|
|
|
|
|
.back {
|
|
|
- width: 30%;
|
|
|
- height: 70rpx;
|
|
|
- border: 1px solid #ccc;
|
|
|
- text-align: center;
|
|
|
- line-height: 70rpx;
|
|
|
+ width: 205rpx;
|
|
|
+ height: 76rpx;
|
|
|
+ border-radius: 54rpx;
|
|
|
+ border: 1px solid #449AFF;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #449AFF;
|
|
|
}
|
|
|
|
|
|
.submit {
|
|
|
- width: 50%;
|
|
|
- height: 70rpx;
|
|
|
- border: 1px solid #ccc;
|
|
|
- text-align: center;
|
|
|
- line-height: 70rpx;
|
|
|
+ width: 443rpx;
|
|
|
+ height: 76rpx;
|
|
|
+ background: linear-gradient(90deg, #77B6FF 0%, #449AFF 100%);
|
|
|
+ border-radius: 53rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #FFFFFF;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .popup {
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ background: rgba(0, 0, 0, 0.4);
|
|
|
+ display: flex;
|
|
|
+ align-items: end;
|
|
|
+ z-index: 99;
|
|
|
+
|
|
|
+ .model {
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ border-radius: 20rpx 20rpx 0rpx 0rpx;
|
|
|
+ padding: 0rpx 24rpx;
|
|
|
+ padding-bottom: 20rpx;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ width: 100%;
|
|
|
+ height: 86rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ border-bottom: 1px solid #EEEEEE;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ image {
|
|
|
+ width: 40rpx;
|
|
|
+ height: 40rpx;
|
|
|
+ position: absolute;
|
|
|
+ right: 0px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .tree {
|
|
|
+ display: flex;
|
|
|
+ max-height: 546rpx;
|
|
|
+
|
|
|
+ .left {
|
|
|
+ overflow-y: auto;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ width: 224rpx;
|
|
|
+ height: 78rpx;
|
|
|
+ padding: 20rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .active {
|
|
|
+ background: rgba(68, 154, 255, 0.1);
|
|
|
+ color: #2983EC;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .border {
|
|
|
+ border-left: 1px solid #eeeeee;
|
|
|
+ border-right: 1px solid #eeeeee;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .sub {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-top: 16rpx;
|
|
|
+ border-top: 1px solid #eeeeee;
|
|
|
+ padding-top: 16rpx;
|
|
|
+
|
|
|
+ .submit {
|
|
|
+ width: 672rpx;
|
|
|
+ height: 76rpx;
|
|
|
+ background: linear-gradient(90deg, #77B6FF 0%, #449AFF 100%);
|
|
|
+ border-radius: 53rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.u-upload__button {
|
|
|
+ width: 250rpx !important;
|
|
|
+ height: 250rpx !important;
|
|
|
}
|
|
|
</style>
|