|
|
@@ -1,9 +1,5 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <!-- 标题 -->
|
|
|
- <!-- <div class="app-header">
|
|
|
- <h2>{{ dialogTitle }}</h2>
|
|
|
- </div> -->
|
|
|
<!-- 左上角按钮容器 -->
|
|
|
<div class="buttons-container">
|
|
|
<el-button
|
|
|
@@ -21,8 +17,8 @@
|
|
|
<i class="el-icon-arrow-down el-icon--right" />
|
|
|
</el-button>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item :disabled="isFormDisabled">提交</el-dropdown-item>
|
|
|
- <el-dropdown-item :disabled="isFormDisabled">撤销</el-dropdown-item>
|
|
|
+ <el-dropdown-item :disabled="isButtonDisabled('commit')" @click.native="commit">提交</el-dropdown-item>
|
|
|
+ <el-dropdown-item :disabled="isButtonDisabled('cancel')" @click.native="cancel">撤销</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
|
|
|
@@ -33,8 +29,8 @@
|
|
|
<i class="el-icon-arrow-down el-icon--right" />
|
|
|
</el-button>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item :disabled="isFormDisabled">审核</el-dropdown-item>
|
|
|
- <el-dropdown-item>反审核</el-dropdown-item>
|
|
|
+ <el-dropdown-item :disabled="isButtonDisabled('audit')" @click.native="audit">审核</el-dropdown-item>
|
|
|
+ <el-dropdown-item :disabled="isButtonDisabled('antiAudit')" @click.native="antiAudit">反审核</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
<el-button
|
|
|
@@ -59,7 +55,7 @@
|
|
|
<el-select
|
|
|
v-model="formData.businessType"
|
|
|
placeholder="请选择业务类型"
|
|
|
- :disabled="isFormDisabled"
|
|
|
+ :disabled="!isEditable"
|
|
|
@change="changeBusinessType"
|
|
|
>
|
|
|
<el-option
|
|
|
@@ -71,10 +67,18 @@
|
|
|
</el-select> </el-form-item
|
|
|
></el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="部门" prop="departmentNo">
|
|
|
+ <el-form-item label="申请单号" prop="remark">
|
|
|
+ <el-input
|
|
|
+ v-model="formData.requestNo"
|
|
|
+ :disabled="true"
|
|
|
+ placeholder="保存后自动生成"
|
|
|
+ /> </el-form-item
|
|
|
+ ></el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="部门" prop="deptCode">
|
|
|
<DepartMentSelect
|
|
|
ref="departMentSelect"
|
|
|
- v-model="formData.departmentNo"
|
|
|
+ v-model="formData.deptCode"
|
|
|
:disabled="isFormDisabled || !formData.businessType"
|
|
|
placeholder="请选择部门"
|
|
|
clearable
|
|
|
@@ -171,7 +175,7 @@
|
|
|
<el-date-picker
|
|
|
v-model="formData.actualTime"
|
|
|
clearable
|
|
|
- :disabled="isFormDisabled || (formData.businessType ? false : true)"
|
|
|
+ :disabled="true"
|
|
|
type="date"
|
|
|
value-format="timestamp"
|
|
|
placeholder="选择实际出入库时间"
|
|
|
@@ -314,7 +318,7 @@
|
|
|
show-overflow-tooltip
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- label="本次出入数量"
|
|
|
+ label="本次申请数量"
|
|
|
align="center"
|
|
|
prop="nowDeliveredQty"
|
|
|
width="160"
|
|
|
@@ -328,23 +332,17 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- label="已出入数量"
|
|
|
+ label="已出库数量"
|
|
|
align="center"
|
|
|
prop="completedQty"
|
|
|
width="120"
|
|
|
/>
|
|
|
<el-table-column
|
|
|
- label="应出入数量"
|
|
|
+ label="源单计划数量"
|
|
|
align="center"
|
|
|
prop="planQty"
|
|
|
width="120"
|
|
|
/>
|
|
|
- <el-table-column
|
|
|
- label="申请数量"
|
|
|
- align="center"
|
|
|
- prop="requireQty"
|
|
|
- width="120"
|
|
|
- />
|
|
|
<el-table-column
|
|
|
label="单位"
|
|
|
align="center"
|
|
|
@@ -406,6 +404,8 @@ export default {
|
|
|
// 表单参数
|
|
|
formData: {
|
|
|
departmentNo: undefined,
|
|
|
+ deptCode: undefined,
|
|
|
+ deptName: undefined,
|
|
|
id: undefined,
|
|
|
requestNo: undefined,
|
|
|
requestType: undefined,
|
|
|
@@ -438,7 +438,7 @@ export default {
|
|
|
},
|
|
|
// 表单校验
|
|
|
formRules: {
|
|
|
- departmentNo: [
|
|
|
+ deptCode: [
|
|
|
{ required: true, message: "请选择部门", trigger: "blur" },
|
|
|
],
|
|
|
requestNo: [
|
|
|
@@ -488,15 +488,20 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
- // 判断表单是否不可编辑:路径有id且status>=2
|
|
|
+ // 判断表单是否不可编辑:路径有id且status>=1
|
|
|
isFormDisabled() {
|
|
|
- // 检查是否有id(编辑模式)且status>=2
|
|
|
+ // 检查是否有id(编辑模式)且status>=1
|
|
|
return (
|
|
|
- this.$route.query.id &&
|
|
|
this.formData.status &&
|
|
|
- Number(this.formData.status) >= 2
|
|
|
+ Number(this.formData.status) >= 1
|
|
|
);
|
|
|
},
|
|
|
+ //计算属性判断修改状态下是否可编辑
|
|
|
+ isEditable() {
|
|
|
+ // 有 id 表示是编辑模式,不可编辑
|
|
|
+ // 没有 id 表示是新增模式,可编辑
|
|
|
+ return this.formData.id === undefined || this.formData.id === null || this.formData.id === '';
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
"$route.query.id": {
|
|
|
@@ -526,6 +531,23 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 通用的判断函数判断按钮是否可点击
|
|
|
+ isButtonDisabled(buttonType) {
|
|
|
+ const status = Number(this.formData.status);
|
|
|
+
|
|
|
+ switch(buttonType) {
|
|
|
+ case 'commit':
|
|
|
+ return status !== 0; // 提交,status=0时可点击
|
|
|
+ case 'cancel':
|
|
|
+ return status !== 1; // 撤销,status=1时可点击
|
|
|
+ case 'audit':
|
|
|
+ return status !== 1; // 审核,status=1时可点击
|
|
|
+ case 'antiAudit':
|
|
|
+ return status < 2; // 反审核,status>=2时可点击
|
|
|
+ default:
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ },
|
|
|
handleDelete(row) {
|
|
|
console.log(row);
|
|
|
this.formData.list.splice(row.$index, 1);
|
|
|
@@ -711,7 +733,7 @@ export default {
|
|
|
this.formData.list = [];
|
|
|
}
|
|
|
},
|
|
|
- /** 提交按钮 */
|
|
|
+ /** 保存按钮 */
|
|
|
async submitForm() {
|
|
|
// 校验主表
|
|
|
await this.$refs["formRef"].validate();
|
|
|
@@ -737,7 +759,7 @@ export default {
|
|
|
if (data.id) {
|
|
|
await InRequestApi.updateInRequest(data);
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
- this.$router.back();
|
|
|
+ //this.$router.back();//修改时停留在当前页面
|
|
|
return;
|
|
|
}
|
|
|
// 添加的提交
|
|
|
@@ -748,6 +770,42 @@ export default {
|
|
|
this.formLoading = false;
|
|
|
}
|
|
|
},
|
|
|
+ /** 提交按钮 */
|
|
|
+ async commit() {
|
|
|
+ const data = this.formData;
|
|
|
+ // 接口调用
|
|
|
+ await InRequestApi.commitOutRequest(data);
|
|
|
+ this.$modal.msgSuccess("提交成功");
|
|
|
+ // 状态变化
|
|
|
+ this.$set(this.formData, 'status', "1");
|
|
|
+ },
|
|
|
+ /** 撤销按钮 */
|
|
|
+ async cancel() {
|
|
|
+ const data = this.formData;
|
|
|
+ // 接口调用
|
|
|
+ await InRequestApi.cancelOutRequest(data);
|
|
|
+ this.$modal.msgSuccess("撤销成功");
|
|
|
+ // 状态变化
|
|
|
+ this.$set(this.formData, 'status', "0");
|
|
|
+ },
|
|
|
+ /** 审核按钮 */
|
|
|
+ async audit() {
|
|
|
+ const data = this.formData;
|
|
|
+ // 接口调用
|
|
|
+ await InRequestApi.auditOutRequest(data);
|
|
|
+ this.$modal.msgSuccess("审核成功");
|
|
|
+ // 状态变化
|
|
|
+ this.$set(this.formData, 'status', "2");
|
|
|
+ },
|
|
|
+ /** 反审核按钮 */
|
|
|
+ async antiAudit() {
|
|
|
+ const data = this.formData;
|
|
|
+ // 接口调用
|
|
|
+ await InRequestApi.antiAuditOutRequest(data);
|
|
|
+ this.$modal.msgSuccess("反审核成功");
|
|
|
+ // 状态变化
|
|
|
+ this.$set(this.formData, 'status', "0");
|
|
|
+ },
|
|
|
/** 取消按钮 */
|
|
|
handleCancel() {
|
|
|
this.reset();
|