Commit 0135a47b authored by 刘帅's avatar 刘帅

1.优化

parent fb4938de
...@@ -59,7 +59,11 @@ public class ErpWarehouseServiceImpl implements IErpWarehouseService { ...@@ -59,7 +59,11 @@ public class ErpWarehouseServiceImpl implements IErpWarehouseService {
*/ */
@Override @Override
public List<ErpWarehouseVo> queryList(ErpWarehouseBo bo) { public List<ErpWarehouseVo> queryList(ErpWarehouseBo bo) {
LambdaQueryWrapper<ErpWarehouse> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<ErpWarehouse> lqw = Wrappers.lambdaQuery();
if (bo.getDeptId() != null) {
List<SysDept> deptList = deptMapper.selectChildrenDeptById(bo.getDeptId(), null);
lqw.in(ErpWarehouse::getDeptId, deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()));
}
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
......
const { run } = require('runjs')
const chalk = require('chalk')
const config = require('../vue.config.js')
const rawArgv = process.argv.slice(2)
const args = rawArgv.join(' ')
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const report = rawArgv.includes('--report')
run(`vue-cli-service build ${args}`)
const port = 9526
const publicPath = config.publicPath
var connect = require('connect')
var serveStatic = require('serve-static')
const app = connect()
app.use(
publicPath,
serveStatic('./dist', {
index: ['index.html', '/']
})
)
app.listen(port, function () {
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
if (report) {
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
}
})
} else {
run(`vue-cli-service build ${args}`)
}
...@@ -3,11 +3,6 @@ ...@@ -3,11 +3,6 @@
<div style="padding: 10px; margin-bottom: 80px"> <div style="padding: 10px; margin-bottom: 80px">
<el-form ref="form" :model="form" :rules="rules" label-width="85px"> <el-form ref="form" :model="form" :rules="rules" label-width="85px">
<el-row> <el-row>
<el-col :span="6">
<el-form-item label="出库单号" prop="outNumber">
<el-input v-model="form.outNumber" disabled placeholder="自动生成" />
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="出库时间" prop="outTime"> <el-form-item label="出库时间" prop="outTime">
<el-date-picker clearable <el-date-picker clearable
...@@ -20,8 +15,13 @@ ...@@ -20,8 +15,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="出库金额" prop="outMoney"> <el-form-item label="报修单" prop="repairNumber">
<el-input v-model="form.outMoney" disabled /> <el-input v-model="form.repairNumber" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出库单号" prop="outNumber">
<el-input v-model="form.outNumber" disabled placeholder="自动生成" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -32,8 +32,10 @@ ...@@ -32,8 +32,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="报修单" prop="repairNumber"> <el-form-item label="供应商" prop="vendorId">
<el-input v-model="form.repairNumber" disabled /> <el-select v-model="form.vendorId" placeHolder="请选择供应商" filterable @change="vendorIdChange" style="width: 100%">
<el-option v-for="item in materialVendorOpt" :key="item.id" :value="item.id" :label="item.vendorName" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -52,6 +54,13 @@ ...@@ -52,6 +54,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="6">
<el-form-item label="出库金额" prop="outMoney">
<el-input v-model="form.outMoney" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -106,13 +115,10 @@ ...@@ -106,13 +115,10 @@
<!-- 物料列表对话框 --> <!-- 物料列表对话框 -->
<el-dialog title="物料列表" :visible.sync="open1" width="65%" append-to-body> <el-dialog title="物料列表" :visible.sync="open1" width="65%" append-to-body>
<el-form :model="queryMaterialParams" ref="queryMaterialForm" size="small" :inline="true" v-show="showSearch" label-width="80px"> <el-form :model="queryMaterialParams" ref="queryMaterialForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="供应商" prop="vendorName"> <el-form-item label="供应商" prop="vendorId">
<el-input <el-select v-model="queryMaterialParams.vendorId" filterable disabled placeholder="请选择供应商" style="width: 100%">
v-model="queryMaterialParams.vendorName" <el-option v-for="item in materialVendorOpt" :key="item.id" :value="item.id" :label="item.vendorName" />
placeholder="请输入供应商名称" </el-select>
clearable
@keyup.enter.native="handleMaterialQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="物资编码" prop="materialCode"> <el-form-item label="物资编码" prop="materialCode">
<el-input <el-input
...@@ -164,32 +170,15 @@ ...@@ -164,32 +170,15 @@
</template> </template>
<script> <script>
import { import {addMaterialPicking, listMaterialPicking, updateMaterialPicking} from '@/api/business/materialPicking'
addMaterialPicking, import {customListMaterial} from '@/api/business/material'
confirmMaterialPicking,
delMaterialPicking,
getMaterialPicking,
listMaterialPicking,
updateMaterialPicking
} from '@/api/business/materialPicking'
import { getRepairForm } from '@/api/business/repairForm'
import {customListMaterial, listMaterial} from '@/api/business/material'
import {listWarehouseAll} from "@/api/business/siteWarehouse"; import {listWarehouseAll} from "@/api/business/siteWarehouse";
import {listMaterialVendorAll} from "@/api/business/materialVendor";
import {formatDate} from "@/utils";
export default { export default {
name: "MaterialPickingAdd", name: "MaterialPickingAdd",
dicts: ['sys_is_enable', 'picking_state', 'material_unit'], dicts: ['sys_is_enable', 'picking_state', 'material_unit'],
props: {
repairFormId:{},
repairNumber:{},
clientName:{},
carId:{},
plateNumber:{},
repairerDeptId:{},
repairerDeptName:{},
repairerGroupName:{},
isDelivery:{},
},
data() { data() {
return { return {
// 按钮loading // 按钮loading
...@@ -234,7 +223,8 @@ export default { ...@@ -234,7 +223,8 @@ export default {
}, },
// 表单参数 // 表单参数
form: { form: {
pickingInfoList: [] pickingInfoList: [],
outTime: formatDate(new Date().getTime())
}, },
open1: false, open1: false,
open2: false, open2: false,
...@@ -245,6 +235,8 @@ export default { ...@@ -245,6 +235,8 @@ export default {
materialTotal: 0, materialTotal: 0,
// 仓库列表 // 仓库列表
warehouseOpt: [], warehouseOpt: [],
// 供应商
materialVendorOpt: [],
// 查询参数 // 查询参数
queryMaterialParams: { queryMaterialParams: {
pageNum: 1, pageNum: 1,
...@@ -268,8 +260,9 @@ export default { ...@@ -268,8 +260,9 @@ export default {
}; };
}, },
created() { created() {
this.form = {...this.$route.params} this.form = {...this.$route.query}
this.getWarehouseList(this.form.repairerDeptId) this.getWarehouseList(this.form.repairerDeptId)
this.getVendorList()
}, },
methods: { methods: {
/** 查询仓库列表 */ /** 查询仓库列表 */
...@@ -279,6 +272,12 @@ export default { ...@@ -279,6 +272,12 @@ export default {
this.queryMaterialParams.warehouseIdList = response.data.map(item => item.id); this.queryMaterialParams.warehouseIdList = response.data.map(item => item.id);
}); });
}, },
/** 查询物资供应商列表 */
getVendorList() {
listMaterialVendorAll().then(response => {
this.materialVendorOpt = response.data;
});
},
/** 查询物料出库列表 */ /** 查询物料出库列表 */
getList() { getList() {
this.loading = true; this.loading = true;
...@@ -288,12 +287,21 @@ export default { ...@@ -288,12 +287,21 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 供应商改变 */
vendorIdChange(vendorId) {
this.queryMaterialParams.vendorId = vendorId;
this.form.pickingInfoList = []
},
/** 打开物料列表 */ /** 打开物料列表 */
openMaterialModel() { openMaterialModel() {
if (!this.form.repairerDeptId) { if (!this.form.repairerDeptId) {
this.$modal.msgError("请选择报修单"); this.$modal.msgError("请选择报修单");
return return
} }
if (!this.form.vendorId) {
this.$modal.msgError("请先选择供应商");
return
}
this.open1 = true this.open1 = true
this.getMaterialList() this.getMaterialList()
}, },
...@@ -359,7 +367,7 @@ export default { ...@@ -359,7 +367,7 @@ export default {
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.$tab.closeOpenPage({name: "repairFormEdit", params:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}}); this.$tab.closeOpenPage({name: "repairFormEdit", query:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}});
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm(state) { submitForm(state) {
...@@ -381,11 +389,20 @@ export default { ...@@ -381,11 +389,20 @@ export default {
} }
this.form.materialList = this.form.pickingInfoList.map(item =>{ this.form.materialList = this.form.pickingInfoList.map(item =>{
return { return {
recordId: item.recordId,
infoId: item.infoId,
warehouseId: item.warehouseId, warehouseId: item.warehouseId,
warehouseName: item.warehouseName, warehouseName: item.warehouseName,
materialId: item.materialId,
vendorId: item.vendorId, vendorId: item.vendorId,
vendorName: item.vendorName, vendorName: item.vendorName,
materialId: item.materialId,
materialCode: item.materialCode,
materialName: item.materialName,
materialSpecifications: item.materialSpecifications,
materialUnit: item.materialUnit,
materialWarrantyPeriod: item.materialWarrantyPeriod,
referencePrice: item.referencePrice,
sellingPrice: item.sellingPrice,
collectNumber: item.collectNumber, collectNumber: item.collectNumber,
price: item.price, price: item.price,
money: item.money, money: item.money,
...@@ -400,20 +417,16 @@ export default { ...@@ -400,20 +417,16 @@ export default {
this.getList(); this.getList();
}).finally(() => { }).finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
this.$tab.closeOpenPage({name: "repairFormEdit", params:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}}); this.$tab.closeOpenPage({name: "repairFormEdit", query:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}});
}); });
} else { } else {
this.form.pickingInfoList = this.form.pickingInfoList.map(item =>{
item.materialId = item.id
return item
})
addMaterialPicking(this.form).then(response => { addMaterialPicking(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}).finally(() => { }).finally(() => {
this.buttonLoading = false; this.buttonLoading = false;
this.$tab.closeOpenPage({name: "repairFormEdit", params:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}}); this.$tab.closeOpenPage({name: "repairFormEdit", query:{repairFormId: this.form.repairFormId, flag: this.form.flag, isDelivery: this.form.isDelivery}});
}); });
} }
} }
......
...@@ -87,13 +87,8 @@ ...@@ -87,13 +87,8 @@
<!-- 添加或修改物料出库对话框 --> <!-- 添加或修改物料出库对话框 -->
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px"> <el-form ref="form" :model="form" :rules="rules" label-width="85px">
<el-row> <el-row>
<el-col :span="6">
<el-form-item label="出库单号" prop="outNumber">
<el-input v-model="form.outNumber" disabled placeholder="自动生成" />
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="出库时间" prop="outTime"> <el-form-item label="出库时间" prop="outTime">
<el-date-picker clearable <el-date-picker clearable
...@@ -106,8 +101,13 @@ ...@@ -106,8 +101,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="出库金额" prop="outMoney"> <el-form-item label="报修单" prop="repairNumber">
<el-input v-model="form.outMoney" disabled /> <el-input v-model="form.repairNumber" disabled />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="出库单号" prop="outNumber">
<el-input v-model="form.outNumber" disabled placeholder="自动生成" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -118,8 +118,10 @@ ...@@ -118,8 +118,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="报修单" prop="repairNumber"> <el-form-item label="供应商" prop="vendorId">
<el-input v-model="form.repairNumber" disabled /> <el-select v-model="form.vendorId" placeHolder="请选择供应商" filterable @change="vendorIdChange" style="width: 100%">
<el-option v-for="item in materialVendorOpt" :key="item.id" :value="item.id" :label="item.vendorName" />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -138,6 +140,13 @@ ...@@ -138,6 +140,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="6">
<el-form-item label="出库金额" prop="outMoney">
<el-input v-model="form.outMoney" disabled />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
...@@ -145,8 +154,8 @@ ...@@ -145,8 +154,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="form.pickingInfoList"> <el-table :data="form.pickingInfoList">
<el-table-column label="分类名称" align="center" prop="materialTypeName" /> <!-- <el-table-column label="分类名称" align="center" prop="materialTypeName" />-->
<el-table-column label="货位类型" align="center" prop="warehouseLocationType" /> <!-- <el-table-column label="货位类型" align="center" prop="warehouseLocationType" />-->
<el-table-column label="供应商" align="center" prop="vendorName" /> <el-table-column label="供应商" align="center" prop="vendorName" />
<el-table-column label="物资编码" align="center" prop="materialCode" /> <el-table-column label="物资编码" align="center" prop="materialCode" />
<el-table-column label="物资名称" align="center" prop="materialName" /> <el-table-column label="物资名称" align="center" prop="materialName" />
...@@ -302,6 +311,7 @@ import { ...@@ -302,6 +311,7 @@ import {
} from '@/api/business/materialPicking' } from '@/api/business/materialPicking'
import { getRepairForm } from '@/api/business/repairForm' import { getRepairForm } from '@/api/business/repairForm'
import { listMaterial } from '@/api/business/material' import { listMaterial } from '@/api/business/material'
import {listMaterialVendorAll} from "@/api/business/materialVendor";
export default { export default {
name: "MaterialPickingInfo", name: "MaterialPickingInfo",
...@@ -338,6 +348,7 @@ export default { ...@@ -338,6 +348,7 @@ export default {
total: 0, total: 0,
// 物料出库表格数据 // 物料出库表格数据
materialPickingList: [], materialPickingList: [],
materialVendorOpt: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -401,16 +412,11 @@ export default { ...@@ -401,16 +412,11 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 报修单更改 /** 查询物资供应商列表 */
repairFormChange(id) { getVendorList() {
getRepairForm(id).then(res =>{ listMaterialVendorAll().then(response => {
this.form.clientName = res.data.clientName this.materialVendorOpt = response.data;
this.form.repairerDeptId = res.data.repairerDeptId });
this.form.repairerDeptName = res.data.repairerDeptName
this.form.repairerGroupName = res.data.repairerGroupName
this.form.plateNumber = res.data.car.plateNumber
this.form.carId = res.data.carId
})
}, },
/** 打开物料列表 */ /** 打开物料列表 */
openMaterialModel() { openMaterialModel() {
...@@ -531,7 +537,7 @@ export default { ...@@ -531,7 +537,7 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.$router.push({name: "materialPickingAdd", params:{ this.$router.push({name: "materialPickingAdd", query:{
repairFormId: this.repairFormId, repairFormId: this.repairFormId,
repairNumber : this.repairNumber, repairNumber : this.repairNumber,
carId : this.carId, carId : this.carId,
...@@ -566,6 +572,7 @@ export default { ...@@ -566,6 +572,7 @@ export default {
this.loading = true; this.loading = true;
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids
this.getVendorList()
getMaterialPicking(id).then(response => { getMaterialPicking(id).then(response => {
this.form = response.data; this.form = response.data;
getRepairForm(response.data.repairFormId).then(res =>{ getRepairForm(response.data.repairFormId).then(res =>{
...@@ -600,7 +607,25 @@ export default { ...@@ -600,7 +607,25 @@ export default {
return return
} }
this.form.materialList = this.form.pickingInfoList.map(item =>{ this.form.materialList = this.form.pickingInfoList.map(item =>{
return { materialId: item.materialId || item.id, collectNumber: item.collectNumber, price: item.price, money: item.money, } return {
recordId: item.recordId,
infoId: item.infoId,
warehouseId: item.warehouseId,
warehouseName: item.warehouseName,
vendorId: item.vendorId,
vendorName: item.vendorName,
materialId: item.materialId,
materialCode: item.materialCode,
materialName: item.materialName,
materialSpecifications: item.materialSpecifications,
materialUnit: item.materialUnit,
materialWarrantyPeriod: item.materialWarrantyPeriod,
referencePrice: item.referencePrice,
sellingPrice: item.sellingPrice,
collectNumber: item.collectNumber,
price: item.price,
money: item.money,
}
}) })
this.buttonLoading = true; this.buttonLoading = true;
this.form.state = state this.form.state = state
...@@ -613,10 +638,6 @@ export default { ...@@ -613,10 +638,6 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
this.form.pickingInfoList = this.form.pickingInfoList.map(item =>{
item.materialId = item.id
return item
})
addMaterialPicking(this.form).then(response => { addMaterialPicking(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
......
...@@ -282,13 +282,13 @@ ...@@ -282,13 +282,13 @@
<el-divider /> <el-divider />
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="车间" prop="repairerDeptId"> <el-form-item label="承修车间" prop="repairerDeptId">
<treeselect v-model="form.repairerDeptId" :options="treeData" placeholder="请选择" style="width: 100%;" :show-count="true" @select="handleDeptChange" :loadOptions="()=>{}" :normalizer="normalizer" :disabled="flag == 2"/> <treeselect v-model="form.repairerDeptId" :options="treeData" placeholder="请选择" style="width: 100%;" :show-count="true" @select="handleDeptChange" :loadOptions="()=>{}" :normalizer="normalizer" :disabled="flag == 2"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班组" prop="repairerGroupId"> <el-form-item label="承修班组" prop="repairerGroupId">
<el-select v-model="form.repairerGroupId" @change="handleGroupChange" style="width: 100%;" :no-data-text="form.repairerDeptId?'该部门下暂无班组':'请先选择部门'" :disabled="flag == 2"> <el-select v-model="form.repairerGroupId" @change="handleGroupChange" style="width: 100%;" :no-data-text="form.repairerDeptId?'该承修车间下暂无班组':'请先选择承修车间'" :disabled="flag == 2">
<el-option v-for="(item,index) in siteGroupList" :key="index" :label="item.name" :value="item.id"></el-option> <el-option v-for="(item,index) in siteGroupList" :key="index" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -546,7 +546,7 @@ export default { ...@@ -546,7 +546,7 @@ export default {
vehicleModelId: undefined, vehicleModelId: undefined,
trailerDocumentNumber: undefined, trailerDocumentNumber: undefined,
repairerCompany: undefined, repairerCompany: undefined,
repairerDeptId: this.$store.state.user.userInfo.deptId, repairerDeptId: undefined,
repairerGroupId: undefined, repairerGroupId: undefined,
state: undefined, state: undefined,
maintainEndTime: undefined, maintainEndTime: undefined,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="部门" prop="deptName" v-if="!data.id"> <el-form-item label="部门" prop="deptName" v-if="!data.id">
<el-input <el-input
v-model="queryParams.deptName" v-model="queryParams.deptName"
placeholder="请输入部门名称" placeholder="请输入部门名称"
clearable clearable
......
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