bonus-material-app/src/pages/picking/outbound/details.vue

695 lines
22 KiB
Vue
Raw Normal View History

2024-11-19 14:52:39 +08:00
<template>
<!-- 领料出库详情 -->
<view class="page-container">
<uni-row :gutter="24" class="search-form">
<uni-col :span="18">
2024-11-19 14:52:39 +08:00
<view>
2025-01-17 15:58:54 +08:00
<uni-easyinput placeholder="请输入内容" v-model="keyWord" maxlength="10"/>
2024-11-19 14:52:39 +08:00
</view>
</uni-col>
<uni-col :span="6">
2025-01-17 15:58:54 +08:00
<view class="search" @click="search">查询</view>
2024-11-19 14:52:39 +08:00
</uni-col>
</uni-row>
<scroll-view scroll-y class="scroll-container">
2024-12-17 17:21:13 +08:00
<view
v-for="(item, index) in detailsList"
2024-11-19 15:09:17 +08:00
:key="index"
class="table-list-item"
2024-12-17 17:21:13 +08:00
>
<uni-swipe-action class="swipe-action">
2025-09-05 10:08:25 +08:00
<uni-swipe-action-item :right-options="item.preNum == item.alNum ? options2 : item.alNum ==0 ? options3 : options"
2025-01-14 10:02:12 +08:00
@click="onClick($event, item)">
<div class="title">
<span class="main-title">领料出库</span>
<div class="status-tag">
2025-09-04 22:43:10 +08:00
<uni-tag :text="item.preNum == item.alNum ? '已完成' : '未完成'"
:type="item.preNum == item.alNum ? 'success' : 'warning'"
:custom-style="item.preNum == item.alNum ? successStyle : warningStyle"
/>
</div>
</div>
<view class="line"></view>
<uni-row :gutter="24">
<uni-col :span="6">物资名称</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.maTypeName }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">规格型号</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.typeName }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">预领数量</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.preNum }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">已领数量</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.alNum }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">待领数量</uni-col>
<uni-col :span="16">
2025-08-25 17:16:38 +08:00
<view class="cont">{{ formatDiff(item.preNum, item.alNum) }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">单位</uni-col>
<uni-col :span="16">
<view class="cont">{{ item.unitName }}</view>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="6">管理模式</uni-col>
<uni-col :span="16">
<view class="cont">
<uni-tag
text="编码"
type="warning"
v-if="item.manageType === 0"
:custom-style="codeStyle"
/>
<uni-tag
text="数量"
type="success"
v-if="item.manageType === 1"
:custom-style="numStyle"
/>
</view>
</uni-col>
</uni-row>
</uni-swipe-action-item>
</uni-swipe-action>
2024-11-19 14:52:39 +08:00
</view>
</scroll-view>
</view>
2025-09-04 14:00:50 +08:00
<PopupConfirm ref="popupConfirm" :content="content" />
2024-11-19 14:52:39 +08:00
</template>
<script setup>
2024-11-19 16:27:00 +08:00
import { ref, onUnmounted } from 'vue'
2025-08-31 11:04:10 +08:00
import { getOutboundDetailsAPI,getOutboundDetailsAPITwo,leaseOutBackApi,backOutDetailsApi } from '@/services/picking/outbound.js'
2025-01-17 15:58:54 +08:00
import { onLoad, onShow } from '@dcloudio/uni-app'
2025-08-25 17:16:38 +08:00
import { formatDiff } from '@/utils/bnsBase.js'
2025-09-04 14:00:50 +08:00
import PopupConfirm from '@/components/PopupConfirm'
2025-01-14 10:02:12 +08:00
const taskStatus = ref(3)//进行中
2025-01-17 15:58:54 +08:00
const detailsList = ref([])
const keyWord = ref('')
2025-09-04 14:00:50 +08:00
const popupConfirm = ref()
const content = ref('')
2025-01-17 15:58:54 +08:00
const search = () => {
console.log('🚀 ~ search ~ keyWord:', keyWord.value)
getOutboundDetailsData()
}
2024-11-19 16:27:00 +08:00
// 领料单位,参数等信息
const leaseApplyInfo = ref({
2024-12-04 17:14:05 +08:00
leaseUnitId: '', // 领料单位
2024-11-19 16:27:00 +08:00
leaseUnit: '', // 领料单位
2024-12-04 17:14:05 +08:00
leaseProjectId: '', // 领料工程
2024-11-19 16:27:00 +08:00
leaseProject: '', // 领料工程
maTypeName: '', // 物资类型
typeName: '', // 规格型号
unitName: '', // 单位
storageNum: '', // 库存数量
preNum: '', // 预领数量
2024-12-17 17:21:13 +08:00
parentId: '', // 出库时所需参数 取列表 id
2024-11-19 16:27:00 +08:00
id: '', // 出库时所需参数 取详情接口 id
2025-01-14 10:02:12 +08:00
typeId: '', // 出库时所需参数 取详情接口 typeId
2024-11-19 16:27:00 +08:00
manageType: '', // 出库时所需参数 取详情接口 manageType
2025-03-08 15:15:47 +08:00
publishTask: '', // 出库时所需参数 取详情接口 publishTask
2024-11-19 16:27:00 +08:00
})
2024-12-17 17:21:13 +08:00
onLoad((options) => {
leaseApplyInfo.value.parentId = options.id
2025-03-08 15:15:47 +08:00
if(options.publishTask == "null"){
leaseApplyInfo.value.publishTask = ""
console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
}else{
leaseApplyInfo.value.publishTask = options.publishTask
}
// leaseApplyInfo.value.publishTask = options.publishTask
2025-03-07 11:32:55 +08:00
console.log('🚀 ~ onLoad ~ options:', options)
2025-06-21 20:36:58 +08:00
// getOutboundDetailsData()
2025-01-14 10:02:12 +08:00
})
onShow(() => {
getOutboundDetailsData()
2024-12-17 17:21:13 +08:00
})
2024-11-19 14:52:39 +08:00
// 获取列表详情
const getOutboundDetailsData = async () => {
2025-03-08 15:15:47 +08:00
console.log('Full leaseApplyInfo:', leaseApplyInfo.value);
2025-03-07 11:32:55 +08:00
console.log('parentId:', leaseApplyInfo.value.parentId);
console.log('keyWord:', keyWord.value);
console.log('publishTask:', leaseApplyInfo.value.publishTask);
2025-03-08 15:15:47 +08:00
console.log('publishTask type:', typeof leaseApplyInfo.value.publishTask);
2025-07-30 10:05:08 +08:00
try {
uni.showLoading({
title: '加载中...',
mask: true
})
let res;
2025-09-09 10:40:25 +08:00
if (leaseApplyInfo.value.publishTask === null || leaseApplyInfo.value.publishTask == "" || leaseApplyInfo.value.publishTask == 'null') {
2025-07-30 10:05:08 +08:00
console.log("Condition: publishTask is null or empty string");
// 如果 publishTask 为空,则只传递两个参数
console.log("yyyyyyyyyyyyyyyyyyyy");
2025-09-09 10:40:25 +08:00
leaseApplyInfo.value.publishTask = ''
2025-07-30 10:05:08 +08:00
const { data } = await getOutboundDetailsAPI(
leaseApplyInfo.value.parentId,
2025-09-08 14:16:33 +08:00
keyWord.value,
leaseApplyInfo.value.publishTask
2025-07-30 10:05:08 +08:00
);
res = data;
console.log('🚀 ~ getOutboundDetailsData ~ res:', res);
} else {
console.log("Condition: publishTask is not null and not empty string");
// 如果 publishTask 不为空,则传递三个参数
const { data } = await getOutboundDetailsAPITwo(
leaseApplyInfo.value.parentId,
keyWord.value,
leaseApplyInfo.value.publishTask
);
res = data;
console.log("xxxxxxxxxxx", res);
}
detailsList.value = res.leaseApplyDetailsList;
leaseApplyInfo.value.taskId = res.leaseApplyInfo.taskId;
leaseApplyInfo.value.typeId = res.leaseApplyInfo.typeId;
leaseApplyInfo.value.leaseUnitId = res.leaseApplyInfo.leaseUnitId;
leaseApplyInfo.value.leaseUnit = res.leaseApplyInfo.leaseUnit;
leaseApplyInfo.value.leaseProjectId = res.leaseApplyInfo.leaseProjectId;
leaseApplyInfo.value.leaseProject = res.leaseApplyInfo.leaseProject;
2025-09-03 22:18:07 +08:00
leaseApplyInfo.value.code = res.leaseApplyInfo.code
2025-07-30 10:05:08 +08:00
taskStatus.value = res.leaseApplyInfo.taskStatus;
if(taskStatus.value==3){
options.value = [
{ text: '出库',style: {backgroundColor: '#84c649',color: '#fff',fontSize: '28rpx'} },
// { text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'} },
2025-08-31 11:04:10 +08:00
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'} },
{ text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'} }
2025-07-30 10:05:08 +08:00
];
options2.value = [
// { text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'}},
2025-09-06 14:49:31 +08:00
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'}},
{ text: '退回',style: {backgroundColor: '#ed6042',color: '#fff',fontSize: '28rpx'}}
2025-07-30 10:05:08 +08:00
]
}else if(taskStatus.value==4){
options.value = [
{ text: '出库',style: {backgroundColor: '#84c649',color: '#fff',fontSize: '28rpx'} },
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'} }
];
options2.value = [
{ text: '查看',style: {backgroundColor: '#3784fb',color: '#fff',fontSize: '28rpx'}}
]
}
} catch (error) {
console.log('🚀 ~ getOutboundDetailsData ~ error:', error)
} finally {
uni.hideLoading()
2025-03-07 11:32:55 +08:00
}
2024-11-19 14:52:39 +08:00
}
2025-01-14 10:02:12 +08:00
// 数量退回
const leaseOutBack = async (item) => {
console.log(item)
2025-01-24 18:00:07 +08:00
if(item.alNum==0){
uni.showToast({
title: '暂无物资可退!',
icon: 'none',
})
2025-01-14 10:02:12 +08:00
}else{
2025-01-24 18:00:07 +08:00
if(item.manageType==0){//编码
2025-03-10 16:37:07 +08:00
console.log('编码xxxxxxxxx', item)
2025-07-31 17:08:14 +08:00
// const { status,manageType,maTypeName,typeName,storageNum,preNum,alNum,unitName,id,typeId, unitValue} = item
// leaseApplyInfo.value.maTypeName = maTypeName
// leaseApplyInfo.value.typeName = typeName
// leaseApplyInfo.value.unitName = unitName
// leaseApplyInfo.value.storageNum = storageNum
// leaseApplyInfo.value.preNum = preNum
// leaseApplyInfo.value.alNum = alNum
// leaseApplyInfo.value.id = id
// leaseApplyInfo.value.typeId = typeId
// leaseApplyInfo.value.manageType = manageType
// leaseApplyInfo.value.unitValue = unitValue
leaseApplyInfo.value = item
2025-01-24 18:00:07 +08:00
console.log(leaseApplyInfo.value)
let codingUrl = '/pages/picking/outbound/inner-detail'
// 把 leaseApplyInfo 领料信息转成 json 传递到下个页面
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}&isBack=1` })
}else{
let param = {
outNum:item.alNum,
taskId:leaseApplyInfo.value.taskId,
typeId:item.typeId,
2025-03-10 16:37:07 +08:00
parentId:item.parentId,
publishTask:leaseApplyInfo.value.publishTask
2025-01-14 10:02:12 +08:00
}
2025-01-24 18:00:07 +08:00
console.log(param)
uni.showModal({
title: '退回',
content: `是否确定退回该类型的出库?`,
confirmText: '确定',
cancelText: '取消',
success: async (res) => {
if (res.confirm) {
const res = await leaseOutBackApi(param)
console.log(res)
if(res.code==200){
uni.showToast({
title: '退回成功!',
icon: 'none',
})
getOutboundDetailsData()
}
}
}
})
}
2025-01-14 10:02:12 +08:00
}
2025-01-24 18:00:07 +08:00
2024-11-19 15:09:17 +08:00
}
// 状态标签样式
const successStyle = {
color: '#52c41a',
backgroundColor: 'rgba(82, 196, 26, 0.1)',
border: '2rpx solid rgba(82, 196, 26, 0.2)',
fontWeight: '600'
}
const warningStyle = {
color: '#fa8c16',
backgroundColor: 'rgba(250, 140, 22, 0.1)',
border: '2rpx solid rgba(250, 140, 22, 0.2)',
fontWeight: '600'
}
// 管理方式标签样式
const codeStyle = {
color: '#ff9800',
backgroundColor: 'rgba(255, 152, 0, 0.1)',
border: '2rpx solid rgba(255, 152, 0, 0.2)',
padding: '4rpx 16rpx',
fontSize: '26rpx',
fontWeight: '600'
}
const numStyle = {
color: '#13c2c2',
backgroundColor: 'rgba(19, 194, 194, 0.1)',
border: '2rpx solid rgba(19, 194, 194, 0.2)',
padding: '4rpx 16rpx',
fontSize: '26rpx',
fontWeight: '600'
}
// 右滑按钮组
const options = ref([
{
text: '出库',
style: {
2025-01-14 10:02:12 +08:00
backgroundColor: '#84c649',
2024-12-20 18:38:54 +08:00
// color: '#fff',
fontSize: '28rpx',
},
},
2025-01-14 10:02:12 +08:00
{
text: '查看',
style: {
backgroundColor: '#3784fb',
// color: '#fff',
fontSize: '28rpx',
},
2025-08-31 11:04:10 +08:00
},
{
text: '退回',
style: {
backgroundColor: '#ed6042',
// color: '#fff',
fontSize: '28rpx',
},
2025-01-14 10:02:12 +08:00
}
])
const options2 = ref([
{
text: '查看',
style: {
backgroundColor: '#3784fb',
2024-12-20 18:38:54 +08:00
// color: '#fff',
fontSize: '28rpx',
},
},
])
2025-08-31 11:04:10 +08:00
const options3 = ref([
{
text: '出库',
style: {
backgroundColor: '#84c649',
// color: '#fff',
fontSize: '28rpx',
},
},
{
text: '查看',
style: {
backgroundColor: '#3784fb',
// color: '#fff',
fontSize: '28rpx',
},
}
])
// 点击滑动按钮
2025-08-31 11:04:10 +08:00
const onClick = async (e, item) => {
2025-03-08 15:15:47 +08:00
console.log("tttttttttt",e,item)
2025-01-14 10:02:12 +08:00
if(taskStatus.value==3){//出库进行中
2025-03-08 15:15:47 +08:00
console.log("333333333333333333333333333")
2025-06-20 15:35:54 +08:00
if (e.content.text == '出库') {
2025-01-14 10:02:12 +08:00
if (item.status == 2) {//已完成
leaseOutBack(item)
}else{
2025-03-08 15:15:47 +08:00
console.log("rrrrrrrrrrrrr",30)
2025-01-14 10:02:12 +08:00
onCodingItem(item)//出库
}
}
2025-06-20 15:35:54 +08:00
if (e.content.text == '查看') {
2025-07-04 13:25:04 +08:00
checkViewDetail(item)//查看
2025-01-14 10:02:12 +08:00
}
2025-08-31 11:04:10 +08:00
if (e.content.text == '退回') {
2025-09-04 14:00:50 +08:00
content.value = `是否确定退回?`
popupConfirm.value.openPopup().then(async confirm => {
if (!confirm.data) return
try {
uni.showLoading({ title: '操作中...', mask: true })
let param ={
taskId:leaseApplyInfo.value.taskId,
typeId:item.typeId,
parentId:item.parentId,
newTypeId:item.newTypeId,
alNum:item.alNum,
outNum:item.alNum,
maCodeVoList:item.maCodeVoList
}
const res = await backOutDetailsApi(param)//退回
if(res.code==200){
uni.showToast({
title: '退回成功!',
icon: 'none',
})
setTimeout(() => {
getOutboundDetailsData()
}, 500)
}else{
uni.showToast({
title: res.msg,
icon: 'none',
})
}
} catch (error) {
console.log('🚀 ~ onClick ~ error:', error)
} finally {
uni.hideLoading()
}
})
2025-08-31 11:04:10 +08:00
}
2025-01-14 10:02:12 +08:00
}
if(taskStatus.value==4){//出库已完成
checkViewDetail(item)//查看
}
// onCodingItem(item)//出库
// checkViewDetail(item)//查看
// onCodingItem(item)//出库
}
// 点击跳转出库页面
const onCodingItem = (item) => {
2025-03-08 15:15:47 +08:00
console.log("uuuuuuuuuuuuuuu",item)
2025-01-14 10:02:12 +08:00
// 解构所需要的数据
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
unitValue,
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
leaseApplyInfo.value.unitValue = unitValue
console.log(leaseApplyInfo.value)
let codingUrl = ''
if (manageType === 0) {
codingUrl = '/pages/picking/outbound/code-outbound' // 编码出库
}
2025-01-14 10:02:12 +08:00
if (manageType == 1) {
codingUrl = '/pages/picking/outbound/num-outbound' // 数量出库
}
// 把 leaseApplyInfo 领料信息转成 json 传递到下个页面
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}` })
}
2025-01-24 18:00:07 +08:00
2025-01-14 10:02:12 +08:00
const checkViewDetail = (item) => {
// 解构所需要的数据
const {
status,
manageType,
maTypeName,
typeName,
storageNum,
preNum,
alNum,
unitName,
id,
typeId,
unitValue,
2025-03-08 15:15:47 +08:00
publishTask,
2025-01-14 10:02:12 +08:00
} = item
leaseApplyInfo.value.maTypeName = maTypeName
leaseApplyInfo.value.typeName = typeName
leaseApplyInfo.value.unitName = unitName
leaseApplyInfo.value.storageNum = storageNum
leaseApplyInfo.value.preNum = preNum
leaseApplyInfo.value.alNum = alNum
leaseApplyInfo.value.id = id
leaseApplyInfo.value.typeId = typeId
leaseApplyInfo.value.manageType = manageType
2025-03-08 15:15:47 +08:00
leaseApplyInfo.value.unitValue = unitValue
leaseApplyInfo.value.publishTask = publishTask
2025-01-14 10:02:12 +08:00
console.log(leaseApplyInfo.value)
let codingUrl = '/pages/picking/outbound/inner-detail'
// 把 leaseApplyInfo 领料信息转成 json 传递到下个页面
uni.navigateTo({ url: `${codingUrl}?queryParams=${JSON.stringify(leaseApplyInfo.value)}&isBack=0` })
}
2024-11-19 14:52:39 +08:00
</script>
<style lang="scss" scoped>
.page-container {
display: flex;
height: 100%;
flex-direction: column;
background-color: #f7f8fa;
padding: 24rpx;
2024-11-19 14:52:39 +08:00
// 搜索表单
2024-11-19 14:52:39 +08:00
.search-form {
display: flex;
align-items: center;
background: #fff;
2025-06-23 17:04:40 +08:00
padding: 14rpx 24rpx;
border-radius: 20rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
:deep(.uni-easyinput__content) {
background-color: #f7f8fa;
border: 2rpx solid #e8e8e8;
border-radius: 12rpx;
2025-06-23 17:04:40 +08:00
height: 75rpx;
padding: 0 24rpx;
transition: all 0.3s ease;
2024-11-19 14:52:39 +08:00
&:focus-within {
border-color: #3784fb;
box-shadow: 0 0 0 2rpx rgba(55, 132, 251, 0.1);
}
.uni-easyinput__content-input {
font-size: 28rpx;
color: #262626;
2025-06-23 17:04:40 +08:00
height: 75rpx;
line-height: 75rpx;
}
}
// 搜索按钮
.search {
2025-06-23 17:04:40 +08:00
height: 60rpx;
background: linear-gradient(135deg, #4b8eff 0%, #3784fb 100%);
text-align: center;
2025-06-23 17:04:40 +08:00
line-height: 60rpx;
color: #fff;
border-radius: 12rpx;
font-size: 28rpx;
font-weight: 600;
box-shadow: 0 6rpx 20rpx rgba(55, 132, 251, 0.2);
transition: all 0.3s ease;
&:active {
transform: scale(0.98);
opacity: 0.9;
box-shadow: 0 2rpx 8rpx rgba(55, 132, 251, 0.2);
}
}
2024-11-19 14:52:39 +08:00
}
// 列表项样式
.table-list-item {
2024-12-23 17:58:21 +08:00
background: #fff;
border-radius: 20rpx;
2024-12-23 17:58:21 +08:00
padding: 24rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
&:active {
2024-12-23 17:58:21 +08:00
transform: scale(0.99);
opacity: 0.9;
}
2024-12-23 17:58:21 +08:00
// 标题栏
.title {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
2024-12-23 17:58:21 +08:00
.main-title {
font-size: 32rpx;
font-weight: 600;
2024-12-23 17:58:21 +08:00
color: #262626;
}
// 状态标签
.status-tag {
:deep(.uni-tag) {
padding: 8rpx 24rpx;
border-radius: 8rpx;
font-size: 24rpx;
font-weight: 500;
border: none;
&[type="warning"] {
color: #fa8c16;
background: rgba(250, 140, 22, 0.1);
}
&[type="success"] {
color: #52c41a;
background: rgba(82, 196, 26, 0.1);
}
}
}
}
2024-12-23 17:58:21 +08:00
// 分隔线
.line {
height: 2rpx;
background: linear-gradient(90deg,
rgba(232, 232, 232, 0) 0%,
rgba(232, 232, 232, 1) 50%,
rgba(232, 232, 232, 0) 100%
);
2024-12-23 17:58:21 +08:00
margin: 24rpx 0;
}
2024-12-23 17:58:21 +08:00
// 内容行
.uni-row {
2025-06-23 17:04:40 +08:00
/* margin-bottom: 20rpx; */
2024-12-23 17:58:21 +08:00
font-size: 28rpx;
2024-12-23 17:58:21 +08:00
.uni-col-6 {
color: #8c8c8c;
}
.cont {
color: #262626;
text-align: right;
}
}
2024-11-19 14:52:39 +08:00
}
}
2024-11-19 14:52:39 +08:00
// 加载提示文字
.loading-text {
text-align: center;
font-size: 26rpx;
color: #8c8c8c;
padding: 32rpx 0;
letter-spacing: 1rpx;
2024-11-19 14:52:39 +08:00
}
2024-12-23 17:58:21 +08:00
2024-12-23 17:58:21 +08:00
// 优化滑动区域样式
:deep(.uni-swipe_action) {
border-radius: 20rpx;
overflow: hidden;
.uni-swipe_content {
margin: 0 !important;
padding: 0;
background-color: #fff;
}
.uni-swipe_button-group {
height: 100%;
.uni-swipe_button {
height: 100%;
padding: 0 20rpx;
2024-12-23 17:58:21 +08:00
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
font-weight: 600;
color: #fff;
border: none;
writing-mode: vertical-rl;
// 查看按钮
&:nth-child(1) {
background: linear-gradient(to bottom, #3ad980, #34C759) !important;
}
// 出库按钮
&:nth-child(2) {
background: linear-gradient(to bottom, #3b95ff, #007AFF) !important;
}
&:active {
opacity: 0.85;
}
}
}
}
2024-11-19 14:52:39 +08:00
</style>