Browse Source

上传

master
前端-胡立永 7 months ago
parent
commit
8b24f50446
13 changed files with 914 additions and 608 deletions
  1. +2
    -1
      App.vue
  2. +40
    -0
      common.scss
  3. +1
    -1
      components/base/tabbar.vue
  4. +0
    -81
      components/bottom/bottomBtn.vue
  5. +0
    -3
      pages.json
  6. +149
    -35
      pages/index/index.vue
  7. +0
    -13
      pages_order/auth/loginAndRegisterAndForgetPassword.vue
  8. +0
    -93
      pages_order/components/commodity/commoditySelect.vue
  9. +0
    -366
      pages_order/order/refundsOrExchange.vue
  10. +327
    -6
      pages_order/post/addPost.vue
  11. +203
    -4
      pages_order/recruit/addRecruit.vue
  12. +171
    -4
      pages_order/renting/addRenting.vue
  13. +21
    -1
      uni.scss

+ 2
- 1
App.vue View File

@ -10,9 +10,10 @@
}
</script>
<style>
<style lang="scss">
/*每个页面公共css */
@import url("uni.css");
@import url("common.scss");
body,page{
background-color: #f3f3f3;
font-size: 30rpx;


+ 40
- 0
common.scss View File

@ -0,0 +1,40 @@
// 文字益处处理
.text-ellipsis{
overflow:hidden; //超出的文本隐藏
text-overflow:ellipsis; //溢出用省略号显示
white-space:nowrap; //溢出不换行
}
.text-ellipsis-2{
overflow: hidden;
text-overflow: ellipsis;
display:-webkit-box; //作为弹性伸缩盒子模型显示
-webkit-box-orient:vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列
-webkit-line-clamp:2; //显示的行
}
.text-ellipsis-3{
overflow: hidden;
text-overflow: ellipsis;
display:-webkit-box; //作为弹性伸缩盒子模型显示
-webkit-box-orient:vertical; //设置伸缩盒子的子元素排列方式--从上到下垂直排列
-webkit-line-clamp:3; //显示的行
}
.share{
padding: 0;
margin: 0;
background-color: #fff;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
font-size: 26rpx;
}
.share::after{
border: none;
padding: 0;
margin: 0;
width: 0;
height: 0;
}

+ 1
- 1
components/base/tabbar.vue View File

@ -87,7 +87,7 @@
flex-direction: row;
height: 120rpx;
padding-bottom: env(safe-area-inset-bottom);
z-index: 999999;
z-index: 9999;
bottom: 0;
left: 0;
color: #BCBCBC;


+ 0
- 81
components/bottom/bottomBtn.vue View File

@ -1,81 +0,0 @@
<template>
<view @click="$emit('confirm')" :style="{
position: 'fixed',
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
width: '100vw',
bottom: bottom
}">
<button :style="{
color: color,
backgroundColor: backgroundColor,
fontSize: fontSize,
width: width,
height: height,
borderRadius: borderRadius
}">
{{ text }}
</button>
</view>
</template>
<script>
export default {
props: {
color: {
default: '#000000' //
},
backgroundColor: {
default: '#FFFFFF' //
},
fontSize: {
default: '36rpx' //
},
text: {
default: '按钮' //
},
width: {
default: '150rpx' //
},
height: {
default: '60rpx' //
},
borderRadius: {
default: '40rpx' //
},
bottom: {
default: '40rpx' //
},
},
data() {
return {
}
},
methods: {
}
}
</script>
<style scoped lang="less">
// .container {
// position: fixed;
// display: flex;
// justify-content: center;
// /* */
// align-items: center;
// /* */
// width: 100%;
// /* 使 */
// }
button {
display: flex;
justify-content: center;
align-items: center;
}
</style>

+ 0
- 3
pages.json View File

@ -65,9 +65,6 @@
{
"path": "product/productDetail"
},
{
"path": "order/refundsOrExchange"
},
{
"path": "auth/wxLogin"
},


+ 149
- 35
pages/index/index.vue View File

@ -53,7 +53,7 @@
</view>
<view class="YaoduUniversalWall">
<view class="heide">
<view class="qing">
<view class="username text-ellipsis">
瑶都万能墙
</view>
<view class="inde">
@ -91,7 +91,9 @@
</view>
<view class="Artworkimages">
<view class="wrokimg" v-for="(img, i) in 3">
<view class="wrokimg"
:key="i"
v-for="(img, i) in 3">
<image
src="https://img2.baidu.com/it/u=731471589,1077533873&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1067"
alt="" />
@ -110,9 +112,40 @@
</view>
</view>
<view class="createDetail">
<view class="createDetail"
@click="$refs.createDetailPopup.open('bottom')">
<uv-icon
size="40rpx"
color="#fff"
name="plus"></uv-icon>
</view>
<uv-popup ref="createDetailPopup" :round="30">
<view class="createDetailPopup">
<view class=""
:key="index"
@click="$utils.navigateTo(item.path)"
v-for="(item, index) in createDetail">
<image
:src="`../../static/image/home/${index}.png`"
style="width: 90rpx;height: 90rpx;" mode=""></image>
<view class="info">
<view class="title">
{{ item.name }}
</view>
<view class="desc">
{{ item.desc }}
</view>
</view>
<view class="icon">
<uv-icon
size="30rpx"
name="arrow-right"></uv-icon>
</view>
</view>
</view>
</uv-popup>
<PrivacyAgreementPoup />
<tabber select="0" />
@ -131,25 +164,35 @@
},
data() {
return {
list: [{
name: '圈子动态',
}, {
name: '二手集市',
}, {
name: '游戏组局'
}, {
name: '求租求购'
}, {
name: '婚恋交友'
}, {
name: '美食'
}, {
name: '文化'
}, {
name: '财经'
}, {
name: '手工'
}],
list: [
{
name: '圈子动态',
},
{
name: '二手集市',
},
{
name: '游戏组局'
},
{
name: '求租求购'
},
{
name: '婚恋交友'
},
{
name: '美食'
},
{
name: '文化'
},
{
name: '财经'
},
{
name: '手工'
},
],
menu : [
{
name : '租房',
@ -164,6 +207,23 @@
name : '美食',
},
],
createDetail : [
{
name : '圈子动态',
desc : '发布动态(请发布到合适的分区)',
path : '/pages_order/post/addPost',
},
// {
// name : '',
// desc : '',
// path : '/pages_order/renting/addRenting',
// },
// {
// name : '',
// desc : '',
// path : '/pages_order/recruit/addRecruit',
// },
],
}
},
computed: {},
@ -193,6 +253,10 @@
</script>
<style scoped lang="scss">
image{
width: 100%;
height: 100%;
}
.Headbackground {
padding-top: 200rpx;
display: flex;
@ -233,7 +297,7 @@
.join {
width: 125rpx;
height: 50rpx;
background-color: #1671ff;
background-color: $uni-color-primary;
margin-left: auto;
display: flex;
align-items: center;
@ -255,11 +319,15 @@
.RentingAhouseimg {
display: flex;
justify-content: center;
text-align: center;
margin-bottom: 15rpx;
width: 125rpx;
height: 85rpx;
align-items: center;
margin: 15rpx;
width: 130rpx;
height: 100rpx;
background-color: #ffffff;
border-top-left-radius: 40rpx;
border-bottom-right-radius: 40rpx;
border-bottom-left-radius: 20rpx;
border-top-right-radius: 20rpx;
}
}
}
@ -280,10 +348,14 @@
height: 100rpx;
background-color: greenyellow;
border-radius: 15rpx;
overflow: hidden;
}
.YaoduUniversalWall {
padding: 0rpx 10rpx;
.username{
max-width: 200rpx;
}
.heide {
display: flex;
@ -302,7 +374,7 @@
color: white;
background-color: rgb(124, 136, 242);
border-radius: 7rpx;
flex-shrink: 0;
}
.authentication {
@ -317,6 +389,7 @@
color: white;
background-color: #ffd036;
border-radius: 7rpx;
flex-shrink: 0;
}
.Times {
@ -348,10 +421,10 @@
.dynamics {
margin-top: 20rpx;
font-size: 20rpx;
font-weight: bold;
line-height: 35rpx;
letter-spacing: 5rpx;
font-size: 28rpx;
// font-weight: bold;
// line-height: 35rpx;
letter-spacing: 3rpx;
}
.Artworkimages {
@ -360,12 +433,11 @@
.wrokimg {
margin: 10rpx;
image {
height: 190rpx;
width: 190rpx;
border-radius: 20rpx;
}
}
}
@ -387,4 +459,46 @@
}
}
}
.createDetail{
position: fixed;
top: 50vh;
right: 50rpx;
width: 100rpx;
height: 100rpx;
background-color: $uni-color-primary;
border-radius: 50rpx;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 0 10rpx 10rpx rgba(#000, 0.1);
}
.createDetailPopup{
padding: 20rpx;
background-color: #ffffff;
&>view{
display: flex;
align-items: center;
padding: 24rpx;
background-color: #f7f7f7;
margin: 20rpx;
border-radius: 20rpx;
image{
width: 100rpx;
height: 100rpx;
margin-right: 20rpx;
}
.info{
.title{
font-size: 30rpx;
}
.desc{
font-size: 24rpx;
}
}
.icon{
margin-left: auto;
}
}
}
</style>

+ 0
- 13
pages_order/auth/loginAndRegisterAndForgetPassword.vue View File

@ -119,10 +119,8 @@
</template>
<script>
import bottomBtn from "../../components/bottom/bottomBtn.vue"
export default {
components: {
bottomBtn
},
onLoad(option) {
this.titleIndex = option.index
@ -145,17 +143,6 @@
password1: '',
password2: '',
},
bottomBtnStyle: {
color: '#FFF',
backgroundColor: '#fd5100',
fontSize: '34rpx',
width: '400rpx',
height: '80rpx',
borderRadius: '100rpx',
bottom: '42%'
},
title: "", //
btnText: "", //,
tips: '获取验证码',


+ 0
- 93
pages_order/components/commodity/commoditySelect.vue View File

@ -1,93 +0,0 @@
<template>
<view style="">
<view v-for="item in commodityList" :key="item.title" class="address-item">
<view class="itme1" @click="selectSp(item)">
<view class="left">
<img src="../../../static/image/center/1.png" alt="" style="width: 100%;height: 100%;">
</view>
<view class="center">
<view>{{ item.title }}</view>
<view>{{ item.smallTitle }}</view>
</view>
<view class="right">×{{item.total}}</view>
</view>
<uv-line></uv-line>
</view>
</view>
</template>
<script>
export default {
props: {
commodityList: {
default: [],
type: Array,
}
},
data() {
return {
selectAddress: 0,
}
},
methods: {
//
openCommodity() {
this.$emit('openSpPopup')
},
//
selectSp(e) {
console.log(this.commodityList,"this.csss")
console.log(e, '选择了商品')
this.$emit('selectSp', e)
}
}
}
</script>
<style scoped lang="scss">
.itme1 {
display: flex;
height: 150rpx;
width: 100vw;
background-color: #ffffff;
.left {
padding: 40rpx;
width: 20%;
border-radius: 10rpx;
background-color: #ffffff;
}
.center {
display: flex;
flex-direction: column;
justify-content: center;
gap: 20rpx;
width: 70%;
padding: 0rpx 0 0 20rpx;
background-color: #ffffff;
// view
> view:first-of-type {
font-size: 36rpx;
color: #333;
}
// view
> view:nth-of-type(2) {
font-size: 28rpx;
color: #666666;
}
}
.right {
display: flex;
justify-content: center;
align-items: center;
width: 10%;
color: #666666;
background-color: #ffffff;
}
}
</style>

+ 0
- 366
pages_order/order/refundsOrExchange.vue View File

@ -1,366 +0,0 @@
<template>
<view class="refundsOrExchange">
<navbar :title="title[titleIndex]" leftClick @leftClick="$utils.navigateBack"/>
<view class="frame">
<!-- 商品简介 -->
<view class="itme1" @click="openSpPopup">
<view class="left">
<img src="../../static/image/center/1.png" alt="" style="width: 100%;height: 100%;">
</view>
<view class="center">
<view>{{ commodity.title }}</view>
<view>{{ commodity.smallTitle }}</view>
</view>
<view class="right">×{{ commodity.total }}</view>
</view>
<!--<commoditySelect ></commoditySelect>-->
<!-- 申请类型&申请原因 -->
<view class="item2">
<view class="type">
<span>申请类型</span>
<span>退货退款</span>
</view>
<uv-line></uv-line>
<view class="reason">
<view>申请原因</view>
<view>
<uv-input placeholder="请输入申请原因" border="none" clearable></uv-input>
</view>
</view>
</view>
<!-- 退货数量&申请金额-->
<view class="item3">
<view class="type">
<span>{{ titleIndex == 0 ? '退货数量' : '换货数量' }}</span>
<span>
<uv-number-box :min="1" :max="100"></uv-number-box>
</span>
</view>
<uv-line v-if='titleIndex == 0 ? true :false'></uv-line>
<view class="reason" v-if='titleIndex == 0 ? true :false'>
<view>申请原因</view>
<view>
<uv-input disabled placeholder="$" border="none" clearable></uv-input>
</view>
</view>
</view>
<!-- 申请说明 -->
<view class="item4">
<view>申请说明(选填)</view>
<view>
<uv-input placeholder="请您详细填写申请说明" border="none" clearable></uv-input>
</view>
<view>
<uv-upload :fileList="fileList" :maxCount="5" multiple width="150rpx" height="150rpx"
@delete="deleteImage" @afterRead="afterRead" :previewFullImage="true"></uv-upload>
</view>
</view>
<!-- 联系电话 -->
<view class="item5">
<view class="phone">
<view>联系电话</view>
<view>
<uv-input placeholder="请输入联系电话" border="none" clearable></uv-input>
</view>
</view>
</view>
</view>
<!-- 底部按钮 -->
<bottomBtn @confirm='confirm()' :color='bottomBtnStyle.color' :backgroundColor='bottomBtnStyle.backgroundColor'
:fontSize='bottomBtnStyle.fontSize' :text='bottomBtnStyle.text' :width="bottomBtnStyle.width"
:height="bottomBtnStyle.height" :borderRadius='bottomBtnStyle.borderRadius'
:bottom='bottomBtnStyle.bottom'
>
</bottomBtn>
<!--商品选择-->
<uv-popup ref="spPopup" :round="30">
<commoditySelect
:commodityList="commodityList"
@selectSp="selectCommodity"
/>
</uv-popup>
</view>
</template>
<script>
import bottomBtn from "../../components/bottom/bottomBtn.vue"
import commoditySelect from "../components/commodity/commoditySelect.vue"
export default {
onLoad(option) {
this.titleIndex = option.index
},
components: {
bottomBtn, commoditySelect
},
data() {
return {
titleIndex: 0,
title: ['申请换货', '申请退货'],
fileList: [],
bottomBtnStyle: {
color: '#FFF',
backgroundColor: '#fd5100',
fontSize: '34rpx',
text: '提交申请',
width: '400rpx',
height: '80rpx',
borderRadius: '100rpx',
bottom: '40rpx'
},
commodityList: [
{
title: '商品名称',
smallTitle: '产品规格:120*4*75【桌子尺寸】',
total:1,
},
{
title: '商品名称1',
smallTitle: '产品规格:120*4*75【桌子尺寸】',
total:1,
},
{
title: '商品名称2',
smallTitle: '产品规格:120*4*75【桌子尺寸】',
total:1,
}
],
commodity: {
title: '商品名称',
smallTitle: '产品规格:120*4*75【桌子尺寸】',
total:1,
},
}
},
mounted() {
},
methods: {
openSpPopup() {
this.$refs.spPopup.open('bottom');
},
// 退
selectCommodity(e) {
console.log(e, "selectCommodity--e")
this.commodity = e
this.$refs.spPopup.close()
},
confirm() {
console.log("===");
},
deleteImage(e) {
this.fileList.splice(e.index, 1)
},
afterRead(e) {
let self = this
e.file.forEach(file => {
self.$Oss.ossUpload(file.url).then(url => {
self.fileList.push({
url
})
})
})
},
}
}
</script>
<style lang="scss" scoped>
* {
box-sizing: border-box;
}
.refundsOrExchange {
.frame {
display: flex;
flex-direction: column;
gap: 30rpx;
width: 100%;
padding-top: 40rpx;
background-color: #f5f5f5;
.itme1 {
display: flex;
height: 200rpx;
background-color: #ffffff;
.left {
padding: 40rpx;
width: 20%;
border-radius: 10rpx;
background-color: #ffffff;
}
.center {
display: flex;
flex-direction: column;
justify-content: center;
gap: 20rpx;
width: 60%;
padding: 0rpx 0 0 20rpx;
background-color: #ffffff;
// view
> view:first-of-type {
font-size: 36rpx;
color: #333;
}
// view
> view:nth-of-type(2) {
font-size: 28rpx;
color: #666666;
}
}
.right {
display: flex;
justify-content: center;
align-items: center;
width: 10%;
color: #666666;
background-color: #ffffff;
}
}
.item2 {
width: 100vw;
.type {
display: flex;
align-items: center;
background-color: #FFF;
height: 80rpx;
padding: 0 0 0 20rpx;
> span:nth-of-type(1) {
width: 30%;
}
> span:nth-of-type(2) {
width: 70%;
}
}
.reason {
display: flex;
align-items: center;
background-color: #FFF;
height: 80rpx;
// margin: 10rpx 0 0 0;
padding: 10rpx 0 0 20rpx;
> view:nth-of-type(1) {
width: 30%;
}
> view:nth-of-type(2) {
width: 70%;
padding: 0 20rpx 0 0;
}
}
}
.item3 {
width: 100vw;
.type {
display: flex;
align-items: center;
background-color: #FFF;
height: 80rpx;
padding: 0 0 0 20rpx;
> span:nth-of-type(1) {
width: 70%;
}
> span:nth-of-type(2) {
width: 30%;
}
}
.reason {
display: flex;
align-items: center;
background-color: #FFF;
height: 80rpx;
// margin: 10rpx 0 0 0;
padding: 10rpx 0 0 20rpx;
> view:nth-of-type(1) {
width: 30%;
}
> view:nth-of-type(2) {
width: 70%;
padding: 0 20rpx 0 0;
}
}
}
.item4 {
display: flex;
flex-direction: column;
padding: 10rpx 0 0 20rpx;
background-color: #FFF;
> view:nth-of-type(1) {
background-color: #FFF;
}
> view:nth-of-type(2) {
margin: 10rpx 0 10rpx 0;
background-color: #FFF;
}
}
.item5 {
display: flex;
flex-direction: column;
padding: 0 0 0 20rpx;
background-color: #FFF;
.phone {
display: flex;
align-items: center;
background-color: #FFF;
height: 80rpx;
// margin: 10rpx 0 0 0;
padding: 10rpx 0 0 20rpx;
> view:nth-of-type(1) {
width: 30%;
}
> view:nth-of-type(2) {
width: 70%;
padding: 0 20rpx 0 0;
}
}
}
}
}
</style>

+ 327
- 6
pages_order/post/addPost.vue View File

@ -1,22 +1,343 @@
<template>
<view>
<view class="publishPost">
<navbar
leftClick
@leftClick="$utils.navigateBack"
title="发布动态"/>
<view class="title-input box">
<input type="text" placeholder="添加标题" v-model="form.title"/>
</view>
<view class="content-input">
<uv-textarea
v-model="form.content"
:maxlength="200"
autoHeight
count
placeholder="添加正文"></uv-textarea>
</view>
<view class="images box">
<uv-upload
:fileList="fileList"
:maxCount="4"
multiple
width="150rpx"
height="150rpx"
@delete="deleteImage"
@afterRead="afterRead"
:previewFullImage="true"></uv-upload>
</view>
<!-- <view class="upTop"
>
<view class="title">
<uv-icon name="pushpin-fill"></uv-icon>
是否置顶
</view>
<uv-radio-group v-model="form.topId">
<view class="list">
<view class="item">
<view class="left">
不需要置顶
</view>
<view class="right">
<uv-radio
size="35rpx"
icon-size="35rpx"
:disabled="!!id"
:name="0">
</uv-radio>
</view>
</view>
<view class="item"
v-for="(item, index) in upTopList"
:key="index">
<view class="left">
置顶{{ item.day }}{{ item.money }}
</view>
<view class="right">
<uv-radio
size="35rpx"
:disabled="!!id"
icon-size="35rpx"
:name="item.id">
</uv-radio>
</view>
</view>
</view>
</uv-radio-group>
</view> -->
<view class="configBtn"
@click="$refs.configPopup.open('getPublishPostNotice')">
发布须知
</view>
<!-- <submit
@submit="submit"
@preview="preview"
@draft="draft"
:submitTitle="id ? '修改帖子' : '发布帖子'"
/> -->
<configPopup
ref="configPopup"
/>
</view>
</template>
<script>
// import submit from '@/components/content/submit.vue'
export default {
components : {
// submit,
},
data() {
return {
}
upTopList : [],
form : {
// image : [],
content : '',
topId : 0,
title : '',
},
fileList: [
// {
// url: 'https://cdn.uviewui.com/uview/swiper/2.jpg'
// },
],
id : 0,
};
},
computed : {
topInfo(){
for (var i = 0; i < this.upTopList.length; i++) {
if(this.upTopList[i].id == this.form.topId){
return this.upTopList[i]
}
}
return {}
},
},
onLoad(args) {
this.id = args.id
},
onShow() {
this.indexTopPayList()
this.getDateil()
},
methods: {
methods : {
getDateil(){
if(!this.id){
return
}
let self = this
this.$api('indexGetTrendsDetail', {
id : this.id
}, res => {
if (res.code == 200) {
res.result.details.image.split(',')
.forEach(url => {
self.fileList.push({
url
})
})
res.result.details.topId = res.result.details.topId || 0
this.form = res.result.details
}
})
},
deleteImage(e){
this.fileList.splice(e.index, 1)
},
afterRead(e){
let self = this
e.file.forEach(file => {
self.$Oss.ossUpload(file.url).then(url => {
self.fileList.push({
url
})
})
})
},
indexTopPayList(){
this.$api('indexTopPayList', res => {
if(res.code == 200){
this.upTopList = res.result
}
})
},
//
payOrder(){
let self = this
let data = {
// ...this.form,
content : this.form.content,
topId : this.form.topId,
title : this.form.title,
isCard : 'Y',
state : 0,
image : this.fileList.map((item) => item.url).join(","),
isTop : this.form.topId ? 'Y' : 'N',
}
if(this.id){
data.id = this.id
}
this.$api('infoReleaseTrends', data,
res => {
if(res.code == 200){
if(self.form.topId && !this.id){
uni.requestPayment({
provider: 'wxpay', //
timeStamp: res.result.timeStamp, //
nonceStr: res.result.nonceStr, //
package: res.result.packageValue,
signType: res.result.signType, //
paySign: res.result.paySign, //
success: function (res) {
console.log('支付成功',res);
self.$refs.confirmationPopupUpload.open()
// self.$refs.confirmationPopup.close()
},
fail: function (err) {
console.log('支付失败',err);
self.$refs.confirmationPopup.close()
uni.showToast({
icon:'none',
title:"支付失败"
})
}
});
}else{
self.$refs.confirmationPopupUpload.open()
}
}
})
},
//
submit(){
if(this.fileList.length == 0){
return uni.showToast({
title: '请上传图片',
icon : 'none'
})
}
if (this.$utils.verificationAll(this.form, {
title: '请输入标题',
content: '请输入正文',
})) {
return
}
if(this.form.topId && !this.id){
//
this.$refs.confirmationPopup.open()
}else{
//
this.payOrder()
}
},
preview(){},
draft(){},
}
}
</script>
<style>
<style lang="scss" scoped>
.publishPost{
background-color: #fff;
min-height: 100vh;
font-size: 28rpx;
padding-bottom: 150rpx;
/deep/ .uv-textarea{
background-color: transparent;
border: none;
}
/deep/ .uv-textarea__count{
background-color: transparent !important;
}
.box{
padding: 0 20rpx;
}
.images{
display: flex;
flex-wrap: wrap;
padding: 20rpx;
}
.title-input{
border-bottom: 1px solid #00000015;
padding-bottom: 25rpx;
margin-bottom: 15rpx;
}
.content-input{
min-height: 400rpx;
}
.upTop{
.title{
padding-top: 20rpx;
padding-left: 20rpx;
border-top: 1px solid #00000015;
display: flex;
align-items: center;
}
.list{
padding-top: 30rpx;
width: 100%;
.item{
display: flex;
padding: 20rpx;
padding-left: 80rpx;
justify-content: space-between;
width: 600rpx;
border-bottom: 1px solid #00000015;
align-items: center;
}
}
}
.configBtn{
padding: 20rpx;
color: #777;
padding-top: 40rpx;
font-size: 28rpx;
}
.confirmationPopup{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 300rpx;
image{
margin-top: 40rpx;
}
.info{
margin-top: 40rpx;
font-size: 26rpx;
}
}
}
</style>

+ 203
- 4
pages_order/recruit/addRecruit.vue View File

@ -1,6 +1,150 @@
<template>
<view>
<view class="page">
<navbar title="发布招工" leftClick @leftClick="$utils.navigateBack" />
<view class="form">
<view class="help-issue">
<text>招工标题</text>
<text style="color: #BD3624;">*</text>
</view>
<view class="form-sheet-cell">
<input type="text" class="title-input"/>
</view>
<uv-cell
title="工作地点"
rightIconStyle="fontSize: 30rpx;"
value="请选择招工地点"
isLink
></uv-cell>
<uv-cell
title="所属工种"
rightIconStyle="fontSize: 30rpx;"
value="请选择所属工种"
isLink
></uv-cell>
<!-- <view class="form-sheet-cell">
<view class="label">
工作地点
</view>
<view>
请选择招工地点
</view>
<view class="right-icon">
<uv-icon
name="arrow-right"
></uv-icon>
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
学历要求
</view>
<view>
请选择学历要求
</view>
<view class="right-icon">
<uv-icon
name="arrow-right"
></uv-icon>
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
工龄要求
</view>
<view>
请选择工龄要求
</view>
<view class="right-icon">
<uv-icon
name="arrow-right"
></uv-icon>
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
所属工种
</view>
<view>
请选择工种
</view>
<view class="right-icon">
<uv-icon
name="arrow-right"
></uv-icon>
</view>
</view> -->
<view class="form-sheet-cell">
<view class="label">
薪资范围
</view>
<view class="price">
<input placeholder="最小值" v-model="form.min" />
~
<input placeholder="最大值" v-model="form.max" />
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
结算方式
</view>
<uv-radio-group v-model="radiovalue">
<view class="price">
<uv-radio
:customStyle="{margin: '8px'}"
v-for="(item, index) in radiolist"
:key="index"
iconSize="30rpx"
size="40rpx"
labelSize="26rpx"
:label="item.name"
:name="item.name">
</uv-radio>
</view>
</uv-radio-group>
</view>
<view class="form-sheet-cell">
<view class="label">
工作性质
</view>
<uv-radio-group v-model="radiovalue">
<view class="price">
<uv-radio
:customStyle="{margin: '8px'}"
v-for="(item, index) in radiolist"
:key="index"
iconSize="30rpx"
size="40rpx"
labelSize="26rpx"
:label="item.name"
:name="item.name">
</uv-radio>
</view>
</uv-radio-group>
</view>
<view class="form-sheet-cell">
<view class="label">
联系电话
</view>
<input placeholder="请输入联系电话" v-model="form.phone" />
</view>
<view class="">
<uv-textarea
v-model="form.content"
count
:maxlength="300"
autoHeight
placeholder="请输入详细介绍"></uv-textarea>
</view>
<view class="uni-color-btn">
发布
</view>
</view>
</view>
</template>
@ -8,7 +152,18 @@
export default {
data() {
return {
form : {
},
radiovalue : '',
radiolist : [
{
name : '日结',
},
{
name : '月结',
},
],
}
},
methods: {
@ -17,6 +172,50 @@
}
</script>
<style>
<style scoped lang="scss">
.page{
background-color: #fff;
min-height: 100vh;
box-sizing: border-box;
color: #333333;
font-size: 28rpx;
/deep/ text{
font-size: 28rpx !important;
}
.form{
padding: 30rpx;
.help-issue {
margin: 20rpx;
}
.title-input{
border: 1px solid $uni-color;
width: 100%;
border-radius: 10rpx;
padding: 10rpx 20rpx;
box-sizing: border-box;
height: 65rpx;
}
.form-sheet-cell{
display: flex;
background-color: #fff;
padding: 20rpx 30rpx;
align-items: center;
.label{
width: 160rpx;
}
.price{
display: flex;
text-align: center;
input{
width: 150rpx;
border: 1px solid $uni-color;
margin: 0 10rpx;
}
}
.right-icon{
margin-left: auto;
}
}
}
}
</style>

+ 171
- 4
pages_order/renting/addRenting.vue View File

@ -1,6 +1,107 @@
<template>
<view>
<view class="page">
<navbar title="发布租房" leftClick @leftClick="$utils.navigateBack" />
<view class="form">
<view class="help-issue">
<text>租房标题</text>
<text style="color: #BD3624;">*</text>
</view>
<view class="form-sheet-cell">
<input type="text" class="title-input"/>
</view>
<uv-cell
title="租房地点"
rightIconStyle="fontSize: 30rpx;"
value="请选择租房地点"
isLink
></uv-cell>
<uv-cell
title="所属工种"
rightIconStyle="fontSize: 30rpx;"
value="请选择所属工种"
isLink
></uv-cell>
<view class="form-sheet-cell">
<view class="label">
价格/
</view>
<view class="price">
<input placeholder="请输入价格" v-model="form.price" />
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
面积
</view>
<view class="price">
<input placeholder="请输入面积" v-model="form.price" />
</view>
</view>
<view class="form-sheet-cell">
<view class="label">
结算方式
</view>
<uv-radio-group v-model="radiovalue">
<view class="price">
<uv-radio
:customStyle="{margin: '8px'}"
v-for="(item, index) in priceType"
:key="index"
iconSize="30rpx"
size="40rpx"
labelSize="26rpx"
:label="item.name"
:name="item.name">
</uv-radio>
</view>
</uv-radio-group>
</view>
<view class="form-sheet-cell">
<view class="label">
看房
</view>
<uv-radio-group v-model="radiovalue">
<view class="price">
<uv-radio
:customStyle="{margin: '8px'}"
iconSize="30rpx"
size="40rpx"
labelSize="26rpx"
label="随时可看"
name="0">
</uv-radio>
</view>
</uv-radio-group>
</view>
<view class="form-sheet-cell">
<view class="label">
联系电话
</view>
<input placeholder="请输入联系电话" v-model="form.phone" />
</view>
<view class="">
<uv-textarea
v-model="form.content"
count
:maxlength="300"
autoHeight
placeholder="请输入详细介绍"></uv-textarea>
</view>
<view class="uni-color-btn">
发布
</view>
</view>
</view>
</template>
@ -8,7 +109,29 @@
export default {
data() {
return {
form : {
},
radiovalue : '',
priceType : [
{
name : '月付',
},
{
name : '季付',
},
{
name : '年付',
},
],
radiolist : [
{
name : '日结',
},
{
name : '月结',
},
],
}
},
methods: {
@ -17,6 +140,50 @@
}
</script>
<style>
<style scoped lang="scss">
.page{
background-color: #fff;
min-height: 100vh;
box-sizing: border-box;
color: #333333;
font-size: 28rpx;
/deep/ text{
font-size: 28rpx !important;
}
.form{
padding: 30rpx;
.help-issue {
margin: 20rpx;
}
.title-input{
border: 1px solid $uni-color;
width: 100%;
border-radius: 10rpx;
padding: 10rpx 20rpx;
box-sizing: border-box;
height: 65rpx;
}
.form-sheet-cell{
display: flex;
background-color: #fff;
padding: 20rpx 30rpx;
align-items: center;
.label{
width: 160rpx;
}
.price{
display: flex;
// text-align: center;
input{
width: 450rpx;
// border: 1px solid $uni-color;
margin: 0 10rpx;
}
}
.right-icon{
margin-left: auto;
}
}
}
}
</style>

+ 21
- 1
uni.scss View File

@ -15,7 +15,7 @@
$uni-color: #FD5100;
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-primary: #1671ff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
@ -74,3 +74,23 @@ $uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:15px;
.uni-color-btn{
border-radius: 40rpx;
padding: 20rpx;
margin: 40rpx;
background: $uni-color;
color: #fff;
text-align: center;
font-size: 28rpx;
}
.uni-uncolor-btn{
border-radius: 40rpx;
padding: 20rpx;
margin: 40rpx;
border: 1px solid $uni-color;
color: $uni-color;
text-align: center;
font-size: 28rpx;
}

Loading…
Cancel
Save