订单详情等

master
yujialong 3 years ago
parent 8dc0a26185
commit 02115b5248
  1. 2
      apis/request.js
  2. 56
      pages.json
  3. 194
      pages/clientDetail/clientDetail.vue
  4. 19
      pages/invite/invite.vue
  5. 502
      pages/orderDetail/orderDetail.vue
  6. 54
      styles/common.scss

@ -12,7 +12,7 @@ const request = options => {
})
}
const header = Object.assign({}, config.headers, {
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiaWF0IjoxNjUzMDEyOTQ1LCJleHAiOjE2NTMwNTYxNDUsImFjY291bnRJZCI6IjEifQ.wlon-ETOzb3GvveRnetICH5Joa4u7XzaywGcDEbfqtU'
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiaWF0IjoxNjUzMjcyMjMyLCJleHAiOjE2NTMzMTU0MzIsImFjY291bnRJZCI6IjEifQ.gf5myNnrLmVjUcIWfqfohWyvdPXXwr9butZo75CXk64'
})
return new Promise((resolve, reject)=>{
uni.request({

@ -1,5 +1,21 @@
{
"pages": [
{
"path" : "pages/invite/invite",
"style" :
{
"navigationBarTitleText": "加入团队",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/clients/clients",
"style" :
{
"navigationBarTitleText": "客户列表",
"enablePullDownRefresh": true
}
},
{
"path" : "pages/orderDetail/orderDetail",
"style" :
@ -16,12 +32,20 @@
"enablePullDownRefresh": false
}
},
{
"path" : "pages/clients/clients",
{
"path" : "pages/addMember/addMember",
"style" :
{
"navigationBarTitleText": "客户列表",
"enablePullDownRefresh": true
"navigationBarTitleText": "添加成员",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/addStaff/addStaff",
"style" :
{
"navigationBarTitleText": "添加成员",
"enablePullDownRefresh": false
}
},
{
@ -54,14 +78,6 @@
"navigationBarTitleText": "首页"
}
},
{
"path" : "pages/invite/invite",
"style" :
{
"navigationBarTitleText": "加入团队",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/qrcode/qrcode",
"style" :
@ -78,22 +94,6 @@
"enablePullDownRefresh": false
}
},
{
"path" : "pages/addStaff/addStaff",
"style" :
{
"navigationBarTitleText": "添加成员",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/addMember/addMember",
"style" :
{
"navigationBarTitleText": "添加成员",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/password/password",
"style" :

@ -8,64 +8,65 @@
</view>
</uni-card>
<view class="form-list">
<view class="line">
<view class="l-title">基本信息</view>
</view>
<view class="line req">
<view class="name">客户名称</view>
<view :class="['ph', {val: form.customerName}]" @click="schoolVisible = true">{{ form.customerName || '请选择学校' }}</view>
</view>
<view class="line">
<view class="name">省份</view>
<view class="val">{{ form.provinceName }}</view>
</view>
<view class="line">
<view class="name">城市</view>
<view class="val">{{ form.cityName }}</view>
</view>
<view class="line req">
<view class="name">行业类型</view>
<view v-if="isDetail" class="val">{{ form.industryClassName }}</view>
<uni-data-picker v-else class="picker-input" placeholder="请选择行业类型" popup-title="请选择行业类型" preload :clear-icon="false" :localdata="industryClassList" :map="{text: 'industryClassName', value: 'industryClassId'}" v-model="form.industryClassId" @change="industryClassChange"></uni-data-picker>
</view>
<view class="line req">
<view class="name">行业</view>
<view v-if="isDetail" class="val">{{ form.industryName }}</view>
<uni-data-picker v-else class="picker-input" placeholder="请选择行业" popup-title="请选择行业" preload :clear-icon="false" :localdata="industryList" :map="{text: 'industryName', value: 'industryId'}" v-model="form.industryId" :readonly="form.industryClassId ? false : true"></uni-data-picker>
</view>
<view class="line req">
<view class="name">联系人姓名</view>
<view v-if="isDetail" class="val">{{ form.name }}</view>
<input v-else type="text" v-model="form.name">
</view>
<view class="line">
<view class="name">手机</view>
<view v-if="isDetail" class="val">{{ form.phone }}</view>
<input v-else type="text" v-model="form.phone">
</view>
<view class="line req">
<view class="name">账号</view>
<view v-if="isDetail" class="val">{{ form.account }}</view>
<input v-else type="text" placeholder="请以院校首字母+admin的格式来设置" v-model="form.account">
</view>
<view class="line">
<view class="name">职务</view>
<view v-if="isDetail" class="val">{{ form.position }}</view>
<input v-else type="text" v-model="form.position">
</view>
<view class="line">
<view class="name">邮箱</view>
<view v-if="isDetail" class="val">{{ form.email }}</view>
<input v-else type="text" v-model="form.email">
</view>
<view class="line">
<view class="name">产品到期时间</view>
<view class="val">{{ form.expireDate }}</view>
</view>
<view class="line">
<view class="name">客户类型</view>
<view class="val">{{ customerType }}</view>
<view class="block">
<view class="l-title">基本信息</view>
<view class="form-list">
<view class="line req">
<view class="name">客户名称</view>
<view v-if="isDetail" class="val">{{ form.customerName }}</view>
<view v-else :class="['ph', {val: form.customerName}]" @click="schoolVisible = true">{{ form.customerName || '请选择学校' }}</view>
</view>
<view class="line">
<view class="name">省份</view>
<view class="val">{{ form.provinceName }}</view>
</view>
<view class="line">
<view class="name">城市</view>
<view class="val">{{ form.cityName }}</view>
</view>
<view class="line req">
<view class="name">行业类型</view>
<view v-if="isDetail" class="val">{{ form.industryClassName }}</view>
<uni-data-picker v-else class="picker-input" placeholder="请选择行业类型" popup-title="请选择行业类型" preload :clear-icon="false" :localdata="industryClassList" :map="{text: 'industryClassName', value: 'industryClassId'}" v-model="form.industryClassId" @change="industryClassChange"></uni-data-picker>
</view>
<view class="line req">
<view class="name">行业</view>
<view v-if="isDetail" class="val">{{ form.industryName }}</view>
<uni-data-picker v-else class="picker-input" placeholder="请选择行业" popup-title="请选择行业" preload :clear-icon="false" :localdata="industryList" :map="{text: 'industryName', value: 'industryId'}" v-model="form.industryId" :readonly="form.industryClassId ? false : true"></uni-data-picker>
</view>
<view class="line req">
<view class="name">联系人姓名</view>
<view v-if="isDetail" class="val">{{ form.name }}</view>
<input v-else type="text" v-model="form.name">
</view>
<view class="line">
<view class="name">手机</view>
<view v-if="isDetail" class="val">{{ form.phone }}</view>
<input v-else type="text" v-model="form.phone">
</view>
<view class="line req">
<view class="name">账号</view>
<view v-if="isDetail" class="val">{{ form.account }}</view>
<input v-else type="text" placeholder="请以院校首字母+admin的格式来设置" v-model="form.account">
</view>
<view class="line">
<view class="name">职务</view>
<view v-if="isDetail" class="val">{{ form.position }}</view>
<input v-else type="text" v-model="form.position">
</view>
<view class="line">
<view class="name">邮箱</view>
<view v-if="isDetail" class="val">{{ form.email }}</view>
<input v-else type="text" v-model="form.email">
</view>
<view class="line">
<view class="name">产品到期时间</view>
<view class="val">{{ form.expireDate }}</view>
</view>
<view class="line">
<view class="name">客户类型</view>
<view class="val">{{ customerType }}</view>
</view>
</view>
</view>
@ -84,8 +85,8 @@
</view>
</view>
<view class="mask" v-show="schoolVisible" @click="closeSchool"></view>
<view class="school-popup" v-show="schoolVisible">
<view class="popup-mask" v-show="schoolVisible" @click="closeSchool"></view>
<view class="popup" v-show="schoolVisible">
<view class="top">请选择学校</view>
<uni-icons class="close" type="closeempty" size="20" @click="closeSchool"></uni-icons>
<uni-search-bar class="search" radius="5" placeholder="请输入学校名称" v-model="keyword" clearButton="auto" cancelButton="none" />
@ -143,39 +144,6 @@
email: '',
schoolId: ''
},
//
rules: {
schoolId: {
rules: [{
required: true,
errorMessage: '请选择客户'
}]
},
industryClassId: {
rules: [{
required: true,
errorMessage: '请选择行业类型'
}]
},
industryId: {
rules: [{
required: true,
errorMessage: '请选择行业'
}]
},
name: {
rules: [{
required: true,
errorMessage: '联系人姓名不能为空'
}]
},
account: {
rules: [{
required: true,
errorMessage: '账号不能为空'
}]
},
},
customerType: '',
}
},
@ -351,44 +319,4 @@
color: #959595;
}
}
.mask {
z-index: 9;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: rgba(0, 0, 0, .5);
}
.school-popup {
z-index: 10;
position: fixed;
bottom: 0%;
width: 100%;
height: 90vh;
background-color: #fff;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
.top {
text-align: center;
line-height: 50px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #f1f1f1;
}
.close {
position: absolute;
top: 15px;
right: 15px;
}
.list {
max-height: calc(90vh - 103px);
padding: 0 15px;
overflow: auto;
.item {
line-height: 34px;
font-size: 12px;
}
}
}
</style>

@ -8,7 +8,10 @@
<view class="des">或然科技城市合伙人计划</view>
<view class="des">加入并自动为你创建一个团队群组</view>
<view class="input">
<uni-easyinput v-model="form.userName" placeholder="请填写你的真实姓名" :clearable="false" />
<uni-easyinput v-model="form.userName" placeholder="请填写姓名" :clearable="false" />
</view>
<view class="input">
<uni-easyinput v-model="form.account" placeholder="请填写账号" :clearable="false" />
</view>
<view class="input">
<uni-easyinput v-model="form.phone" placeholder="请填写你的手机号" :clearable="false" />
@ -17,6 +20,9 @@
<uni-easyinput class="code" v-model="form.code" placeholder="验证码" :clearable="false" />
<view class="send-code" @click="sendCode" :disabled="codeDisabled">{{ btnText }}</view>
</view>
<view class="input">
<uni-easyinput v-model="form.email" placeholder="请填写邮箱" :clearable="false" />
</view>
<button class="submit" type="primary" size="10" @click="submit">立即加入</button>
</view>
</view>
@ -28,9 +34,14 @@
data() {
return {
form: {
isTeam: 1, // 01
partnerClassificationId: 167,
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwiaWF0IjoxNjUzMjcyMjMyLCJleHAiOjE2NTMzMTU0MzIsImFjY291bnRJZCI6IjEifQ.gf5myNnrLmVjUcIWfqfohWyvdPXXwr9butZo75CXk64',
userName: '',
account: '',
phone: '',
code: '',
email: ''
},
codeDisabled: false,
phoneTimer: null,
@ -44,9 +55,11 @@
methods: {
//
submit() {
const { userName, phone } = this.form
const { form } = this
const { userName, phone } = form
if (!userName) return this.$util.errMsg('请输入姓名!')
if (!phone) return this.$util.errMsg('请输入手机号!')
form.uniqueIdentification = Date.now()
savePartnerAccount(this.form).then(res => {
this.$util.sucMsg('加入成功')
setTimeout(() => {
@ -149,6 +162,8 @@
border-radius: 5px;
}
.submit {
line-height: 38px;
font-size: 14px;
border-radius: 40px;
}
}

@ -1,98 +1,143 @@
<template>
<view class="container">
<uni-section title="基本信息" type="line">
<view class="form">
<uni-forms ref="baseForm" :modelValue="form" label-width="100">
<uni-forms-item label="商务经理">
<uni-easyinput v-model="form.provience" disabled />
</uni-forms-item>
<uni-forms-item label="省份">
<uni-easyinput v-model="form.provience" disabled />
</uni-forms-item>
<uni-forms-item label="城市">
<uni-easyinput v-model="form.city" disabled />
</uni-forms-item>
<uni-forms-item label="联系人">
<uni-easyinput v-model="form.orderContact" disabled />
</uni-forms-item>
<uni-forms-item label="电话">
<uni-easyinput v-model="form.phone" disabled />
</uni-forms-item>
<uni-forms-item label="邮箱">
<uni-easyinput v-model="form.email" disabled />
</uni-forms-item>
<uni-forms-item label="订单类型">
<uni-data-checkbox v-model="form.orderType" :localdata="orderTypes" disabled></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="订单编号">
<uni-easyinput v-model="form.orderNumber" disabled />
</uni-forms-item>
<uni-forms-item label="订单时间">
<uni-easyinput v-model="form.createTime" disabled />
</uni-forms-item>
<uni-forms-item label="订单金额(元)">
<uni-easyinput v-model="form.orderAmount" disabled />
</uni-forms-item>
</uni-forms>
<view>
<view class="block">
<view class="l-title">基本信息</view>
<view class="form-list">
<view class="line">
<view class="name">商务经理</view>
<view class="val"></view>
</view>
<view class="line req">
<view class="name">客户名称</view>
<view v-if="isDetail" class="val">{{ form.customerName }}</view>
<view v-else :class="['ph', {val: form.customerName}]" @click="customerVisible = true">{{ form.customerName || '请选择客户' }}</view>
</view>
<view class="line">
<view class="name">省份</view>
<view class="val">{{ form.provinceName }}</view>
</view>
<view class="line">
<view class="name">城市</view>
<view class="val">{{ form.cityName }}</view>
</view>
<view class="line">
<view class="name">联系人</view>
<view class="val">{{ form.name }}</view>
</view>
<view class="line">
<view class="name">电话</view>
<view class="val">{{ form.phone }}</view>
</view>
<view class="line">
<view class="name">邮箱</view>
<view class="val">{{ form.email }}</view>
</view>
<view class="line req">
<view class="name">订单类型</view>
<view v-if="isDetail" class="val">{{ form.industryClassName }}</view>
<uni-data-picker v-else class="picker-input" placeholder="请选择订单类型" popup-title="请选择订单类型" preload :clear-icon="false" :localdata="orderTypes" v-model="form.orderType"></uni-data-picker>
</view>
<view class="line">
<view class="name">订单编号</view>
<view class="val">{{ form.orderNumber }}</view>
</view>
<view class="line">
<view class="name">订单时间</view>
<view class="val">{{ form.createTime }}</view>
</view>
<view class="line">
<view class="name">订单金额</view>
<view class="val">{{ form.orderAmount }}</view>
</view>
</view>
</uni-section>
</view>
<uni-section title="实训课程" type="line">
<uni-card :is-shadow="false" :border="false" is-full>
<ul class="pro-list">
<li>
<view class="name">
程序设计
<view class="block pro-wrap">
<view class="l-title">实训课程产品</view>
<uni-icons class="arrow" type="top" size="30" color="#007EFF"></uni-icons>
<ul class="pro-list">
<li>
<view class="name">
<view class="left">
<image class="icon" src="../../static/image/person3.png" mode=""></image>
Python程序设计
</view>
<uni-icons class="del" type="trash" size="25" color="#ADADAD"></uni-icons>
</view>
<view class="info">
<view class="line">
<view class="label">使用期限</view>
<view class="val">202323-34123</view>
</view>
<view class="line">
<view class="label">市场价</view>
<view class="val">20232</view>
</view>
<view class="line">
<view class="label">结算价</view>
<view class="val">2023</view>
</view>
<view class="info">
<view class="line">
<view class="label">使用期限</view>
<view class="val">202323-34123</view>
</view>
<view class="line">
<view class="label">市场价</view>
<view class="val">20232</view>
</view>
<view class="line">
<view class="label">结算价</view>
<view class="val">2023</view>
</view>
<view class="line">
<view class="label">折扣率</view>
<view class="val">23</view>
</view>
<view class="line">
<view class="label">平台服务费</view>
<view class="val">2123</view>
</view>
<view class="line done">
<view class="label">成交价格</view>
<view class="val">2123</view>
</view>
<view class="line">
<view class="label">折扣率</view>
<view class="val">23</view>
</view>
</li>
</ul>
</uni-card>
</uni-section>
<view class="line">
<view class="label">平台服务费</view>
<view class="val">2123</view>
</view>
<view class="line done">
<view class="val">成交价格</view>
<view class="price">2123</view>
</view>
</view>
</li>
</ul>
</view>
<view class="add-btn">
<uni-icons class="icon" type="plus" color="#007FFF"></uni-icons>
添加产品
</view>
<view class="product">
<view class="total">
<text>订单总成交价合计231245</text>
<view class="text">
<view class="total">
已选
<text class="num">10</text>
个产品&emsp;
总成交价合计
<text class="num">2125523</text>
</view>
<view class="info">
总采购成本:
<text class="num num1">341232</text>
总产品利润:
<text class="num">564123</text>
</view>
</view>
<view class="btn">提交</view>
</view>
<view class="popup-mask" v-show="customerVisible" @click="closeCustomer"></view>
<view class="popup" v-show="customerVisible">
<view class="top">请选择客户</view>
<uni-icons class="close" type="closeempty" size="20" @click="closeCustomer"></uni-icons>
<uni-search-bar class="search" radius="5" placeholder="请输入客户名称" v-model="keyword" clearButton="auto" cancelButton="none" />
<view class="list">
<view class="line">总采购成本</view>
<view class="line">总产品利润</view>
<view class="item" v-for="item in customerList" @click="customerChange(item)">{{ item.customerName }}</view>
</view>
</view>
<uni-card :is-shadow="false" :border="false" is-full>
<button type="primary" @click="submit('valiForm')">提交</button>
</uni-card>
</view>
</template>
<script>
import { queryCustomer, queryCustomerDetails } from '@/apis/modules/client.js'
export default {
data() {
return {
isDetail: false,
orderId: '',
orderTypes: [{
text: '正式',
value: 0
@ -100,81 +145,132 @@
text: '试用',
value: 1
}],
candidates: ['北京', '南京', '东京', '武汉', '天津', '上海', '海口'],
dataTree: [{
text: "一年级",
value: "1-0",
children: [{
text: "1.1班",
value: "1-1"
},
{
text: "1.2班",
value: "1-2"
}
]
},
{
text: "二年级",
value: "2-0",
children: [{
text: "2.1班",
value: "2-1"
},
{
text: "2.2班",
value: "2-2"
}
]
},
{
text: "三年级",
value: "3-0",
disable: true
}
],
form: {
orderType: 0,
provience: '',
city: '',
industryId: '',
age: '',
introduction: '',
sex: 2,
hobby: [5],
datetimesingle: 1627529992399
// orderNumber: '', //
provinceId: '', // id
orderContact: '', //
email: '',
customerId: '', // id
customerName: '',
orderType: '',
cityId: '',
phone: '',
orderAmount: 0,
customerName: '',
businessManager: ''
},
sexs: [{
text: '男',
value: 0
}, {
text: '女',
value: 1
}, {
text: '保密',
value: 2
}],
coursePermissions: [],//
dataPlatformPermissions: [],//
customerVisible: false,
keyword: '',
searchTimer: null,
customerList: [],
customerListAll: [],
}
},
onLoad() {
console.log(getApp())
onLoad(option) {
this.orderId = option.orderId
this.isDetail = !!option.show
option.orderId && this.getInfo()
//
if (!this.isDetail) {
this.getCustomer()
}
//
uni.setNavigationBarTitle({
title: option.orderId ?
(option.show ?
'订单详情' :
'编辑订单') :
'新增订单'
})
},
methods: {
bindPickerChange: function(e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.index = e.detail.value
//
getInfo() {
queryCustomerDetails({
orderId: this.orderId
}).then(({ result }) => {
}).catch(e => {})
},
//
getCustomer() {
queryCustomer({
countries: '中国',
provinceId: '',
cityId: '',
searchContent: this.keyword,
page: 1,
size: 10000
}).then(({ message }) => {
this.customerListAll = message.list
this.customerList = message.list
}).catch(res => {})
},
//
filterCustomer() {
const { keyword } = this
this.customerList = keyword ?
this.customerListAll.filter(e => e.customerName.includes(keyword)) :
this.customerListAll
},
//
closeCustomer() {
this.customerVisible = false
this.keyword = ''
},
//
customerChange(item) {
const { form } = this
//
queryCustomerDetails({
customerId: item.customerId
}).then(({ result }) => {
const e = result.customer
form.customerId = e.customerId
form.customerName = e.customerName
form.phone = e.phone
form.email = e.email
form.name = e.name
}).catch(e => {})
this.closeCustomer()
},
onchange(e) {
console.log('---------onchange:', e);
//
toPage(path) {
this.$util.to(path)
},
submit(ref) {
this.$refs[ref].validate().then(res => {
console.log('success', res);
uni.showToast({
title: `校验通过`
})
}).catch(err => {
console.log('err', err);
//
submit() {
const refs = this.$refs
const { form } = this
// inputv-modelbuginputref
form.name = refs.nameInput.val
form.account = refs.accountInput.val
form.position = refs.positionInput.val
form.phone = refs.phoneInput.val
form.email = refs.emailInput.val
this.$nextTick(() => {
this.$refs.form.validate().then(res => {
if (this.nameRepeat) return this.$util.errMsg('客户已存在!')
if (this.customerId) {
updateCustomer(form).then(res => {
this.$util.sucMsg('编辑成功')
setTimeout(() => {
this.$util.to('../clients/clients')
}, 1500)
}).catch(res => {})
} else {
addCustomer(form).then(res => {
this.$util.sucMsg('添加成功')
setTimeout(() => {
uni.navigateBack()
}, 1500)
}).catch(res => {})
}
}).catch(err => {})
})
},
}
@ -182,47 +278,121 @@
</script>
<style scoped lang="scss">
.form {
padding: 15px;
background-color: #fff;
.pro-wrap {
position: relative;
padding: 0;
.l-title {
margin: 0 24rpx;
}
}
.arrow {
position: absolute;
top: 20rpx;
right: 30rpx;
}
.pro-list {
li {
padding: 10px 0;
border-bottom: 1px solid #f1f1f1;
}
.name {
margin-bottom: 5px;
font-size: 16px;
color: #666;
display: flex;
justify-content: space-between;
align-items: center;
padding: 14rpx 24rpx;
font-size: 30rpx;
color: #333;
background: linear-gradient(90deg, #FFF5E5 0%, #FFFFFF 100%);
}
.left {
display: inline-flex;
align-items: center;
}
.icon {
width: 60rpx;
height: 60rpx;
margin-right: 12rpx;
border-radius: 10rpx;
}
.info {
padding: 12rpx 24rpx;
}
.line {
display: flex;
justify-content: space-between;
padding: 12rpx 0;
margin: 5px 0;
font-size: 12px;
}
.label {
font-size: 28rpx;
color: #999;
}
.val {
font-size: 28rpx;
color: #333;
}
.done {
margin-top: 12rpx;
padding-top: 24rpx;
font-size: 13px;
color: #333;
border-top: 1px solid #E6E8ED;
}
.label {
width: 100px;
.price {
font-size: 32rpx;
color: #007EFF;
}
}
/deep/.add-btn {
display: flex;
justify-content: center;
align-items: center;
margin: 16rpx 24rpx;
font-size: 28rpx;
line-height: 88rpx;
color: #007EFF;
background-color: #fff;
border: 1px solid #007EFF;
border-radius: 16rpx;
.icon {
margin-right: 10rpx;
}
.uni-icons {
font-size: 38rpx !important;
}
}
.product {
margin: 10px 0;
display: flex;
justify-content: flex-end;
padding: 24rpx;
margin-top: 40rpx;
background-color: #fff;
.total {
padding: 10px 15px;
font-size: 13px;
border-bottom: 1px solid #ddd;
margin-bottom: 10rpx;
font-size: 24rpx;
color: #666;
.num {
font-size: 30rpx;
color: #007EFF;
}
}
.list {
padding: 10px 15px;
.line {
line-height: 30px;
font-size: 12px;
.info {
font-size: 24rpx;
color: #333;
.num {
font-size: 24rpx;
color: #007EFF;
}
}
.num1 {
margin-right: 10rpx;
}
.btn {
width: 196rpx;
margin-left: 27rpx;
line-height: 80rpx;
font-size: 30rpx;
text-align: center;
color: #fff;
border-radius: 10rpx;
background-color: #007EFF;
}
}
</style>

@ -1,10 +1,16 @@
button[type=primary] {
background-color: #007eff;
}
.block {
padding: 0 24rpx;
margin: 20rpx 24rpx;
border-radius: 16rpx;
background-color: #fff;
}
.l-title {
display: flex;
align-items: center;
padding: 28rpx 0;
font-size: 28rpx;
color: #333;
&:before {
@ -17,10 +23,7 @@ button[type=primary] {
}
}
.form-list {
padding: 0 24rpx;
margin: 20rpx 24rpx;
border-radius: 16rpx;
background-color: #fff;
border-top: 1px solid #E6E8ED;
.line {
display: flex;
justify-content: space-between;
@ -79,3 +82,44 @@ button[type=primary] {
bottom: 20px;
right: 20px;
}
.popup-mask {
z-index: 9;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: rgba(0, 0, 0, .5);
}
.popup {
z-index: 10;
position: fixed;
bottom: 0%;
width: 100%;
height: 90vh;
background-color: #fff;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
.top {
text-align: center;
line-height: 50px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #f1f1f1;
}
.close {
position: absolute;
top: 15px;
right: 15px;
}
.list {
max-height: calc(90vh - 103px);
padding: 0 15px;
overflow: auto;
.item {
line-height: 34px;
font-size: 12px;
}
}
}
Loading…
Cancel
Save