修改库存

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

@ -96,10 +96,12 @@
icon="el-icon-search" icon="el-icon-search"
size="mini" size="mini"
@click="handleQuery" @click="handleQuery"
>查询</el-button >查询
</el-button
> >
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button >重置
</el-button
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -198,6 +200,15 @@
> >
编辑 编辑
</el-button> </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 <el-button
size="mini" size="mini"
type="text" type="text"
@ -648,7 +659,8 @@
v-if="this.title == '新增' || this.title == '修改'" v-if="this.title == '新增' || this.title == '修改'"
type="primary" type="primary"
@click="submitForm" @click="submitForm"
> </el-button >
</el-button
> >
</template> </template>
@ -657,6 +669,48 @@
<!-- <el-button @click="cancel"> </el-button> --> <!-- <el-button @click="cancel"> </el-button> -->
</div> </div>
</el-dialog> </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"> <el-dialog :visible.sync="dialogVisible">
<img width="100%" height="650px" :src="dialogImageUrl" alt/> <img width="100%" height="650px" :src="dialogImageUrl" alt/>
@ -703,7 +757,8 @@
<el-col :span="12" v-if="addTitle === '修改' && this.levelTemp == 2"> <el-col :span="12" v-if="addTitle === '修改' && this.levelTemp == 2">
<el-form-item label="是否绑定班组长" prop="keeperUserId"> <el-form-item label="是否绑定班组长" prop="keeperUserId">
<el-select style="width: 100%" v-model="addFormParams.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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -733,6 +788,8 @@ import {
queryKeeperMatApi, queryKeeperMatApi,
queryKeeperNameApi, queryKeeperNameApi,
delMaType, delMaType,
// API
updateStorageNumApi,
addMaType, addMaType,
updateMaType, updateMaType,
getUserTypeList, getUserTypeList,
@ -815,7 +872,6 @@ export default {
children: "children", children: "children",
label: "label", label: "label",
}, },
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -826,7 +882,21 @@ export default {
// status: undefined, // status: undefined,
// typeId: 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: { rules: {
typeName: [ typeName: [
@ -874,7 +944,6 @@ export default {
afterPrice: "", afterPrice: "",
useDate: "", useDate: "",
}, },
/* 新增弹框等数据源定义 */ /* 新增弹框等数据源定义 */
addTitleVisible: false, addTitleVisible: false,
addTitle: "", // addTitle: "", //
@ -931,6 +1000,37 @@ export default {
this.KeeperOptions = response.rows; 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() { async getRepairerData() {
const itemName = "wei_xiu_role_ids"; const itemName = "wei_xiu_role_ids";
let roleIdsTemp = [] let roleIdsTemp = []
@ -946,7 +1046,6 @@ export default {
}, },
/** 查询物资类型 */ /** 查询物资类型 */
async getKeeperDataList(data) { async getKeeperDataList(data) {
let keepdataRes = await queryKeeperDataApi({ let keepdataRes = await queryKeeperDataApi({
@ -1160,7 +1259,8 @@ export default {
// this.getTreeData(); // this.getTreeData();
}); });
}) })
.catch(() => {}); .catch(() => {
});
} else { } else {
updateMaType(this.form).then((response) => { updateMaType(this.form).then((response) => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
@ -1193,7 +1293,8 @@ export default {
this.getList(); this.getList();
// this.getTreeData(); // this.getTreeData();
}) })
.catch(() => {}); .catch(() => {
});
}, },
handleRemove(file, fileList) { handleRemove(file, fileList) {
@ -1327,7 +1428,8 @@ export default {
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
this.getTreeData(); this.getTreeData();
}) })
.catch(() => {}); .catch(() => {
});
}, },
// //
getTeamLeaderList() { getTeamLeaderList() {
@ -1416,7 +1518,8 @@ export default {
} }
} }
}); });
} catch (error) {} } catch (error) {
}
}, },
onMousemove(data) { onMousemove(data) {
@ -1437,20 +1540,25 @@ export default {
::v-deep .btn-items .el-button + .el-button { ::v-deep .btn-items .el-button + .el-button {
margin-left: 6px; margin-left: 6px;
} }
.btn-items { .btn-items {
margin-left: 4px; margin-left: 4px;
.el-button--text { .el-button--text {
font-size: 16px; font-size: 16px;
} }
} }
::v-deep .el-tree .el-tree-node__expand-icon.expanded { ::v-deep .el-tree .el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(0deg); -webkit-transform: rotate(0deg);
transform: rotate(0deg); transform: rotate(0deg);
} }
::v-deep .el-tree .el-icon-caret-right:before { ::v-deep .el-tree .el-icon-caret-right:before {
content: "\e783"; content: "\e783";
font-size: 16px; font-size: 16px;
} }
::v-deep ::v-deep
.el-tree .el-tree
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before { .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
@ -1462,6 +1570,7 @@ export default {
::v-deep .el-tree-node__content > .el-tree-node__expand-icon { ::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
color: #1890ff !important; color: #1890ff !important;
} }
::v-deep .el-tree-node__expand-icon.is-leaf { ::v-deep .el-tree-node__expand-icon.is-leaf {
color: transparent !important; color: transparent !important;
} }