opt:代码优化;

This commit is contained in:
2025-06-24 20:18:50 +08:00
parent 296016dc7f
commit 368b846b1f
70 changed files with 2563 additions and 717 deletions

View File

@@ -104,6 +104,7 @@
"chokidar": "2.1.5",
"connect": "3.6.6",
"cross-env": "^7.0.3",
"css-minimizer-webpack-plugin": "^7.0.2",
"eslint": "5.15.3",
"eslint-plugin-vue": "5.2.2",
"html-webpack-plugin": "3.2.0",
@@ -112,7 +113,7 @@
"lint-staged": "8.1.5",
"plop": "2.3.0",
"runjs": "^4.3.2",
"sass": "^1.26.10",
"sass": "^1.89.1",
"sass-loader": "^7.1.0",
"script-ext-html-webpack-plugin": "2.1.3",
"script-loader": "0.7.2",

View File

@@ -11,11 +11,11 @@
</div>
<!--表格渲染-->
<el-table v-loading="loading" :data="data" style="width: 100%;margin-top: -10px;">
<el-table-column show-overflow-tooltip prop="jobName" label="任务名称" />
<el-table-column show-overflow-tooltip prop="beanName" label="Bean名称" />
<el-table-column show-overflow-tooltip prop="methodName" label="执行方法" />
<el-table-column show-overflow-tooltip prop="job_name" label="任务名称" />
<el-table-column show-overflow-tooltip prop="bean_name" label="Bean名称" />
<el-table-column show-overflow-tooltip prop="method_name" label="执行方法" />
<el-table-column show-overflow-tooltip prop="params" width="120px" label="参数" />
<el-table-column show-overflow-tooltip prop="cronExpression" label="cron表达式" />
<el-table-column show-overflow-tooltip prop="cron_expression" label="cron表达式" />
<el-table-column prop="create_time" label="异常详情" width="110px">
<template slot-scope="scope">
<el-button v-show="scope.row.exceptionDetail" size="mini" type="text" @click="info(scope.row.exceptionDetail)">查看详情</el-button>
@@ -24,17 +24,17 @@
<el-table-column show-overflow-tooltip align="center" prop="time" width="100px" label="耗时(毫秒)" />
<el-table-column align="center" prop="is_success" width="80px" label="状态">
<template slot-scope="scope">
<el-tag :type="scope.row.isSuccess ? 'success' : 'danger'">{{ scope.row.isSuccess ? '成功' : '失败' }}</el-tag>
<el-tag :type="scope.row.is_success ? 'success' : 'danger'">{{ scope.row.is_success? '成功' : '失败' }}</el-tag>
</template>
</el-table-column>
<el-table-column min-width="100" show-overflow-tooltip prop="createTime" label="创建日期">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<span>{{ parseTime(scope.row.create_time) }}</span>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="errorDialog" append-to-body title="异常详情" width="85%">
<pre v-highlightjs="errorInfo"><code class="java" /></pre>
<pre v-highlightjs="exception_detail"><code class="java" /></pre>
</el-dialog>
<!--分页组件-->
<el-pagination

View File

@@ -46,15 +46,25 @@
v-model="query.search"
clearable
size="mini"
placeholder="仓位编码、名称"
placeholder="仓位、载具 、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="出入库时间" label-width="100" prop="analyseData">
<el-date-picker
v-model="query.datepick"
type="daterange"
value-format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="是否有货">
<el-switch
v-model="query.has_vehicle"
:active-value=true
:inactive-value=false
:active-value="true"
:inactive-value="false"
active-color="#13ce66"
inactive-color="#ff4949"
@change="hand"
@@ -63,20 +73,19 @@
<el-form-item label="是否启用">
<el-switch
v-model="query.is_used"
:active-value=false
:inactive-value=true
:active-value="false"
:inactive-value="true"
active-color="#13ce66"
inactive-color="#ff4949"
@change="hand"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
</crudOperation>
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog
@@ -102,8 +111,8 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="归属库区" prop="sect_name">
<el-input v-model="form.sect_name" style="width: 200px;" />
</el-form-item>
<el-input v-model="form.sect_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否临时" prop="is_tempstruct">
@@ -116,7 +125,7 @@
<el-col :span="12">
<el-form-item label="载具号">
<label slot="label">载&nbsp;&nbsp;具&nbsp;号:</label>
<el-input v-model="form.vehicle_code" style="width: 200px;" />
<el-input v-model="form.vehicle_code" disabled style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -172,14 +181,10 @@
<el-input v-model="form.height" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="12">
</el-col>
<el-col :span="12" />
</el-row>
<el-row :gutter="20">
<el-col :span="24">
</el-col>
<el-col :span="24" />
</el-row>
<el-row :gutter="20">
<el-col :span="12">
@@ -209,18 +214,18 @@
-->
<el-table-column prop="struct_code" label="仓位编码" :min-width="flexWidth('struct_code',crud.data,'仓位编码')" />
<el-table-column prop="struct_name" label="仓位名称" :min-width="flexWidth('struct_name',crud.data,'仓位名称')" />
<el-table-column prop="sect_code" label="所属库区" width="150" >
<el-table-column prop="sect_code" label="所属库区" width="150">
<template slot-scope="scope">
{{ tableEnum.label.st_ivt_sectattr[scope.row.sect_code] }}
</template>
</el-table-column>
<el-table-column prop="stor_code" label="所属仓库" width="150" >
<el-table-column prop="stor_code" label="所属仓库" width="150">
<template slot-scope="scope">
{{ tableEnum.label.st_ivt_bsrealstorattr[scope.row.stor_code] }}
</template>
</el-table-column>
<el-table-column prop="vehicle_code" label="载具号" :min-width="flexWidth('vehicle_code',crud.data,'载具号')" />
<el-table-column prop="is_temp" label="是否临时" width="150" >
<el-table-column prop="is_temp" label="是否临时" width="150">
<template slot-scope="scope">
{{ scope.row.is_temp ? '是' : '否' }}
</template>
@@ -235,11 +240,11 @@
<el-switch
v-model="scope.row.is_used"
active-color="#13ce66"
:active-value=true
:inactive-value=false
:active-value="true"
:inactive-value="false"
inactive-color="#ff4949"
@change="changeEnabled(scope.row, scope.row.is_used)">
</el-switch>
@change="changeEnabled(scope.row, scope.row.is_used)"
/>
</template>
</el-table-column>
<el-table-column prop="capacity" label="容量" show-overflow-tooltip />
@@ -276,7 +281,7 @@ import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import crudSectattr from '../sect/sectattr'
import crudStorattr from "../stor/storattr";
import crudStorattr from '../stor/storattr'
// import crudUserStor, { getSect } from '@/views/wms/basedata/st/userStor/userStor'
/* import checkoutbill from "@/api/wms/st/core/outbill/checkoutbill";*/
@@ -329,7 +334,7 @@ export default {
name: 'Structattr',
dicts: ['ST_HEIGHT_TYPE', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'placement_type'],
statusEnums: ['LOCK'],
tableEnums: [ 'st_ivt_bsrealstorattr#stor_name#stor_code','st_ivt_sectattr#sect_name#sect_code' ],
tableEnums: ['st_ivt_bsrealstorattr#stor_name#stor_code', 'st_ivt_sectattr#sect_name#sect_code'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
@@ -414,6 +419,15 @@ export default {
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
if (this.query.datepick) {
this.query.start_time = this.query.datepick[0]
if (this.query.datepick.length > 1) {
this.query.end_time = this.query.datepick[1]
}
} else {
this.query.start_time = ''
this.query.end_time = ''
}
return true
},
[CRUD.HOOK.beforeToEdit](crud, form) {
@@ -446,6 +460,8 @@ export default {
taskdtl_typeFormat(row) {
return this.dict.label.SCH_TASK_TYPE_DTL[row.taskdtl_type]
},
handleSelectionChange(val, row) {
},
sectQueryChange(val) {
if (val.length === 1) {
this.query.stor_code = val[0]
@@ -484,7 +500,7 @@ export default {
}).catch(() => {
})
},
hand(){
hand() {
this.crud.toQuery()
}
}

View File

@@ -1,73 +1,41 @@
<template>
<div class="app-container">
<!--工具栏-->
<!-- 工具栏 -->
<div class="head-container">
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="单位信息">
<el-form-item label="监听端口">
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入单位编码或单位名称"
prefix-icon="el-icon-search"
placeholder="输入监听端口"
class="filter-item"
/>
</el-form-item>
<!-- 新增滑块开关 -->
<el-form-item label="设备监听">
<el-switch
v-model="rfidStatus"
active-color="#13ce66"
inactive-color="#ccc"
@change="open"
/>
</el-form-item>
<rrOperation />
</el-form>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="编码" prop="unit_code">
<el-input v-model="form.unit_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="名称" prop="unit_name">
<el-input v-model="form.unit_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="外部标识" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 370px;" />
</el-form-item>
<el-form-item label="数据精度" prop="qty_precision">
<!-- <el-input v-model="form.qty_precision" style="width: 370px;" />-->
<el-input-number
v-model="form.qty_precision"
:min="1"
:max="6"
label="描述文字"
style="width: 150px;"
@change="handleChange"
/>
</el-form-item>
<el-form-item label="是否启用" prop="is_used">
<el-switch
v-model="form.is_used"
active-color="#409EFF"
inactive-color="#F56C6C"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<!-- 表格 -->
<el-table
ref="table"
v-loading="crud.loading"
@@ -76,158 +44,194 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="unit_code" label="编码" />
<el-table-column prop="unit_name" label="名称" />
<el-table-column prop="qty_precision" label="数据精度" />
<el-table-column prop="update_name" label="修改者" />
<el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column prop="is_used" label="启用 ">
<el-table-column prop="device_code" label="设备编号" />
<el-table-column prop="ip" label="IP" />
<el-table-column prop="status" label="连接状态">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_used"
active-color="#409EFF"
inactive-color="#F56C6C"
@change="changeEnabled(scope.row, scope.row.is_used)"
/>
<span :style="{ color: scope.row.status === 1 ? '#13ce66' : '#ff4949' }">
{{ scope.row.status === 1 ? '已连接' : '未连接' }}
</span>
</template>
</el-table-column>
<el-table-column prop="start_time" label="开始连接时间" />
<el-table-column
v-permission="['admin','mdPbMeasureunit:edit','mdPbMeasureunit:del']"
prop="online_time"
label="在线时间"
:min-width="flexWidth('online_time', crud.data, '在线时间')"
/>
<el-table-column
prop="rfid"
label="当前rfid值"
:min-width="flexWidth('rfid', crud.data, '当前rfid值')"
/>
<!-- <el-table-column prop="is_used" label="是否启用 ">-->
<!-- <template slot-scope="scope">-->
<!-- <el-switch-->
<!-- v-model="scope.row.is_used"-->
<!-- active-color="#409EFF"-->
<!-- inactive-color="#F56C6C"-->
<!-- @change="changeEnabled(scope.row, scope.row.is_used)"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
v-permission="['admin', 'mdPbMeasureunit:edit', 'mdPbMeasureunit:del']"
fixed="right"
label="操作"
width="150px"
align="center"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
<udOperation :data="scope.row" :permission="permission" />
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<el-input
v-model="logText"
type="textarea"
:rows="15"
placeholder="设备运行日志..."
readonly
style="width: 100%; margin-top: 5px;"
/>
<!-- 分页 -->
<pagination />
</div>
</div>
</template>
<script>
import crudMdPbMeasureunit from './vehicle_rfid'
import crudRfid, { open } from './vehicle_rfid'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import crudSchBaseTask from '@/views/wms/dispatch_manage/task/schBaseTask'
const defaultForm = {
unit_id: null,
unit_code: null,
unit_name: null,
qty_precision: null,
id: null,
ip: null,
port: null,
device_code: null,
is_used: true,
online_time: null,
create_id: null,
create_name: null,
create_time: null,
update_optid: null,
update_optname: null,
update_id: null,
update_name: null,
update_time: null,
is_delete: null,
ext_id: null
status: null,
start_time: null
}
export default {
dicts: ['is_used'],
name: 'MeasureUnit',
// eslint-disable-next-line vue/no-unused-components
components: { pagination, crudOperation, rrOperation, udOperation },
name: 'VehicleRfid',
components: { pagination, crudOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '计量单位',
url: 'api/bmMeasureUnit',
url: 'api/rfid',
optShow: {
add: true,
reset: true
add: true
},
idField: 'unit_id',
sort: 'unit_id,desc',
crudMethod: { ...crudMdPbMeasureunit }
idField: 'id',
sort: 'id,desc',
crudMethod: { ...crudRfid }
})
},
data() {
return {
intervalId: null,
permission: {},
rules: {
unit_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
unit_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
unit_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
qty_precision: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
is_used: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
create_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
create_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
create_time: [
{ required: true, message: '不能为空', trigger: 'blur' }
],
is_delete: [
{ required: true, message: '不能为空', trigger: 'blur' }
]
rfidStatus: false, // 新增开关状态变量
logText: '', // 展示日志内容
logTextList: [], // 存储日志行数组最多10条
query: {
search: '8160' // 设置默认监听端口
}
}
},
mounted() {
// 读写器定时器
// this.intervalId = setInterval(() => {
// this.crud.toQuery()
// this.updateLogFromResult()
// }, 3000)
},
beforeDestroy() {
if (this.intervalId) {
clearInterval(this.intervalId)
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
// 改变状态
// updateLogFromResult() {
// const logList = this.crud.data.map(item => item.log).filter(log => !!log)
// if (logList.length === 0) return
// const newLog = logList.join('\n')
// //每次都添加日志
// this.logTextList.unshift(newLog) // 新日志放最前
// if (this.logTextList.length > 15) {
// this.logTextList.pop() // 最多保留10条
// }
// this.logText = this.logTextList.join('\n\n') // 更新展示内容
// },
updateLogFromResult() {
const s = this.crud.data
const logList = this.crud.data.map(item => item.log).filter(log => !!log)
if (logList.length === 0) {
return
}
const newLog = logList.join('\n')
// 判断最新日志是否和旧的重复,避免重复添加
if (!this.logTextList.includes(newLog)) {
this.logTextList.unshift(newLog) // 新日志放最前
if (this.logTextList.length > 15) {
this.logTextList.pop() // 最多保留10条
}
this.logText = this.logTextList.join('\n\n') // 更新展示内容
}
},
changeEnabled(data, val) {
this.$confirm('此操作将改变' + data.unit_name + '状态, 是否继续?', '提示', {
this.$confirm('此操作将改变' + data.device_code + '状态, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
crudMdPbMeasureunit.edit(data).then(res => {
crudRfid.edit(data).then(() => {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
if (data.is_used === false) {
data.is_used = true
return
}
if (data.is_used === true) {
data.is_used = false
}
data.is_used = !val
})
}).catch(() => {
if (data.is_used === false) {
data.is_used = true
return
}
if (data.is_used === true) {
data.is_used = false
}
data.is_used = !val
})
},
handleChange(value) {
console.log(value)
open(val) {
debugger
const payload = {
port: this.query.search == null ? '8160' : this.query.search,
isOpen: val ? '1' : '0'
}
crudRfid.open(JSON.stringify(payload)).then(res => {
this.crud.toQuery()
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
this.$message.error('操作失败')
this.rfidStatus = !val
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,49 @@
import request from '@/utils/request'
export function open(data) {
return request({
url: 'api/rfid/open',
method: 'post',
data
})
}
export function add(data) {
return request({
url: 'api/rfid/add',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/rfid/delete',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/rfid/update',
method: 'post',
data
})
}
export function getUnit(params) {
return request({
url: 'api/rfid',
method: 'get',
params
})
}
export function getSelect() {
return request({
url: 'api/rfid/select',
method: 'get'
})
}
export default { add, edit, del, getUnit, getSelect, open }

View File

@@ -244,9 +244,9 @@
{{ statusEnum.label.LOCK[scope.row.lock_type] }}
</template>
</el-table-column>
<el-table-column prop="is_used" label="是否启用">
<el-table-column prop="point_location" width="80" label="确认取货">
<template slot-scope="scope">
{{ scope.row.is_used == '1' ? '是' : '否' }}
{{ scope.row.point_location == '1' ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="vehicle_code" label="载具编码" min-width="120" show-overflow-tooltip />
@@ -255,6 +255,12 @@
<!-- <el-table-column prop="point_location" label="位置" min-width="120" show-overflow-tooltip/>-->
<!-- <el-table-column prop="group_code" label="点位组编码" min-width="120" show-overflow-tooltip/>-->
<!-- <el-table-column prop="form_data" label="表单数据" min-width="120" show-overflow-tooltip/>-->
<el-table-column prop="is_used" label="是否启用">
<template slot-scope="scope">
{{ scope.row.is_used == '1' ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="form_data" label="前置任务号" width="100" />
<el-table-column
prop="remark"
label="备注"
@@ -262,12 +268,6 @@
'',crud.data,'备注')"
show-overflow-tooltip
/>
<el-table-column prop="point_location" width="80" label="确认取货">
<template slot-scope="scope">
{{ scope.row.point_location == '1' ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="form_data" label="前置任务号" width="100" />
<el-table-column prop="create_name" label="创建人" />
<el-table-column prop="create_time" label="创建时间" width="150" />
<el-table-column prop="update_name" label="修改人" width="100" />
@@ -330,10 +330,10 @@ export default {
cruds() {
return CRUD({
title: '点位',
url: 'api/point',
idField: 'id',
optShow: {
add: true,
edit: true,
del: true,

View File

@@ -129,12 +129,12 @@
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="执行步骤">
<el-form-item label="任务组">
<el-input
v-model="query.task_step"
clearable
style="width: 240px"
placeholder="执行步骤"
placeholder="任务组"
@input="handleSearchInput('task_step')"
@keyup.enter.native="crud.toQuery"
/>
@@ -149,6 +149,16 @@
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="备注信息" label-width="100">
<el-input
v-model="query.remark"
clearable
style="width: 240px"
placeholder="备注信息"
@input="handleSearchInput('remark')"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-button class="filter-item" type="success" icon="el-icon-delete" size="mini" @click="delQueryItem">清空条件</el-button>
<rrOperation />
</el-form>
@@ -249,14 +259,14 @@
{{ statusEnum.label.FORM_STATUS[scope.row.status] }}
</template>
</el-table-column>
<el-table-column prop="form_data" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('form_data',crud.data,'物料信息')" label="物料信息" />
<el-table-column prop="point_code1" show-overflow-tooltip show-tooltip-when-overflow width="130" label="起点1" />
<el-table-column prop="point_code2" show-overflow-tooltip show-tooltip-when-overflow width="130" label="终点1" />
<el-table-column prop="point_code3" show-overflow-tooltip show-tooltip-when-overflow width="130" label="起点2" />
<el-table-column prop="point_code4" show-overflow-tooltip show-tooltip-when-overflow width="130" label="终点2" />
<el-table-column prop="create_time" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('create_time',crud.data,'创建时间')" label="创建时间" />
<el-table-column prop="update_time" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('update_time',crud.data,'修改时间')" label="修改时间" />
<el-table-column prop="task_step" show-overflow-tooltip show-tooltip-when-overflow width="130" label="任务执行步骤" />
<el-table-column prop="task_step" show-overflow-tooltip show-tooltip-when-overflow width="130" label="任务阶段" />
<el-table-column prop="form_data" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('form_data',crud.data,'物料信息')" label="物料信息" />
<el-table-column prop="update_name" show-overflow-tooltip show-tooltip-when-overflow label="修改人" />
<el-table-column prop="remark" show-overflow-tooltip show-tooltip-when-overflow :min-width="flexWidth('remark',crud.data,'备注')" label="备注" />
<el-table-column prop="acs_type" show-overflow-tooltip show-tooltip-when-overflow width="130" label="ACS任务类型" />
@@ -453,6 +463,7 @@ export default {
this.query.point_code1 = ''
this.query.task_type = ''
this.query.status = ''
this.query.remark = ''
this.query.vehicle_code = ''
this.crud.toQuery()
},

View File

@@ -4,7 +4,7 @@
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="1000px"
style="width: 100%;"
@close="close"
@open="open"
>
@@ -62,35 +62,35 @@
<el-radio v-model="tableRadio" :label="scope.row"><i /></el-radio>
</template>
</el-table-column>
<el-table-column prop="sect_code" label="库区" show-overflow-tooltip >
<el-table-column prop="sect_code" label="库区" show-overflow-tooltip>
<template slot-scope="scope">
{{ tableEnum.label.st_ivt_sectattr[scope.row.sect_code] }}
</template>
</el-table-column>
<el-table-column prop="stor_code" label="仓库" show-overflow-tooltip >
<el-table-column prop="stor_code" label="仓库" show-overflow-tooltip>
<template slot-scope="scope">
{{ tableEnum.label.st_ivt_bsrealstorattr[scope.row.stor_code] }}
</template>
</el-table-column>
<el-table-column prop="struct_code" label="仓位编码" show-overflow-tooltip />
<el-table-column prop="struct_code" label="仓位编码" show-overflow-tooltip />
<el-table-column prop="struct_name" label="仓位名称" show-overflow-tooltip />
<el-table-column prop="vehicle_code" label="载具编码" show-overflow-tooltip>
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.vehicle_code }}</el-link>
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.vehicle_code }}</el-link>
</template>
</el-table-column>
<el-table-column prop="material_name" label="物料规格" show-overflow-tooltip />
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip />
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip />
<el-table-column prop="qty" label="数量" show-overflow-tooltip />
<el-table-column prop="material_name" label="物料规格" show-overflow-tooltip />
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip />
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip />
<el-table-column prop="qty" label="数量" show-overflow-tooltip />
<el-table-column prop="frozen_qty" label="冻结数量" show-overflow-tooltip />
<el-table-column prop="unit_id" label="单位" show-overflow-tooltip >
<el-table-column prop="unit_id" label="单位" show-overflow-tooltip>
<template slot-scope="scope">
{{ tableEnum.label.bm_measure_unit[scope.row.unit_id] }}
</template>
</el-table-column>
<el-table-column prop="is_used" label="是否启用" >
<el-table-column prop="is_used" label="是否启用">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_used"
@@ -99,7 +99,7 @@
/>
</template>
</el-table-column>
<el-table-column prop="lock_type" label="锁定类型" >
<el-table-column prop="lock_type" label="锁定类型">
<template slot-scope="scope">
{{ statusEnum.label.LOCK[scope.row.lock_type] }}
</template>
@@ -131,11 +131,11 @@ export default {
cruds() {
return CRUD({ title: '仓库信息', url: 'api/structattr', crudMethod: { ...crudStructAttr }, optShow:
{
}})
}})
},
mixins: [presenter(), header()],
tableEnums: [ 'bm_measure_unit#unit_name#unit_id','st_ivt_bsrealstorattr#stor_name#stor_code','st_ivt_sectattr#sect_name#sect_code' ],
statusEnums: [ 'LOCK' ],
tableEnums: ['bm_measure_unit#unit_name#unit_id', 'st_ivt_bsrealstorattr#stor_name#stor_code', 'st_ivt_sectattr#sect_name#sect_code'],
statusEnums: ['LOCK'],
props: {
dialogShow: {
type: Boolean,
@@ -179,15 +179,15 @@ export default {
this.crud.toQuery()
},
[CRUD.HOOK.beforeRefresh]() {
if (this.storCode){
if (this.storCode) {
return true
}
return false
return false
},
clickChange(item) {
this.tableRadio = item
},
toView(vehicle_code){
toView(vehicle_code) {
},
handleSelectionChange(val, row) {
@@ -223,7 +223,7 @@ export default {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
this.$emit('setMaterValue', this.rows)
},
}
}
}
</script>

View File

@@ -81,6 +81,22 @@
@input="handleSearchInput('prd_ppbom_no')"
/>
</el-form-item>
<el-form-item label="锁定类型">
<el-select
v-model="query.lock_type"
clearable
size="mini"
placeholder="锁定类型"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in statusEnum.LOCK"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="入库日期" prop="analyseData">
<el-date-picker
v-model="query.datepick"
@@ -111,15 +127,50 @@
@change="hand"
/>
</el-form-item>
<el-form-item label="是否呆滞料" label-width="120px">
<el-switch
v-model="query.isIdle"
:active-value="true"
:inactive-value="false"
active-color="#13ce66"
inactive-color="#ff4949"
@change="hand"
/>
</el-form-item>
<el-form-item
l
abel="呆滞时间"
style="width: 300px;"
>
<el-input
v-model="query.idleTimes"
clearable
size="mini"
placeholder="输入数字如2代表2个月"
prefix-icon="el-icon-search"
style="width: 100%;"
@input="handleSearchInput('idleTimes')"
/>
</el-form-item>
<rrOperation />
</el-form>
<el-button class="filter-item" type="danger" icon="el-icon-unlock" size="mini" @click="unlock">
<el-button
class="filter-item"
type="danger"
icon="el-icon-download"
size="mini"
:disabled="dis_flag"
@click="createIdleTask"
>
呆料转运下发
</el-button>
<el-button class="filter-item" type="warning" icon="el-icon-unlock" size="mini" @click="unlock">
库存解锁
</el-button>
<el-button
class="filter-item"
size="mini"
type="warning"
type="primary"
icon="el-icon-s-operation"
@click="downloadMethod"
>
@@ -138,6 +189,7 @@
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
@select="handleSelectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="struct_code" label="仓位编码" width="150" show-tooltip-when-overflow />
@@ -158,7 +210,8 @@
<el-table-column prop="lock_type" label="库存锁定" show-tooltip-when-overflow>
<template slot-scope="scope">{{ statusEnum.label.LOCK[scope.row.lock_type] }}</template>
</el-table-column>
<el-table-column prop="create_time" label="组盘入库时间" width="120" show-tooltip-when-overflow />
<el-table-column prop="create_time" label="组盘入库时间" width="140" show-tooltip-when-overflow />
<el-table-column prop="update_time" label="出入库更新时间" width="140" show-tooltip-when-overflow />
<!-- <el-table-column-->
<!-- label="操作"-->
<!-- fixed="right"-->
@@ -226,6 +279,7 @@ export default {
data() {
return {
permission: {},
dis_flag: true,
rules: {}
}
},
@@ -255,10 +309,15 @@ export default {
localStorage.removeItem('searchQuery_search')
localStorage.removeItem('searchQuery_material')
this.query.search = ''
this.query.idleTimes = ''
this.query.material = ''
this.query.vehicle_code = ''
this.query.pcsn = ''
this.query.prd_ppbom_no = ''
this.dis_flag = true
this.query.isCtu = false
this.query.isShelf = false
this.query.isIdle = false
this.crud.toQuery()
},
// 钩子在获取表格数据之前执行false 则代表不获取数据
@@ -303,6 +362,8 @@ export default {
})
},
hand() {
debugger
this.dis_flag = this.query.isIdle != true
this.crud.toQuery()
},
unlock() {
@@ -319,6 +380,17 @@ export default {
this.crud.notify('载具库存解锁成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
createIdleTask() {
debugger
if (this.crud.selections.length === 0) {
this.crud.notify('请选择一条库存数据', CRUD.NOTIFICATION_TYPE.INFO)
return
}
structattr.createIdleTask(this.crud.selections).then(res => {
this.crud.notify('呆料库存转运三楼任务下发成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
}
}
}

View File

@@ -116,11 +116,19 @@ export function unlock(data) {
data
})
}
export function createIdleTask(data) {
return request({
url: '/api/structattr/createIdleTask',
method: 'post',
data
})
}
export default {
add,
edit,
unlock,
createIdleTask,
del,
getVehicleTask,
getIosInvDtl,