Commit 4b73b1da authored by 高宇's avatar 高宇

删除菜单

parent 1381ac44
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="phd" style="flex-basis: 50%;" prop="phd"> <el-form-item label="phd" style="flex-basis: 50%;" prop="phd" :rules="[{ required: this.isRequired, pattern: /^\d+$/, message: '仅能输入整数', trigger: 'blur' }]">
<el-input ref="input2" v-model="form.phd" placeholder="请输入phd" style="width: 400px" :maxlength="10" @keyup.enter.native="handelTab(2,$event)" /> <el-input ref="input2" v-model="form.phd" placeholder="请输入phd" style="width: 400px" :maxlength="10" @keyup.enter.native="handelTab(2,$event)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
clearable clearable
placeholder="请选择pgx" placeholder="请选择pgx"
style="width: 400px" style="width: 400px"
@change="handlePgxChange"
> >
<el-option <el-option
v-for="(dict,index) in pissbList" v-for="(dict,index) in pissbList"
...@@ -86,6 +87,9 @@ export default { ...@@ -86,6 +87,9 @@ export default {
name: 'Role', name: 'Role',
data() { data() {
return { return {
isRequired: false,
// 对应后端配置文件cy.init.pgxList的的内容
phdList: ['003'],
// 判断是否存在缓存 // 判断是否存在缓存
exist: false, exist: false,
form: { form: {
...@@ -97,7 +101,6 @@ export default { ...@@ -97,7 +101,6 @@ export default {
}, },
rule: { rule: {
pn: [{ required: true, message: '请输入pn', trigger: 'blur' }], pn: [{ required: true, message: '请输入pn', trigger: 'blur' }],
phd: [{ required: true, pattern: /^\d+$/, message: '仅能输入整数', trigger: 'blur' }],
prank: [{ required: true, pattern: /^\d+$/, message: '仅能输入整数', trigger: 'blur' }], prank: [{ required: true, pattern: /^\d+$/, message: '仅能输入整数', trigger: 'blur' }],
pgx: [{ required: true, message: '请输入pgx', trigger: 'blur' }], pgx: [{ required: true, message: '请输入pgx', trigger: 'blur' }],
pissb: [{ required: true, message: '请输入pissb', trigger: 'blur' }], pissb: [{ required: true, message: '请输入pissb', trigger: 'blur' }],
...@@ -135,6 +138,13 @@ export default { ...@@ -135,6 +138,13 @@ export default {
this.init() this.init()
}, },
methods: { methods: {
handlePgxChange() {
if (this.phdList.includes(this.form.pgx)){
this.isRequired = true
} else {
this.isRequired = false
}
},
resetQuery() { resetQuery() {
this.form = { this.form = {
pn: '', pn: '',
......
...@@ -227,7 +227,7 @@ ...@@ -227,7 +227,7 @@
</el-dialog> </el-dialog>
<!-- TODO: 处理 --> <!-- TODO: 处理 -->
<el-dialog :title="title" :visible.sync="openHandle" width="1200px" append-to-body :close-on-click-modal="false" @close="handlecanceClose"> <el-dialog title="设备领用" :visible.sync="openHandle" width="1200px" append-to-body :close-on-click-modal="false" @close="handlecanceClose">
<el-form ref="formDetails" class="aboutSingleDetails" :model="singleDetails" size="small" label-width="90px"> <el-form ref="formDetails" class="aboutSingleDetails" :model="singleDetails" size="small" label-width="90px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
...@@ -675,6 +675,7 @@ export default { ...@@ -675,6 +675,7 @@ export default {
this.monthDate = false this.monthDate = false
this.title = '权限验证' this.title = '权限验证'
if (this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {
this.loadingDetail = false
this.$message.warning('请至少选择一个要处理的设备') this.$message.warning('请至少选择一个要处理的设备')
} else { } else {
this.canceList = [] this.canceList = []
......
<template>
<div class="app-container">
<div class="ToolBar">
<el-form v-show="showSearch" ref="queryForm" style="padding: 0 0 0 10px" :model="queryEntity" :inline="true">
<el-form-item label="pn" prop="pn">
<el-input
ref="autoGetFocusInput"
v-model="queryEntity.entity.pn"
placeholder="请输入pn"
clearable
:maxlength="inputMaxLength"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="lot" prop="lot">
<el-input
v-model="queryEntity.entity.lot"
placeholder="请输入lot"
clearable
:maxlength="inputMaxLength"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="plocation" prop="plocation">
<el-input
v-model="queryEntity.entity.plocation"
placeholder="请输入plocation"
clearable
:maxlength="inputMaxLength"
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库类型" prop="ptype">
<el-select
v-model="queryEntity.entity.ptype"
placeholder="请选择库类型"
filterable
clearable
@keyup.enter.native="handleQuery"
>
<el-option
v-for="option in selectOptionsAboutPtype"
:key="option.value"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
<el-form-item label="库状态" prop="poperate">
<el-select
v-model="queryEntity.entity.poperate"
placeholder="请选择库状态"
filterable
clearable
@keyup.enter.native="handleQuery"
>
<el-option
v-for="option in selectOptionsAboutPoperate"
:key="option.value"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
<el-form-item label="操作时间" prop="date">
<div class="block">
<el-date-picker
v-model="dateRange"
value-format="yyyy-MM-dd"
style="width: 250px"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleChange"
/>
</div>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" icon="el-icon-search" @click="handleQuery">查询</el-button>
<el-button size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button
style="float: right;"
type="success"
size="small"
icon="el-icon-download"
@click="handleExport"
>导出
</el-button>
</el-form-item>
<!-- &lt;!&ndash;TODO: 导出按钮所在 &ndash;&gt;-->
<!-- <div style="float: right; padding:3px 10px;">-->
<!-- <el-row :gutter="10">-->
<!-- <el-col :span="1.5">-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </div>-->
</el-form>
</div>
<!-- TODO: 分隔符-->
<div class="placeholder" />
<!--TODO: Table表单-->
<transition name="fade-transform" mode="out-in">
<component
:is="BaseTable"
:key="queryParams.rows"
:all-table-arguments="allTableArguments"
@n-index="nIndex"
@handle-detail="handleDetail"
@change-table-sort="changeTableSort"
/>
</transition>
<!--TODO: 分页组件-->
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
<!-- TODO: 单项详情信息表单配置 -->
<el-dialog
class="aboutSingleDetails"
:title="title"
:visible.sync="openDetails"
:close-on-click-modal="false"
width="800px"
append-to-body
@closed="handleClose"
>
<el-form ref="formDetails" :model="singleDetails" size="small" label-width="100px">
<el-row :gutter="10" justify="start" align="middle">
<el-col :span="12">
<el-form-item label="pn:" prop="pn">
<el-input v-model.trim="singleDetails.pn" :readonly="isReadOnly" />
</el-form-item>
<el-form-item label="lot:" prop="lot">
<el-input v-model.trim="singleDetails.lot" :readonly="isReadOnly" />
</el-form-item>
<el-form-item label="plocation:" prop="plocation">
<el-input v-model.trim="singleDetails.plocation" :readonly="isReadOnly" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="库类型:" prop="ptype">
{{ selectedPtype(singleDetails.ptype) }}
</el-form-item>
<el-form-item label="库状态:" prop="poperate">
{{ selectedPoperate(singleDetails.poperate) }}
</el-form-item>
<el-form-item label="fqYs:" prop="fqYs">
{{ singleDetails.fqYs }}
</el-form-item>
</el-col>
</el-row>
<!-- TODO: 这里是 库状态为废弃时才会触发显示的模块 -->
<transition name="fade-transform" mode="out-in">
<el-row v-if=" activateAbandonedState " style="height: 160px">
<el-col :span="12">
<el-form-item label="fqBz:" prop="fqBz">
{{ singleDetails.fqBz }}
</el-form-item>
<el-form-item label="fqDbxi:" prop="fqDbxi">
{{ singleDetails.fqDbxi }}
</el-form-item>
<el-form-item label="fqDd:" prop="fqDd">
{{ singleDetails.fqDd }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="fqMcode:" prop="fqMcode">
{{ singleDetails.fqMcode }}
</el-form-item>
<el-form-item label="fqYy:" prop="fqYy">
{{ replace(singleDetails.fqYy) }}
</el-form-item>
</el-col>
</el-row>
</transition>
<el-row>
<el-col :span="12">
<el-form-item label="操作员:" prop="userName">
<el-input v-model.trim="singleDetails.userName" :readonly="isReadOnly" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="操作时间:" prop="createDate">
<el-input v-model.trim="singleDetails.createDate" :readonly="isReadOnly" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { exportInventoryRecord, findSingleLogDetail, listLog } from '@/api/processMangement/InventoryRecord'
import BaseTable from '@/components/Table/BaseTable/index.vue'
import { BaseTableArgumentsTest } from '@/components/Table/AllTableArguments/BaseTableArguments'
import { getDictData } from '@/api/equipment/application'
export default {
name: 'InventoryRecord',
components: [
BaseTable
],
data() {
return {
dictList: [],
textPrimary: 'text',
deleteName: '删除',
deleteSize: 'mini',
deleteDisabled: 'multiple',
cleanName: '清空',
cleanSize: 'small',
exportName: '导出',
exportSize: 'small',
delIcon: 'el-icon-delete',
exportIcon: 'el-icon-download',
// TODO: 限制搜索输入框的最大能输入数
inputMaxLength: 100,
// TODO:遮罩层
loading: true,
// 非多个禁用
multiple: true,
// TODO: 显示搜索条件
showSearch: true,
// TODO: 数据总条数
total: 0,
// TODO: 关于 Poperate的数据字典
selectOptionsAboutPoperate: [
{
value: '1',
label: '入库'
}, {
value: '2',
label: '出库'
},
{
value: '3',
label: '修正'
}, {
value: '4',
label: '废弃'
}
],
// TODO: 关于 Ptype的数据字典
selectOptionsAboutPtype: [
{
value: '1',
label: '设备库'
}, {
value: '2',
label: '工序库'
}
],
// TODO: 查询参数
// TODO: 时间日期范围 调用全局方法来输入进去
dateRange: [],
queryParams: {
page: 1,
rows: 10,
beginTime: '',
endTime: ''
},
queryEntity: {
// TODO: 0表示倒序排序,1表示顺序排序
tableSortMark: 0,
entity: {
// TODO: 设备编码
pn: '',
// TODO: lot
lot: '',
// TODO: 位置
plocation: '',
// TODO: 库状态 1 入,2出,3修正,4废弃
poperate: '',
// TODO: 库类型 1设备库 2工序库
ptype: ''
}
},
// TODO: list记录表名
listName: '出入库记录列表',
// TODO: 用来接收数据源
inventoryRecordList: [],
// TODO: 用来说明每一列的类型
columObj: {
// 序列
nIndex: true,
// 序列根据条件是否继承排序顺序
nIndextable: false,
// 选择框
selection: false,
// 选择框根据条件是否可选
selectable: (row) => {
if (row.switchs) {
return true
}
},
// TODO: column列,columType(列类型,可选text(默认为普通文字模式),input(input可编辑框),switch(switch开关),image(图片),operation(操作按钮))
// TODO: :prop(参数),label(列名),width(宽度),align(对齐方式),sortable(是否支持排序)
columnData: [
{
text: true,
prop: 'pn',
label: 'pn'
},
{
text: true,
prop: 'lot',
label: 'lot'
},
{
ownDefined: true,
prop: 'ptype',
label: '库类型',
ownDefinedReturn: (row) => {
return this.selectedPtype(row.ptype)
}
},
{
ownDefined: true,
prop: 'poperate',
label: '库状态',
width: '180px',
ownDefinedReturn: (row) => {
return this.selectedPoperate(row.poperate)
}
},
{
text: true,
prop: 'fqYs',
label: 'fqYs',
sortable: false,
width: '150px'
},
{
text: true,
prop: 'plocation',
label: 'plocation',
sortable: false,
width: '150px'
},
{
text: true,
prop: 'userName',
label: '操作员',
sortable: false,
width: '150px'
},
{
time: true,
prop: 'createDate',
label: '操作时间',
align: 'center'
},
// TODO: 如果为操作列,则需要填写需要的操作按钮,类型为Object。operation(操作类型,可选edit,delete,see),type(按钮样式,参考el—botton类型),label(按钮文字)icon(参考el-icon),color(字体颜色)
{
isOperation: true,
label: '操作',
width: '80px',
align: 'center',
sortable: false,
operation: [{
clickType: '1',
label: '详情',
icon: '',
color: '',
size: this.size
}]
}
]
},
title: '',
openDetails: false,
isReadOnly: true,
// TODO: 表单里的单项详情参数
singleDetails: {},
// TODO: 获取表单单项详情的参数
singleLogIdAndPn: {},
activateAbandonedState: false
}
},
computed: {
BaseTable() {
return BaseTable
},
// TODO: 用来汇总Table组件所需要的全部数据并一次性传输给子组件
allTableArguments() {
const baseTableArgumentsTest = new BaseTableArgumentsTest()
baseTableArgumentsTest.listName = this.listName
baseTableArgumentsTest.loading = this.loading
baseTableArgumentsTest.List = this.inventoryRecordList
baseTableArgumentsTest.queryParams = this.queryParams
baseTableArgumentsTest.columObj = this.columObj
return baseTableArgumentsTest
}
},
/** 路由离开前存储筛选条件*/
beforeRouteLeave(to, from, next) {
this.$store.dispatch('searchSave/searchParamsSet', {
path: this.$route.path,
param: {
...this.queryParams
}
})
next()
},
created() {
if (this.$store.getters.searchParams[this.$route.path]) {
const { searchParams } = this.$store.getters; const { path } = this.$route
const param = JSON.parse(searchParams[path]) // 保留着的查询条件
this.queryParams = { ...param }
}
this.getList()
this.getDict()
},
mounted() {
this.$refs.autoGetFocusInput.focus()
},
methods: {
handleChange() {
console.log('dateRange', this.dateRange)
if (this.dateRange !== null) {
this.queryParams.beginTime = this.dateRange[0] + ' 00:00:00'
this.queryParams.endTime = this.dateRange[1] + ' 23:59:00'
} else {
this.queryParams.beginTime = ''
this.queryParams.endTime = ''
}
},
replace(value) {
return this.dictList.find(item => item.dictLabel === value).dictValue
},
getDict() {
const obj = {
key: 'FQ_CODE'
}
getDictData(obj).then(res => {
console.log('res', res)
if (res.code === 200 && res.data !== null) {
this.dictList = res.data
}
})
},
/** TODO:查询工序库的出入库记录列表 */
getList() {
this.loading = true
listLog(this.queryParams, this.addDateRange(this.queryEntity, this.dateRange)).then(response => {
this.inventoryRecordList = response.rows
this.total = response.total
this.loading = false
})
},
/* TODO: ptype 库类型判断的公用方法 */
selectedPtype(ptype) {
switch (ptype) {
case '1':
return '设备库'
case '2':
return '工序库'
default:
return ''
}
},
/* TODO: poperate的库状态判断的公用方法 */
selectedPoperate(poperate) {
switch (poperate) {
case '1':
return '入库'
case '2':
return '出库'
case '3':
return '修正'
case '4':
return '废弃'
default:
return ''
}
},
/** TODO: 查询按钮操作 */
handleQuery() {
this.queryParams.page = 1
this.getList()
},
/** TODO: 重置按钮操作 */
resetQuery() {
this.queryEntity = {
tableSortMark: 0,
entity: {
pn: '',
lot: '',
plocation: '',
poperate: '',
ptype: ''
}
}
this.dateRange = []
this.handleQuery()
},
/* TODO: 控制单项表单关闭的详情 */
handleClose() {
this.activateAbandonedState = false
this.singleLogIdAndPn = {}
},
/* TODO: 进行排序 */
changeTableSort: function(val) {
console.log('column', val)
// TODO:按照降序排序
if (val.order === 'descending') {
this.queryEntity.tableSortMark = 0
} else {
// TODO:按照升序排序
this.queryEntity.tableSortMark = 1
}
this.getList()
},
/* TODO: 获取详情信息*/
handleDetail: function(row) {
/* TODO: 如果库状态为‘废弃’,即为‘4’时,则可以进入 */
if (row.poperate !== '4') {
this.singleDetails = { ...row }
} else {
/* TODO: 设置单项详情的查询的条件 */
this.singleLogIdAndPn['businessId'] = row.businessId
this.singleLogIdAndPn['pn'] = row.pn
/* TODO: 进行查询,如果返回的code为200,则表示返回的值成功 */
findSingleLogDetail(this.singleLogIdAndPn).then(
response => {
/* 激活打开废弃信息栏 */
this.activateAbandonedState = true
this.title = '记录详情'
if (response.data === 'fail') {
this.singleDetails = Object.assign({}, { ...row })
this.$message({
showClose: true,
message: response.message,
type: 'warning'
})
} else {
var { fqYs, fqBz, fqDbxi, fqDd, fqMcode, fqYy } = response.data
var fq = { fqYs, fqBz, fqDbxi, fqDd, fqMcode, fqYy }
this.singleDetails = Object.assign({}, { ...row }, { ...fq })
}
}
)
}
this.openDetails = true
},
handleExport() {
const obj = {
page: this.queryParams.page,
rows: this.queryParams.rows,
beginTime: this.queryParams.beginTime,
endTime: this.queryParams.endTime,
pn: this.queryEntity.entity.pn,
lot: this.queryEntity.entity.lot,
plocation: this.queryEntity.entity.plocation,
poperate: this.queryEntity.entity.poperate,
ptype: this.queryEntity.entity.ptype
}
return exportInventoryRecord(obj).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
// TODO: 创建下载的链接
const href = window.URL.createObjectURL(blob)
downloadElement.href = href
// TODO: 下载后文件名
downloadElement.download = '出入库记录' + '.xls'
document.body.appendChild(downloadElement)
// TODO: 点击下载
downloadElement.click()
// TODO: 下载完成移除元素
document.body.removeChild(downloadElement)
// TODO: 释放掉blob对象
window.URL.revokeObjectURL(href)
// this.download(response.msg);
})
}
}
}
</script>
<style lang="scss" scoped>
.app-container {
padding: 0;
font-size: 18px;
.placeholder{
height:1.3vh;
background-color: #F4F4F4;
margin-bottom:10px
}
/*TODO: 这里是调整ToolBar的样式的噢!*/
.ToolBar{
.el-form{
.el-form-item{
.el-select{
width: 160px
}
.el-input{
width: 180px
}
}
}
/* TODO: 定义按钮样式 */
.el-button{
padding: 8px 7px;
}
}
}
/* TODO: 专门用来解决el-input边框的问题 */
.aboutSingleDetails{
.el-form{
.el-form-item{
.el-input >>> .el-input__inner {
-webkit-appearance: none;
background-color: #FFF;
background-image: none;
border-radius: 4px;
border: 0;
width: 100%;
}
}
}
}
</style>
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
</el-dialog> </el-dialog>
<!-- TODO: 处理 --> <!-- TODO: 处理 -->
<el-dialog :title="title" :visible.sync="openHandle" width="1200px" append-to-body :close-on-click-modal="false" @close="handlecanceClose"> <el-dialog title="设备领用" :visible.sync="openHandle" width="1200px" append-to-body :close-on-click-modal="false" @close="handlecanceClose">
<el-form ref="formDetails" class="aboutSingleDetails" :model="singleDetails" size="small" label-width="90px"> <el-form ref="formDetails" class="aboutSingleDetails" :model="singleDetails" size="small" label-width="90px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment