<template>
|
<div v-loading="formLoading" v-if="formShow">
|
<div style="margin-bottom: 10px; border-bottom: 1px solid #f6f6f6">
|
<el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
|
<el-button type="primary" @click="set_CheckBill(0, form)" :disabled="CheckBillDisabled">审 核</el-button>
|
<el-button type="primary" @click="close">退 出</el-button>
|
</div>
|
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="基本信息" name="first">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="部门代码" prop="HNumber">
|
<el-input v-model="form.HNumber" placeholder="请输入仓库代码" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="部门名称" prop="HName">
|
<el-input v-model="form.HName" placeholder="请输入仓库名称" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="助记码" prop="HHelpCode">
|
<el-input v-model="form.HHelpCode" placeholder="请输入助记码"> </el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="禁用标志" prop="HStopflag">
|
<el-checkbox v-model="form.HStopflag" disabled>是否禁用</el-checkbox>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="组织" prop="HUSEORGID">
|
<el-select v-model="form.HUSEORGID" placeholder="请选择组织" :disabled="zzSelDis">
|
<el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item class="form-inline" label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注..."></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="其他信息" name="second">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="负责人" prop="HEmpName">
|
<el-input v-model="form.HEmpName" placeholder="请选择负责人">
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="条形码" prop="HBarCode">
|
<el-input v-model="form.HBarCode" placeholder="请输入条形码"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="是否生产车间" prop="HWorkShopFlag">
|
<el-select v-model="form.HWorkShopFlag" placeholder="请选择">
|
<el-option value="true">是</el-option>
|
<el-option value="false">否</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="部门人数" prop="HEmpQtys">
|
<el-input-number v-model="form.HEmpQtys" placeholder="请输入部门人数" :min="0" :precision="0" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="制单信息" name="third">
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="创建人" prop="HMakeEmp">
|
<el-input v-model="form.HMakeEmp" placeholder="请输入创建人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="禁用人" prop="HStopEmp">
|
<el-input v-model="form.HStopEmp" placeholder="请输入禁用人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="审核人" prop="HCheckEmp">
|
<el-input v-model="form.HCheckEmp" placeholder="请输入审核人" disabled />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="创建日期" prop="HMakeDate">
|
<el-date-picker v-model="form.HMakeDate" type="date" placeholder="选择创建日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="禁用日期" prop="HStopTime">
|
<el-date-picker v-model="form.HStopTime" type="date" placeholder="选择禁用日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="审核日期" prop="HCheckTime">
|
<el-date-picker v-model="form.HCheckTime" type="date" placeholder="选择审核日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
</el-form>
|
<!-- 部门弹窗 -->
|
<el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body>
|
<GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="deptClickSub">确 定</el-button>
|
<el-button @click="deptClose">取 消</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from "axios";
|
import Dept from "@/views/component/dept";
|
import Warehouse from "@/views/component/warehouse";
|
import Material from "@/views/component/material";
|
import RowSettings from "@/views/component/rowSettings";
|
import GyWorkCenter from "@/views/component/gyWorkCenter";
|
import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
|
import moment from "moment";
|
import dayjs from "dayjs";
|
|
export default {
|
name: "gyWarehouse_Edit",
|
components: { Dept, Warehouse, Material, RowSettings, GyWorkCenter, GyEmployee },
|
props: {
|
OperationType: { type: Number },
|
linterid: { type: Number },
|
HSouceBillType: { type: String },
|
copyType: { type: Number },
|
},
|
data() {
|
return {
|
HModName: "Xt_UserListEdit",
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
zzSelDis: true,
|
rowHideShow: false,
|
openRowHide: false,
|
workCenterShow: false,
|
gyEmployeeShow: false,
|
sWhere: "",
|
sTime: "",
|
eTime: "",
|
zbIndex: null,
|
dialogTypeNum: null, //部门弹窗1,仓库弹窗2
|
deptShow: false, //部门数据组件
|
warehouseShow: false, //仓库数据组件
|
materialShow: false, //物料数据组件
|
employeeShow: false, // 仓库管理员组件
|
deptform: {}, //弹窗选中数据
|
openData: false, //数据弹窗
|
dialogTitle: "",
|
zuzhiId: 0,
|
organizationList: JSON.parse(sessionStorage.getItem('organizationList')), //组织列表
|
subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用)
|
CheckBillDisabled: true,
|
// OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
|
HInterID: null,
|
baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/",
|
currentRow: [],
|
lastSelectedRowIndex: null, // 用于记录上次点击的行索引
|
lastSelectedRow: null, // 上一次选中的行
|
selectedRow: null, // 当前选中的行
|
rowForm: {},
|
checkedSysZb: [],
|
editData: [], //子表
|
editBtData: [], //子表表头
|
activeName: "first",
|
searchOpen: false,
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 显示搜索条件
|
showSearch: true,
|
// 选中数组
|
ids: [],
|
|
// 表单参数
|
form: {
|
HWarehouseType: "生产仓库",
|
},
|
// 表单校验
|
rules: {
|
HNumber: [{ required: true, message: "仓库代码不能为空", trigger: "blur" }],
|
HName: [{ required: true, message: "仓库名称名称不能为空", trigger: "blur" }],
|
HWarehouseType: [
|
{ required: true, message: "仓库类型不能为空", trigger: "blur" },
|
],
|
},
|
|
HWarehouseTypeList: [
|
{
|
Name: "生产仓库",
|
},
|
{
|
Name: "模具仓库",
|
},
|
],
|
};
|
},
|
created() {
|
this.reset();
|
this.getdata();
|
},
|
activated() {
|
this.reset();
|
this.getdata();
|
},
|
methods: {
|
getdata() {
|
this.reset();
|
console.log(this.OperationType,this.copyType);
|
if (this.OperationType != 1) {
|
this.zzSelDis = true;
|
axios.get(this.baseURL + "/Gy_Department/cx", {
|
params: {
|
HInterID: this.linterid,
|
},
|
}).then((response) => {
|
let result = response.data;
|
if (result.code == 1) {
|
// 说明验证成功了,
|
var data = result.data[0];
|
Object.assign(this.form, {
|
HNumber: data.部门代码,
|
HItemID: data.HItemID,
|
HName: data.部门名称,
|
HHelpCode: data.HHelpCode,
|
HEmpID: data.HEmpID,
|
HEmpName: data.HEmpName,
|
HBarCode: data.条形码,
|
HStopflag: data.禁用标记,
|
HRemark: data.HRemark,
|
HUSEORGID: data.HUSEORGID,
|
HRemark: data.备注,
|
HMakeEmp: data["创建人"],
|
HMakeDate: data["创建日期"] == null ? "" : dayjs(new Date(data["创建日期"])).format("yyyy-MM-dd"),
|
HCheckEmp: data["审核人"],
|
HCheckDate: data["审核日期"] == null ? "" : dayjs(new Date(data["审核日期"])).format("yyyy-MM-dd"),
|
HStopEmp: data["禁用人"],
|
HStopDate: data["禁用日期"] == null ? "" : dayjs(new Date(data["禁用日期"])).format("yyyy-MM-dd"),
|
});
|
if (!data.HCheckEmp) {
|
this.CheckBillDisabled = false;
|
}
|
if (this.copyType == 1) {
|
this.form.HItemID = 0
|
this.form.HMakeEmp = sessionStorage["HUserName"]
|
this.form.HMakeDate = moment(new Date()).format("YYYY-MM-DDTHH:mm:ss")
|
this.form.HCheckEmp = ''
|
this.form.HCheckDate = ''
|
this.form.HStopEmp = ''
|
this.form.HStopDate = ''
|
}
|
}
|
this.$nextTick(() => {
|
this.formShow = true;
|
this.formLoading = false;
|
});
|
}).catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
} else if (this.OperationType == 1) {
|
let date = new Date();
|
this.form.HMakeDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
|
this.$nextTick(() => {
|
this.formShow = true;
|
this.formLoading = false;
|
});
|
}
|
},
|
handleRowHide() {
|
this.rowHideShow = true;
|
this.openRowHide = true;
|
},
|
rowSetClose(val) {
|
this.rowHideShow = false;
|
this.openRowHide = val;
|
},
|
organizationChange(val) {
|
// let options=undefined
|
// this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
|
},
|
//部门弹窗赋值
|
dbEmitData(deptRow, num) {
|
if (num == 4) {
|
this.form.HEmpName = deptRow.职员名称
|
this.form.HEmpID = deptRow.HItemID
|
this.gyEmployeeShow = false
|
this.openData = false
|
}
|
},
|
emitData(deptRow, num) {
|
this.dialogTypeNum = num;
|
this.deptform = deptRow;
|
},
|
deptClickSub() {
|
this.dbEmitData(this.deptform, this.dialogTypeNum);
|
this.deptform = {};
|
},
|
deptClose() {
|
this.deptform = {};
|
this.openData = false;
|
},
|
|
//新增编辑表单初始化
|
reset() {
|
this.form = {
|
HNumber: '',
|
HItemID: 0,
|
HName: '',
|
HHelpCode: '',
|
HEmpID: 0,
|
HEmpName: '',
|
HBarCode: '',
|
HStopflag: false,
|
HRemark: '',
|
HUSEORGID: sessionStorage["OrganizationID"] - 0,
|
HRemark: '',
|
HMakeEmp: sessionStorage["HUserName"],
|
HMakeTime: null,
|
HStopEmp: null,
|
HStopTime: null,
|
HCheckEmp: null,
|
HCheckTime: null,
|
HPrimarySourceID: 0,
|
HPrimarySourceName: null,
|
HParentID: 0,
|
HCubicleQty: "1",
|
HProdLinePeopleNum: "0",
|
};
|
this.editData = [];
|
this.editBtData = [];
|
this.ids = [];
|
this.formShow = false;
|
this.subDisabled = false;
|
this.formLoading = true;
|
this.CheckBillDisabled = true;
|
this.activeName = "first";
|
this.resetForm("form");
|
},
|
//退出
|
close() {
|
this.reset();
|
this.formShow = false;
|
// console.log()
|
this.$emit("editCloseGy", 0);
|
},
|
// 编辑提交保存
|
submitForm() {
|
this.$refs["form"].validate((valid) => {
|
if (valid) {
|
let fhck = false;
|
this.$nextTick(() => {
|
if (!fhck) {
|
var sMainStr = JSON.stringify(this.form);
|
axios({
|
method: "post",
|
url: this.baseURL + "/Gy_Department/AddBill1",
|
data: {
|
oMain: sMainStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"],
|
},
|
})
|
.then((response) => {
|
console.log(response);
|
if (response.data.count == 1) {
|
this.subDisabled = true; //设置保存按钮不可用
|
this.CheckBillDisabled = false;
|
this.$modal.msgSuccess(response.data.Message);
|
} else {
|
this.$modal.msgError(response.data.Message);
|
this.CheckBillDisabled = false;
|
this.subDisabled = false; //设置保存按钮可用
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
});
|
}
|
});
|
},
|
|
/** 删除按钮操作 */
|
handleDelete() {
|
this.$modal
|
.confirm("确认要删除吗,删除后不能恢复")
|
.then(() => {
|
if (this.rowForm.状态 == "创建") {
|
axios
|
.get(this.baseURL + "/Kf_SellOutBill/DeltetSellOutBill", {
|
params: { HInterID: this.rowForm.hmainid.toString(), user: sessionStorage["HUserName"] },
|
})
|
.then((response) => {
|
if (response.data.count == 1) {
|
this.$modal.msgSuccess("删除成功");
|
} else {
|
this.$modal.msgError("错误:" + result.code + result.Message);
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
} else {
|
this.$modal.msgError("此条数据不是创建状态,无法删除!");
|
}
|
})
|
.catch(() => { });
|
},
|
// 反审核/审核数据
|
set_CheckBill(num, form) {
|
var InterID = this.form.HItemID.toString();
|
//逻辑审核方法
|
axios
|
.get(this.baseURL + "/Gy_Department/AuditGy_Department", {
|
params: { HInterID: InterID, IsAudit: num, CurUserName: sessionStorage["HUserName"] },
|
})
|
.then((response) => {
|
let result = response.data;
|
if (result.code == 1) {
|
this.$modal.msgSuccess("操作成功");
|
this.CheckBillDisabled = true;
|
} else {
|
this.$modal.msgError("错误:" + result.code + result.Message);
|
}
|
})
|
.catch((error) => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
showReset() {
|
this.gyEmployeeShow = false
|
},
|
// 打开数据列表弹窗
|
openDataDialog(num, row) {
|
if (row) {
|
this.zbIndex = row.index - 1;
|
}
|
this.showReset();
|
if (num == 4) {
|
this.dialogTitle = '职员列表'
|
this.gyEmployeeShow = true
|
this.openData = true
|
}
|
},
|
},
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
|
.form-inline>.el-form-item__content {
|
display: flex;
|
flex-direction: row;
|
}
|
</style>
|