@ -0,0 +1,53 @@ | |||
// 文字益处处理 | |||
.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; | |||
} | |||
.tag-list{ | |||
display: flex; | |||
flex-wrap: wrap; | |||
} | |||
.tag-list > view{ | |||
margin: 10rpx; | |||
padding: 10rpx; | |||
background-color: #EFF2F1; | |||
font-size: 24rpx; | |||
border-radius: 10rpx; | |||
} |
@ -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,0 +1,53 @@ | |||
<template> | |||
<uv-swipe-action> | |||
<view | |||
v-for="(item, index) in list" | |||
:key="index" | |||
> | |||
<view style="margin-top: 20rpx;"></view> | |||
<uv-swipe-action-item | |||
@click="e => clickSwipeAction(e, item)" | |||
:options="options"> | |||
<workItem/> | |||
</uv-swipe-action-item> | |||
</view> | |||
</uv-swipe-action> | |||
</template> | |||
<script> | |||
import workItem from './workItem.vue' | |||
export default { | |||
components : { | |||
workItem | |||
}, | |||
props : { | |||
options : { | |||
default : [ | |||
{ | |||
text: '删除', | |||
style: { | |||
backgroundColor: '#FA5A0A' | |||
} | |||
}, | |||
], | |||
}, | |||
list : { | |||
default : [] | |||
}, | |||
}, | |||
data() { | |||
return { | |||
} | |||
}, | |||
methods: { | |||
clickSwipeAction(e, item){ | |||
this.$emit('clickSwipeAction', {e, item}) | |||
}, | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@ -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,0 +1,47 @@ | |||
<template> | |||
<view class="const"> | |||
<view class="title"> | |||
{{ title }} | |||
</view> | |||
<view class="num"> | |||
{{ num }} | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
export default { | |||
props : { | |||
title : { | |||
default : '您当前的找活' | |||
}, | |||
num : { | |||
default : 0 | |||
} | |||
}, | |||
data() { | |||
return { | |||
} | |||
}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.const{ | |||
padding: 30rpx; | |||
background: $uni-color; | |||
color: #fff; | |||
font-weight: 900; | |||
.title{ | |||
font-size: 34rpx; | |||
} | |||
.num{ | |||
padding: 20rpx 0; | |||
font-size: 38rpx; | |||
} | |||
} | |||
</style> |
@ -0,0 +1,51 @@ | |||
<template> | |||
<view class="page"> | |||
<navbar title="我的收藏" | |||
bgColor="#3796F8" | |||
leftClick | |||
color="#fff" | |||
@leftClick="$utils.navigateBack"/> | |||
<workListSwipe | |||
:options="options" | |||
@clickSwipeAction="clickSwipeAction" | |||
:list="10"/> | |||
</view> | |||
</template> | |||
<script> | |||
import workListSwipe from '@/components/list/workList/workListSwipe.vue' | |||
import mixinList from '@/mixins/list.js' | |||
export default { | |||
mixins : [mixinList], | |||
components : { | |||
workListSwipe | |||
}, | |||
data() { | |||
return { | |||
options: [ | |||
{ | |||
text: '删除', | |||
style: { | |||
backgroundColor: '#FA5A0A' | |||
} | |||
}, | |||
], | |||
} | |||
}, | |||
methods: { | |||
clickSwipeAction({e, item}){ | |||
console.log(e, item); | |||
}, | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.page{ | |||
/deep/ .uv-swipe-action{ | |||
width: 100%; | |||
} | |||
} | |||
</style> |
@ -0,0 +1,23 @@ | |||
<template> | |||
<!-- 联系记录 --> | |||
<view class="page"> | |||
</view> | |||
</template> | |||
<script> | |||
export default { | |||
data() { | |||
return { | |||
} | |||
}, | |||
methods: { | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
</style> |
@ -0,0 +1,62 @@ | |||
<template> | |||
<!-- 我发布的招工 --> | |||
<view class="page"> | |||
<navbar title="我的找活" | |||
bgColor="#3796F8" | |||
leftClick | |||
color="#fff" | |||
@leftClick="$utils.navigateBack"/> | |||
<statisticsNumber/> | |||
<workListSwipe | |||
:options="options" | |||
@clickSwipeAction="clickSwipeAction" | |||
:list="10"/> | |||
</view> | |||
</template> | |||
<script> | |||
import workListSwipe from '@/components/list/workList/workListSwipe.vue' | |||
import statisticsNumber from '../components/statistics/statisticsNumber.vue' | |||
import mixinList from '@/mixins/list.js' | |||
export default { | |||
mixins : [mixinList], | |||
components : { | |||
workListSwipe, | |||
statisticsNumber | |||
}, | |||
data() { | |||
return { | |||
options: [ | |||
{ | |||
text: '修改', | |||
style: { | |||
backgroundColor: '#ffa12c' | |||
} | |||
}, | |||
{ | |||
text: '删除', | |||
style: { | |||
backgroundColor: '#FA5A0A' | |||
} | |||
}, | |||
], | |||
} | |||
}, | |||
methods: { | |||
clickSwipeAction({e, item}){ | |||
console.log(e, item); | |||
}, | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.page{ | |||
/deep/ .uv-swipe-action{ | |||
width: 100%; | |||
} | |||
} | |||
</style> |
@ -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> |