优化测试问题

This commit is contained in:
BianLzhaoMin 2024-04-28 10:28:22 +08:00
parent f5f2307232
commit f697659bd7
1 changed files with 538 additions and 784 deletions

View File

@ -1,13 +1,6 @@
<template>
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="关键字" prop="keyword">
<el-input
v-model="queryParams.keyword"
@ -18,43 +11,17 @@
/>
</el-form-item>
<el-form-item label="单位名称" prop="unitId">
<el-select
v-model="queryParams.unitId"
placeholder="请选择单位名称"
clearable
>
<el-option
v-for="item in unitList"
filterable
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-select v-model="queryParams.unitId" placeholder="请选择单位名称" clearable>
<el-option v-for="item in unitList" filterable :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="工程名称" prop="proId">
<el-select
v-model="queryParams.proId"
placeholder="请选择工程名称"
clearable
>
<el-option
v-for="item in proList"
filterable
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-select v-model="queryParams.proId" placeholder="请选择工程名称" clearable>
<el-option v-for="item in proList" filterable :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型名称" prop="typeId">
<el-select
v-model="queryParams.typeId"
placeholder="请选择类型名称"
clearable
filterable
style="width: 240px"
>
<el-select v-model="queryParams.typeId" placeholder="请选择类型名称" clearable filterable style="width: 240px">
<el-option
v-for="typeItem in typeList"
:key="typeItem.typeId"
@ -78,164 +45,68 @@
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-loading="loading"
:data="deviceList"
@selection-change="handleSelectionChange"
>
<el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" align="center" width="80" type="index">
<template scope="scope">
<span>{{ (queryParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="单位名称"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="工程名称"
align="center"
prop="proName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="类型名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="modelName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="进场数量"
align="center"
prop="jcNum"
:show-overflow-tooltip="true"
>
<el-table-column label="单位名称" align="center" prop="unitName" :show-overflow-tooltip="true" />
<el-table-column label="工程名称" align="center" prop="proName" :show-overflow-tooltip="true" />
<el-table-column label="类型名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
<el-table-column label="进场数量" align="center" prop="jcNum" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span
class="clickText"
@click="openRecords(scope.row, 1)"
>{{ scope.row.jcNum }}</span
>
<span class="clickText" @click="openRecords(scope.row, 1)">{{ scope.row.jcNum }}</span>
</template>
</el-table-column>
<el-table-column
label="退场数量"
align="center"
prop="tcNUm"
:show-overflow-tooltip="true"
>
<el-table-column label="退场数量" align="center" prop="tcNUm" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span
class="clickText"
@click="openRecords(scope.row, 2)"
>{{ scope.row.tcNUm }}</span
>
<span class="clickText" @click="openRecords(scope.row, 2)">{{ scope.row.tcNUm }}</span>
</template>
</el-table-column>
<el-table-column
label="场内库存量"
align="center"
prop="kcNum"
:show-overflow-tooltip="true"
/>
<el-table-column label="场内库存量" align="center" prop="kcNum" :show-overflow-tooltip="true" />
<!-- <template slot-scope="scope">-->
<!-- <span class="clickText" @click="openRecords(scope.row,3)">{{scope.row.kcNum}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column
label="已出库数量"
align="center"
prop="ckNum"
:show-overflow-tooltip="true"
>
<el-table-column label="已出库数量" align="center" prop="ckNum" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span
class="clickText"
@click="openRecords(scope.row, 4)"
>{{ scope.row.ckNum }}</span
>
<span class="clickText" @click="openRecords(scope.row, 4)">{{ scope.row.ckNum }}</span>
</template>
</el-table-column>
<el-table-column
label="已退库数量"
align="center"
prop="zkNum"
:show-overflow-tooltip="true"
>
<el-table-column label="已退库数量" align="center" prop="zkNum" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span
class="clickText"
@click="openRecords(scope.row, 5)"
>{{ scope.row.zkNum }}</span
>
<span class="clickText" @click="openRecords(scope.row, 5)">{{ scope.row.zkNum }}</span>
</template>
</el-table-column>
<el-table-column
label="计量单位"
align="center"
prop="nuitName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<el-table-column label="计量单位" align="center" prop="nuitName" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleOut(scope.row)"
>出库</el-button
>
<el-button size="mini" type="primary" @click="handleOut(scope.row)" v-if="parseInt(scope.row.kcNum) > 0">
出库
</el-button>
<el-button
size="mini"
type="warning"
@click="handleIn(scope.row)"
>退库</el-button
v-if="parseInt(scope.row.ckNum) > 0 && parseInt(scope.row.zkNum) < parseInt(scope.row.ckNum)"
>
退库
</el-button>
</template>
</el-table-column>
</el-table>
@ -249,153 +120,82 @@
/>
<!-- 出库弹窗 -->
<el-dialog
:title="title"
:visible.sync="openOut"
width="600px"
append-to-body
:close-on-click-modal="false"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-dialog :title="title" :visible.sync="openOut" width="600px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="类型名称:" prop="typeName">
<el-input
v-model="form.typeName"
placeholder="请输入类型名称"
disabled
/>
<el-input v-model="form.typeName" placeholder="请输入类型名称" disabled />
</el-form-item>
<el-form-item label="规格型号" prop="modelName">
<el-input
v-model="form.modelName"
placeholder="请输入规格型号"
disabled
/>
<el-input v-model="form.modelName" placeholder="请输入规格型号" disabled />
</el-form-item>
<el-form-item label="在库数量" prop="kcNum">
<el-input
v-model="form.kcNum"
placeholder="请输入在库数量"
disabled
/>
<el-input v-model="form.kcNum" placeholder="请输入在库数量" disabled />
</el-form-item>
<el-form-item label="出库数量" prop="num">
<el-input v-model="form.num" placeholder="请输入出库数量" />
</el-form-item>
<el-form-item label="班组名称" prop="teamName">
<el-input
v-model="form.teamName"
placeholder="请输入班组名称"
maxlength="50"
/>
<el-input v-model="form.teamName" placeholder="请输入班组名称" maxlength="50" />
</el-form-item>
<el-form-item label="领用人员" prop="leaseMan">
<el-input
v-model="form.leaseMan"
placeholder="请输入领用人员"
maxlength="50"
/>
<el-input v-model="form.leaseMan" placeholder="请输入领用人员" maxlength="50" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input
v-model="form.phone"
placeholder="请输入联系电话"
maxlength="11" onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
maxlength="11"
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm(1)"
> </el-button
>
<el-button type="primary" @click="submitForm(1)"> </el-button>
<el-button @click="openOut = false"> </el-button>
</div>
</el-dialog>
<!-- 进库弹窗 -->
<el-dialog
:title="title"
:visible.sync="openIn"
width="600px"
append-to-body
:close-on-click-modal="false"
>
<el-form
ref="nform"
:model="nform"
:rules="nrules"
label-width="120px"
>
<el-dialog :title="title" :visible.sync="openIn" width="600px" append-to-body :close-on-click-modal="false">
<el-form ref="nform" :model="nform" :rules="nrules" label-width="120px">
<el-form-item label="类型名称:" prop="typeName">
<el-input
v-model="nform.typeName"
placeholder="请输入类型名称"
disabled
/>
<el-input v-model="nform.typeName" placeholder="请输入类型名称" disabled />
</el-form-item>
<el-form-item label="规格型号" prop="modelName">
<el-input
v-model="nform.modelName"
placeholder="请输入规格型号"
disabled
/>
<el-input v-model="nform.modelName" placeholder="请输入规格型号" disabled />
</el-form-item>
<el-form-item label="已出库数量" prop="ckNum">
<el-input v-model="nform.ckNum" disabled />
</el-form-item>
<el-form-item label="退库数量" prop="num">
<el-input
v-model="nform.num"
placeholder="请输入退库数量"
/>
<el-input v-model="nform.num" placeholder="请输入退库数量" maxlength="50" />
</el-form-item>
<el-form-item label="班组名称" prop="teamName">
<el-input
v-model="nform.teamName"
placeholder="请输入班组名称"
maxlength="50"
/>
<el-input v-model="nform.teamName" placeholder="请输入班组名称" maxlength="50" />
</el-form-item>
<el-form-item label="退库人员" prop="leaseMan">
<el-input
v-model="nform.leaseMan"
placeholder="请输入退库人员"
maxlength="50"
/>
<el-input v-model="nform.leaseMan" placeholder="请输入退库人员" maxlength="50" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input
v-model="nform.phone"
placeholder="请输入联系电话"
maxlength="11" onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
maxlength="11"
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm(2)"
> </el-button
>
<el-button type="primary" @click="submitForm(2)"> </el-button>
<el-button @click="openIn = false"> </el-button>
</div>
</el-dialog>
<!-- 记录弹窗 -->
<el-dialog
:title="title"
:visible.sync="openRecord"
width="1200px"
append-to-body
>
<el-form
:model="dialogQuery"
ref="dialogQuery"
size="small"
:inline="true"
label-width="80px"
>
<el-dialog :title="title" :visible.sync="openRecord" width="1200px" append-to-body>
<el-form :model="dialogQuery" ref="dialogQuery" size="small" :inline="true" label-width="80px">
<el-form-item label="记录时间" prop="startTime">
<el-date-picker
v-model="dialogQuery.startTime"
@ -413,19 +213,8 @@
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleDialogQuery"
>查询</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetDialogQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleDialogQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetDialogQuery">重置</el-button>
</el-form-item>
</el-form>
@ -435,36 +224,11 @@
<span>{{ (dialogQuery.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="类型名称"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="modelName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="数量"
align="center"
prop="num"
:show-overflow-tooltip="true"
/>
<el-table-column
label="记录时间"
align="center"
prop="startTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="操作类型"
align="center"
prop=""
:show-overflow-tooltip="true"
/>
<el-table-column label="类型名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="modelName" :show-overflow-tooltip="true" />
<el-table-column label="数量" align="center" prop="num" :show-overflow-tooltip="true" />
<el-table-column label="记录时间" align="center" prop="startTime" :show-overflow-tooltip="true" />
<el-table-column label="操作类型" align="center" prop="" :show-overflow-tooltip="true" />
</el-table>
<pagination
@ -479,17 +243,13 @@
</template>
<script>
import {
secondaryWarehouseList,
operate,
getRecords,
} from '@/api/claimAndRefund/secondStore'
import { getUnitData, getProData } from '@/api/claimAndRefund/receive.js'
import { getTypeList } from '@/api/store/warehousing'
import { equipmentTypeTree } from '@/api/store/tools'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default {
import { secondaryWarehouseList, operate, getRecords } from '@/api/claimAndRefund/secondStore'
import { getUnitData, getProData } from '@/api/claimAndRefund/receive.js'
import { getTypeList } from '@/api/store/warehousing'
import { equipmentTypeTree } from '@/api/store/tools'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default {
name: 'SecondStore',
dicts: ['sys_normal_disable'],
components: { Treeselect },
@ -594,52 +354,36 @@
methods: {
//
getUnitList() {
getUnitData().then((response) => {
getUnitData().then(response => {
this.unitList = response.data
})
},
//
getProList() {
getProData().then((response) => {
getProData().then(response => {
this.proList = response.data
})
},
getTypeList() {
getTypeList({ level: '3' }).then((response) => {
getTypeList({ level: '3' }).then(response => {
this.typeList = response.data
})
},
//
equipmentType() {
equipmentTypeTree().then((response) => {
equipmentTypeTree().then(response => {
this.equipmentTypeList = response.data
this.equipmentTypeList.forEach((item, index) => {
if (item.children && item.children.length > 0) {
item.children.forEach((item2, index2) => {
if (
item2.children &&
item2.children.length > 0
) {
item2.children.forEach((item3) => {
if (
item3.children &&
item3.children.length > 0
) {
item3.children.forEach((item4) => {
item4.machineTypeName =
item3.typeName
item4.specificationType =
item4.typeName
this.$set(
item4,
'purchasePrice',
0,
)
this.$set(
item4,
'purchaseNum',
1,
)
if (item2.children && item2.children.length > 0) {
item2.children.forEach(item3 => {
if (item3.children && item3.children.length > 0) {
item3.children.forEach(item4 => {
item4.machineTypeName = item3.typeName
item4.specificationType = item4.typeName
this.$set(item4, 'purchasePrice', 0)
this.$set(item4, 'purchaseNum', 1)
})
}
})
@ -652,7 +396,7 @@
/** 查询列表 */
getList() {
this.loading = true
secondaryWarehouseList(this.queryParams).then((response) => {
secondaryWarehouseList(this.queryParams).then(response => {
this.deviceList = response.rows
this.total = response.total
this.loading = false
@ -691,7 +435,7 @@
},
//
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.dictId)
this.ids = selection.map(item => item.dictId)
this.single = selection.length != 1
this.multiple = !selection.length
},
@ -723,18 +467,24 @@
this.$set(this.nform, 'unitName', row.unitName)
this.$set(this.nform, 'typeName', row.typeName)
this.$set(this.nform, 'modelName', row.modelName)
this.$set(this.nform, 'ckNum', row.ckNum)
this.openIn = true
this.title = '退库'
},
/** 提交按钮 */
submitForm: function (type) {
if (type == 1) {
this.$refs['form'].validate((valid) => {
this.$refs['form'].validate(valid => {
if (valid) {
if (parseInt(this.form.num) > parseInt(this.form.kcNum)) {
this.$message.error('出库数量不可大于在库数量')
return
}
let param = {}
param = this.form
param.type = 1
operate(param).then((response) => {
operate(param).then(response => {
this.$modal.msgSuccess('操作成功')
this.openOut = false
this.getList()
@ -743,12 +493,16 @@
})
}
if (type == 2) {
this.$refs['nform'].validate((valid) => {
this.$refs['nform'].validate(valid => {
if (valid) {
if (parseInt(this.nform.num) > parseInt(this.nform.ckNum)) {
this.$message.error('退库数量不可大于出库数量')
return
}
let param = {}
param = this.nform
param.type = 2
operate(param).then((response) => {
operate(param).then(response => {
this.$modal.msgSuccess('操作成功')
this.openIn = false
this.getList()
@ -773,7 +527,7 @@
/** 查询列表 */
getDialogList() {
this.dialogQuery.queryType = this.queryType
getRecords(this.dialogQuery).then((response) => {
getRecords(this.dialogQuery).then(response => {
this.dialogList = response.rows
this.dialogTotal = response.total
})
@ -783,19 +537,19 @@
this.downloadJson(
'material/secondaryWarehouse/exportList',
JSON.stringify(this.queryParams),
`二级库_${new Date().getTime()}.xlsx`,
`二级库_${new Date().getTime()}.xlsx`
)
},
},
}
}
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {
::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important;
margin-bottom: 10px;
}
.clickText {
}
.clickText {
color: #02a7f0;
cursor: pointer;
}
}
</style>