常熟吴彦祖 4 months ago
parent
commit
f9f3a5c59a
  1. 5
      package.json
  2. 303
      src/assets/scss/global.scss
  3. 3
      src/router/index.js
  4. 16
      src/views/main.vue
  5. 57
      src/views/modules/automatedWarehouse/callOut.vue
  6. 57
      src/views/modules/automatedWarehouse/demo.vue

5
package.json

@ -27,17 +27,18 @@
"gulp-replace": "1.0.0", "gulp-replace": "1.0.0",
"gulp-shell": "0.8.0", "gulp-shell": "0.8.0",
"lodash": "4.17.5", "lodash": "4.17.5",
"moment": "^2.30.1",
"node-sass": "4.14.1", "node-sass": "4.14.1",
"npm": "^6.9.0", "npm": "^6.9.0",
"pubsub-js": "^1.9.3", "pubsub-js": "^1.9.3",
"sass-loader": "6.0.6", "sass-loader": "6.0.6",
"svg-sprite-loader": "3.7.3", "svg-sprite-loader": "3.7.3",
"vant": "^2.12.54",
"vue": "2.5.16", "vue": "2.5.16",
"vue-cookie": "1.1.4", "vue-cookie": "1.1.4",
"vue-i18n": "^8.27.0", "vue-i18n": "^8.27.0",
"vue-router": "3.0.1", "vue-router": "3.0.1",
"vuex": "3.0.1",
"vant": "^2.12.54"
"vuex": "3.0.1"
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "7.1.2", "autoprefixer": "7.1.2",

303
src/assets/scss/global.scss

@ -540,3 +540,306 @@ a:hover{
} }
} }
//------------------0918
.pda-container {
background: #f5f5f5;
min-height: 100vh;
padding-bottom: 20px;
}
/* 头部栏 - 参考原有样式 */
.header-bar {
display: flex;
justify-content: space-between;
align-items: center;
background: #17b3a3;
color: #fff;
padding: 12px 16px;
font-size: 16px;
}
.header-left {
display: flex;
align-items: center;
cursor: pointer;
}
.header-left i {
margin-right: 8px;
font-size: 18px;
}
.header-right {
cursor: pointer;
}
/* 搜索容器 */
.search-container {
padding: 12px 16px;
background: white;
}
.search-container .el-input {
font-size: 16px;
}
/* RMA明细选择 */
.rma-list {
padding: 0 16px;
}
.list-title {
font-size: 16px;
font-weight: bold;
color: #17b3a3;
margin: 12px 0 8px 0;
}
.rma-row {
margin-bottom: 8px;
}
.rma-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px;
background: white;
border-radius: 6px;
cursor: pointer;
border: 1px solid #e0e0e0;
min-height: 60px;
}
.rma-item.selected {
border-color: #17b3a3;
background: #f0f9ff;
}
.rma-item:active {
background: #e6f7ff;
}
.item-info {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.part-no {
font-size: 16px;
font-weight: bold;
color: #333;
margin-bottom: 4px;
}
.batch-qty {
font-size: 14px;
color: #666;
}
.item-status {
font-size: 20px;
color: #17b3a3;
}
/* 退货明细列表 */
.return-list-title {
font-size: 16px;
font-weight: bold;
color: #17b3a3;
margin: 12px 16px 8px 16px;
}
.detail-card {
margin: 0 16px 12px 16px;
}
.detail-header {
font-weight: bold;
font-size: 15px;
color: #333;
border-left: 4px solid #17b3a3;
padding-left: 8px;
}
/* 明细信息显示 */
.detail-info {
margin-bottom: 12px;
}
.info-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 6px 0;
border-bottom: 1px solid #f0f0f0;
}
.info-row:last-child {
border-bottom: none;
}
.info-label {
font-size: 14px;
color: #666;
font-weight: 500;
}
.info-value {
font-size: 14px;
color: #333;
font-weight: 500;
}
/* 包装单元区域 */
.pack-unit-area {
margin-top: 0;
padding: 12px;
background: #f8f9fa;
border-radius: 6px;
}
.pack-actions {
margin-bottom: 8px;
}
.action-group {
margin-bottom: 10px;
}
.action-group:last-child {
margin-bottom: 0;
}
.action-title {
font-size: 13px;
color: #17b3a3;
font-weight: 500;
margin-bottom: 6px;
}
.action-group .el-input {
height: 32px;
}
.action-group .el-button {
height: 32px;
font-size: 12px;
padding: 8px 12px;
}
.pack-list {
margin-top: 8px;
}
.pack-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px;
margin-bottom: 6px;
background: white;
border-radius: 4px;
border: 1px solid #e0e0e0;
font-size: 13px;
}
.status-ok {
color: #67C23A;
font-weight: bold;
font-size: 16px;
}
.status-wait {
color: #E6A23C;
font-weight: bold;
font-size: 16px;
}
.delete-btn {
color: #F56C6C;
padding: 0;
font-size: 12px;
}
/* 库位区域 */
.location-section {
margin: 16px;
padding: 16px;
background: white;
border-radius: 6px;
}
.section-label {
font-size: 16px;
font-weight: bold;
color: #17b3a3;
margin-bottom: 12px;
}
.location-input {
font-size: 16px;
}
.location-input .el-input__inner {
height: 44px;
font-size: 16px;
}
/* 提交按钮 */
.submit-btn {
width: calc(100% - 32px);
margin: 16px 16px 12px 16px;
height: 44px;
font-size: 16px;
background: #17b3a3;
border-color: #17b3a3;
border-radius: 6px;
}
.submit-btn:hover {
background: #15a093;
border-color: #15a093;
}
/* PDA适配 - 增大触摸目标 */
.el-input__inner {
height: 44px;
font-size: 16px;
padding: 0 15px;
}
.el-button {
min-height: 40px;
padding: 10px 16px;
font-size: 14px;
}
.el-button--primary {
background-color: #17b3a3;
border-color: #17b3a3;
}
.el-button--primary:hover {
background-color: #15a093;
border-color: #15a093;
}
/* 表单项间距优化 */
.el-form-item {
margin-bottom: 12px;
}
.el-form-item__label {
font-size: 14px;
color: #333;
font-weight: 500;
}
/* 主内容区域 */
.main-content {
padding-bottom: 12px;
}

3
src/router/index.js

@ -90,6 +90,9 @@ const globalRoutes = [
// 运输任务 // 运输任务
{path: "/transportation",name: "transportation", component: resolve => require(["@/views/modules/transport-task/index.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, {path: "/transportation",name: "transportation", component: resolve => require(["@/views/modules/transport-task/index.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}},
// 立库-Call料
{path: "/callOut",name: "callOut", component: resolve => require(["@/views/modules/automatedWarehouse/callOut.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}},
] ]
// 主入口路由(需嵌套上左右整体布局) // 主入口路由(需嵌套上左右整体布局)

16
src/views/main.vue

@ -147,6 +147,22 @@
</div> </div>
</div> </div>
</div> </div>
<div class="section">
<div class="section-header">
<span class="bullet"></span>
<span class="section-title">立库操作</span>
</div>
<div class="button-grid">
<div class="menu-item" @click="navigateWithWarehouseCheck('porecv')">
<div class="menu-icon purchase">
<van-icon name="shopping-cart-o" size="24" />
</div>
<div class="menu-text">Call料</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>

57
src/views/modules/automatedWarehouse/callOut.vue

@ -0,0 +1,57 @@
<template>
<div>
<div class="pda-container">
<!-- 头部栏 -->
<div class="header-bar">
<div class="header-left" @click="handleBack">
<i class="el-icon-arrow-left"></i>
<span>Call料</span>
</div>
<div class="header-right" @click="$router.push({ path: '/' })">
首页
</div>
</div>
<!-- 搜索框 -->
<!-- <div class="search-container">-->
<!-- -->
<!-- </div>-->
<div class="main-content">
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
scanRma: "",
rmaList: [],
returnList: [], // 退
selectedDetail: null, // RMA
processType: "inbound", //
site:localStorage.getItem('site')
};
},
computed: {
},
methods: {
handleBack() {
this.$router.back();
},
},
mounted() {
this.$nextTick(() => this.$refs.scanRmaRef && this.$refs.scanRmaRef.focus());
}
};
</script>
<style scoped>
</style>

57
src/views/modules/automatedWarehouse/demo.vue

@ -0,0 +1,57 @@
<template>
<div>
<div class="pda-container">
<!-- 头部栏 -->
<div class="header-bar">
<div class="header-left" @click="handleBack">
<i class="el-icon-arrow-left"></i>
<span>Call料</span>
</div>
<div class="header-right" @click="$router.push({ path: '/' })">
首页
</div>
</div>
<!-- 搜索框 -->
<!-- <div class="search-container">-->
<!-- -->
<!-- </div>-->
<div class="main-content">
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
scanRma: "",
rmaList: [],
returnList: [], // 退
selectedDetail: null, // RMA
processType: "inbound", //
site:localStorage.getItem('site')
};
},
computed: {
},
methods: {
handleBack() {
this.$router.back();
},
},
mounted() {
this.$nextTick(() => this.$refs.scanRmaRef && this.$refs.scanRmaRef.focus());
}
};
</script>
<style scoped>
</style>
Loading…
Cancel
Save