This commit is contained in:
parent
0be39d74a1
commit
237fef6b6a
1240
logs/JIAL-ss.log
1240
logs/JIAL-ss.log
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,8 +1,10 @@
|
||||||
package com.JN.demo.zmquotation.controller;
|
package com.JN.demo.zmquotation.controller;
|
||||||
|
|
||||||
import com.JN.common.R;
|
import com.JN.common.R;
|
||||||
|
import com.JN.demo.zmquotation.dto.InventoryDto;
|
||||||
import com.JN.demo.zmquotation.dto.MaterialDto;
|
import com.JN.demo.zmquotation.dto.MaterialDto;
|
||||||
import com.JN.demo.zmquotation.dto.RegionDto;
|
import com.JN.demo.zmquotation.dto.RegionDto;
|
||||||
|
import com.JN.demo.zmquotation.service.InventoryService;
|
||||||
import com.JN.demo.zmquotation.service.MaterialService;
|
import com.JN.demo.zmquotation.service.MaterialService;
|
||||||
import com.JN.demo.zmquotation.service.RegionService;
|
import com.JN.demo.zmquotation.service.RegionService;
|
||||||
import lombok.experimental.PackagePrivate;
|
import lombok.experimental.PackagePrivate;
|
||||||
|
@ -33,6 +35,9 @@ public class ZMController {
|
||||||
@Autowired
|
@Autowired
|
||||||
MaterialService materialService;
|
MaterialService materialService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
InventoryService inventoryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @title queryRegionList
|
* @title queryRegionList
|
||||||
* @description 查询地区列表信息
|
* @description 查询地区列表信息
|
||||||
|
@ -70,5 +75,19 @@ public class ZMController {
|
||||||
return R.success(materialList);
|
return R.success(materialList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryInventoryList
|
||||||
|
* @description 获取盘具列表
|
||||||
|
* @author JIAL
|
||||||
|
* @updateTime 2024/2/22 10:09
|
||||||
|
* @return: com.JN.common.R<java.util.List<com.JN.demo.zmquotation.dto.InventoryDto>>
|
||||||
|
*/
|
||||||
|
@PostMapping("/inventoryList")
|
||||||
|
public R<List<InventoryDto>> queryInventoryList() {
|
||||||
|
List<InventoryDto> inventoryList = inventoryService.queryInventoryList();
|
||||||
|
|
||||||
|
return R.success(inventoryList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.JN.demo.zmquotation.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName InventoryDto
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/2/22 9:48
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InventoryDto implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String inventory; //盘具名称
|
||||||
|
|
||||||
|
private String invDesc; //盘具描述
|
||||||
|
|
||||||
|
private String weighInv; //盘重
|
||||||
|
}
|
|
@ -46,4 +46,6 @@ public class MaterialDto implements Serializable {
|
||||||
private String steamFee; //蒸汽费
|
private String steamFee; //蒸汽费
|
||||||
|
|
||||||
private int quantity = 1; //数量默认为1
|
private int quantity = 1; //数量默认为1
|
||||||
|
|
||||||
|
private int invItemCount = 1; //盘具数量默认1
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.JN.demo.zmquotation.mapper;
|
||||||
|
|
||||||
|
import com.JN.demo.zmquotation.dto.InventoryDto;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName InventoryMapper
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/2/22 9:56
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface InventoryMapper {
|
||||||
|
|
||||||
|
@Select("SELECT [cbpj_mc] as inventory,\n" +
|
||||||
|
" [cbpj_pzjd1] as inv_desc,\n" +
|
||||||
|
" [cbpj_zl] as weigh_inv\n" +
|
||||||
|
"FROM [zm_erp2].[dbo].[cb_cbpj]")
|
||||||
|
List<InventoryDto> queryInventoryList();
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.JN.demo.zmquotation.service;
|
||||||
|
|
||||||
|
import com.JN.demo.zmquotation.dto.InventoryDto;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName InventoryService
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/2/22 9:55
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface InventoryService {
|
||||||
|
List<InventoryDto> queryInventoryList();
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.JN.demo.zmquotation.service.impl;
|
||||||
|
|
||||||
|
import com.JN.demo.zmquotation.dto.InventoryDto;
|
||||||
|
import com.JN.demo.zmquotation.mapper.InventoryMapper;
|
||||||
|
import com.JN.demo.zmquotation.service.InventoryService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName InventoryServiceImpl
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/2/22 9:55
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class InventoryServiceImpl implements InventoryService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
InventoryMapper inventoryMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title queryInventoryList
|
||||||
|
* @description 获取盘具列表
|
||||||
|
* @author JIAL
|
||||||
|
* @updateTime 2024/2/22 10:06
|
||||||
|
* @return: java.util.List<com.JN.demo.zmquotation.dto.InventoryDto>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<InventoryDto> queryInventoryList() {
|
||||||
|
return inventoryMapper.queryInventoryList();
|
||||||
|
}
|
||||||
|
}
|
|
@ -86,6 +86,18 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inventoryDialogTable .el-dialog__header{
|
||||||
|
padding-bottom: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.inventoryDialogTable .el-dialog__body{
|
||||||
|
padding-top: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.materialDialogTable .el-table__header-wrapper .el-table__header .el-checkbox {
|
.materialDialogTable .el-table__header-wrapper .el-table__header .el-checkbox {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,4 +12,11 @@ const queryMaterialListByParam = (params) => {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryInventoryList = () => {
|
||||||
|
return $axios({
|
||||||
|
url: '/zmquotation/inventoryList',
|
||||||
|
method: 'post',
|
||||||
|
})
|
||||||
}
|
}
|
|
@ -152,7 +152,7 @@
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
<el-button type="text" @click="selectedRegion">选择地区</el-button>
|
<el-button type="text" @click="selectedRegion">选择地区</el-button>
|
||||||
<el-button type="text" @click="addMaterial">添加物料</el-button>
|
<el-button type="text" @click="addMaterial">添加物料</el-button>
|
||||||
<el-button type="text">刷新界面</el-button>
|
<el-button type="text" @click="calculatedData">刷新界面</el-button>
|
||||||
<el-button type="text"></el-button>
|
<el-button type="text"></el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-box">
|
<div class="table-box">
|
||||||
|
@ -183,12 +183,12 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="120"
|
||||||
prop="voltage"
|
prop="voltage"
|
||||||
label="电压">
|
label="电压">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="80"
|
||||||
prop="standard"
|
prop="standard"
|
||||||
label="标准">
|
label="标准">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -208,16 +208,24 @@
|
||||||
label="净重量">
|
label="净重量">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="120"
|
||||||
prop="inventory"
|
prop="inventory"
|
||||||
label="盘具">
|
label="盘具">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.inventory" >
|
<el-link @click="handleInventoryClick(scope.row, scope.$index)" type="primary">{{ scope.row.inventory }}</el-link>
|
||||||
</el-input>
|
</template>
|
||||||
</template>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="180"
|
||||||
|
prop="invItemCount"
|
||||||
|
label="盘具数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.invItemCount" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
prop="weighInv"
|
prop="weighInv"
|
||||||
label="盘重">
|
label="盘重">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -256,7 +264,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
||||||
<div slot="title" class="regionTable-title" style="margin: 0px">
|
<div slot="title" style="margin: 0px">
|
||||||
<el-form>
|
<el-form>
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
||||||
|
@ -316,14 +324,14 @@
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
||||||
<div slot="title" class="regionTable-title" style="margin: 0px">
|
<div slot="title" style="margin: 0px">
|
||||||
<el-form>
|
<el-form>
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-input style="width: 200px; " v-model="vagueModel" placeholder="型号模糊查询">
|
<el-input style="width: 200px; " v-model="vagueModel" placeholder="规格模糊查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -403,7 +411,52 @@
|
||||||
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="inventoryDialogTable" :visible.sync="dialogInventoryVisible" width="792px" >
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentInventoryData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="invDesc"
|
||||||
|
label="盘具描述">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseInventory(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleInventoryCurrentChange"
|
||||||
|
:current-page.sync="inventoryCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="inventoryTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -444,20 +497,7 @@
|
||||||
materialData: [
|
materialData: [
|
||||||
|
|
||||||
],
|
],
|
||||||
regionTableData: [
|
regionTableData: [],
|
||||||
{
|
|
||||||
province: '浙江',
|
|
||||||
city: '杭州',
|
|
||||||
district: '西湖区',
|
|
||||||
kilometers: 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
province: '上海',
|
|
||||||
city: '上海',
|
|
||||||
district: '黄浦区',
|
|
||||||
kilometers: 20
|
|
||||||
},
|
|
||||||
],
|
|
||||||
price_0t_5t: '',
|
price_0t_5t: '',
|
||||||
price_5t_10t: '',
|
price_5t_10t: '',
|
||||||
price_10t_25t: '',
|
price_10t_25t: '',
|
||||||
|
@ -466,41 +506,19 @@
|
||||||
dialogRegionVisible: false,
|
dialogRegionVisible: false,
|
||||||
regionName: '',
|
regionName: '',
|
||||||
regionCurrentPage: 1,
|
regionCurrentPage: 1,
|
||||||
|
inventoryCurrentPage : 1,
|
||||||
materialCurrentPage: 1,
|
materialCurrentPage: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
dialogMaterialVisible: false,
|
dialogMaterialVisible: false,
|
||||||
materialTableData: [
|
materialTableData: [],
|
||||||
{ materialName: 'Material 1', model: 'Model A', specification: 'Spec 1', voltage: '220V', standard: 'Standard 1' },
|
|
||||||
{ materialName: 'Material 2', model: 'Model B', specification: 'Spec 2', voltage: '110V', standard: 'Standard 2' },
|
|
||||||
// ... (previous data)
|
|
||||||
|
|
||||||
// Additional test data
|
|
||||||
{ materialName: 'Material 3', model: 'Model C', specification: 'Spec 3', voltage: '120V', standard: 'Standard 3' },
|
|
||||||
{ materialName: 'Material 4', model: 'Model D', specification: 'Spec 4', voltage: '230V', standard: 'Standard 4' },
|
|
||||||
{ materialName: 'Material 5', model: 'Model E', specification: 'Spec 5', voltage: '240V', standard: 'Standard 5' },
|
|
||||||
{ materialName: 'Material 6', model: 'Model F', specification: 'Spec 6', voltage: '110V', standard: 'Standard 6' },
|
|
||||||
{ materialName: 'Material 7', model: 'Model G', specification: 'Spec 7', voltage: '220V', standard: 'Standard 7' },
|
|
||||||
{ materialName: 'Material 8', model: 'Model H', specification: 'Spec 8', voltage: '120V', standard: 'Standard 8' },
|
|
||||||
{ materialName: 'Material 9', model: 'Model I', specification: 'Spec 9', voltage: '230V', standard: 'Standard 9' },
|
|
||||||
{ materialName: 'Material 10', model: 'Model J', specification: 'Spec 10', voltage: '240V', standard: 'Standard 10' },
|
|
||||||
// ... (repeat similar structure for more data)
|
|
||||||
{ materialName: 'Material 11', model: 'Model K', specification: 'Spec 11', voltage: '120V', standard: 'Standard 11' },
|
|
||||||
{ materialName: 'Material 12', model: 'Model L', specification: 'Spec 12', voltage: '230V', standard: 'Standard 12' },
|
|
||||||
{ materialName: 'Material 13', model: 'Model M', specification: 'Spec 13', voltage: '240V', standard: 'Standard 13' },
|
|
||||||
{ materialName: 'Material 14', model: 'Model N', specification: 'Spec 14', voltage: '110V', standard: 'Standard 14' },
|
|
||||||
{ materialName: 'Material 15', model: 'Model O', specification: 'Spec 15', voltage: '220V', standard: 'Standard 15' },
|
|
||||||
{ materialName: 'Material 16', model: 'Model P', specification: 'Spec 16', voltage: '120V', standard: 'Standard 16' },
|
|
||||||
{ materialName: 'Material 17', model: 'Model Q', specification: 'Spec 17', voltage: '230V', standard: 'Standard 17' },
|
|
||||||
{ materialName: 'Material 18', model: 'Model R', specification: 'Spec 18', voltage: '240V', standard: 'Standard 18' },
|
|
||||||
{ materialName: 'Material 19', model: 'Model S', specification: 'Spec 19', voltage: '110V', standard: 'Standard 19' },
|
|
||||||
{ materialName: 'Material 20', model: 'Model T', specification: 'Spec 20', voltage: '220V', standard: 'Standard 20' },
|
|
||||||
],
|
|
||||||
selectedMaterialItems: [], // 选中的数据
|
selectedMaterialItems: [], // 选中的数据
|
||||||
savedSelectedMaterials: [], // 保存选中的数据
|
savedSelectedMaterials: [], // 保存选中的数据
|
||||||
precMaterialName: '',
|
precMaterialName: '',
|
||||||
vagueMaterialName: '',
|
vagueMaterialName: '',
|
||||||
vagueModel: '',
|
vagueModel: '',
|
||||||
|
dialogInventoryVisible: false,
|
||||||
|
inventoryTableData: [],
|
||||||
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -514,14 +532,17 @@
|
||||||
const end = start + this.pageSize;
|
const end = start + this.pageSize;
|
||||||
return this.materialTableData.slice(start, end);
|
return this.materialTableData.slice(start, end);
|
||||||
},
|
},
|
||||||
|
getCurrentInventoryData() {
|
||||||
|
const start = (this.inventoryCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.inventoryTableData.slice(start, end);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.getInventoryData();
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.materialTable.setSelection(this.selectedMaterialItems);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async init () {
|
async init () {
|
||||||
|
@ -587,6 +608,10 @@
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleInventoryCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
addMaterial(){
|
addMaterial(){
|
||||||
this.dialogMaterialVisible = true;
|
this.dialogMaterialVisible = true;
|
||||||
},
|
},
|
||||||
|
@ -652,7 +677,35 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
handleInventoryClick(row, index) {
|
||||||
|
this.clickedRowIndex = index; // 记录点击的行的索引
|
||||||
|
this.dialogInventoryVisible = true; // 打开选择盘具的 dialog
|
||||||
|
},
|
||||||
|
|
||||||
|
getInventoryData() {
|
||||||
|
queryInventoryList().then(res => {
|
||||||
|
this.inventoryTableData = res.data || []
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseInventory(row) {
|
||||||
|
// 在选择盘具的逻辑中,将选择的盘具信息赋值给之前点击的行的数据
|
||||||
|
if (this.clickedRowIndex !== null) {
|
||||||
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
|
const updatedRow = {
|
||||||
|
...this.materialData[this.clickedRowIndex],
|
||||||
|
inventory: row.inventory, // 盘具名称
|
||||||
|
weighInv: row.weighInv, // 盘重信息
|
||||||
|
};
|
||||||
|
this.$set(this.materialData, this.clickedRowIndex, updatedRow);
|
||||||
|
}
|
||||||
|
this.dialogInventoryVisible = false; // 打开选择盘具的 dialog
|
||||||
|
// 其他逻辑...
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -86,6 +86,18 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inventoryDialogTable .el-dialog__header{
|
||||||
|
padding-bottom: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
.inventoryDialogTable .el-dialog__body{
|
||||||
|
padding-top: 0px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.materialDialogTable .el-table__header-wrapper .el-table__header .el-checkbox {
|
.materialDialogTable .el-table__header-wrapper .el-table__header .el-checkbox {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,4 +12,11 @@ const queryMaterialListByParam = (params) => {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const queryInventoryList = () => {
|
||||||
|
return $axios({
|
||||||
|
url: '/zmquotation/inventoryList',
|
||||||
|
method: 'post',
|
||||||
|
})
|
||||||
}
|
}
|
|
@ -183,12 +183,12 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="120"
|
||||||
prop="voltage"
|
prop="voltage"
|
||||||
label="电压">
|
label="电压">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="80"
|
||||||
prop="standard"
|
prop="standard"
|
||||||
label="标准">
|
label="标准">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -208,16 +208,24 @@
|
||||||
label="净重量">
|
label="净重量">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="120"
|
||||||
prop="inventory"
|
prop="inventory"
|
||||||
label="盘具">
|
label="盘具">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-model="scope.row.inventory" >
|
<el-link @click="handleInventoryClick(scope.row, scope.$index)" type="primary">{{ scope.row.inventory }}</el-link>
|
||||||
</el-input>
|
</template>
|
||||||
</template>
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="180"
|
width="180"
|
||||||
|
prop="invItemCount"
|
||||||
|
label="盘具数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.invItemCount" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
prop="weighInv"
|
prop="weighInv"
|
||||||
label="盘重">
|
label="盘重">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -256,7 +264,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
<el-dialog class="regionDialogTable" :visible.sync="dialogRegionVisible" width="932px" >
|
||||||
<div slot="title" class="regionTable-title" style="margin: 0px">
|
<div slot="title" style="margin: 0px">
|
||||||
<el-form>
|
<el-form>
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
<el-input style="width: 300px; " v-model="regionName" placeholder="请输入地区名称">
|
||||||
|
@ -316,14 +324,14 @@
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
<el-dialog class="materialDialogTable" :visible.sync="dialogMaterialVisible" width="1200px">
|
||||||
<div slot="title" class="regionTable-title" style="margin: 0px">
|
<div slot="title" style="margin: 0px">
|
||||||
<el-form>
|
<el-form>
|
||||||
<el-form-item >
|
<el-form-item >
|
||||||
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
<el-input style="width: 200px; " v-model="precMaterialName" placeholder="开头物料名称精确查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
<el-input style="width: 200px; " v-model="vagueMaterialName" placeholder="物料名称模糊查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-input style="width: 200px; " v-model="vagueModel" placeholder="型号模糊查询">
|
<el-input style="width: 200px; " v-model="vagueModel" placeholder="规格模糊查询">
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
<el-button type="primary" size="small" @click="searchMaterial">查询物料</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -403,7 +411,52 @@
|
||||||
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
<el-button type="warning" size="small" @click="closeMaterialDialog">取消</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog class="inventoryDialogTable" :visible.sync="dialogInventoryVisible" width="792px" >
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="getCurrentInventoryData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '0px'}"
|
||||||
|
highlight-current-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="50">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="inventory"
|
||||||
|
label="盘具名称">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="invDesc"
|
||||||
|
label="盘具描述">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="200"
|
||||||
|
prop="weighInv"
|
||||||
|
label="盘重">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="100"
|
||||||
|
label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button @click="chooseInventory(scope.row)" style="color: blue;" type="text">选择</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; margin-top: 10px;">
|
||||||
|
<el-pagination
|
||||||
|
@current-change="handleInventoryCurrentChange"
|
||||||
|
:current-page.sync="inventoryCurrentPage"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:total="inventoryTableData.length"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -444,20 +497,7 @@
|
||||||
materialData: [
|
materialData: [
|
||||||
|
|
||||||
],
|
],
|
||||||
regionTableData: [
|
regionTableData: [],
|
||||||
{
|
|
||||||
province: '浙江',
|
|
||||||
city: '杭州',
|
|
||||||
district: '西湖区',
|
|
||||||
kilometers: 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
province: '上海',
|
|
||||||
city: '上海',
|
|
||||||
district: '黄浦区',
|
|
||||||
kilometers: 20
|
|
||||||
},
|
|
||||||
],
|
|
||||||
price_0t_5t: '',
|
price_0t_5t: '',
|
||||||
price_5t_10t: '',
|
price_5t_10t: '',
|
||||||
price_10t_25t: '',
|
price_10t_25t: '',
|
||||||
|
@ -466,41 +506,19 @@
|
||||||
dialogRegionVisible: false,
|
dialogRegionVisible: false,
|
||||||
regionName: '',
|
regionName: '',
|
||||||
regionCurrentPage: 1,
|
regionCurrentPage: 1,
|
||||||
|
inventoryCurrentPage : 1,
|
||||||
materialCurrentPage: 1,
|
materialCurrentPage: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
dialogMaterialVisible: false,
|
dialogMaterialVisible: false,
|
||||||
materialTableData: [
|
materialTableData: [],
|
||||||
{ materialName: 'Material 1', model: 'Model A', specification: 'Spec 1', voltage: '220V', standard: 'Standard 1' },
|
|
||||||
{ materialName: 'Material 2', model: 'Model B', specification: 'Spec 2', voltage: '110V', standard: 'Standard 2' },
|
|
||||||
// ... (previous data)
|
|
||||||
|
|
||||||
// Additional test data
|
|
||||||
{ materialName: 'Material 3', model: 'Model C', specification: 'Spec 3', voltage: '120V', standard: 'Standard 3' },
|
|
||||||
{ materialName: 'Material 4', model: 'Model D', specification: 'Spec 4', voltage: '230V', standard: 'Standard 4' },
|
|
||||||
{ materialName: 'Material 5', model: 'Model E', specification: 'Spec 5', voltage: '240V', standard: 'Standard 5' },
|
|
||||||
{ materialName: 'Material 6', model: 'Model F', specification: 'Spec 6', voltage: '110V', standard: 'Standard 6' },
|
|
||||||
{ materialName: 'Material 7', model: 'Model G', specification: 'Spec 7', voltage: '220V', standard: 'Standard 7' },
|
|
||||||
{ materialName: 'Material 8', model: 'Model H', specification: 'Spec 8', voltage: '120V', standard: 'Standard 8' },
|
|
||||||
{ materialName: 'Material 9', model: 'Model I', specification: 'Spec 9', voltage: '230V', standard: 'Standard 9' },
|
|
||||||
{ materialName: 'Material 10', model: 'Model J', specification: 'Spec 10', voltage: '240V', standard: 'Standard 10' },
|
|
||||||
// ... (repeat similar structure for more data)
|
|
||||||
{ materialName: 'Material 11', model: 'Model K', specification: 'Spec 11', voltage: '120V', standard: 'Standard 11' },
|
|
||||||
{ materialName: 'Material 12', model: 'Model L', specification: 'Spec 12', voltage: '230V', standard: 'Standard 12' },
|
|
||||||
{ materialName: 'Material 13', model: 'Model M', specification: 'Spec 13', voltage: '240V', standard: 'Standard 13' },
|
|
||||||
{ materialName: 'Material 14', model: 'Model N', specification: 'Spec 14', voltage: '110V', standard: 'Standard 14' },
|
|
||||||
{ materialName: 'Material 15', model: 'Model O', specification: 'Spec 15', voltage: '220V', standard: 'Standard 15' },
|
|
||||||
{ materialName: 'Material 16', model: 'Model P', specification: 'Spec 16', voltage: '120V', standard: 'Standard 16' },
|
|
||||||
{ materialName: 'Material 17', model: 'Model Q', specification: 'Spec 17', voltage: '230V', standard: 'Standard 17' },
|
|
||||||
{ materialName: 'Material 18', model: 'Model R', specification: 'Spec 18', voltage: '240V', standard: 'Standard 18' },
|
|
||||||
{ materialName: 'Material 19', model: 'Model S', specification: 'Spec 19', voltage: '110V', standard: 'Standard 19' },
|
|
||||||
{ materialName: 'Material 20', model: 'Model T', specification: 'Spec 20', voltage: '220V', standard: 'Standard 20' },
|
|
||||||
],
|
|
||||||
selectedMaterialItems: [], // 选中的数据
|
selectedMaterialItems: [], // 选中的数据
|
||||||
savedSelectedMaterials: [], // 保存选中的数据
|
savedSelectedMaterials: [], // 保存选中的数据
|
||||||
precMaterialName: '',
|
precMaterialName: '',
|
||||||
vagueMaterialName: '',
|
vagueMaterialName: '',
|
||||||
vagueModel: '',
|
vagueModel: '',
|
||||||
|
dialogInventoryVisible: false,
|
||||||
|
inventoryTableData: [],
|
||||||
|
clickedRowIndex: null, // 用于记录点击的行的索引
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -514,14 +532,17 @@
|
||||||
const end = start + this.pageSize;
|
const end = start + this.pageSize;
|
||||||
return this.materialTableData.slice(start, end);
|
return this.materialTableData.slice(start, end);
|
||||||
},
|
},
|
||||||
|
getCurrentInventoryData() {
|
||||||
|
const start = (this.inventoryCurrentPage - 1) * this.pageSize;
|
||||||
|
const end = start + this.pageSize;
|
||||||
|
return this.inventoryTableData.slice(start, end);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.getInventoryData();
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.materialTable.setSelection(this.selectedMaterialItems);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async init () {
|
async init () {
|
||||||
|
@ -587,6 +608,10 @@
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleInventoryCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
|
||||||
addMaterial(){
|
addMaterial(){
|
||||||
this.dialogMaterialVisible = true;
|
this.dialogMaterialVisible = true;
|
||||||
},
|
},
|
||||||
|
@ -652,7 +677,35 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
handleInventoryClick(row, index) {
|
||||||
|
this.clickedRowIndex = index; // 记录点击的行的索引
|
||||||
|
this.dialogInventoryVisible = true; // 打开选择盘具的 dialog
|
||||||
|
},
|
||||||
|
|
||||||
|
getInventoryData() {
|
||||||
|
queryInventoryList().then(res => {
|
||||||
|
this.inventoryTableData = res.data || []
|
||||||
|
}).catch(err => {
|
||||||
|
this.$message.error('请求出错了:' + err)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
chooseInventory(row) {
|
||||||
|
// 在选择盘具的逻辑中,将选择的盘具信息赋值给之前点击的行的数据
|
||||||
|
if (this.clickedRowIndex !== null) {
|
||||||
|
// 假设选择盘具后的数据存储在 this.selectedInventory 中
|
||||||
|
const updatedRow = {
|
||||||
|
...this.materialData[this.clickedRowIndex],
|
||||||
|
inventory: row.inventory, // 盘具名称
|
||||||
|
weighInv: row.weighInv, // 盘重信息
|
||||||
|
};
|
||||||
|
this.$set(this.materialData, this.clickedRowIndex, updatedRow);
|
||||||
|
}
|
||||||
|
this.dialogInventoryVisible = false; // 打开选择盘具的 dialog
|
||||||
|
// 其他逻辑...
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue