Commit ce6166d2 authored by kzy's avatar kzy

Merge branch 'project1' of http://gitlab.91isoft.com:90/yangshuo/template_vue into project1

parents 1b09c8e6 ddcfdaa1
...@@ -7,10 +7,10 @@ export function listWbApply(query) { ...@@ -7,10 +7,10 @@ export function listWbApply(query) {
params: query params: query
}) })
} }
// apply_detail分页查询接口 // warehouse表单分页查询接口
export function detailList(query) { export function detailList(query) {
return request({ return request({
url: '/wbapplydetail/queryWbApplyDetailByPagination', url: '/wbwarehouse/queryWbWarehouseByPagination',
method: 'get', method: 'get',
params: query params: query
}) })
...@@ -22,3 +22,14 @@ export function deleteLogical(id) { ...@@ -22,3 +22,14 @@ export function deleteLogical(id) {
method: 'delete' method: 'delete'
}) })
} }
// 处理的接口
export function batchAddition(data) {
return request({
url: '/wbapply/batchAddition',
method: 'post',
data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
...@@ -48,7 +48,7 @@ export function recycle(data) { ...@@ -48,7 +48,7 @@ export function recycle(data) {
// 逻辑删除基础信息接口 // 逻辑删除基础信息接口
export function deletedevice(id) { export function deletedevice(id) {
return request({ return request({
url: '/wbwarehouse/delete/' + id, url: '/wbwarehouse/deleteLogical/' + id,
method: 'delete' method: 'delete'
}) })
} }
......
...@@ -28,7 +28,7 @@ export function findSingleLogDetail(singleLogIdAndPn) { ...@@ -28,7 +28,7 @@ export function findSingleLogDetail(singleLogIdAndPn) {
/* TODO: 用来导出表单信息 */ /* TODO: 用来导出表单信息 */
export function exportInventoryRecord() { export function exportInventoryRecord() {
return request({ return request({
url: '/wbwarehouselog/export', url: '/wbwarehouselog/exportLogWithDetails',
method: 'get', method: 'get',
responseType: 'blob' responseType: 'blob'
}) })
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</el-form-item> </el-form-item>
<el-form-item label="pgx" prop="pgx"> <el-form-item label="pgx" prop="pgx">
<el-select <el-select
v-model="form.pgx" v-model="queryParams.pgx"
clearable clearable
placeholder="请选择pgx" placeholder="请选择pgx"
:style="{ width: '150px', height: '30px' }" :style="{ width: '150px', height: '30px' }"
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</el-form-item> </el-form-item>
<el-form-item label="ptype" prop="ptype"> <el-form-item label="ptype" prop="ptype">
<el-select <el-select
v-model="form.ptype" v-model="queryParams.ptype"
placeholder="请选择ptype" placeholder="请选择ptype"
clearable clearable
size="small" size="small"
...@@ -152,7 +152,7 @@ ...@@ -152,7 +152,7 @@
v-model="form.pgx" v-model="form.pgx"
clearable clearable
placeholder="请选择pgx" placeholder="请选择pgx"
:style="{ width: '150px', height: '30px' }" :style="{ width: '341px', height: '30px' }"
> >
<el-option <el-option
v-for="(dict,index) in pgxList" v-for="(dict,index) in pgxList"
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
placeholder="请选择ptype" placeholder="请选择ptype"
clearable clearable
size="small" size="small"
style="width: 150px" style="width: 341px"
> >
<el-option <el-option
v-for="dict in ptypeOptions" v-for="dict in ptypeOptions"
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="prank" prop="prank"> <el-form-item label="prank" prop="prank">
<el-input v-model.trim="form.prank" :maxlength="10" placeholder="请输入prank" /> <el-input v-model.trim="form.prank" :maxlength="5" placeholder="请输入prank" />
</el-form-item> </el-form-item>
<el-form-item label="pissb" prop="pissb"> <el-form-item label="pissb" prop="pissb">
<el-select <el-select
...@@ -198,10 +198,10 @@ ...@@ -198,10 +198,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="psm" prop="psm"> <el-form-item label="psm" prop="psm">
<el-input v-model.trim="form.psm" :maxlength="10" placeholder="请输入psm" /> <el-input v-model.trim="form.psm" :maxlength="5" placeholder="请输入psm" />
</el-form-item> </el-form-item>
<el-form-item label="psy" prop="psy"> <el-form-item label="psy" prop="psy">
<el-input v-model.trim="form.psy" :maxlength="10" placeholder="请输入psy" /> <el-input v-model.trim="form.psy" :maxlength="5" placeholder="请输入psy" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -288,22 +288,27 @@ export default { ...@@ -288,22 +288,27 @@ export default {
// 表单校验 // 表单校验
rules: { rules: {
pn: [ pn: [
{ required: true, message: '请输入pn', trigger: 'blur' }, { required: true, message: '请输入pn', trigger: 'change' },
{ pattern: /^\d{1,5}$/, message: '请输入少于五位数字', trigger: 'blur' } { pattern: /^\d{1,5}$/, message: '请输入数字且少于五位', trigger: 'change' }
], ],
ptype: [ ptype: [
{ required: true, message: '请输入ptype', trigger: 'blur' } { required: true, message: '请选择ptype', trigger: 'change' }
], ],
pgx: [ pgx: [
{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' } { required: true, message: '请选择pgx', trigger: 'change' }
], ],
prank: [{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }], prank: [
{ required: true, message: '请输入prank', trigger: 'change' },
{ pattern: /^\d{1,5}$/, message: '请输入数字且少于五位', trigger: 'change' }],
pissb: [ pissb: [
{ required: true, message: '请选择pissb', trigger: 'blur' } { required: true, message: '请选择pissb', trigger: 'blur' }
], ],
psm: [{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }], psm: [
{ required: true, message: '请输入psm', trigger: 'change' },
{ pattern: /^\d{1,5}$/, message: '请输入数字且少于五位', trigger: 'change' }],
psy: [ psy: [
{ required: true, pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' } { required: true, message: '请输入psy', trigger: 'change' },
{ pattern: /^\d{1,5}$/, message: '请输入数字且少于五位', trigger: 'change' }
] ]
}, },
deptOptions: [] deptOptions: []
......
...@@ -440,7 +440,7 @@ export default { ...@@ -440,7 +440,7 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.title = '编辑基础信息表单' this.title = '库存管理'
const id = row.businessId const id = row.businessId
getDetailById(id).then(res => { getDetailById(id).then(res => {
this.form = res.data this.form = res.data
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
placeholder="请选择状态" placeholder="请选择状态"
clearable clearable
size="small" size="small"
style="width: 341px" style="width: 150px"
> >
<el-option <el-option
v-for="dict in statusOptions" v-for="dict in statusOptions"
...@@ -73,13 +73,14 @@ ...@@ -73,13 +73,14 @@
</el-table-column> </el-table-column>
<el-table-column label="pgx" prop="pgx"> <el-table-column label="pgx" prop="pgx">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.pgx || '-' }} <span v-if="scope.row.pgx === '001'">压缩</span>
<span v-if="scope.row.pgx === '002'">排水</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="pissb" prop="pissb"> <el-table-column label="pissb" prop="pissb">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.pissb === '0'"></span> <span v-if="scope.row.pissb === '0'"></span>
<span v-else ></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" prop="pstatus"> <el-table-column label="状态" prop="pstatus">
...@@ -130,51 +131,8 @@ ...@@ -130,51 +131,8 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改设备基本信息配置对话框 --> <!-- TODO: 详情 -->
<el-dialog title="设备基本信息" :visible.sync="open" width="500px" append-to-body> <el-dialog class="aboutSingleDetails" :title="title" :visible.sync="openDetails" width="1200px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="pn" prop="pn">
<el-input v-model.trim="form.pn" show-word-limit :maxlength="30" placeholder="请输入pn" />
</el-form-item>
<el-form-item label="ptype" prop="ptype">
<el-input v-model.trim="form.ptype" show-word-limit :maxlength="30" placeholder="请输入ptype" />
</el-form-item>
<el-form-item label="pgx" prop="pgx">
<el-input-number v-model="form.pgx" style="width: 100%" controls-position="right" :min="0" placeholder="请输入pgx" />
</el-form-item>
<el-form-item label="prank" prop="prank">
<el-input-number v-model="form.prank" style="width: 100%" controls-position="right" :min="0" placeholder="请输入prank" />
</el-form-item>
<el-form-item label="pissb" prop="pissb">
<el-select
v-model="form.pissb"
placeholder="请选择pissb"
clearable
size="small"
style="width: 150px"
>
<el-option
v-for="dict in pissbOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="psm" prop="psm">
<el-input-number v-model="form.psm" style="width: 100%" controls-position="right" :min="0" placeholder="请输入psm" />
</el-form-item>
<el-form-item label="psy" prop="psy">
<el-input-number v-model="form.psy" style="width: 100%" controls-position="right" :min="0" placeholder="请输入psy" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
<!-- TODO: 单项详情信息表单配置 -->
<el-dialog class="aboutSingleDetails" :title="title" :visible.sync="openDetails" width="700px" append-to-body>
<el-form ref="formDetails" :model="singleDetails" size="small" label-width="90px"> <el-form ref="formDetails" :model="singleDetails" size="small" label-width="90px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -208,7 +166,7 @@ ...@@ -208,7 +166,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态:" prop="pstatus"> <el-form-item label="状态:" prop="pstatus">
<template > <template>
<span v-if="singleDetails.pstatus === '0'" style="color: red">未完成</span> <span v-if="singleDetails.pstatus === '0'" style="color: red">未完成</span>
<span v-else style="color: green">已完成</span> <span v-else style="color: green">已完成</span>
</template> </template>
...@@ -228,8 +186,62 @@ ...@@ -228,8 +186,62 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table v-loading="loadingDetail" border :data="detailApplyList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="pn" prop="pn">
<template slot-scope="scope">
{{ scope.row.pn || '-' }}
</template>
</el-table-column>
<el-table-column label="lot" prop="lot" :show-overflow-tooltip="true">
<template slot-scope="scope">
{{ scope.row.lot || '-' }}
</template>
</el-table-column>
<el-table-column label="plocation" prop="plocation">
<template slot-scope="scope">
{{ scope.row.plocation || '-' }}
</template>
</el-table-column>
<el-table-column label="prank" prop="prank">
<template slot-scope="scope">
{{ scope.row.prank || '-' }}
</template>
</el-table-column>
<el-table-column label="pzl" prop="pzl">
<template slot-scope="scope">
{{ scope.row.pzl || '-' }}
</template>
</el-table-column>
<el-table-column label="phd" prop="phd">
<template slot-scope="scope">
{{ scope.row.phd || '-' }}
</template>
</el-table-column>
<el-table-column label="psm" prop="psm">
<template slot-scope="scope">
{{ scope.row.psm || '-' }}
</template>
</el-table-column>
<el-table-column label="pissb" prop="pissb">
<template slot-scope="scope">
<span v-if="scope.row.pissb === '0'"></span>
<span v-else></span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="totalDetail>0"
:total="totalDetail"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getDeviceList"
/>
</el-dialog> </el-dialog>
<!-- TODO: 申请处理表单 -->
<!-- TODO: 处理 -->
<el-dialog :title="title" :visible.sync="openHandle" width="1200px" append-to-body> <el-dialog :title="title" :visible.sync="openHandle" width="1200px" append-to-body>
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true"> <el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="pn" prop="pn"> <el-form-item label="pn" prop="pn">
...@@ -310,7 +322,7 @@ ...@@ -310,7 +322,7 @@
<el-table-column label="pissb" prop="pissb"> <el-table-column label="pissb" prop="pissb">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.pissb === '0'"></span> <span v-if="scope.row.pissb === '0'"></span>
<span v-else ></span> <span v-else></span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -321,17 +333,29 @@ ...@@ -321,17 +333,29 @@
:limit.sync="queryParams.rows" :limit.sync="queryParams.rows"
@pagination="getDeviceList" @pagination="getDeviceList"
/> />
<div style="float: right;padding:3px 15px;">
<el-button
type="primary"
size="small"
@click="handleCance"
>确定</el-button>
</div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listWbApply, deleteLogical, detailList } from '@/api/equipment/draw' import { listWbApply, deleteLogical, detailList, batchAddition } from '@/api/equipment/draw'
import { parseTime } from '@/utils' import { parseTime } from '@/utils'
import { title } from '@/settings'
export default { export default {
name: 'Role', name: 'Role',
data() { data() {
return { return {
canceList: [],
applyId: '',
multipleSelection: [],
detailApplyList: [], detailApplyList: [],
deviceList: [],
// TODO: 表单里的单项详情参数 // TODO: 表单里的单项详情参数
singleDetails: { singleDetails: {
pn: '', pn: '',
...@@ -424,30 +448,6 @@ export default { ...@@ -424,30 +448,6 @@ export default {
children: 'children', children: 'children',
label: 'label' label: 'label'
}, },
// 表单校验
rules: {
pn: [
{ required: true, message: '请输入pn', trigger: 'blur' }
],
ptype: [
{ required: true, message: '请输入ptype', trigger: 'blur' }
],
pgx: [
{ required: true, message: '请输入pgx', trigger: 'blur' }
],
prank: [
{ required: true, message: '请输入prank', trigger: 'blur' }
],
pissb: [
{ required: true, message: '请输入pissb', trigger: 'blur' }
],
psm: [
{ required: true, message: '请输入psm', trigger: 'blur' }
],
psy: [
{ required: true, message: '请输入psy', trigger: 'blur' }
]
},
deptOptions: [] deptOptions: []
} }
}, },
...@@ -473,6 +473,32 @@ export default { ...@@ -473,6 +473,32 @@ export default {
// }); // });
}, },
methods: { methods: {
handleCance() {
console.log('multipleSelection', this.multipleSelection)
if (this.multipleSelection.length === 0) {
this.$message.warning('请至少选择一个要处理的设备')
} else {
this.canceList = []
this.multipleSelection.forEach(item => {
console.log('item', item)
const obj = {
applyId: this.applyId,
pn: item.pn,
pzl: item.pzl,
lot: item.lot,
plocation: item.plocation,
phd: item.phd,
psm: item.psm,
prank: item.prank
}
this.canceList.push(obj)
})
console.log('canceList', this.canceList)
batchAddition(this.canceList).then(res => {
console.log('res',res)
})
}
},
/** 查询apply_detail列表 */ /** 查询apply_detail列表 */
getDeviceList() { getDeviceList() {
this.loadingDetail = true this.loadingDetail = true
...@@ -483,7 +509,9 @@ export default { ...@@ -483,7 +509,9 @@ export default {
this.loadingDetail = false this.loadingDetail = false
}) })
}, },
handle() { handle(row) {
this.applyId = row.businessId
this.title = '处理'
this.openHandle = !this.openHandle this.openHandle = !this.openHandle
this.loadingDetail = true this.loadingDetail = true
detailList(this.queryParamsDetail).then(res => { detailList(this.queryParamsDetail).then(res => {
...@@ -493,10 +521,10 @@ export default { ...@@ -493,10 +521,10 @@ export default {
this.loadingDetail = false this.loadingDetail = false
}) })
}, },
// : 获取所选行详情信息操作 // 获取所选行详情信息
handleDetail(row) { handleDetail(row) {
this.singleDetails = row this.singleDetails = row
this.title = '详情信息' this.title = '详情'
this.openDetails = !this.openDetails this.openDetails = !this.openDetails
}, },
/** 查询基础信息列表 */ /** 查询基础信息列表 */
...@@ -557,10 +585,8 @@ export default { ...@@ -557,10 +585,8 @@ export default {
this.handleQuery() this.handleQuery()
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange: function(selection) {
this.ids = selection.map(item => item.roleId) this.multipleSelection = selection
this.single = selection.length !== 1
this.multiple = !selection.length
}, },
// 树权限(父子联动) // 树权限(父子联动)
handleCheckedTreeConnect(value, type) { handleCheckedTreeConnect(value, type) {
......
...@@ -14,70 +14,93 @@ ...@@ -14,70 +14,93 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="40"> <el-row>
<el-col :span="12" style="padding-left: 10%;"> <el-col :span="12" style="padding-left: 8.6%;">
<el-form-item label="位置:" style="flex-basis: 50%;" prop="plocation">
<el-input ref="input3" v-model="form.plocation" placeholder="请输入位置" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(3,$event)" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="厚度:" style="flex-basis: 50%;" prop="phd"> <el-form-item label="厚度:" style="flex-basis: 50%;" prop="phd">
<el-input ref="input4" v-model="form.phd" placeholder="请输入厚度" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(4,$event)" /> <el-input ref="input3" v-model="form.phd" placeholder="请输入厚度" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(3,$event)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="12" style="padding-left: 8.6%;">
<el-row :gutter="40"> <el-button type="primary" @click="handleConfirm">确认</el-button>
<el-col :span="12" style="padding-left: 10%;">
<el-form-item label="psm:" style="flex-basis: 50%;" prop="psm">
<el-input ref="input5" v-model="form.psm" placeholder="请输入psm" :style="{ width: '400px', height: '30px' }" :maxlength="50" @keyup.enter.native="handelTab(5,$event)" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="pzl:" style="flex-basis: 50%;" prop="pzl">
<el-input ref="input6" v-model="form.pzl" placeholder="请输入pzl" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(6,$event)" />
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
<!-- <div class="mb12 font-small-bold" style="display: flex; padding-left: 12%;">设备入库列表</div>-->
<el-table border :data="tableData" style="width: 100%; ">
<el-table-column type="index" label="序号" width="80" />
<el-table-column label="pn" prop="businessId">
<template slot-scope="scope">
{{ scope.row.pn || '-' }}
</template>
</el-table-column>
<el-table-column label="lot" prop="lot">
<template slot-scope="scope">
{{ scope.row.lot || '-' }}
</template>
</el-table-column>
<el-table-column label="厚度" prop="phd">
<template slot-scope="scope">
{{ scope.row.phd || '-' }}
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="180px">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
style="color: #49cec9"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-form ref="form" :model="form" :rules="rule" label-width="80px">
<el-row> <el-row>
<el-col :span="12" style="padding-left: 8.6%;"> <el-col :span="12" style="padding-left: 8.6%;">
<el-form-item label="prank:" style="flex-basis: 50%;" prop="prank"> <el-form-item label="位置:" style="flex-basis: 50%;" prop="plocation">
<el-input ref="input7" v-model="form.prank" placeholder="请输入prank" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(7,$event)" /> <el-input v-model="form.plocation" placeholder="请输入位置" :style="{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(3,$event)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="button">
<el-button type="primary" @click="submitForm">提交</el-button>
</div>
</el-form> </el-form>
<div class="button">
<el-button type="primary" @click="submitForm">提交</el-button>
</div>
</div> </div>
</template> </template>
<script> <script>
import { add, updatadevice } from '@/api/magnagement' import { add } from '@/api/magnagement'
export default { export default {
name: 'Role', name: 'Role',
data() { data() {
return { return {
index: 0,
flag: false,
form: { form: {
pn: '', pn: '',
lot: '', lot: '',
plocation: '', plocation: '',
phd: '', phd: '',
psm: '',
pzl: '',
prank: '',
flag: 1, flag: 1,
ptype: 1, ptype: 1,
pstatus: 0 pstatus: 0
}, },
tableData: [], // 表格数据
selectedRows: [],
showForm: false, // 控制表单显示与隐藏
selectedItem: null, // 存储当前被选中的表格行数据
rule: { rule: {
pn: [{ required: true, message: '请输入pn', trigger: 'blur' }], pn: [{ required: true, message: '请输入pn', trigger: 'blur' }],
lot: [{ required: true, message: '请输入lot', trigger: 'blur' }], lot: [{ required: true, message: '请输入lot', trigger: 'blur' }],
plocation: [{ required: true, message: '请输入位置', trigger: 'blur' }], plocation: [{ required: true, message: '请输入位置', trigger: 'blur' }],
phd: [{ pattern: /^\d+$/, message: '仅能输入数字', trigger: 'change' }], phd: [{ pattern: /^\d+$/, message: '仅能输入数字', trigger: 'change' }]
psm: [{ pattern: /^\d+$/, message: '仅能输入数字', trigger: 'change' }],
pzl: [{ pattern: /^\d+$/, message: '仅能输入数字', trigger: 'change' }],
prank: [{ pattern: /^\d+$/, message: '仅能输入数字', trigger: 'change' }]
} }
} }
}, },
...@@ -90,6 +113,104 @@ export default { ...@@ -90,6 +113,104 @@ export default {
this.init() this.init()
}, },
methods: { methods: {
handleDelete(row) {
// 检查选中行是否已存在于selectedRows数组中
const index = this.selectedRows.findIndex(selectedRow => selectedRow === row)
if (index !== -1) {
// 从selectedRows数组中移除选中行
this.selectedRows.splice(index, 1)
} else {
// 将选中行添加到selectedRows数组中
this.selectedRows.push(row)
}
// 从tableData数组中删除选中行
this.tableData = this.tableData.filter(row => !this.selectedRows.includes(row))
// 清空selectedRows数组
this.selectedRows = []
},
handleUpdate(row) {
this.form.pn = row.pn
this.form.lot = row.lot
this.form.phd = row.phd
this.tableData.forEach((item, index) => {
if (item.pn === row.pn) {
this.form.index = index
}
})
console.log('form.index', this.form)
// console.log('tableData', this.tableData)
// this.selectedItem = { ...row } // 存储当前被选中的表格行数据
// this.showForm = true // 显示表单
},
handleConfirm() {
this.flag = false
const {
pn,
lot,
plocation,
phd
} = this.form
if (pn && lot) { // 检查输入框是否为空
const newRow = {
pn,
lot,
phd,
plocation
}
if (this.form.index === undefined) {
if (this.tableData.length) {
this.tableData.forEach((item, index) => {
console.log('item', item)
console.log('pn', this.form.pn)
if (item.pn === this.form.pn) {
this.flag = true
this.index = index + 1
}
})
if (this.flag) {
this.$message.warning('与第' + this.index + '条pn值重复')
} else {
this.tableData.push(newRow)
// 清空输入框
this.form.pn = ''
this.form.lot = ''
this.form.phd = ''
this.form.plocation = ''
}
} else {
this.tableData.push(newRow)
// 清空输入框
this.form.pn = ''
this.form.lot = ''
this.form.phd = ''
this.form.plocation = ''
}
} else {
let number = 0
let flag = false
console.log('编辑')
this.tableData.forEach((item, index) => {
if (item.pn === this.form.pn && index !== this.form.index) {
flag = true
number = index + 1
}
})
if (flag) {
this.$message.warning('与第' + number + '条pn值重复')
} else {
this.tableData[this.form.index].pn = this.form.pn
this.tableData[this.form.index].lot = this.form.lot
this.tableData[this.form.index].phd = this.form.phd
this.form.pn = ''
this.form.lot = ''
this.form.phd = ''
this.form.plocation = ''
this.form.index = undefined
}
}
}
},
focusNextInput(refName) { focusNextInput(refName) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs[refName].$refs.input.focus() this.$refs[refName].$refs.input.focus()
...@@ -133,28 +254,19 @@ export default { ...@@ -133,28 +254,19 @@ export default {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
console.log('form', this.form) console.log('form', this.form)
// 校验通过,提交表单或进行其他操作 this.tableData.forEach(item => {
if (this.form.businessId !== undefined) { item.plocation = this.form.plocation
updatadevice(this.form).then(res => { })
if (res.code === 200) { console.log('tableData', this.tableData)
this.open = false add(this.tableData).then(res => {
this.$message.success('操作成功') if (res.code === 200) {
this.resetFrom() this.open = false
} else if (res.code === null) { this.$message.success('操作成功')
this.$message.error(res.message) this.tableData = []
} } else if (res.code === null) {
}) this.$message.error(res.message)
} else { }
add(this.form).then(res => { })
if (res.code === 200) {
this.open = false
this.$message.success('操作成功')
this.resetFrom()
} else if (res.code === null) {
this.$message.error(res.message)
}
})
}
} else { } else {
// 校验失败,显示错误信息或进行其他操作 // 校验失败,显示错误信息或进行其他操作
} }
......
...@@ -85,8 +85,14 @@ ...@@ -85,8 +85,14 @@
<span>{{ scope.row.updateDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span> <span>{{ scope.row.updateDate | transformDateByFormat('YYYY-MM-DD HH:mm') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width" width="120px"> <el-table-column label="操作" class-name="small-padding fixed-width" width="180px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini"
type="text"
style="color: #49cec9"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button :type="typeParent" :size="size" @click="handleDetail(scope.row)"> <el-button :type="typeParent" :size="size" @click="handleDetail(scope.row)">
详情 详情
</el-button> </el-button>
...@@ -110,31 +116,27 @@ ...@@ -110,31 +116,27 @@
<!-- 添加或修改设备配置对话框 --> <!-- 添加或修改设备配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px" >
<el-form-item label="名称" prop="roleName"> <el-form-item label="pn" prop="pn">
<el-input v-model.trim="form.roleName" show-word-limit :maxlength="30" placeholder="请输入设备名称" /> <el-input ref="input1" v-model.trim="form.pn" :maxlength="30" placeholder="请输入pn" @keyup.enter.native="handelTab(1,$event)" />
</el-form-item>
<el-form-item label="lot" prop="lot">
<el-input ref="input2" v-model.trim="form.lot" :maxlength="30" placeholder="请输入lot" @keyup.enter.native="handelTab(2,$event)" />
</el-form-item>
<el-form-item label="plocation" prop="plocation">
<el-input ref="input3" v-model.trim="form.plocation" :maxlength="30" placeholder="请输入plocation" @keyup.enter.native="handelTab(3,$event)" />
</el-form-item>
<el-form-item label="厚度" prop="phd">
<el-input ref="input4" v-model.trim="form.phd" :maxlength="30" placeholder="请输入厚度" @keyup.enter.native="handelTab(4,$event)" />
</el-form-item> </el-form-item>
<el-form-item label="设备来源" prop="roleKey"> <el-form-item label="psm" prop="psm">
<el-input v-model.trim="form.roleKey" show-word-limit :maxlength="30" placeholder="请输入设备来源" /> <el-input ref="input5" v-model.trim="form.psm" :maxlength="30" placeholder="请输入psm" @keyup.enter.native="handelTab(5,$event)" />
</el-form-item> </el-form-item>
<el-form-item label="排序" prop="roleSort"> <el-form-item label="pzl" prop="pzl">
<el-input-number v-model="form.roleSort" style="width: 100%" controls-position="right" :min="0" /> <el-input ref="input6" v-model.trim="form.pzl" :maxlength="30" placeholder="请输入pzl" @keyup.enter.native="handelTab(6,$event)" />
</el-form-item> </el-form-item>
<el-form-item label="设备批次"> <el-form-item label="parnk" prop="prank">
<!-- <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>--> <el-input ref="input7" v-model.trim="form.prank" :maxlength="30" placeholder="请输入prank" @keyup.enter.native="handelTab(7,$event)" />
<!-- <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>-->
<!-- <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>-->
<el-tree
ref="menu"
class="tree-border"
:data="menuOptions"
show-checkbox
node-key="id"
check-strictly
empty-text="加载中,请稍后"
:props="defaultProps"
@check-change="handleMenuCheckChange"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -209,7 +211,7 @@ import { ...@@ -209,7 +211,7 @@ import {
getRole, getRole,
updateRole updateRole
} from '@/api/system/role' } from '@/api/system/role'
import { listdevice, deletedevice, exportdevice } from '@/api/magnagement' import { listdevice, deletedevice, exportdevice, getDetailById, updatadevice, add } from '@/api/magnagement'
import { roleMenuTreeselect, roleMenuTreeselectMC, treeselect as menuTreeselect } from '@/api/system/menu' import { roleMenuTreeselect, roleMenuTreeselectMC, treeselect as menuTreeselect } from '@/api/system/menu'
import { roleDeptTreeselect, treeselect as deptTreeselect } from '@/api/system/dept' import { roleDeptTreeselect, treeselect as deptTreeselect } from '@/api/system/dept'
export default { export default {
...@@ -320,7 +322,7 @@ export default { ...@@ -320,7 +322,7 @@ export default {
lot: undefined, lot: undefined,
plocation: undefined, plocation: undefined,
pstatus: 0, pstatus: 0,
ptype: 2, ptype: 1,
delFlag: 0 delFlag: 0
}, },
// 表单参数 // 表单参数
...@@ -335,15 +337,13 @@ export default { ...@@ -335,15 +337,13 @@ export default {
}, },
// 表单校验 // 表单校验
rules: { rules: {
roleName: [ pn: [{ required: true, message: '请输入pn', trigger: 'blur' }],
{ required: true, message: '请输入角色名称', trigger: 'blur' } lot: [{ required: true, message: '请输入lot', trigger: 'blur' }],
], plocation: [{ required: true, message: '请输入plocation', trigger: 'blur' }],
roleKey: [ phd: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
{ required: true, message: '请输入权限字符', trigger: 'blur' } psm: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
], pzl: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }],
roleSort: [ prank: [{ pattern: /^[0-9]{1,9}(\.[0-9]{1,3})?$/, message: '仅能输入数字和小数,限制三位小数', trigger: 'change' }]
{ required: true, message: '请输入角色排序', trigger: 'blur' }
]
}, },
deptOptions: [], deptOptions: [],
formData: {} formData: {}
...@@ -585,19 +585,11 @@ export default { ...@@ -585,19 +585,11 @@ export default {
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset() this.title = '设备管理'
const roleId = row.businessId || this.ids const id = row.businessId
const roleMenu = this.getRoleMenuTreeselect(roleId) getDetailById(id).then(res => {
getRole(roleId).then(response => { this.form = res.data
this.form = response.data
this.open = true this.open = true
this.getMenuTreeselect(roleId)
this.$nextTick(() => {
roleMenu.then(res => {
this.$refs.menu.setCheckedKeys(res.data.checkedKeys)
})
})
this.title = '修改角色'
}) })
}, },
/** 分配数据权限操作 选择菜单 */ /** 分配数据权限操作 选择菜单 */
...@@ -628,24 +620,37 @@ export default { ...@@ -628,24 +620,37 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function() {
this.$refs['form'].validate(valid => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
this.form.menuCheckStrictly = false // 校验通过,提交表单或进行其他操作
console.log('form', this.form)
if (this.form.businessId !== undefined) { if (this.form.businessId !== undefined) {
this.form.menuIds = this.getMenuAllCheckedKeys() console.log('更新')
updateRole(this.form).then(response => { updatadevice(this.form).then(res => {
this.msgSuccess('修改成功') console.log('res', res)
this.open = false if (res.code === 200) {
this.getList() this.open = false
this.$message.success('操作成功')
this.getList()
this.reFrom()
} else if (res.code === null) {
this.$message.error(res.message)
}
}) })
} else { } else {
this.form.menuIds = this.getMenuAllCheckedKeys() add(this.form).then(res => {
addRole(this.form).then(response => { if (res.code === 200) {
this.msgSuccess('新增成功') this.open = false
this.open = false this.$message.success('操作成功')
this.getList() this.getList()
this.reFrom()
} else if (res.code === null) {
this.$message.error(res.message)
}
}) })
} }
} else {
// 校验失败,显示错误信息或进行其他操作
} }
}) })
}, },
......
...@@ -167,25 +167,25 @@ ...@@ -167,25 +167,25 @@
<transition name="fade-transform" mode="out-in"> <transition name="fade-transform" mode="out-in">
<el-row v-if=" activateAbandonedState " style="height: 160px"> <el-row v-if=" activateAbandonedState " style="height: 160px">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="fq_ys:" prop="fq_ys"> <el-form-item label="fqYs:" prop="fqYs">
{{ singleDetails.fq_ys }} {{ singleDetails.fqYs }}
</el-form-item> </el-form-item>
<el-form-item label="fq_bz:" prop="fq_bz"> <el-form-item label="fqBz:" prop="fqBz">
{{ singleDetails.fq_bz }} {{ singleDetails.fqBz }}
</el-form-item> </el-form-item>
<el-form-item label="fq_dbxi:" prop="fq_dbxi"> <el-form-item label="fqDbxi:" prop="fqDbxi">
{{ singleDetails.fq_dbxi }} {{ singleDetails.fqDbxi }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="fq_dd:" prop="fq_dd"> <el-form-item label="fqDd:" prop="fqDd">
{{ singleDetails.fq_dd }} {{ singleDetails.fqDd }}
</el-form-item> </el-form-item>
<el-form-item label="fq_mcode:" prop="fq_mcode"> <el-form-item label="fqMcode:" prop="fqMcode">
{{ singleDetails.fq_mcode }} {{ singleDetails.fqMcode }}
</el-form-item> </el-form-item>
<el-form-item label="fq_yy:" prop="fq_yy"> <el-form-item label="fqYy:" prop="fqYy">
{{ singleDetails.fq_yy }} {{ singleDetails.fqYy }}
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -308,7 +308,7 @@ export default { ...@@ -308,7 +308,7 @@ export default {
// 选择框 // 选择框
selection: false, selection: false,
// 选择框根据条件是否可选 // 选择框根据条件是否可选
selectable: (row, index) => { selectable: (row) => {
if (row.switchs) { if (row.switchs) {
return true return true
} }
...@@ -330,7 +330,7 @@ export default { ...@@ -330,7 +330,7 @@ export default {
ownDefined: true, ownDefined: true,
prop: 'ptype', prop: 'ptype',
label: '库类型', label: '库类型',
ownDefinedReturn: (row, $index) => { ownDefinedReturn: (row) => {
return this.selectedPtype(row.ptype) return this.selectedPtype(row.ptype)
} }
}, },
...@@ -339,7 +339,7 @@ export default { ...@@ -339,7 +339,7 @@ export default {
prop: 'poperate', prop: 'poperate',
label: '库状态', label: '库状态',
width: '180px', width: '180px',
ownDefinedReturn: (row, $index) => { ownDefinedReturn: (row) => {
return this.selectedPoperate(row.poperate) return this.selectedPoperate(row.poperate)
} }
}, },
...@@ -524,7 +524,12 @@ export default { ...@@ -524,7 +524,12 @@ export default {
/* 激活打开废弃信息栏 */ /* 激活打开废弃信息栏 */
this.activateAbandonedState = true this.activateAbandonedState = true
this.title = '记录详情' this.title = '记录详情'
this.singleDetails = Object.assign({}, response.data, { ...row }) console.log(row)
console.log(response.data)
const { fqBz, fqDbxi, fqDd, fqMcode, fqYy } = response.data
const fq = { fqBz, fqDbxi, fqDd, fqMcode, fqYy }
this.singleDetails = Object.assign({}, { ...row }, { ...fq })
console.log(this.singleDetails)
} }
) )
} }
......
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