二级库代码提交

This commit is contained in:
BianLzhaoMin 2025-01-13 17:39:41 +08:00
parent 34e3e7e04d
commit 7dc5130ff6
13 changed files with 1872 additions and 6 deletions

View File

@ -0,0 +1,34 @@
import request from '@/utils/request'
// 二级库配置新增
export function addConfigApi(data) {
return request({
url: '/material/secondaryWarehouse/addConfig',
method: 'post',
data,
})
}
// 二级库配置编辑
export function editConfigApi(data) {
return request({
url: '/material/secondaryWarehouse/updateConfig',
method: 'post',
data,
})
}
// 二级库配置列表
export function getConfigListApi(data) {
return request({
url: '/material/secondaryWarehouse/listConfig',
method: 'get',
params: data,
})
}
// 二级库配置删除
export function delConfigApi(data) {
return request({
url: '/material/secondaryWarehouse/delConfig',
method: 'post',
data,
})
}

View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 二级库出库接口
export function addTeamsApi(data) {
return request({
url: '/material/secondaryWarehouse/addTeamGroup',
method: 'post',
data,
})
}

View File

@ -0,0 +1,34 @@
import request from '@/utils/request'
// 班组新增
export function addTeamsApi(data) {
return request({
url: '/material/secondaryWarehouse/addTeamGroup',
method: 'post',
data,
})
}
// 班组编辑
export function editTeamsApi(data) {
return request({
url: '/material/secondaryWarehouse/updateConfig',
method: 'post',
data,
})
}
// 班组列表
export function getTeamsListApi(data) {
return request({
url: '/material/secondaryWarehouse/listTeamGroup',
method: 'get',
params: data,
})
}
// 班组删除
export function delTeamsApi(data) {
return request({
url: '/material/secondaryWarehouse/delConfig',
method: 'post',
data,
})
}

View File

@ -0,0 +1,318 @@
<template>
<!-- 二级库配置 -->
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
>
<el-form-item prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入关键字"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item 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>
</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-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAddConfig"
>新增</el-button
>
</el-col>
</el-row>
<el-table border v-loading="loading" :data="configList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop="name"
align="center"
label="二级库名称"
show-overflow-tooltip
/>
<el-table-column
label="往来单位"
align="center"
prop="unitName"
show-overflow-tooltip
/>
<el-table-column label="操作" align="center" key="11" width="150">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleEdit(scope.row)"
>
编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row.id)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getConfigList()"
/>
<!-- 新增修改弹框 -->
<el-dialog
width="50%"
append-to-body
:title="addAndEditTitle"
:close-on-click-modal="false"
:visible.sync="addAndEditVisible"
@close="dialogClose"
>
<el-form
label-width="120px"
:model="addAndEditForm"
ref="addAndEditFormRef"
:rules="addAndEditFormRules"
>
<el-form-item label="二级库名称:" prop="name">
<el-input
v-model="addAndEditForm.name"
placeholder="请输入二级库名称"
/>
</el-form-item>
<el-form-item label="往来单位" prop="unitId">
<el-select
clearable
style="width: 100%"
placeholder="请选择往来单位"
v-model="addAndEditForm.unitId"
>
<el-option
filterable
:key="item.id"
:value="item.id"
:label="item.name"
v-for="item in unitList"
/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm()">
</el-button>
<el-button @click="addAndEditVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addConfigApi,
delConfigApi,
editConfigApi,
getConfigListApi,
} from '@/api/claimAndRefund/config-pages.js'
import { getUnitData } from '@/api/claimAndRefund/receive.js'
export default {
name: 'SecondStore',
data() {
return {
addAndEditVisible: false,
addAndEditTitle: '新增二级库配置',
configList: [],
editId: '',
//
addAndEditForm: {
name: '',
unitId: '',
},
//
loading: false,
//
//
total: 0,
//
unitList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: '',
unitId: undefined,
},
addAndEditFormRules: {
name: [
{
required: true,
message: '请输入二级库名称',
trigger: 'blur',
},
],
unitId: [
{
required: true,
message: '请选择往来单位',
trigger: 'change',
},
],
},
}
},
created() {
this.getUnitList()
this.getConfigList()
},
methods: {
//
async getConfigList() {
this.loading = true
const { data: res } = await getConfigListApi(this.queryParams)
this.loading = false
this.configList = res.rows
this.total = res.total
},
//
getUnitList() {
getUnitData().then((response) => {
this.unitList = response.data
})
},
//
handleQuery() {
this.getConfigList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
/** 提交按钮 */
submitForm() {
this.$refs.addAndEditFormRef.validate(async (valid) => {
if (valid) {
const SEND_API =
this.addAndEditTitle === '修改二级库配置'
? editConfigApi
: addConfigApi
const params =
this.addAndEditTitle === '修改二级库配置'
? { ...this.addAndEditForm, id: this.editId }
: this.addAndEditForm
const res = await SEND_API(params)
if (res.code === 200) {
this.$message.success(
this.addAndEditTitle.slice(0, 2) + '成功',
)
this.addAndEditVisible = false
this.getConfigList()
}
}
})
},
//
handleAddConfig() {
this.addAndEditForm.name = ''
this.addAndEditForm.unitId = ''
this.addAndEditTitle = '新增二级库配置'
this.addAndEditVisible = true
},
//
handleEdit(row) {
const { name, unitId, id } = row
this.addAndEditTitle = '修改二级库配置'
this.addAndEditForm.name = name
this.addAndEditForm.unitId = unitId
this.editId = id
this.addAndEditVisible = true
},
//
handleDelete(id) {
this.$confirm('确定删除此项数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
const res = await delConfigApi({ id })
console.log(res, '删除结果')
if (res.code === 200) {
this.$message.success('删除成功')
this.getConfigList()
}
})
.catch(() => {})
},
dialogClose() {
this.$refs.addAndEditFormRef.resetFields()
},
},
}
</script>

View File

@ -30,7 +30,8 @@
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="工程名称" prop="proId">
@ -45,7 +46,8 @@
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="机具名称" prop="typeId">

View File

@ -0,0 +1,204 @@
<template>
<!-- 出库记录 -->
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
>
<el-form-item prop="name">
<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 prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="请输入现场领料人"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="请输入出库时间"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="二级库"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</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-form-item>
</el-form>
<el-table border v-loading="loading" :data="configList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop=""
align="center"
label="二级库名称"
show-overflow-tooltip
/>
<el-table-column
prop="name"
align="center"
label="班组名称"
show-overflow-tooltip
/>
<el-table-column
label="机具名称"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="规格型号"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="计量单位"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="领用数量"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="出库时间"
align="center"
prop=""
show-overflow-tooltip
/>
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getConfigList()"
/>
</div>
</template>
<script>
import {
addTeamsApi,
// delConfigApi,
editTeamsApi,
getTeamsListApi,
} from '@/api/claimAndRefund/teams-manage.js'
import { getUnitData } from '@/api/claimAndRefund/receive.js'
export default {
name: 'SecondStore',
data() {
return {
configList: [],
editId: '',
//
addAndEditForm: {
name: '',
unitId: '',
},
//
loading: false,
//
total: 0,
//
unitList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: '',
unitId: undefined,
},
}
},
created() {
this.getUnitList()
this.getConfigList()
},
methods: {
//
async getConfigList() {
this.loading = true
const { data: res } = await getTeamsListApi(this.queryParams)
this.loading = false
this.configList = res.rows
this.total = res.total
},
//
getUnitList() {
getUnitData().then((response) => {
this.unitList = response.data
})
},
//
handleQuery() {
this.getConfigList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
},
}
</script>

View File

@ -0,0 +1,210 @@
<template>
<!-- 退库记录 -->
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
>
<el-form-item prop="name">
<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 prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="请输入现场退料人"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="请输入退库时间"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item prop="unitId">
<el-input
v-model="queryParams.name"
placeholder="二级库"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</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-form-item>
</el-form>
<el-table border v-loading="loading" :data="configList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop=""
align="center"
label="二级库名称"
show-overflow-tooltip
/>
<el-table-column
prop="name"
align="center"
label="班组名称"
show-overflow-tooltip
/>
<el-table-column
label="机具名称"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="规格型号"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="计量单位"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="退库数量"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="退库时间"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="现场退料人"
align="center"
prop=""
show-overflow-tooltip
/>
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getConfigList()"
/>
</div>
</template>
<script>
import {
addTeamsApi,
// delConfigApi,
editTeamsApi,
getTeamsListApi,
} from '@/api/claimAndRefund/teams-manage.js'
import { getUnitData } from '@/api/claimAndRefund/receive.js'
export default {
name: 'SecondStore',
data() {
return {
configList: [],
editId: '',
//
addAndEditForm: {
name: '',
unitId: '',
},
//
loading: false,
//
total: 0,
//
unitList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: '',
unitId: undefined,
},
}
},
created() {
this.getUnitList()
this.getConfigList()
},
methods: {
//
async getConfigList() {
this.loading = true
const { data: res } = await getTeamsListApi(this.queryParams)
this.loading = false
this.configList = res.rows
this.total = res.total
},
//
getUnitList() {
getUnitData().then((response) => {
this.unitList = response.data
})
},
//
handleQuery() {
this.getConfigList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
},
}
</script>

View File

@ -0,0 +1,220 @@
<template>
<div>
<PageHeader :pageContent="pageContent" @goBack="goBack" />
<el-form
ref="queryForm"
size="small"
:inline="true"
:model="queryParams"
>
<el-form-item
prop="keyword"
label="领用班组"
v-if="isHandleType === 1"
>
<el-select placeholder="请选择领用班组" clearable>
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
prop="keyword"
label="退库班组"
v-if="isHandleType === 2"
>
<el-select placeholder="请选择退库班组" clearable>
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
prop="unitId"
label="现场领料人"
v-if="isHandleType === 1"
>
<el-input placeholder="请输入现场领料人" clearable />
</el-form-item>
<el-form-item
prop="unitId"
label="现场退料人"
v-if="isHandleType === 2"
>
<el-input placeholder="请输入现场退料人" clearable />
</el-form-item>
<el-form-item prop="proId" label="退料人" v-if="isHandleType === 3">
<el-input placeholder="请输入退料人" clearable />
</el-form-item>
<el-form-item
prop="proId"
label="退料时间"
v-if="isHandleType === 3"
>
<el-input placeholder="请输入退料时间" clearable />
</el-form-item>
<el-form-item prop="proId" label="联系电话">
<el-input placeholder="请输入联系电话" clearable />
</el-form-item>
<el-form-item
prop="typeId"
label="规格型号"
v-if="isHandleType === 1 || isHandleType === 3"
>
<el-select placeholder="请选择规格型号" clearable filterable>
<el-option
v-for="typeItem in typeList"
:key="typeItem.typeId"
:label="typeItem.typeName"
:value="typeItem.typeId"
/>
</el-select>
</el-form-item>
</el-form>
<el-row :gutter="8" class="mb8">
<el-col :span="1.5" :key="index">
<el-button
plain
size="mini"
type="primary"
v-if="isHandleType === 1"
@click="onHandleOutbound"
>
出库
</el-button>
<el-button
plain
size="mini"
type="primary"
v-if="isHandleType === 2"
@click="onHandleStockReturn"
>
退库
</el-button>
<el-button
plain
size="mini"
type="primary"
v-if="isHandleType === 3"
@click="onHandleReturn"
>
确定归还
</el-button>
</el-col>
</el-row>
<el-table border :data="tableList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop="name"
align="center"
label="机具名称"
show-overflow-tooltip
/>
<el-table-column
label="规格型号"
align="center"
prop="unitName"
show-overflow-tooltip
/>
<el-table-column
label="计量单位"
align="center"
prop="unitName"
show-overflow-tooltip
/>
<el-table-column
label="库存数量"
align="center"
prop="unitName"
show-overflow-tooltip
/>
<el-table-column label="操作" align="center" key="11" width="150">
<template slot-scope="scope">
<el-button size="mini" type="primary"> 编码选择 </el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import PageHeader from '@/components/pageHeader'
export default {
components: { PageHeader },
props: {
isHandleType: {
type: Number,
default: () => 1,
},
},
data() {
return {
unitList: [],
typeList: [],
tableList: [],
queryParams: {
pageNum: 1,
pageSize: 10,
},
}
},
methods: {
goBack() {
this.$emit('goBack')
},
//
onHandleOutbound() {
this.$confirm('是否确认出库?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {})
.catch(() => {})
},
// 退
onHandleStockReturn() {
this.$confirm('是否确认退库?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {})
.catch(() => {})
},
//
onHandleReturn() {
this.$confirm('是否确认归还?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {})
.catch(() => {})
},
},
computed: {
pageContent() {
if (this.isHandleType === 1) return '班组出库'
if (this.isHandleType === 2) return '班组退库'
if (this.isHandleType === 3) return '二级库归还'
},
},
}
</script>

View File

@ -0,0 +1,303 @@
<template>
<div>
<el-radio-group v-model="types" size="small" style="margin-bottom: 8px">
<el-radio-button label="变电二级库">变电二级库</el-radio-button>
<el-radio-button label="机具二级库">机具二级库</el-radio-button>
<el-radio-button label="输电二级库">输电二级库</el-radio-button>
<el-radio-button label="揽电二级库">揽电二级库</el-radio-button>
</el-radio-group>
<el-form
ref="queryForm"
size="small"
:inline="true"
:model="queryParams"
>
<el-row>
<el-col :span="4">
<el-form-item prop="keyword">
<el-input
v-model="queryParams.keyword"
placeholder="请输入关键字"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item 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-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item 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-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="typeId">
<el-select
v-model="queryParams.typeId"
placeholder="请选择机具名称"
clearable
filterable
>
<el-option
v-for="typeItem in typeList"
:key="typeItem.typeId"
:label="typeItem.typeName"
:value="typeItem.typeId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="modelId">
<treeselect
v-model="queryParams.modelId"
default-expand-all
:options="equipmentTypeList"
placeholder="请选择规格型号"
:disable-branch-nodes="true"
noChildrenText="没有数据了"
noOptionsText="没有数据"
noResultsText="没有搜索结果"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<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-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="8" class="mb8">
<el-col
:span="1.5"
:key="index"
v-for="(item, index) in handleBtnList"
>
<el-button
plain
size="mini"
type="primary"
@click="onClickSecond(item.btn_type)"
>
{{ item.btn_title }}
</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="deviceList" border>
<el-table-column
align="center"
key="1"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
label="机具名称"
align="center"
key="4"
prop="typeName"
show-overflow-tooltip
/>
<el-table-column
label="规格型号"
align="center"
key="5"
prop="modelName"
show-overflow-tooltip
/>
<el-table-column
label="计量单位"
align="center"
key="6"
prop="nuitName"
show-overflow-tooltip
/>
<el-table-column
label="库存总量"
align="center"
key="7"
prop="num"
show-overflow-tooltip
/>
<el-table-column
label="库存剩余量"
align="center"
key="8"
prop="stockNum"
show-overflow-tooltip
/>
<el-table-column
label="已领用数量"
align="center"
key="9"
prop="receiveNum"
show-overflow-tooltip
/>
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList()"
/>
</div>
</template>
<script>
import { getUnitData, getProData } from '@/api/claimAndRefund/receive.js'
import { secondaryWarehouseList } from '@/api/claimAndRefund/secondStore'
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 {
components: { Treeselect },
data() {
return {
total: 0,
loading: false,
types: '变电二级库',
unitList: [],
proList: [],
typeList: [],
equipmentTypeList: [],
deviceList: [],
handleBtnList: [
{ btn_title: '班组出库', btn_type: 1 },
{ btn_title: '班组退库', btn_type: 2 },
{ btn_title: '二级库归还', btn_type: 3 },
],
queryParams: {
pageNum: 1,
pageSize: 10,
keyword: '',
unitId: undefined,
modelId: undefined,
typeId: undefined,
},
}
},
methods: {
getList() {
this.loading = true
secondaryWarehouseList(this.queryParams).then((res) => {
this.deviceList = res.rows
this.total = res.total
this.loading = false
})
},
handleQuery() {},
resetQuery() {},
//
getUnitList() {
getUnitData().then((res) => {
this.unitList = res.data
})
},
//
getProList() {
getProData().then((response) => {
this.proList = response.data
})
},
//
getTypeList() {
getTypeList({ level: '3' }).then((response) => {
this.typeList = response.data
})
},
//
equipmentType() {
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)
})
}
})
}
})
}
})
})
},
//
onClickSecond(type) {
this.$emit('onClickSecond', type)
},
},
created() {
this.getList()
this.getUnitList()
this.getProList()
this.getTypeList()
this.equipmentType()
},
}
</script>
<style></style>

View File

@ -0,0 +1,35 @@
<template>
<!-- 二级库 管理 -->
<div class="app-container">
<transition name="el-fade-in-linear">
<HomePages @onClickSecond="onClickSecond" v-if="isShowHome" />
<HandlePages @goBack="goBack" :isHandleType="isHandleType" v-else />
</transition>
</div>
</template>
<script>
import HomePages from './components/home-pages'
import HandlePages from './components/handle-pages'
export default {
components: {
HomePages,
HandlePages,
},
data() {
return {
isShowHome: true,
isHandleType: 1,
}
},
methods: {
onClickSecond(type) {
this.isHandleType = type
this.isShowHome = false
},
goBack() {
this.isShowHome = true
},
},
}
</script>

View File

@ -0,0 +1,318 @@
<template>
<!-- 班组管理 -->
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
>
<el-form-item prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入关键字"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item 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>
</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-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAddConfig"
>新增</el-button
>
</el-col>
</el-row>
<el-table border v-loading="loading" :data="configList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop="name"
align="center"
label="班组名称"
show-overflow-tooltip
/>
<el-table-column
label="所属上级"
align="center"
prop="unitName"
show-overflow-tooltip
/>
<!--
<el-table-column label="操作" align="center" key="11" width="150">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
@click="handleEdit(scope.row)"
>
编辑
</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row.id)"
>
删除
</el-button>
</template>
</el-table-column>
-->
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getConfigList()"
/>
<!-- 新增修改弹框 -->
<el-dialog
width="50%"
append-to-body
:title="addAndEditTitle"
:close-on-click-modal="false"
:visible.sync="addAndEditVisible"
@close="dialogClose"
>
<el-form
label-width="120px"
:model="addAndEditForm"
ref="addAndEditFormRef"
:rules="addAndEditFormRules"
>
<el-form-item label="班组名称:" prop="name">
<el-input
v-model="addAndEditForm.name"
placeholder="请输入班组名称"
/>
</el-form-item>
<el-form-item label="所属上级" prop="unitId">
<el-select
clearable
style="width: 100%"
placeholder="请选择所属上级"
v-model="addAndEditForm.unitId"
>
<el-option
filterable
:key="item.id"
:value="item.id"
:label="item.name"
v-for="item in unitList"
/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm()">
</el-button>
<el-button @click="addAndEditVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addTeamsApi,
// delConfigApi,
editTeamsApi,
getTeamsListApi,
} from '@/api/claimAndRefund/teams-manage.js'
import { getUnitData } from '@/api/claimAndRefund/receive.js'
export default {
name: 'SecondStore',
data() {
return {
addAndEditVisible: false,
addAndEditTitle: '新增班组',
configList: [],
editId: '',
//
addAndEditForm: {
name: '',
unitId: '',
},
//
loading: false,
//
total: 0,
//
unitList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: '',
unitId: undefined,
},
addAndEditFormRules: {
name: [
{
required: true,
message: '请输入二级库名称',
trigger: 'blur',
},
],
unitId: [
{
required: true,
message: '请选择往来单位',
trigger: 'change',
},
],
},
}
},
created() {
this.getUnitList()
this.getConfigList()
},
methods: {
//
async getConfigList() {
this.loading = true
const { data: res } = await getTeamsListApi(this.queryParams)
this.loading = false
this.configList = res.rows
this.total = res.total
},
//
getUnitList() {
getUnitData().then((response) => {
this.unitList = response.data
})
},
//
handleQuery() {
this.getConfigList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
/** 提交按钮 */
submitForm() {
this.$refs.addAndEditFormRef.validate(async (valid) => {
if (valid) {
const SEND_API =
this.addAndEditTitle === '修改班组'
? editTeamsApi
: addTeamsApi
const params =
this.addAndEditTitle === '修改班组'
? { ...this.addAndEditForm, id: this.editId }
: this.addAndEditForm
const res = await SEND_API(params)
if (res.code === 200) {
this.$message.success(
this.addAndEditTitle.slice(0, 2) + '成功',
)
this.addAndEditVisible = false
this.getConfigList()
}
}
})
},
//
handleAddConfig() {
this.addAndEditForm.name = ''
this.addAndEditForm.unitId = ''
this.addAndEditTitle = '新增班组'
this.addAndEditVisible = true
},
//
handleEdit(row) {
const { name, unitId, id } = row
this.addAndEditTitle = '修改班组'
this.addAndEditForm.name = name
this.addAndEditForm.unitId = unitId
this.editId = id
this.addAndEditVisible = true
},
//
handleDelete(id) {
this.$confirm('确定删除此项数据吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
const res = await delConfigApi({ id })
console.log(res, '删除结果')
if (res.code === 200) {
this.$message.success('删除成功')
this.getConfigList()
}
})
.catch(() => {})
},
dialogClose() {
this.$refs.addAndEditFormRef.resetFields()
},
},
}
</script>

View File

@ -0,0 +1,179 @@
<template>
<!-- 班组库存台账 -->
<div class="app-container" id="secondStore">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
>
<el-form-item prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入关键字"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item 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>
</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-form-item>
</el-form>
<el-table border v-loading="loading" :data="configList">
<el-table-column
align="center"
label="序号"
type="index"
:index="
indexContinuation(queryParams.pageNum, queryParams.pageSize)
"
/>
<el-table-column
prop="name"
align="center"
label="班组名称"
show-overflow-tooltip
/>
<el-table-column
label="所属上级"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="机具名称"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="规格型号"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="计量单位"
align="center"
prop=""
show-overflow-tooltip
/>
<el-table-column
label="库存数量"
align="center"
prop=""
show-overflow-tooltip
/>
</el-table>
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getConfigList()"
/>
</div>
</template>
<script>
import {
addTeamsApi,
// delConfigApi,
editTeamsApi,
getTeamsListApi,
} from '@/api/claimAndRefund/teams-manage.js'
import { getUnitData } from '@/api/claimAndRefund/receive.js'
export default {
name: 'SecondStore',
data() {
return {
configList: [],
editId: '',
//
addAndEditForm: {
name: '',
unitId: '',
},
//
loading: false,
//
total: 0,
//
unitList: [],
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: '',
unitId: undefined,
},
}
},
created() {
this.getUnitList()
this.getConfigList()
},
methods: {
//
async getConfigList() {
this.loading = true
const { data: res } = await getTeamsListApi(this.queryParams)
this.loading = false
this.configList = res.rows
this.total = res.total
},
//
getUnitList() {
getUnitData().then((response) => {
this.unitList = response.data
})
},
//
handleQuery() {
this.getConfigList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
},
}
</script>

View File

@ -42,12 +42,11 @@ module.exports = {
// target: `https://test-cc.zhgkxt.com`,//线上环境-南网
// target: `https://z.csgmall.com.cn`,
// target: `http://192.168.2.127:39080`, //超
// target: `http://10.40.92.81:8080`, //韩/
target: `http://192.168.2.123:39080`, //超
// target: `http://192.168.2.74:49080`, //旭/
// target: `http://192.168.2.17:39080`, //帅
target: `http://192.168.2.209:49080`, //福
// target: `http://192.168.0.37:49080`, //跃
// target: `http://192.168.2.209:49080`, //福
//******** 注意事项 ********* */
//1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target;