<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="close">退 出</el-button>
|
<el-button type="primary" @click="set_CheckBill(0, form)" :disabled="CheckBillDisabled">审 核</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="HCenter">
|
<el-input v-model="form.HCenter" placeholder="请选择工作中心" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(4)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="助记码" prop="HHelpCode">
|
<el-input v-model="form.HHelpCode" placeholder="请输入助记码" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="mac地址" prop="HMacAddr">
|
<el-input v-model="form.HMacAddr" placeholder="请输入mac地址" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="负责人" prop="HEmpName">
|
<el-input v-model="form.HEmpName" placeholder="请选择负责人" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="16">
|
<el-form-item label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="禁用标志" prop="HStopflag">
|
<el-checkbox v-model="form.HStopflag">是否禁用</el-checkbox>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<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 label="创建组织" prop="HCREATEORGID">
|
<el-select v-model="form.HCREATEORGID" 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 label="使用状态" prop="HUseFlag">
|
<el-select v-model="form.HUseFlag" placeholder="请选择使用状态" :disabled="zzSelDis">
|
<el-option value="未检测">未检测</el-option>
|
<el-option value="未使用">未使用</el-option>
|
<el-option value="已使用">已使用</el-option>
|
</el-select>
|
</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="HWorkTimes">
|
<el-input-number v-model="form.HWorkTimes" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="类型" prop="HType">
|
<el-select v-model="form.HType" placeholder="请选择类型" :disabled="zzSelDis">
|
<el-option value="生产线">生产线</el-option>
|
<el-option value="人">人</el-option>
|
<el-option value="设备">设备</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="关联ID" prop="HRelationID">
|
<el-input-number v-model="form.HRelationID" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="单班最大工时" prop="HMaxWorkTimes">
|
<el-input-number v-model="form.HMaxWorkTimes" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="最小进阶" prop="HMinAdd">
|
<el-input-number v-model="form.HMinAdd" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="每日班次" prop="HClassCount">
|
<el-input-number v-model="form.HClassCount" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="加班工时" prop="HOverTimes">
|
<el-input-number v-model="form.HOverTimes" controls-position="right" :min="0"></el-input-number>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="部门" prop="HDeptName">
|
<el-input v-model="form.HDeptName" placeholder="请选择部门" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="工序" prop="HProcName">
|
<el-input v-model="form.HProcName" placeholder="请选择部门" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="默认生产班组" prop="HGroup">
|
<el-input v-model="form.HGroup" placeholder="请选择默认生产班组" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="主资源" prop="HPrimarySourceName">
|
<el-input v-model="form.HPrimarySourceName" placeholder="请选择主资源" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(1)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="工位数量" prop="HCubicleQty">
|
<el-input-number v-model="form.HCubicleQty" controls-position="right" :min="1"></el-input-number>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="产线人数" prop="HProdLinePeopleNum">
|
<el-input-number v-model="form.HProdLinePeopleNum" controls-position="right" :min="0"></el-input-number>
|
</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="HMakeTime">
|
<el-date-picker v-model="form.HMakeTime" 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>
|
<Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
|
<Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" />
|
<Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" />
|
<GyWorkCenter @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="workCenterShow" />
|
<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 moment from 'moment';
|
|
export default {
|
name: 'SellOutBill',
|
components: { Dept, Warehouse, Material, RowSettings, GyWorkCenter },
|
props: {
|
OperationType: { type: Number, },
|
linterid: { type: Number, },
|
HSouceBillType: { type: String, },
|
copyType: { type: Number, },
|
},
|
data() {
|
return {
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
zzSelDis: false,
|
rowHideShow: false,
|
openRowHide: false,
|
workCenterShow: false,
|
sWhere: '',
|
sTime: '',
|
eTime: '',
|
zbIndex: null,
|
dialogTypeNum: null,//部门弹窗1,仓库弹窗2
|
deptShow: false,//部门数据组件
|
warehouseShow: false,//仓库数据组件
|
materialShow: 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: 'http://47.96.97.237/API/',
|
user: 'admin',
|
currentRow: [],
|
lastSelectedRowIndex: null, // 用于记录上次点击的行索引
|
lastSelectedRow: null, // 上一次选中的行
|
selectedRow: null, // 当前选中的行
|
rowForm: {},
|
checkedSysZb: [],
|
editData: [],//子表
|
editBtData: [],//子表表头
|
activeName: 'first',
|
searchOpen: false,
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 显示搜索条件
|
showSearch: true,
|
// 选中数组
|
ids: [],
|
|
// 表单参数
|
form: {},
|
// 表单校验
|
rules: {
|
HNumber: [
|
{ required: true, message: "生产资源代码不能为空", trigger: "blur" }
|
],
|
HName: [
|
{ required: true, message: "生产资源名称不能为空", trigger: "blur" }
|
],
|
HCenter: [
|
{ required: true, message: "工作中心不能为空", trigger: "blur" }
|
]
|
}
|
};
|
},
|
created() {
|
this.reset()
|
this.getdata()
|
},
|
activated(){
|
this.reset()
|
this.getdata()
|
},
|
methods: {
|
getdata() {
|
this.reset()
|
if (this.OperationType != 1) {
|
this.zzSelDis = true
|
axios.get(this.baseURL + 'GetGy_SourceDetail', {
|
params: {
|
"HID": this.linterid
|
},
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) { // 说明验证成功了,
|
var data = result.data.h_v_Edit_IF_SourceList[0];
|
this.form.HNumber = data.生产资源代码
|
this.form.HItemID = this.OperationType == 2 ? 0 : data.HItemID
|
this.form.HName = data.生产资源名称
|
this.form.HHelpCode = data.助记代码
|
this.form.HWorkTimes = data.单班工时
|
this.form.HMaxWorkTimes = data.单班最大工时
|
this.form.HRelationID = data.关联ID
|
this.form.HMinAdd = data.最小进阶
|
this.form.HClassCount = data.每日班次
|
this.form.HOverTimes = data.加班工时
|
this.form.HCenter = data.工作中心
|
this.form.HCenterID = data.工作中心ID
|
this.form.HGroup = data.班组名称
|
this.form.HGroupID = data.班组ID
|
this.form.HDeptName = data.部门名称
|
this.form.HDeptID = data.部门ID
|
this.form.HProcName = data.工序
|
this.form.HProcID = data.工序ID
|
this.form.HProcNumber = data.工序代码
|
this.form.HStopflag = data.禁用标记
|
this.form.HType = data.类型
|
this.form.HRemark = data.备注
|
this.form.HUseFlag = data.HUseFlag
|
this.form.HUSEORGID = data.HUSEORGID
|
this.form.HCREATEORGID = data.HCREATEORGID
|
this.form.HMacAddr = data.mac地址
|
this.form.HEmpID = data.HEmpID
|
this.form.HEmpName = data.负责人
|
this.form.HMakeEmp = data.创建人
|
this.form.HMakeTime = data.创建日期
|
this.form.HStopEmp = data.禁用人
|
this.form.HStopTime = data.禁用日期
|
this.form.HCheckEmp = data.审核人
|
this.form.HCheckTime = data.审核日期
|
this.form.HPrimarySourceID = data.HParentID
|
this.form.HPrimarySourceName = data.主资源名称
|
this.form.HParentID = data.HParentID
|
this.form.HCubicleQty = data.占用工位数
|
this.form.HProdLinePeopleNum = data.产线人数
|
if(!data.HCheckEmp){
|
this.CheckBillDisabled=false
|
}
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
|
} else if (this.OperationType == 1) {
|
let date = new Date()
|
this.form.HMakeTime = moment(date).format('YYYY-MM-DDTHH:mm:ss')
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
}
|
},
|
//部门弹窗赋值
|
dbEmitData(deptRow, num) {
|
// num=1部门 num=2出库仓库
|
if (num == 1) {
|
this.form.HDeptName = deptRow.部门名称
|
this.form.HDeptID = deptRow.HItemID
|
this.form.HEmpID = deptRow.HEmpID
|
this.form.HManagerName = deptRow.负责人
|
this.openData = false
|
} else if (num == 2) {
|
this.editData[this.zbIndex].HWHID = deptRow.HItemID;
|
this.editData[this.zbIndex].发货仓库 = deptRow.仓库名称;
|
this.openData = false
|
} else if (num == 3) {
|
this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
|
this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
|
this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
|
this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
|
this.editData[this.zbIndex].规格型号 = deptRow.规格型号
|
this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称
|
this.editData[this.zbIndex].HTaxPrice = deptRow.含税成本价
|
this.editData[this.zbIndex].HTaxRate = deptRow.默认税率
|
this.openData = false
|
} else if (num == 4) {
|
this.form.HCenterID = deptRow.HItemID;
|
this.form.HCenter = deptRow.工作中心名称
|
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: null,
|
HItemID: 0,
|
HName: null,
|
HHelpCode: null,
|
HWorkTimes: '0',
|
HMaxWorkTimes: '0',
|
HRelationID: '0',
|
HMinAdd: '0',
|
HClassCount: '0',
|
HOverTimes: '0',
|
HCenter: null,
|
HCenterID: null,
|
HGroup: null,
|
HGroupID: 0,
|
HDeptName: null,
|
HDeptID: 0,
|
HProcName: null,
|
HProcID: 0,
|
HProcNumber: null,
|
HStopflag: false,
|
HType: null,
|
HRemark: null,
|
HUseFlag: '未检测',
|
HUSEORGID: sessionStorage["OrganizationID"]-0,
|
HCREATEORGID: sessionStorage["OrganizationID"]-0,
|
HMacAddr: null,
|
HEmpID: 0,
|
HEmpName: null,
|
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) {
|
console.log(4)
|
var sMainStr = JSON.stringify(this.form);
|
// var sSubStr = JSON.stringify(this.editData);
|
var sMainSub = sMainStr + ';' + sessionStorage["HUserName"]
|
axios({
|
method: 'post',
|
url: this.baseURL + "SaveGy_SourceList",
|
data: {
|
'msg': sMainSub
|
},
|
}).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 = form.HItemID || form.HInterID
|
//逻辑审核方法
|
axios.get(this.baseURL + "/Gy_Source/AuditGy_Source", {
|
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.deptShow = false
|
this.warehouseShow = false
|
this.materialShow = false
|
this.workCenterShow= false
|
},
|
// 打开数据列表弹窗
|
openDataDialog(num, row) {
|
if (row) {
|
this.zbIndex = row.index - 1
|
}
|
this.showReset()
|
if (num == 1) {
|
this.dialogTitle = '部门列表'
|
this.deptShow = true
|
this.openData = true
|
} else if (num == 2) {
|
this.dialogTitle = '出库仓库列表'
|
this.warehouseShow = true
|
this.openData = true
|
} else if (num == 3) {
|
this.dialogTitle = '物料列表'
|
this.materialShow = true
|
this.openData = true
|
}
|
else if (num == 4) {
|
this.dialogTitle = '工作中心'
|
this.workCenterShow = true
|
this.openData = true
|
}
|
},
|
}
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|