UI修改2.0

RS2508
wangsiyang 2025-09-24 15:23:05 +08:00
parent db4f073e1f
commit ff407379cd
14 changed files with 593 additions and 255 deletions

View File

@ -10,7 +10,7 @@
<!-- 双按钮 -->
<view class="buttons" v-else-if="isDouble">
<view class="buttonLeft button" @click="onCancel()">{{ texts[0] }}</view>
<view class="buttonLeft button" :style="{backgroundColor:cancelBtnColor}" @click="onCancel()">{{ texts[0] }}</view>
<view class="buttonRight button" @click="onSubmit()">{{ texts[1] }}</view>
</view>
@ -36,6 +36,10 @@
type: Boolean,
default: false
},
cancelBtnColor:{
type: String,
default: '#165DFF'
},
isWhite: {
type: Boolean,
default: true

View File

@ -1,42 +1,45 @@
<template>
<view class="normal-login-container">
<view class="logo-content align-center justify-center flex">
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
</image>
<text class="title">修改配置信息</text>
</view>
<view class="cu-list menu-avatar">
<view class="cu-item">
<view class="content flex-sub">
<view class="text-grey">当前系统连接信息</view>
<view class="text-gray text-sm flex justify-between">
<view class="text-gray text-sm">
{{changeUrlForm.baseUrl}}
</view>
<view class="text-gray text-sm">
<button @click="connectTestHander(changeUrlForm.baseUrl)"
class="changeUrl-btn cu-btn block bg-blue md round">连通性测试</button>
</view>
</view>
</view>
<cu-custom :isBack="true">
<block slot="backText"></block>
<block slot="content">修改配置信息</block>
</cu-custom>
</view>
<view class="cu-item">
<view class="content flex-sub">
<view class="text-grey">项目实际连接信息</view>
<view class="text-gray text-sm flex justify-between">
<view class="text-gray text-sm">
{{changeUrlForm.practicalUrl?changeUrlForm.practicalUrl:"未设置"}}
<view class="menu">
<view class="item" style="border-bottom: 1px solid #C4C4C4;">
<view class="content ">
<view class="title">
<view class="titlemes">
当前系统连接信息
</view>
<view class="text-gray text-sm" v-if="changeUrlForm.practicalUrl.length>0">
<button @click="connectTestHander(changeUrlForm.practicalUrl)"
class="changeUrl-btn cu-btn block bg-blue md round">连通性测试</button>
<view class="btn" @click="connectTestHander(changeUrlForm.baseUrl)">
连通性测试
</view>
</view>
<view class="text">
{{changeUrlForm.baseUrl}}
</view>
</view>
</view>
<view class="item">
<view class="content ">
<view class="title">
<view class="titlemes">
项目实际连接信息
</view>
<view class="btn" @click="connectTestHander(changeUrlForm.practicalUrl)" v-if="changeUrlForm.practicalUrl.length>0">
连通性测试
</view>
</view>
<view class="text">
{{changeUrlForm.practicalUrl?changeUrlForm.practicalUrl:"未设置"}}
</view>
</view>
</view>
</view>
<view class="login-form-content">
<view class="login-form-content menu">
<view class="cu-form-group input-item flex align-center">
<view class="title">新IP </view>
<input v-model="changeUrlForm.ip" class="input" type="text" placeholder="请输入IP" maxlength="30" />
@ -45,18 +48,20 @@
<view class="title">新端口 </view>
<input v-model="changeUrlForm.port" type="text" class="input" placeholder="请输入端口" maxlength="20" />
</view>
<view class="flex action-btn">
<!-- <view class="flex action-btn">
<view class="flex-sub padding-sm margin-xs radius">
<button @click="testConnection()" class=" cu-btn block bg-yellow md round">测试</button>
</view>
<view class="flex-sub padding-sm margin-xs radius">
<button @click="saveUrl()" class=" cu-btn block bg-blue md round">保存</button>
</view>
</view>
</view> -->
</view>
<view class="xieyi text-center">
<!-- <view class="xieyi text-center">
<text @click="handleUserLogin" class="text-blue">跳转到登录页</text>
</view>
</view> -->
<bottomBtn :isSubmit="true" :isDouble="true" cancelBtnColor="#FF7D00" :isWhite="false" position="fixed" :texts="['测试','保存']" @onCancel='testConnection'
@onSubmit="saveUrl"></bottomBtn>
</view>
</template>
@ -65,6 +70,9 @@
getCodeImg,
register
} from '@/api/login';
import {
bottomBtn
} from '@/components/bottomBtn/bottomBtn.vue'
import config from '@/config';
import errorCode from '@/utils/errorCode';
import store from '@/store'
@ -95,6 +103,9 @@
created() {
//this.getCode()
},
component: {
bottomBtn
},
methods: {
//
handleUserLogin() {
@ -245,10 +256,43 @@
page {
background-color: #ffffff;
}
.normal-login-container {
width: 100%;
background: rgb(242, 243, 245);
height: 100vh;
.menu{
width: 702rpx;
border-radius: 24rpx;
background: rgb(255, 255, 255);
padding: 12rpx 24rpx;
margin:24rpx auto;
.item{
.content{
padding: 12px 0;
.title{
display: flex;
align-items: center;
justify-content: space-between;
.titlemes{
color: rgb(78, 89, 105);
font-size: 28rpx;
font-weight: 400;
}
.btn{
color: rgb(22, 93, 255);
font-size: 28rpx;
font-weight: 400;
}
}
.text{
padding: 16rpx 0;
}
}
}
}
.logo-content {
width: 100%;
font-size: 21px;
@ -260,15 +304,19 @@
}
.title {
color: rgb(29, 33, 41);
font-size: 32rpx;
font-weight: 700;
margin-left: 10px;
}
}
.login-form-content {
text-align: center;
margin: 20px auto;
margin-top: 15%;
width: 80%;
width: 702rpx;
border-radius: 24rpx;
background: rgb(255, 255, 255);
padding: 12rpx 24rpx;
margin:24rpx auto;
.input-item {
margin: 20px auto;

View File

@ -1,8 +1,8 @@
<template>
<view class="mine-container" :style="{height: `${windowHeight}px`}">
<!--顶部个人信息栏-->
<view class="header-section bg-gradual-green">
<view class="flex padding justify-between">
<view class="header-section ">
<view class="flex justify-between">
<view class="flex align-center">
<view v-if="!avatar" class="cu-avatar xl round bg-white">
<view class="iconfont icon-people text-gray icon"></view>
@ -15,62 +15,57 @@
</view>
<view v-if="name" @click="handleToInfo" class="user-info">
<view class="u_title">
用户名{{ name }}
{{ name }}
</view>
</view>
</view>
<view @click="handleToInfo" class="flex align-center">
<view @click="handleToInfo" class="flex align-center peopleMes">
<text>个人信息</text>
<view class="iconfont icon-right"></view>
<view class="iconfont icon-right" style="font-size: 12px;"></view>
</view>
</view>
</view>
<view class="content-section">
<view class="mine-actions grid col-1 text-center">
<!-- <view class="action-item" @click="handleJiaoLiuQun">
<view class="iconfont icon-friendfill text-pink icon"></view>
<text class="text">交流群</text>
</view> -->
<view class="mine-actions ">
<view class="action-item" @click="handleBuilding">
<view class="iconfont icon-community text-blue icon"></view>
<text class="text">{{warehouseinfo}}</text>
</view>
<view class="house">
<image src="/static/images/house.png" mode=""></image>
</view>
</view>
<view class="menu-list">
<view class="list-cell list-cell-arrow" @click="handleHelp">
<view class="menu-item-box">
<view class="iconfont icon-help menu-icon"></view>
<view class="mainbox">
<view class="menu-item-box" @click="handleHelp">
<view class="leftbox">
<image src="/static/images/icon1.png" class="icon" mode=""></image>
<view>常见问题</view>
</view>
<image src="/static/images/right.png" class="right" mode=""></image>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view class="menu-item-box" @click="handleAbout">
<view class="leftbox">
<image src="/static/images/icon2.png" class="icon" mode=""></image>
<view>关于我们</view>
</view>
<image src="/static/images/right.png" class="right" mode=""></image>
</view>
<view class="list-cell list-cell-arrow" @click="handleToSetting">
<view class="menu-item-box">
<view class="iconfont icon-setting menu-icon"></view>
<view class="menu-item-box" @click="handleToSetting">
<view class="leftbox">
<image src="/static/images/icon3.png" class="icon" mode=""></image>
<view>应用设置</view>
</view>
<image src="/static/images/right.png" class="right" mode=""></image>
</view>
</view>
<view class="bottombtn" @click="handleLogout">
<view class="btn">
退出登录
</view>
</view>
<view class="menu-list round">
<view class="list-cell list-cell ">
<view class="cu-item item-box">
<view class="content text-center" @click="handleLogout">
<text class="text-black iconfont icon-logout menu-icon xl ">退出登录</text>
</view>
</view>
</view>
</view>
</view>
</view>
@ -84,7 +79,7 @@
return {
name: this.$store.state.user.name,
version: getApp().globalData.config.appInfo.version,
warehouse:this.$store.state.user.warehouse,
warehouse: this.$store.state.user.warehouse,
}
},
computed: {
@ -94,9 +89,9 @@
windowHeight() {
return uni.getSystemInfoSync().windowHeight - 50
},
warehouseinfo(){
if(Array.isArray(this.warehouse) && this.warehouse.length > 0 ){
return '【'+this.warehouse[0].warehouseCode+'】' + this.warehouse[0].warehouseName
warehouseinfo() {
if (Array.isArray(this.warehouse) && this.warehouse.length > 0) {
return '【' + this.warehouse[0].warehouseCode + '】' + this.warehouse[0].warehouseName
}
}
},
@ -124,10 +119,10 @@
})
},
handleHelp() {
this.$tab.navigateTo('/pages/mine/help/index')
this.$tab.navigateTo('/pages/mine/help/index')
},
handleAbout() {
this.$tab.navigateTo('/pages/mine/about/index')
this.$tab.navigateTo('/pages/mine/about/index')
},
handleJiaoLiuQun() {
// this.$modal.showToast('~')
@ -145,14 +140,51 @@
}
.mine-container {
background: linear-gradient(180.00deg, rgb(181, 202, 245) 0%, rgb(184, 204, 245) 40.449%, rgba(213, 227, 249, 0) 87.96%);
width: 100%;
height: 100%;
height: 90vh;
overflow: hidden;
.bottombtn {
position: fixed;
width: 100%;
bottom: 140rpx;
.btn {
margin: 0 auto;
width: 686rpx;
height: 90rpx;
display: flex;
justify-content: center;
align-items: center;
border: 2rpx solid rgb(22, 93, 255);
border-radius: 24rpx;
background: rgb(22, 93, 255);
color: rgb(255, 255, 255);
font-size: 32rpx;
font-weight: 400;
}
}
.header-section {
padding: 15px 15px 45px 15px;
background-color: #3c96f3;
padding: 40rpx 32rpx;
color: white;
position: relative;
.peopleMes {
/* 矩形 668 */
position: absolute;
width: 186rpx;
height: 56rpx;
right: 0;
top: 54rpx;
box-sizing: border-box;
background: linear-gradient(137.70deg, rgb(73, 137, 255) 8.068%, rgba(98, 150, 246, 0.7) 100%);
border-radius: 28rpx 0 0 28rpx;
padding-left: 24rpx;
display: flex;
align-items: center;
}
.login-tip {
font-size: 18px;
@ -160,7 +192,10 @@
}
.cu-avatar {
width: 80rpx;
height: 80rpx;
border: 2px solid #eaeaea;
border-radius: 24rpx;
.icon {
font-size: 40px;
@ -168,34 +203,102 @@
}
.user-info {
margin-left: 15px;
margin-left: 36rpx;
.u_title {
font-size: 18px;
line-height: 30px;
color: rgb(255, 255, 255);
font-family: 苹方-;
font-size: 42rpx;
font-weight: 500;
line-height: 59rpx;
letter-spacing: 0%;
text-align: left;
}
.s_text {
color: rgb(255, 255, 255);
font-family: 苹方-;
font-size: 24rpx;
font-weight: 400;
line-height: 34rpx;
letter-spacing: 0%;
text-align: left;
margin-top: 10rpx;
}
}
}
.mainbox {
border-radius: 24rpx;
background-color: #fff;
width: 686rpx;
margin: 16rpx auto;
padding: 0 24rpx;
.menu-item-box {
display: flex;
align-items: center;
justify-content: space-between;
padding: 24rpx 0;
border-bottom: 1rpx solid #C4C4C4;
}
.menu-item-box:last-child {
border: none;
}
.leftbox {
display: flex;
align-items: center;
.icon {
width: 44rpx;
height: 44rpx;
margin-right: 24rpx;
}
}
.right {
width: 28rpx;
height: 28rpx;
}
}
.content-section {
position: relative;
top: -50px;
.mine-actions {
margin: 15px 15px;
padding: 20px 0px;
border-radius: 8px;
background-color: white;
width: 686rpx;
height: 194rpx;
margin: 24rpx auto;
box-sizing: border-box;
border: 2rpx solid rgb(255, 255, 255);
border-radius: 24rpx;
backdrop-filter: blur(23rpx);
background: linear-gradient(127.75deg, rgb(243, 248, 255) 5.474%, rgba(231, 239, 254, 0.78) 97.238%);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40rpx;
margin-top: 0;
.house {
width: 152rpx;
height: 152rpx;
image {
width: 152rpx;
height: 152rpx;
}
}
.action-item {
.icon {
font-size: 28px;
}
.text {
display: block;
font-size: 13px;
margin: 8px 0px;
color: rgb(85, 105, 141);
font-size: 28rpx;
font-weight: 400;
}
}
}

View File

@ -32,7 +32,7 @@
<swiper class="work-swiper" :class="dotStyle?'square-dot':'round-dot'" :indicator-dots="true" :circular="true"
:autoplay="true" interval="5000" duration="500">
<swiper-item v-for="(item,index) in swiperList" :key="index">
<image :src="item.url" v-if="item.type=='image'"></image>
<image :src="item.url" v-if="item.type=='image'" ></image>
<video :src="item.url" autoplay loop muted :show-play-btn="false" :controls="false" objectFit="cover"
v-if="item.type=='video'"></video>
</swiper-item>
@ -346,7 +346,7 @@
margin: 32rpx auto;
box-shadow: 0px 4rpx 11rpx 0px rgba(111, 150, 198, 0.09), 0px 4px 84px 0px rgba(130, 154, 190, 0.11);
background: rgb(255, 255, 255);
padding-bottom: 64rpx;
.bodytitle {
color: rgb(29, 33, 41);
font-family: 苹方-;

View File

@ -1,7 +1,7 @@
<template>
<view class="container">
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
<block slot="backText">返回</block>
<cu-custom :isBack="true">
<block slot="backText"></block>
<block slot="content">空容器入库</block>
</cu-custom>
<view class="example">
@ -22,10 +22,12 @@
</uni-forms-item>
</uni-forms>
<view class="button-group">
<!-- <view class="button-group">
<button :disabled="isButtonDisabled" style="width: 100px;" @click="callAgv"></button>
</view>
</view> -->
</view>
<bottomBtn :isSubmit="true" :isWhite="false" position="fixed" :disable="isButtonDisabled"
:texts="['确认入库']" @onSubmit="callAgv"></bottomBtn>
<view class="cu-modal" :class="msgModalName=='Modal'?'show':''">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
@ -57,6 +59,7 @@
import {
formatDate
} from 'tough-cookie';
import {bottomBtn} from '@/components/bottomBtn/bottomBtn.vue'
export default {
data() {
return {
@ -183,6 +186,9 @@
msg: null
};
},
component:{
bottomBtn
},
onLoad() {
//
this.getSkuTypes();
@ -488,31 +494,64 @@
}
</script>
<style lang="scss">
.sku-dropdown {
position: absolute;
z-index: 1000;
background: white;
border: 1px solid #ddd;
border-radius: 4px;
max-height: 200px;
overflow-y: auto;
<style scoped lang="scss">
.container {
background: rgb(242, 243, 245);
height: 100vh;
}
.uni-forms-item {
border-bottom: 1px solid #E5E6EB;
margin-bottom: 0;
padding: 24rpx 0;
}
::v-deep .uni-forms-item__label {
color: #1D2129;
font-size: 28rpx;
font-weight: 400;
}
::v-deep .uni-select {
border: 0px;
}
::v-deep.uni-select__input-placeholder {
font-size: 28rpx;
font-weight: 400;
color: #86909C;
}
.textarea{
background-color: #F2F3F5;
width: 100%;
box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}
.dropdown-item {
padding: 8px 12px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #eee;
::v-deep.full-width-textarea{
width: 100%!important;
border: unset!important;
}
.dropdown-item:last-child {
border-bottom: none;
::v-deep .is-input-border{
border: unset;
}
.dropdown-item:hover {
background-color: #f5f5f5;
::v-deep .uni-easyinput__placeholder-class{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uni-input-input{
font-size: 28rpx;
}
::v-deep .uni-select__input-placeholder{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uniui-bottom{
display: none;
}
::v-deep .uniui-top{
display: none;
}
.fromItem{
display: flex;
align-items: center;
}
.cu-form-group .title {
min-width: calc(4em + 15px);
@ -523,8 +562,12 @@
}
.example {
padding: 15px;
padding: 0 24rpx;
background-color: #fff;
width: 702rpx;
border-radius: 24rpx;
margin: 24rpx auto;
}
.segmented-control {
@ -550,25 +593,12 @@
line-height: 35px;
margin-left: 10px;
}
.switch-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #eee;
}
/* 输入框样式 */
.full-width-textarea {
width: calc(100vw - 260rpx); /* 直接扣除边距 */
padding: 20rpx;
box-sizing: border-box;
border: 2rpx solid #e5e5e5;
border-radius: 8rpx;
min-height: 200rpx;
font-size: 28rpx;
line-height: 1.5;
}
.switch-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #eee;
}
</style>

View File

@ -1,7 +1,6 @@
<template>
<view class="container">
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
<block slot="backText">返回</block>
<cu-custom :isBack="true">
<block slot="content">Mes工位库库存变更</block>
</cu-custom>
<view class="example">
@ -13,8 +12,11 @@
<uni-easyinput v-model="this.skuCode" disabled/>
</uni-forms-item>
<uni-forms-item label="物料描述" name="skuName">
<textarea class="full-width-textarea" v-model="this.skuName" disabled/>
</uni-forms-item>
<view class="textarea">
<textarea class="full-width-textarea" v-model="this.skuName" disabled/>
</view>
<uni-forms-item label="工位" name="locCode">
<uni-easyinput v-model="this.locCode" disabled/>
</uni-forms-item>
@ -28,11 +30,13 @@
<uni-easyinput v-model="formData.amount" type="number" placeholder="请输入变更数量"/>
</uni-forms-item>
</uni-forms>
<view class="button-group">
<!-- <view class="button-group">
<button :disabled="isButtonDisabled" style="width: 100px;" @click="callAgv"></button>
</view>
</view> -->
</view>
<bottomBtn :isSubmit="true" :isWhite="false" position="fixed" :disable="isButtonDisabled"
:texts="['确认变更']" @onSubmit="callAgv"></bottomBtn>
<view class="cu-modal" :class="msgModalName=='Modal'?'show':''">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
@ -65,6 +69,7 @@
import {
formatDate
} from 'tough-cookie';
import {bottomBtn} from '@/components/bottomBtn/bottomBtn.vue'
export default {
data() {
return {
@ -195,6 +200,9 @@
msg: null
};
},
component:{
bottomBtn
},
onLoad() {
//
this.getSkuTypes()
@ -504,7 +512,101 @@
}
</script>
<style lang="scss">
<style scoped lang="scss">
.container {
background: rgb(242, 243, 245);
height: 100vh;
}
.uni-forms-item {
border-bottom: 1px solid #E5E6EB;
margin-bottom: 0;
padding: 24rpx 0;
}
::v-deep .uni-forms-item__label {
color: #1D2129;
font-size: 28rpx;
font-weight: 400;
}
::v-deep .uni-select {
border: 0px;
}
::v-deep.uni-select__input-placeholder {
font-size: 28rpx;
font-weight: 400;
color: #86909C;
}
.textarea{
background-color: #F2F3F5;
width: 100%;
}
::v-deep.full-width-textarea{
width: 100%!important;
border: unset!important;
}
::v-deep .is-input-border{
border: unset;
}
::v-deep .uni-easyinput__placeholder-class{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uni-input-input{
font-size: 28rpx;
}
::v-deep .uni-select__input-placeholder{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uniui-bottom{
display: none;
}
::v-deep .uniui-top{
display: none;
}
.fromItem{
display: flex;
align-items: center;
}
.example {
padding: 0 24rpx;
background-color: #fff;
width: 702rpx;
border-radius: 24rpx;
margin: 24rpx auto;
}
// /-#86909C
.sku-dropdown {
position: absolute;
z-index: 1000;
background: white;
border: 1px solid #ddd;
border-radius: 4px;
max-height: 200px;
overflow-y: auto;
width: 100%;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}
.dropdown-item {
padding: 8px 12px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #eee;
}
.dropdown-item:last-child {
border-bottom: none;
}
.dropdown-item:hover {
background-color: #f5f5f5;
}
.cu-form-group .title {
min-width: calc(4em + 15px);
}
@ -513,10 +615,7 @@
background-color: #ffffff;
}
.example {
padding: 15px;
background-color: #fff;
}
.segmented-control {
margin-bottom: 15px;
@ -541,23 +640,26 @@
line-height: 35px;
margin-left: 10px;
}
.switch-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #eee;
}
/* 输入框样式 */
.full-width-textarea {
width: calc(100vw - 260rpx); /* 直接扣除边距 */
padding: 20rpx;
box-sizing: border-box;
border: 2rpx solid #e5e5e5;
border-radius: 8rpx;
min-height: 200rpx;
font-size: 28rpx;
line-height: 1.5;
}
.switch-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border-bottom: 1px solid #eee;
}
/* 输入框样式 */
.full-width-textarea {
width: calc(100vw - 260rpx);
/* 直接扣除边距 */
padding: 20rpx;
box-sizing: border-box;
border: 2rpx solid #e5e5e5;
border-radius: 8rpx;
min-height: 200rpx;
font-size: 28rpx;
line-height: 1.5;
}
</style>

View File

@ -11,10 +11,9 @@
</uni-data-select>
<image style="width: 28rpx;" src="/static/images/right.png" mode="widthFix"></image>
</view>
</uni-forms-item>
<uni-forms-item label="物料类型" name="skuType">
<view class="fromItem">
<uni-data-select v-model="skuType" :localdata="skuTypeList" @change="changeSkuType"
placeholder="请选择物料类型">
@ -23,7 +22,7 @@
</view>
</uni-forms-item>
<uni-forms-item label="物料" name="skuCode">
<view class="fromItem">
<uni-easyinput v-model="skuInput" placeholder="输入物料码" @input="onSkuInput"
@focus="showSkuDropdown = true" @blur="handleSkuBlur" />
@ -35,13 +34,11 @@
</view>
<image style="width: 28rpx;" src="/static/images/right.png" mode="widthFix"></image>
</view>
</uni-forms-item>
<view class="textarea">
<textarea class="full-width-textarea" v-model="skuInfo">
<textarea class="full-width-textarea" v-model="skuInfo">
</textarea>
</view>
<uni-forms-item label="托盘编号" name="palletCode">
<view class="fromItem">
<uni-easyinput v-model="formData.palletCode" placeholder="请扫描托盘号" @blur="trimPalletInput" />
@ -63,16 +60,18 @@
<uni-forms-item label="批次" name="batch">
<!-- <uni-section :title="'日期用法:' + formData.batch" type="line"></uni-section> -->
<!-- <view class="example-body"> -->
<uni-datetime-picker type="date" :clear-icon="false" v-model="formData.batch" @maskClick="maskClick" />
<uni-datetime-picker type="date" :clear-icon="false" v-model="formData.batch"
@maskClick="maskClick" />
<!-- </view> -->
</uni-forms-item>
<uni-forms-item label="库区" name="warehouseArea" v-if="showWarehouseArea">
<uni-data-select v-model="formData.warehouseArea" :localdata="warehouseAreaList" placeholder="请选择库区" />
<uni-data-select v-model="formData.warehouseArea" :localdata="warehouseAreaList"
placeholder="请选择库区" />
</uni-forms-item>
</uni-forms>
<view class="switch-item">
<view class="uni-list-cell-db">{{callStatus}}</view>
<switch :checked="autoCall" @change="switchChange" />
<switch :checked="autoCall" @change="switchChange" />
</view>
<!-- <view class="button-group">
<button type="primary" style="width: 100px;" :disabled="isButtonDisabled"
@ -82,7 +81,7 @@
</view>
<bottomBtn :isDouble="true" :isSubmit="true" :isWhite="false" position="fixed" :disable="isButtonDisabled"
:texts="['组盘', '确认入库']" @onCancel="submitPallet" @onSubmit="callAgv"></bottomBtn>
:texts="['组盘', '确认入库']" @onCancel="submitPallet" @onSubmit="callAgv"></bottomBtn>
<view class="cu-modal" :class="msgModalName=='Modal'?'show':''">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
@ -106,7 +105,9 @@
getSkuTypes,
getLineCodes
} from "@/api/wms/sku.js"
import{queryAreaByLocCode} from "@/api/wms/palletDetailUnBind.js"
import {
queryAreaByLocCode
} from "@/api/wms/palletDetailUnBind.js"
import {
createPalletBySku,
callAgvIn
@ -117,7 +118,9 @@
import {
formatDate
} from 'tough-cookie';
import {bottomBtn} from '@/components/bottomBtn/bottomBtn.vue'
import {
bottomBtn
} from '@/components/bottomBtn/bottomBtn.vue'
export default {
data() {
return {
@ -132,7 +135,7 @@
skuInfo: "",
callStatus: "已开启自动呼叫空容器",
showWarehouseArea: false,
warehouseAreaList: [],
warehouseAreaList: [],
//
formData: {
lineCode: '',
@ -279,7 +282,7 @@
onReady() {
this.$refs.form.setRules(this.rules)
},
component:{
component: {
bottomBtn
},
watch: {
@ -299,8 +302,8 @@
// skuTypeList treeLevel
const typeObj = this.skuTypeList.find(item => item.value === newVal);
if (typeObj && typeObj.treeLevel === 1) {
this.showWarehouseArea = true;
} else {
this.showWarehouseArea = false;
@ -309,7 +312,7 @@
}
},
methods: {
maskClick(e){
maskClick(e) {
console.log('maskClick事件:', e);
},
onSkuInput(value) {
@ -341,20 +344,20 @@
//
async trimLocInput(event) {
this.formData.locCode = event.target.value.trim();
if(!this.formData.locCode) {
this.formData.locCode = event.target.value.trim();
if (!this.formData.locCode) {
//
this.$modal.msgError("请扫描货位编号")
return;
}
//
let res = await queryAreaByLocCode({
locCode: this.formData.locCode,
skuType: this.skuType,
});
this.warehouseAreaList = res.data.map(item => ({
value: item.locCode,
text: item.locName
@ -539,7 +542,7 @@
var data = {
locCode: this.formData.locCode,
palletCode: this.formData.palletCode,
warehouseArea:this.formData.warehouseArea,
warehouseArea: this.formData.warehouseArea,
autoCall: this.autoCall,
userCode: this.userCode,
warehouseCode: this.whCode
@ -616,46 +619,57 @@
font-weight: 400;
color: #86909C;
}
.textarea{
.textarea {
background-color: #F2F3F5;
width: 100%;
}
::v-deep.full-width-textarea{
width: 100%!important;
border: unset!important;
::v-deep.full-width-textarea {
width: 100% !important;
border: unset !important;
}
::v-deep .is-input-border{
::v-deep .is-input-border {
border: unset;
}
::v-deep .uni-easyinput__placeholder-class{
::v-deep .uni-easyinput__placeholder-class {
font-size: 28rpx;
color: #86909C;
}
::v-deep .uni-input-input{
::v-deep .uni-input-input {
font-size: 28rpx;
}
::v-deep .uni-select__input-placeholder{
::v-deep .uni-select__input-placeholder {
font-size: 28rpx;
color: #86909C;
}
::v-deep .uniui-bottom{
::v-deep .uniui-bottom {
display: none;
}
::v-deep .uniui-top{
::v-deep .uniui-top {
display: none;
}
.fromItem{
.fromItem {
display: flex;
align-items: center;
}
.example {
padding: 0 24rpx;
background-color: #fff;
width: 702rpx;
border-radius: 24rpx;
margin: 24rpx auto;
}
// /-#86909C
.sku-dropdown {
position: absolute;
@ -692,7 +706,7 @@
background-color: #ffffff;
}
.segmented-control {
margin-bottom: 15px;

View File

@ -1,7 +1,7 @@
<template>
<view class="container">
<cu-custom bgColor="bg-gradual-pink" :isBack="true">
<block slot="backText">返回</block>
<cu-custom :isBack="true">
<block slot="backText"></block>
<block slot="content">一码通组盘 AGV入库</block>
</cu-custom>
<view class="example">
@ -29,10 +29,10 @@
<uni-forms-item label="物料编号" name="skuCode">
<uni-easyinput v-model="formData.skuCode" disabled/>
</uni-forms-item>
<uni-forms-item label="" name="">
<textarea class="full-width-textarea" v-model="skuInfo" disabled >
</textarea >
</uni-forms-item>
<view class="textarea">
<textarea class="full-width-textarea" v-model="skuInfo" disabled>
</textarea>
</view>
<uni-forms-item label="物料数量" name="skuQty">
<uni-easyinput v-model="formData.skuQty" type="number" disabled />
</uni-forms-item>
@ -53,14 +53,15 @@
<view class="uni-list-cell-db">{{callStatus}}</view>
<switch :checked="autoCall" color="#0055ff" @change="switchChange" />
</view>
<view class="button-group">
<!-- <button type="warn" @click="toStart"></button> -->
<!-- <view class="button-group">
<button type="primary" style="width: 100px;" :disabled="isButtonDisabled"
@click="submitPallet">组盘</button>
<button :disabled="isButtonDisabled" style="width: 100px;" @click="callAgv"></button>
</view>
</view> -->
</view>
<bottomBtn :isDouble="true" :isSubmit="true" :isWhite="false" position="fixed" :disable="isButtonDisabled"
:texts="['组盘', '确认入库']" @onCancel="submitPallet" @onSubmit="callAgv"></bottomBtn>
<view class="cu-modal" :class="msgModalName=='Modal'?'show':''" >
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end">
@ -98,6 +99,7 @@
import {
debounce
} from 'lodash';
import {bottomBtn} from '@/components/bottomBtn/bottomBtn.vue'
export default {
data() {
return {
@ -230,6 +232,9 @@
msg: null
};
},
component:{
bottomBtn
},
onLoad() {
//
this.getSkuTypes();
@ -551,7 +556,65 @@
}
</script>
<style lang="scss">
<style scoped lang="scss">
.container {
background: rgb(242, 243, 245);
height: 100vh;
}
.uni-forms-item {
border-bottom: 1px solid #E5E6EB;
margin-bottom: 0;
padding: 24rpx 0;
}
::v-deep .uni-forms-item__label {
color: #1D2129;
font-size: 28rpx;
font-weight: 400;
}
::v-deep .uni-select {
border: 0px;
}
::v-deep.uni-select__input-placeholder {
font-size: 28rpx;
font-weight: 400;
color: #86909C;
}
.textarea{
background-color: #F2F3F5;
width: 100%;
}
::v-deep.full-width-textarea{
width: 100%!important;
border: unset!important;
}
::v-deep .is-input-border{
border: unset;
}
::v-deep .uni-easyinput__placeholder-class{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uni-input-input{
font-size: 28rpx;
}
::v-deep .uni-select__input-placeholder{
font-size: 28rpx;
color: #86909C;
}
::v-deep .uniui-bottom{
display: none;
}
::v-deep .uniui-top{
display: none;
}
.fromItem{
display: flex;
align-items: center;
}
.cu-form-group .title {
min-width: calc(4em + 15px);
}
@ -561,8 +624,12 @@
}
.example {
padding: 15px;
padding: 0 24rpx;
background-color: #fff;
width: 702rpx;
border-radius: 24rpx;
margin: 24rpx auto;
}
.segmented-control {
@ -596,33 +663,4 @@
padding: 10px;
border-bottom: 1px solid #eee;
}
.barcode {
width: 750rpx;
height: 700rpx;
background-color: #808080;
}
.btn {
top: 20rpx;
width: 730rpx;
margin-left: 10rpx;
margin-top: 10rpx;
background-color: #458B00;
border-radius: 10rpx;
}
/* 输入框样式 */
.full-width-textarea {
width: calc(100vw - 260rpx); /* 直接扣除边距 */
padding: 20rpx;
box-sizing: border-box;
border: 2rpx solid #e5e5e5;
border-radius: 8rpx;
min-height: 200rpx;
font-size: 28rpx;
line-height: 1.5;
}
</style>

View File

@ -7,7 +7,6 @@
<view class="example">
<uni-forms ref="form" :model="formData" labelWidth="80px">
<uni-card>注意余料出库后请人工拉走系统会自动清除托盘信息</uni-card>
<uni-forms-item label="货位编号" name="locCode">
<view class="fromItem">
<uni-easyinput v-model="formData.locCode" placeholder="请扫描货位编号" @blur="trimLocInput" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -61,28 +61,28 @@
"name": "surplusOut",
"title": "余料出库",
"color": "red",
"icon": "cuIcon-forward"
"icon": "/static/images/work/组合 1762.png"
},
{
"path": "/pages/work/wms/skuCreatePalletByCode",
"name": "skuCreatePalletByCode",
"title": "一码通入库APP",
"color": "red",
"icon": "cuIcon-qr_code"
"icon": "/static/images/work/组合 1752.png"
},
{
"path": "/pages/work/wms/mesStockChange",
"name": "mesStockChange",
"title": "Mes工位库库存变更",
"color": "red",
"icon": "cuIcon-exit"
"icon": "/static/images/work/组合 1763.png"
},
{
"path": "/pages/work/wms/emptyPalletIn",
"name": "emptyPalletIn",
"title": "空容器入库",
"color": "red",
"icon": "cuIcon-forwardfill"
"icon": "/static/images/work/组合 1758.png"
}
],
"msg": "成功"