修改库存

This commit is contained in:
liang.chao 2025-08-27 11:43:36 +08:00
parent e885973e01
commit 8fb70056a7
1 changed files with 191 additions and 82 deletions

View File

@ -35,8 +35,8 @@
@mouseleave="onMouseleave()"
>
<span v-if="isMousemoveId === data.id && node.label.length > 5">{{
node.label.slice(0, 3) + "..."
}}</span>
node.label.slice(0, 3) + "..."
}}</span>
<span v-else>{{ node.label }}</span>
<span class="btn-items" v-if="isMousemoveId === data.id">
@ -96,10 +96,12 @@
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>查询
</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>重置
</el-button
>
</el-form-item>
</el-form>
@ -112,7 +114,7 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出
>导出
</el-button>
</el-col>
<right-toolbar
@ -128,10 +130,10 @@
@selection-change="handleSelectionChange"
>
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{(queryParams.pageNum - 1) * 10 + scope.$index + 1}}</span>
</template>
</el-table-column>
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="类型编码"
align="center"
@ -198,6 +200,15 @@
>
编辑
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="updateStorageNum(scope.row)"
v-hasPermi="['ma:type:edit']"
>
修改库存
</el-button>
<el-button
size="mini"
type="text"
@ -334,19 +345,19 @@
</el-col>
<el-col :span="12">
<el-form-item label="计量数值" prop="unitValue">
<el-select
v-model="form.unitValue"
filterable
placeholder="请选择计量数值"
style="width: 100%"
>
<el-option
v-for="item in unitValueOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
<el-select
v-model="form.unitValue"
filterable
placeholder="请选择计量数值"
style="width: 100%"
>
<el-option
v-for="item in unitValueOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
@ -538,7 +549,7 @@
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="12">
<el-form-item label="抽检比例(%)" prop="samplingRatio">
<el-input
@ -648,7 +659,8 @@
v-if="this.title == '新增' || this.title == '修改'"
type="primary"
@click="submitForm"
> </el-button
>
</el-button
>
</template>
@ -657,9 +669,51 @@
<!-- <el-button @click="cancel"> </el-button> -->
</div>
</el-dialog>
<!-- 修改库存对话框 -->
<el-dialog
:title="storageTitle"
:visible.sync="storageOpen"
width="600px"
append-to-body
:close-on-click-modal="false"
>
<el-form ref="storageForm" :model="storageForm" :rules="storageRules" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item label="当前库存" prop="currentStorage">
<el-input
v-model="storageForm.currentStorage"
type="number"
:min="0"
placeholder="当前库存数量"
maxlength="10"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="新库存数量" prop="storageNum">
<el-input
v-model="storageForm.storageNum"
type="number"
:min="0"
placeholder="请输入新的库存数量"
maxlength="10"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitStorageForm"> </el-button>
<el-button @click="storageOpen = false"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" height="650px" :src="dialogImageUrl" alt />
<img width="100%" height="650px" :src="dialogImageUrl" alt/>
</el-dialog>
<!-- 新增弹框 -->
@ -689,21 +743,22 @@
</el-col>
<el-col :span="12">
<el-form-item label="名称" prop="typeName">
<el-input style="width: 100%" v-model="addFormParams.typeName" />
<el-input style="width: 100%" v-model="addFormParams.typeName"/>
</el-form-item>
</el-col>
<el-col :span="12" v-if="addTitle === '修改' && this.levelTemp == 3">
<el-form-item label="是否录入编码" prop="isEnter">
<el-select style="width: 100%" v-model="addFormParams.isEnter">
<el-option label="是" value="1" />
<el-option label="否" value="0" />
<el-option label="是" value="1"/>
<el-option label="否" value="0"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" v-if="addTitle === '修改' && this.levelTemp == 2">
<el-form-item label="是否绑定班组长" prop="keeperUserId">
<el-select style="width: 100%" v-model="addFormParams.keeperUserId">
<el-option v-for="(item, index) in teamLeaderList" :key="index" :label="item.keeperUserName" :value="item.keeperUserId" />
<el-option v-for="(item, index) in teamLeaderList" :key="index" :label="item.keeperUserName"
:value="item.keeperUserId"/>
</el-select>
</el-form-item>
</el-col>
@ -733,19 +788,21 @@ import {
queryKeeperMatApi,
queryKeeperNameApi,
delMaType,
// API
updateStorageNumApi,
addMaType,
updateMaType,
getUserTypeList,
updatePartType,
getUserListApi
} from "@/api/ma/base";
import { getKeeperIds} from "@/api/ma/typeConfigKeeper";
import { getRepairIds } from "@/api/ma/typeConfigRepair";
import { imgUpLoad } from "@/api/system/upload";
import {getKeeperIds} from "@/api/ma/typeConfigKeeper";
import {getRepairIds} from "@/api/ma/typeConfigRepair";
import {imgUpLoad} from "@/api/system/upload";
export default {
name: "Type",
components: { Treeselect },
components: {Treeselect},
data() {
return {
//
@ -760,7 +817,7 @@ export default {
showSearch: true,
//
total: 0,
unitValueOptions: [{id:"0",name:"整数"},{id:"1",name:"小数"}],
unitValueOptions: [{id: "0", name: "整数"}, {id: "1", name: "小数"}],
//
keeperList: null,
keeperDataRange: [],
@ -815,7 +872,6 @@ export default {
children: "children",
label: "label",
},
//
queryParams: {
pageNum: 1,
@ -826,7 +882,21 @@ export default {
// status: undefined,
// typeId: undefined
},
//
storageOpen: false,
storageTitle: "修改库存",
storageForm: {
typeId: '',
currentStorage: 0,
storageNum: 0,
reason: ''
},
storageRules: {
storageNum: [
{required: true, message: "新库存数量不能为空", trigger: "blur"},
{type: 'number', min: 0, message: "库存数量不能为负数", trigger: "blur"}
],
},
//
rules: {
typeName: [
@ -874,7 +944,6 @@ export default {
afterPrice: "",
useDate: "",
},
/* 新增弹框等数据源定义 */
addTitleVisible: false,
addTitle: "", //
@ -931,6 +1000,37 @@ export default {
this.KeeperOptions = response.rows;
});
},
/** 修改库存按钮操作 */
updateStorageNum(row) {
this.storageForm = {
typeId: row.typeId,
currentStorage: row.storageNum || 0,
storageNum: row.storageNum || 0,
};
this.storageOpen = true;
},
/** 提交库存修改表单 */
submitStorageForm() {
this.$refs["storageForm"].validate((valid) => {
if (valid) {
//
this.storageForm.storageNum = Number(this.storageForm.storageNum);
updateStorageNumApi(this.storageForm).then(response => {
if (response.code === 200) {
this.$modal.msgSuccess("库存修改成功");
this.storageOpen = false;
this.getList(); //
} else {
this.$modal.msgError(response.msg || "库存修改失败");
}
}).catch(error => {
this.$modal.msgError("库存修改失败");
});
}
});
},
async getRepairerData() {
const itemName = "wei_xiu_role_ids";
let roleIdsTemp = []
@ -946,7 +1046,6 @@ export default {
},
/** 查询物资类型 */
async getKeeperDataList(data) {
let keepdataRes = await queryKeeperDataApi({
@ -966,19 +1065,19 @@ export default {
getMaTypeList().then((response) => {
this.treeOptions = response.data;
console.log(this.treeOptions)
if (this.treeOptions.length > 0 ){
if(this.treeOptions[0].children&&this.treeOptions[0].children.length > 0) {
const firstNode = this.treeOptions[0].children[0];
this.queryParams.typeId = firstNode.id;
this.queryParams.level = 1;
this.queryParams.houseId = firstNode.houseId;
this.getList();
}else{
this.queryParams.typeId = this.treeOptions[0].id;
this.queryParams.level = 0;
this.queryParams.houseId = this.treeOptions[0].id;
this.getList();
}
if (this.treeOptions.length > 0) {
if (this.treeOptions[0].children && this.treeOptions[0].children.length > 0) {
const firstNode = this.treeOptions[0].children[0];
this.queryParams.typeId = firstNode.id;
this.queryParams.level = 1;
this.queryParams.houseId = firstNode.houseId;
this.getList();
} else {
this.queryParams.typeId = this.treeOptions[0].id;
this.queryParams.level = 0;
this.queryParams.houseId = this.treeOptions[0].id;
this.getList();
}
}
});
},
@ -1088,10 +1187,10 @@ export default {
const typeId = row.typeId;
getMaType(typeId).then((response) => {
this.form = response.data;
if(response.data.repairerId){
if (response.data.repairerId) {
this.form.repairerArr = response.data.repairerId.split(",")
}
if(response.data.keeperId){
if (response.data.keeperId) {
this.form.keeperArr = response.data.keeperId.split(",")
}
this.form.isCharging = this.form.isCharging + "";
@ -1116,10 +1215,10 @@ export default {
getMaType(typeId).then((response) => {
this.form = response.data;
this.leasePriceTemp = response.data.leasePrice;
if(response.data.repairerId){
if (response.data.repairerId) {
this.form.repairerArr = response.data.repairerId.split(",")
}
if(response.data.keeperId){
if (response.data.keeperId) {
this.form.keeperArr = response.data.keeperId.split(",")
}
this.form.isCharging = this.form.isCharging + "";
@ -1141,35 +1240,36 @@ export default {
console.log(this.form, "提交参数---");
this.$refs["form"].validate((valid) => {
if (valid) {
if(this.form.keeperArr != null && this.form.keeperArr.length > 0){
if (this.form.keeperArr != null && this.form.keeperArr.length > 0) {
this.form.keeperId = this.form.keeperArr.join(",")
}
if(this.form.repairerArr != null && this.form.repairerArr.length > 0){
if (this.form.repairerArr != null && this.form.repairerArr.length > 0) {
this.form.repairerId = this.form.repairerArr.join(",")
}
if (this.form.typeId != undefined) {
if(this.form.leasePrice!=this.leasePriceTemp){
if (this.form.leasePrice != this.leasePriceTemp) {
this.$modal
.confirm("是否确认修改后的内部租赁价?")
.then(() => {
this.form.isUpdateLeasePrice = true;
updateMaType(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// this.getTreeData();
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// this.getTreeData();
});
})
.catch(() => {
});
})
.catch(() => {});
}else{
updateMaType(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// this.getTreeData();
});
}
}else {
} else {
updateMaType(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// this.getTreeData();
});
}
} else {
addMaType(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
@ -1193,7 +1293,8 @@ export default {
this.getList();
// this.getTreeData();
})
.catch(() => {});
.catch(() => {
});
},
handleRemove(file, fileList) {
@ -1327,7 +1428,8 @@ export default {
this.$modal.msgSuccess("删除成功");
this.getTreeData();
})
.catch(() => {});
.catch(() => {
});
},
//
getTeamLeaderList() {
@ -1353,7 +1455,7 @@ export default {
},
/* 确定 */
onSubmit() {
const { id, typeName, isEnter, keeperUserId } = this.addFormParams;
const {id, typeName, isEnter, keeperUserId} = this.addFormParams;
console.log("level", this.levelTemp);
console.log("idTemp", this.idTemp);
const addParams = {
@ -1416,7 +1518,8 @@ export default {
}
}
});
} catch (error) {}
} catch (error) {
}
},
onMousemove(data) {
@ -1437,23 +1540,28 @@ export default {
::v-deep .btn-items .el-button + .el-button {
margin-left: 6px;
}
.btn-items {
margin-left: 4px;
.el-button--text {
font-size: 16px;
}
}
::v-deep .el-tree .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
::v-deep .el-tree .el-icon-caret-right:before {
content: "\e783";
font-size: 16px;
}
::v-deep
.el-tree
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
.el-tree
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
content: "\e781";
font-size: 16px;
color: #1890ff;
@ -1462,14 +1570,15 @@ export default {
::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
color: #1890ff !important;
}
::v-deep .el-tree-node__expand-icon.is-leaf {
color: transparent !important;
}
::v-deep
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
background-color: #8decf1;
}