Merge branch '0.8.X' of https://gitee.com/hdka/klp-oa into 0.8.X

This commit is contained in:
砂糖
2025-08-22 17:34:37 +08:00
2 changed files with 37 additions and 54 deletions

View File

@@ -29,7 +29,13 @@
<dict-tag :options="dict.type.stock_item_type" :value="scope.row.itemType" />
</template>
</el-table-column>
<el-table-column label="物品ID" align="center" prop="itemId" />
<el-table-column label="物品信息" align="center" prop="itemId">
<template slot-scope="scope">
<raw-material-info v-if="scope.row.itemType === ITEM_TYPE.RAW_MATERIAL" :material-id="scope.row.itemId" />
<product-info v-else-if="scope.row.itemType === ITEM_TYPE.PRODUCT" :product-id="scope.row.itemId" />
<span v-else>{{ scope.row.itemId }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="单位" align="center" prop="unit" />
<!-- <el-table-column label="批次号" align="center" prop="batchNo" /> -->
@@ -100,11 +106,11 @@
<el-table v-loading="loading" :data="manualList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="库区/库位" align="center" prop="warehouseName" />
<el-table-column
v-if="stockIo.ioType === 'transfer'"
label="源库区/库位"
align="center"
prop="fromWarehouseName"
<el-table-column
v-if="stockIo.ioType === 'transfer'"
label="源库区/库位"
align="center"
prop="fromWarehouseName"
/>
<el-table-column label="物品类型" align="center" prop="itemType">
<template slot-scope="scope">
@@ -147,7 +153,7 @@
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<pagination
v-show="total>0"
@@ -165,7 +171,7 @@
:loading="statusLoading"
@click="handleUpdateStatus"
>{{ getStatusButtonText() }}</el-button>
<!-- 审核按钮 -->
<el-button
v-if="stockIo.status === 1"
@@ -173,7 +179,7 @@
:loading="auditLoading"
@click="handleAudit"
>{{ getAuditButtonText() }}</el-button>
<!-- 撤回按钮 -->
<el-button
v-if="stockIo.status === 2 && stockIo.ioType !== 'withdraw'"
@@ -191,9 +197,9 @@
<el-form-item label="库区/库位" prop="warehouseId">
<warehouse-select v-model="form.warehouseId" placeholder="请选择库区/库位" />
</el-form-item>
<el-form-item
v-if="stockIo.ioType === 'transfer'"
label="源库区/库位"
<el-form-item
v-if="stockIo.ioType === 'transfer'"
label="源库区/库位"
prop="fromWarehouseId"
>
<warehouse-select v-model="form.fromWarehouseId" placeholder="请选择源库区/库位" />
@@ -341,7 +347,7 @@ export default {
this.$modal.msgError('请先添加明细数据');
return;
}
// 确认审核
this.$modal.confirm('确认要审核此出入库单吗?审核后将影响库存数据。').then(() => {
this.auditLoading = true;
@@ -410,7 +416,7 @@ export default {
} else {
this.$delete(this.rules, 'fromWarehouseId');
}
this.$refs["form"].validate(valid => {
if (valid) {
this.buttonLoading = true;
@@ -505,7 +511,7 @@ export default {
this.$modal.msgError('请先添加明细数据');
return;
}
this.$modal.confirm('确认要提交此出入库单吗?提交后将无法修改明细。').then(() => {
this.statusLoading = true;
updateStockIoStatus(this.stockIo.stockIoId, 1).then(response => {

View File

@@ -6,25 +6,13 @@
</div>
<el-col :span="18" :offset="3">
<div class="form-conf" v-if="formOpen">
<parser :key="new Date().getTime()" :form-conf="formData" ref="parser" @getData="getData"/>
<parser :key="parserKey" :form-conf="formData" ref="parser" @getData="getData"/>
</div>
<!-- 审批负责人设置 -->
<el-card class="box-card" shadow="hover" v-if="formOpen">
<div slot="header" class="clearfix">
<span>审批人设置</span>
</div>
<el-col :span="10" :offset="3">
<el-form ref="approvalForm" :model="approvalForm" label-width="120px">
<el-form-item label="审批负责人">
<el-radio-group v-model="approvalForm.approvalType">
<el-radio :label="1">指定用户</el-radio>
<el-radio :label="2">角色</el-radio>
<el-radio :label="3">部门</el-radio>
<el-radio :label="4">发起人</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="approvalForm.approvalType === 1">
<el-form-item label="指定审批人">
<el-tag
:key="index"
v-for="(item, index) in approvalUsers"
@@ -36,8 +24,8 @@
<el-button class="button-new-tag" type="primary" icon="el-icon-plus" size="mini" circle @click="onSelectUsers" />
</el-form-item>
</el-form>
</el-card>
</el-col>
<!-- 提交和重置按钮 -->
<div class="submit-buttons" v-if="formOpen">
<el-button type="primary" @click="submitForm">提交</el-button>
@@ -45,7 +33,7 @@
</div>
</el-col>
</el-card>
<!-- 用户选择对话框 -->
<el-dialog title="选择审批人" :visible.sync="userData.open" width="60%" append-to-body>
<el-row type="flex" :gutter="20">
@@ -116,6 +104,7 @@ export default {
procInsId: null,
formOpen: false,
formData: {},
parserKey: 1,
// 审批表单
approvalForm: {
approvalType: 1, // 默认指定用户
@@ -162,6 +151,9 @@ export default {
}).then(res => {
if (res.data) {
this.formData = res.data;
// 表单按钮隐藏
this.formData.formBtns = false;
this.parserKey++ // 只有加载新表单时才更新 key
this.formOpen = true
}
})
@@ -195,15 +187,15 @@ export default {
this.$modal.msgError("表单未加载完成");
return;
}
// 获取表单数据
parserRef.getData();
// 验证表单
parserRef.$refs[parserRef.formConfCopy.formRef].validate(valid => {
if (valid) {
const formData = parserRef[parserRef.formConfCopy.formModel];
// 添加审批人信息到表单数据
// 根据审批类型添加不同的审批人信息
if (this.approvalForm.approvalType === 1 && this.approvalUsers.length > 0) {
@@ -212,23 +204,8 @@ export default {
formData.flowable.candidateUsers = this.approvalUsers.map(user => user.userId).join(',');
formData.flowable.candidateGroups = '';
formData.flowable.text = this.approvalUsers.map(user => user.nickName).join(',');
} else if (this.approvalForm.approvalType === 2) {
// 角色
formData.flowable = formData.flowable || {};
formData.flowable.candidateUsers = '';
formData.flowable.candidateGroups = 'ROLE_';
} else if (this.approvalForm.approvalType === 3) {
// 部门
formData.flowable = formData.flowable || {};
formData.flowable.candidateUsers = '';
formData.flowable.candidateGroups = 'DEPT_';
} else if (this.approvalForm.approvalType === 4) {
// 发起人
formData.flowable = formData.flowable || {};
formData.flowable.candidateUsers = '';
formData.flowable.candidateGroups = '';
}
// 启动流程并将表单数据加入流程变量
if (this.definitionId) {
startProcess(this.definitionId, JSON.stringify(formData)).then(res => {
@@ -245,7 +222,7 @@ export default {
}
});
},
// 重置表单
resetForm() {
const parserRef = this.$refs.parser;