Kaynağa Gözat

更新

master
朱文强 10 ay önce
ebeveyn
işleme
7d6a40d91c
26 değiştirilmiş dosya ile 535 ekleme ve 67 silme
  1. +8
    -1
      .env.prod
  2. +1
    -1
      public/index.html
  3. +11
    -0
      public/loge_ys1.svg
  4. +1
    -1
      src/api/axl/task.js
  5. +28
    -1
      src/api/axl/warehousestorehouse.js
  6. BIN
      src/assets/log1.jpg
  7. +11
    -0
      src/assets/loge_ys1.svg
  8. +1
    -0
      src/assets/logo_ys.svg
  9. BIN
      src/assets/标识1.jpg
  10. BIN
      src/assets/标识5.jpg
  11. +2
    -2
      src/components/Verifition/Verify/VerifyPoints.vue
  12. +2
    -2
      src/components/Verifition/Verify/VerifySlide.vue
  13. +3
    -3
      src/layout/components/Sidebar/Logo.vue
  14. +13
    -1
      src/views/axl/alarmLog/index.vue
  15. +14
    -26
      src/views/axl/alarmLog/index1.vue
  16. +1
    -1
      src/views/axl/mixins/basic-page.js
  17. +3
    -3
      src/views/axl/mixins/code-filter.js
  18. +46
    -5
      src/views/axl/task/add-or-updata.vue
  19. +1
    -0
      src/views/axl/task/attr-add.vue
  20. +8
    -1
      src/views/axl/task/index.vue
  21. +79
    -0
      src/views/axl/warehouseLocationMonitoring/add-or-updata.vue
  22. +278
    -0
      src/views/axl/warehouseLocationMonitoring/index.vue
  23. +2
    -2
      src/views/axl/warehouseStorehouseProducts/good-mini.vue
  24. +14
    -5
      src/views/axl/warehouseStorehouseRecord/index.vue
  25. +3
    -7
      src/views/axl/warehousestorehouse/index.vue
  26. +5
    -5
      src/views/login.vue

+ 8
- 1
.env.prod Dosyayı Görüntüle

@@ -1,3 +1,10 @@
###
# @Author: zwq
# @Date: 2023-09-14 13:44:22
# @LastEditors: zwq
# @LastEditTime: 2023-10-26 14:40:04
# @Description:
###
# 生产环境配置
ENV = 'production'

@@ -9,7 +16,7 @@ VUE_APP_BASE_API = '/prod-api'

# 根据服务器或域名修改
# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
PUBLIC_PATH = 'http://192.168.0.33:8888/'
PUBLIC_PATH = 'http://192.168.0.127:8888/'

# 二级部署路径
VUE_APP_APP_NAME ='yudao-admin'


+ 1
- 1
public/index.html Dosyayı Görüntüle

@@ -7,7 +7,7 @@
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<link rel="icon" href="<%= BASE_URL %>loge_ys1.svg" />
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]>
<script>


+ 11
- 0
public/loge_ys1.svg Dosyayı Görüntüle

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 29.83">
<defs>
<style>.cls-1{fill:#0075c2;}.cls-2{fill:#1e2380;}</style>
</defs>
<title>资源 1</title>
<g id="图层_2" data-name="图层 2">
<g id="图层_1-2" data-name="图层 1">
<polygon class="cls-1" points="21.5 11.91 41.38 23.71 34.7 0 25.65 0 21.5 2.87 17.37 0 8.3 0 1.68 23.73 21.5 11.91"/>
<polygon class="cls-2" points="21.5 14.87 0 29.77 21.5 29.77 43 29.77 21.5 14.87"/>
</g></g>
</svg>

+ 1
- 1
src/api/axl/task.js Dosyayı Görüntüle

@@ -32,7 +32,7 @@ export function getTask(id) {
url: '/axl/task/get?id=' + id,
method: 'get'
})
}// 获得出入库任务
}// 执行任务
export function runTask(id) {
return request({
url: '/axl/task/runtask?id=' + id,


+ 28
- 1
src/api/axl/warehousestorehouse.js Dosyayı Görüntüle

@@ -1,3 +1,10 @@
/*
* @Author: zwq
* @Date: 2023-09-13 16:08:14
* @LastEditors: zwq
* @LastEditTime: 2023-11-01 16:16:19
* @Description:
*/
import request from '@/utils/request'

// 创建立库库位
@@ -33,7 +40,20 @@ export function getWarehousestorehouse(id) {
method: 'get'
})
}

// 获得立库库位上货物列表
export function getProductList(id) {
return request({
url: '/axl/warehousestorehouse/getProductList?id=' + id,
method: 'get'
})
}
// 出库
export function outWare(id) {
return request({
url: '/axl/warehousestorehouse/out?id=' + id,
method: 'get'
})
}
// 获得立库库位分页
export function getWarehousestorehousePage(query) {
return request({
@@ -43,6 +63,13 @@ export function getWarehousestorehousePage(query) {
})
}

// 获得立库库位分页
export function getWarehousestorehouseList() {
return request({
url: '/axl/warehousestorehouse/list',
method: 'get',
})
}
// 导出立库库位 Excel
export function exportWarehousestorehouseExcel(query) {
return request({


BIN
src/assets/log1.jpg Dosyayı Görüntüle

Önce Sonra
Genişlik: 190  |  Yükseklik: 131  |  Boyut: 13 KiB

+ 11
- 0
src/assets/loge_ys1.svg Dosyayı Görüntüle

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 29.83">
<defs>
<style>.cls-1{fill:#0075c2;}.cls-2{fill:#1e2380;}</style>
</defs>
<title>资源 1</title>
<g id="图层_2" data-name="图层 2">
<g id="图层_1-2" data-name="图层 1">
<polygon class="cls-1" points="21.5 11.91 41.38 23.71 34.7 0 25.65 0 21.5 2.87 17.37 0 8.3 0 1.68 23.73 21.5 11.91"/>
<polygon class="cls-2" points="21.5 14.87 0 29.77 21.5 29.77 43 29.77 21.5 14.87"/>
</g></g>
</svg>

+ 1
- 0
src/assets/logo_ys.svg
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


BIN
src/assets/标识1.jpg Dosyayı Görüntüle

Önce Sonra
Genişlik: 990  |  Yükseklik: 131  |  Boyut: 58 KiB

BIN
src/assets/标识5.jpg Dosyayı Görüntüle

Önce Sonra
Genişlik: 1441  |  Yükseklik: 136  |  Boyut: 79 KiB

+ 2
- 2
src/components/Verifition/Verify/VerifyPoints.vue Dosyayı Görüntüle

@@ -151,7 +151,7 @@ export default {
this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1
this.getPictrue()
//this.getPictrue()
this.$nextTick(() => {
this.setSize = this.resetSize(this) // 重新设置宽度高度
this.$parent.$emit('ready', this)
@@ -222,7 +222,7 @@ export default {
this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1
this.getPictrue()
//this.getPictrue()
this.showRefresh = true
},



+ 2
- 2
src/components/Verifition/Verify/VerifySlide.vue Dosyayı Görüntüle

@@ -184,7 +184,7 @@ export default {
methods: {
init() {
this.text = this.explain
this.getPictrue()
//this.getPictrue()
this.$nextTick(() => {
const setSize = this.resetSize(this) // 重新设置宽度高度
for (const key in setSize) {
@@ -344,7 +344,7 @@ export default {
this.iconClass = 'icon-right'
this.isEnd = false

this.getPictrue()
//this.getPictrue()
setTimeout(() => {
this.transitionWidth = ''
this.transitionLeft = ''


+ 3
- 3
src/layout/components/Sidebar/Logo.vue Dosyayı Görüntüle

@@ -46,7 +46,7 @@
</template>

<script>
import logoImg from '@/assets/logo/logo.png';
import logoImg from '@/assets/loge_ys1.svg';
import variables from '@/assets/styles/variables.scss';

export default {
@@ -67,7 +67,7 @@ export default {
},
data() {
return {
title: '中建材智能化院',
title: '中国联合工程',
logo: logoImg,
};
},
@@ -98,7 +98,7 @@ export default {
width: 100%;

& .sidebar-logo {
width: 32px;
width: 45px;
height: 40px;
vertical-align: middle;
margin-right: 12px;


+ 13
- 1
src/views/axl/alarmLog/index.vue Dosyayı Görüntüle

@@ -1,6 +1,7 @@
<template>
<div class="app-container">
<search-bar
:isFold="true"
:formConfigs="formConfig"
ref="searchBarForm"
@headBtnClick="buttonClick" />
@@ -22,6 +23,7 @@
import basicPage from '../mixins/basic-page';
import { parseTime } from '../mixins/code-filter';
import { getAlarmLogPage } from "@/api/axl/alarmLog";
import {getDictDatas} from "@/utils/dict";

const tableProps = [
{
@@ -146,7 +148,17 @@ export default {
};
},
components: {},
created() {},
created() {
// let mainTaskType = []
// this.getDictDatas('alarmType').forEach(item => {
// const obj = {
// name: item.label,
// id: item.value
// }
// mainTaskType.push(obj)
// });
// this.formConfig[2].selectOptions = mainTaskType
},
methods: {
buttonClick(val) {
switch (val.btnName) {


+ 14
- 26
src/views/axl/alarmLog/index1.vue Dosyayı Görüntüle

@@ -11,23 +11,20 @@
</el-form-item>
<el-form-item label="报警类型" prop="alarmType">
<el-select v-model="queryParams.alarmType" placeholder="请选择报警类型" clearable size="small">
<el-option label="请选择字典生成" value="" />
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ALARMTYPE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="报警内容" prop="alarmContent">
<el-input v-model="queryParams.alarmContent" placeholder="请输入报警内容" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="更新时间" prop="updateDate">
<el-date-picker v-model="queryParams.updateDate" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@@ -52,20 +49,19 @@
<el-table-column label="id 主键" align="center" prop="id" />
<el-table-column label="报警编码" align="center" prop="alarmCode" />
<el-table-column label="报警级别" align="center" prop="alarmGrade" />
<el-table-column label="报警类型" align="center" prop="alarmType" />
<el-table-column label="报警类型" align="center" prop="alarmType">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.ALARMTYPE" :value="scope.row.alarmType" />
</template>
</el-table-column>
<el-table-column label="报警内容" align="center" prop="alarmContent" />
<el-table-column label="解决办法" align="center" prop="solution" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateDate" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.updateDate) }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -90,7 +86,8 @@
</el-form-item>
<el-form-item label="报警类型" prop="alarmType">
<el-select v-model="form.alarmType" placeholder="请选择报警类型">
<el-option label="请选择字典生成" value="" />
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.ALARMTYPE)"
:key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="报警内容" prop="alarmContent">
@@ -99,12 +96,6 @@
<el-form-item label="解决办法" prop="solution">
<el-input v-model="form.solution" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker clearable v-model="form.createTime" type="date" value-format="timestamp" placeholder="选择创建时间" />
</el-form-item>
<el-form-item label="更新时间" prop="updateDate">
<el-date-picker clearable v-model="form.updateDate" type="date" value-format="timestamp" placeholder="选择更新时间" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
@@ -149,9 +140,8 @@ export default {
alarmType: null,
alarmContent: null,
solution: null,
createTime: [],
updateDate: [],
remark: null,
createTime: [],
},
// 表单参数
form: {},
@@ -190,8 +180,6 @@ export default {
alarmType: undefined,
alarmContent: undefined,
solution: undefined,
createTime: undefined,
updateDate: undefined,
remark: undefined,
};
this.resetForm("form");


+ 1
- 1
src/views/axl/mixins/basic-page.js Dosyayı Görüntüle

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2022-08-24 11:19:43
* @LastEditors: zwq
* @LastEditTime: 2023-09-25 14:17:42
* @LastEditTime: 2023-11-01 16:46:42
* @Description:
*/
export default {


+ 3
- 3
src/views/axl/mixins/code-filter.js Dosyayı Görüntüle

@@ -2,7 +2,7 @@
/*
* @Date: 2020-12-29 16:49:28
* @LastEditors: zwq
* @LastEditTime: 2023-09-25 14:12:33
* @LastEditTime: 2023-10-30 16:24:02
* @FilePath: \basic-admin\src\filters\basicData\index.js
* @Description:
*/
@@ -48,8 +48,8 @@ const table = {
2: '是',
},
postition:{
1: '外',
0: '里面',
1: '外',
0: '内侧',
},
empty:{
1: '占用',


+ 46
- 5
src/views/axl/task/add-or-updata.vue Dosyayı Görüntüle

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2023-09-22 14:23:44
* @LastEditors: zwq
* @LastEditTime: 2023-09-25 14:50:41
* @LastEditTime: 2023-10-30 16:46:29
* @Description:
-->
<template>
@@ -36,12 +36,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="mainTaskType">
<el-form-item label="任务类型" prop="mainTaskType">
<el-select
v-model="dataForm.mainTaskType"
style="width: 100%"
:disabled="isdetail"
placeholder="请选择类型">
placeholder="请选择任务类型">
<el-option
v-for="item in mainTaskType"
:key="item.id"
@@ -50,6 +50,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="货物类型" prop="productType">
<el-input
v-model="dataForm.productType"
:disabled="isdetail"
placeholder="请输入货物类型" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status" v-if="dataForm.id">
<el-select
@@ -65,7 +73,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-if='false'>
<el-form-item label="任务来源" prop="source">
<el-select
v-model="dataForm.source"
@@ -112,6 +120,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input
v-model="dataForm.remark"
:disabled="isdetail"
placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>

@@ -191,6 +207,18 @@ const tableProps = [
align: 'center',
subcomponent: inputArea,
},
{
prop: 'dateNum',
label: '批次号',
align: 'center',
subcomponent: inputArea,
},
{
prop: 'remark',
label: '备注',
align: 'center',
subcomponent: inputArea,
},
];

const mainTaskType = [
@@ -206,6 +234,14 @@ const mainTaskType = [
name: '移库',
id: 3,
},
{
name: '越库',
id: 4,
},
{
name: '盘点',
id: 5,
},
];
const mainTaskStatus = [
{
@@ -248,11 +284,13 @@ export default {
dataForm: {
id: null,
mainTaskType: '',
productType: '',
mainTaskCode: '',
startInfo: '',
endInfo: '',
status: '',
source: 2,
remark: '',
// source: 2,
},
listQuery: {
pageSize: 10,
@@ -424,6 +462,9 @@ export default {
padding: 0;
}

.drawer >>> .el-form-item {
margin: 0;
}
.drawer >>> .el-drawer__header {
margin: 0;
padding: 32px 32px 24px;


+ 1
- 0
src/views/axl/task/attr-add.vue Dosyayı Görüntüle

@@ -78,6 +78,7 @@ export default {
},
// 表单提交
dataFormSubmit() {
this.dataForm.productInfo.remark = ''
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.dataForm.productInfo.productId = this.dataForm.productInfo.id


+ 8
- 1
src/views/axl/task/index.vue Dosyayı Görüntüle

@@ -1,6 +1,7 @@
<template>
<div class="app-container">
<search-bar
:isFold="true"
:formConfigs="formConfig"
ref="searchBarForm"
@headBtnClick="buttonClick" />
@@ -34,6 +35,10 @@
? '出库'
: scope.row.mainTaskType === 3
? '移库'
: scope.row.mainTaskType === 4
? '越库'
: scope.row.mainTaskType === 5
? '盘点'
: '-'
}}
</span>
@@ -56,6 +61,7 @@
</span>
</template>
</el-table-column>
<el-table-column label="货物类型" align="center" prop="productType" />
<el-table-column label="任务来源" align="center" prop="source">
<template slot-scope="scope">
<span>
@@ -74,6 +80,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center">
<template v-slot="scope">
<el-button
@@ -244,7 +251,7 @@ export default {
this.dataListLoading = true;
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
this.tableData = response.data.list;
this.total = response.data.total;
this.listQuery.total = response.data.total;
this.dataListLoading = false;
});
},


+ 79
- 0
src/views/axl/warehouseLocationMonitoring/add-or-updata.vue Dosyayı Görüntüle

@@ -0,0 +1,79 @@
<!--
* @Author: zwq
* @Date: 2021-11-18 14:16:25
* @LastEditors: zwq
* @LastEditTime: 2023-11-01 16:35:29
* @Description:
-->
<template>
<base-table
:table-props="tableProps"
:page="listQuery.pageNo"
:limit="listQuery.pageSize"
:height="300"
:table-data="tableData" />
</template>

<script>
import { getProductList,outWare } from '@/api/axl/warehousestorehouse';

const tableProps = [
{
prop: 'productName',
label: '货物名',
align: 'center',
},
{
prop: 'productCode',
label: '货物编码',
align: 'center',
},
{
prop: 'number',
label: '数量',
align: 'center',
},
{
prop: 'dateNum',
label: '批次号',
align: 'center',
},
{
prop: 'remark',
label: '备注',
align: 'center',
},
];
export default {
data() {
return {
tableData: [],
tableProps,
listQuery: {
pageSize: 10,
pageNo: 1,
total: 1,
},
wareId: '',
dataListLoading: false,
};
},
methods: {
// 获取数据列表
init(id) {
this.wareId = id;
this.dataListLoading = true;
getProductList(id).then((response) => {
this.tableData = response.data;
this.dataListLoading = false;
});
},
outWare() {
outWare(this.wareId).then((response) => {
this.visible = false;
this.$emit('refreshDataList');
});
},
},
};
</script>

+ 278
- 0
src/views/axl/warehouseLocationMonitoring/index.vue Dosyayı Görüntüle

@@ -0,0 +1,278 @@
<!--
* @Author: zwq
* @Date: 2023-08-21 14:26:23
* @LastEditors: zwq
* @LastEditTime: 2023-11-01 16:55:35
* @Description:
-->
<template>
<div class="app-container">
<search-bar
:formConfigs="formConfig"
ref="searchBarForm"
@headBtnClick="buttonClick" />
<div class="tips">
<el-tag effect="dark" color="#16DC09" style="border: none">空</el-tag>
<el-tag effect="dark" color="#FFA08F" style="border: none">锁</el-tag>
<el-tag effect="dark" color="#7362F3" style="border: none">满</el-tag>
</div>
<div class="mainbody">
<div v-for="i in Object.keys(wareData)" :key="i">
<el-row>
<el-col :span="24">
<el-row type="flex" class="flex-warp">
<div
@click="
getProductList(a.id, a.warehouseStorehouseName, a.status)
"
class="dashboard-layout-item"
v-for="a in wareData[i][4]"
:key="a.id + a.warehouseStorehouseCode"
:title="a.warehouseStorehouseName"
style="background: #fff8e8; float: left">
<div
class="dashboard-layout-item-cricle"
:style="{
background: bgColor[a.status],
}" />
<p class="p-name">{{ a.warehouseStorehouseName }}</p>
</div>
</el-row>
<el-row type="flex" class="flex-warp">
<div
@click="
getProductList(a.id, a.warehouseStorehouseName, a.status)
"
class="dashboard-layout-item"
v-for="a in wareData[i][3]"
:key="a.id + a.warehouseStorehouseCode"
:title="a.warehouseStorehouseName"
style="background: #fff8e8; float: left">
<div
class="dashboard-layout-item-cricle"
:style="{
background: bgColor[a.status],
}" />
<p class="p-name">{{ a.warehouseStorehouseName }}</p>
</div>
</el-row>
</el-col>
</el-row>
<el-divider class="divider" content-position="left">
第{{ i }}层
</el-divider>
<el-row>
<el-col :span="24">
<el-row type="flex" class="flex-warp">
<div
@click="
getProductList(a.id, a.warehouseStorehouseName, a.status)
"
class="dashboard-layout-item"
v-for="a in wareData[i][2]"
:style="{ marginRight: a.id === 1 ? '131px' : '' }"
:key="a.id + a.warehouseStorehouseCode"
:title="a.warehouseStorehouseName"
style="background: #fff8e8; float: left">
<div
class="dashboard-layout-item-cricle"
:style="{
background: bgColor[a.status],
}" />
<p class="p-name">{{ a.warehouseStorehouseName }}</p>
</div>
</el-row>
<el-row type="flex" class="flex-warp">
<div
@click="
getProductList(a.id, a.warehouseStorehouseName, a.status)
"
class="dashboard-layout-item"
v-for="a in wareData[i][1]"
:key="a.id + a.warehouseStorehouseCode"
:title="a.warehouseStorehouseName"
style="background: #fff8e8; float: left">
<div
class="dashboard-layout-item-cricle"
:style="{
background: bgColor[a.status],
}" />
<p class="p-name">{{ a.warehouseStorehouseName }}</p>
</div>
</el-row>
</el-col>
</el-row>
</div>
</div>
<base-dialog
:dialogTitle="addOrEditTitle"
:dialogVisible="addOrUpdateVisible"
:before-close="handleCancel"
width="40%">
<add-or-update
ref="addOrUpdate"
@refreshDataList="successSubmit"></add-or-update>
<slot name="footer">
<el-row slot="footer" type="flex" justify="end">
<el-col :span="24">
<el-button size="small" class="btnTextStyle" @click="handleCancel">
取消
</el-button>
<el-button
type="primary"
class="btnTextStyle"
size="small"
:disabled="!isOut"
@click="outWare">
出库
</el-button>
</el-col>
</el-row>
</slot>
</base-dialog>
</div>
</template>

<script>
import AddOrUpdate from './add-or-updata';
import basicPage from '../mixins/basic-page';
import { getWarehousestorehouseList } from '@/api/axl/warehousestorehouse';

export default {
mixins: [basicPage],
data() {
return {
urlOptions: {
getDataListURL: getWarehousestorehouseList,
},
listQuery: {
pageSize: 500,
},
wareData: {},
isOut: false,
bgColor: ['#16DC09', '#FFA08F', '#7362F3'],
formConfig: [
{
type: 'button',
btnName: '刷新',
name: 'search',
color: 'primary',
},
],
};
},
components: { AddOrUpdate },
created() {},
methods: {
// 获取数据列表
getDataList() {
this.dataListLoading = true;
(this.wareData = {}),
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
this.wareData = response.data;
this.dataListLoading = false;
});
},
buttonClick(val) {
switch (val.btnName) {
case 'search':
this.getDataList();
break;
case 'export':
this.handleExport();
break;
default:
console.log(val);
}
},
getProductList(id, name, status) {
if (status === 2) {
this.isOut = true;
} else {
this.isOut = false;
}
this.addOrEditTitle = name + ' -库位详情';
this.addOrUpdateVisible = true;
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id);
});
},
handleCancel() {
this.addOrUpdateVisible = false;
this.addOrEditTitle = '';
},
outWare() {
this.$confirm(`确定对此库位进行出库操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$refs.addOrUpdate.outWare();
})
.catch(() => {});
},
},
};
</script>

<style lang="scss" scoped>
.mainbody {
display: flex;
gap: 55px;
flex-direction: column;
}
.flex-warp {
flex-wrap: nowrap;
justify-content: flex-end;
}
.dashboard-layout-item {
width: 100px;
text-align: center;
height: 32px;
box-shadow: 0px 3px 6px 0px rgba(166, 174, 190, 0.8);
border-radius: 2px 4px 4px 2px;
margin: 0 3px 8px 0;
display: flex;
align-items: center;
justify-content: center;
position: relative;
.dashboard-layout-item-cricle {
display: inline-block;
width: 12px;
height: 12px;
border-radius: 6px;
position: absolute;
top: 10px;
left: 3px;
}
.p-name {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-left: 15px;
}
&:hover {
cursor: pointer;
z-index: 10;
transform: scale(1.3) translateZ(0);
}
&:nth-child(n) {
margin-right: 15px;
}
&:last-child {
margin-right: 8%;
}
}
.el-divider--horizontal {
margin: 10px 0;
}
.el-divider {
background-color: black;
}
.tips {
position: absolute;
top: 22px;
left: 120px;
}
</style>

+ 2
- 2
src/views/axl/warehouseStorehouseProducts/good-mini.vue Dosyayı Görüntüle

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2023-08-24 14:47:58
* @LastEditors: zwq
* @LastEditTime: 2023-09-25 13:54:35
* @LastEditTime: 2023-11-01 16:48:22
* @Description:
-->
<template>
@@ -81,7 +81,7 @@ export default {
this.dataListLoading = true;
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
this.tableData = response.data.list;
this.total = response.data.total;
this.listQuery.total = response.data.total;
this.dataListLoading = false;
});
},


+ 14
- 5
src/views/axl/warehouseStorehouseRecord/index.vue Dosyayı Görüntüle

@@ -30,7 +30,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="类型" align="center" prop="type">
<el-table-column label="任务类型" align="center" prop="type">
<template v-slot="scope">
<span>
{{
@@ -45,6 +45,7 @@
</span>
</template>
</el-table-column>
<el-table-column label="货物类型" align="center" prop="productType" />
<el-table-column label="起点库位名称" align="center" prop="startName" />
<el-table-column label="终点库位名称" align="center" prop="endName" />
<el-table-column label="备注" align="center" prop="remark" />
@@ -87,12 +88,20 @@ const mainTaskType = [
id: 1,
},
{
name: '库',
name: '库',
id: 2,
},
{
name: '出库',
id: 0,
name: '移库',
id: 3,
},
{
name: '越库',
id: 4,
},
{
name: '盘点',
id: 5,
},
];
export default {
@@ -165,7 +174,7 @@ export default {
this.dataListLoading = true;
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
this.tableData = response.data.list;
this.total = response.data.total;
this.listQuery.total = response.data.total;
this.dataListLoading = false;
});
},


+ 3
- 7
src/views/axl/warehousestorehouse/index.vue Dosyayı Görüntüle

@@ -130,19 +130,15 @@ const tableProps = [

const mainTaskType = [
{
name: '预入库',
name: '锁定',
id: 1,
},
{
name: '存储',
name: '',
id: 2,
},
{
name: '预出库',
id: 3,
},
{
name: '默认',
name: '空闲',
id: 0,
},
];


+ 5
- 5
src/views/login.vue Dosyayı Görüntüle

@@ -17,8 +17,8 @@
<el-tabs class="form" v-model="loginForm.loginType" style=" float:none;">
<el-tab-pane label="账号密码登录" name="uname">
</el-tab-pane>
<el-tab-pane label="短信验证码登录" name="sms">
</el-tab-pane>
<!-- <el-tab-pane label="短信验证码登录" name="sms">
</el-tab-pane> -->
</el-tabs>
<div>
<el-form ref="loginForm" :model="loginForm" :rules="LoginRules" class="login-form">
@@ -126,7 +126,7 @@ export default {
data() {
return {
codeUrl: "",
captchaEnable: true,
captchaEnable: false,
tenantEnable: true,
mobileCodeTimer: 0,
loginForm: {
@@ -137,7 +137,7 @@ export default {
mobile: "",
mobileCode: "",
rememberMe: false,
tenantName: "芋道源码",
tenantName: "爱协林热处理",
},
scene: 21,

@@ -198,7 +198,7 @@ export default {
});
}
// 验证码开关
this.captchaEnable = getCaptchaEnable();
this.captchaEnable = false;
// 重定向地址
this.redirect = this.$route.query.redirect ? decodeURIComponent(this.$route.query.redirect) : undefined;
this.getCookie();


Yükleniyor…
İptal
Kaydet