<template>
|
<div v-loading="formLoading" v-if="formShow">
|
<div style=" margin-bottom: 10px; border-bottom: 1px solid #f6f6f6;">
|
<el-button type="primary" @click="handleAdd(OperationType = 1)" v-if="addBtnShow">新增</el-button>
|
<el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
|
<el-button type="primary" @click="set_CheckBill(0, form)">审 核</el-button>
|
<el-button type="primary" @click="close">退 出</el-button>
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
<div style="margin: 10px; font-size: 28px; font-weight: bold; text-align: center;">生产入库单</div>
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="基本信息" name="first">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="单据编号" prop="HBillNo">
|
<el-input v-model="form.HBillNo" placeholder="请输入单据编号" disabled="true" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="日期" prop="HDate">
|
<el-date-picker v-model="form.HDate" type="date" placeholder="选择日期" value-format="yyyy-MM-ddT">
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="保管员" prop="HKeeperName">
|
<el-input v-model="form.HKeeperName" placeholder="请输入保管员" disabled>
|
<el-button slot="append" icon="el-icon-search"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="仓库" prop="HWHName">
|
<el-input v-model="form.HWHName" placeholder="请输入仓库">
|
<el-button slot="append" icon="el-icon-search"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="币别" prop="HCurName">
|
<el-input v-model="form.HCurName" placeholder="请输入币别">
|
<el-button slot="append" icon="el-icon-search"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="汇率" prop="HExRate">
|
<el-input-number v-model="form.HExRate" placeholder="" disabled="true"></el-input-number>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="验收员" prop="HSecManagerName">
|
<el-input v-model="form.HSecManagerName" placeholder="请输入验收员" disabled>
|
<el-button slot="append" icon="el-icon-search"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<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="6">
|
<el-form-item label="源单类型" prop="HSourceBillType">
|
<el-select v-model="form.HSourceBillType" @change="sourceBillTypeChange" >
|
<el-option v-for="(item, index) in sourceBillTypeList" :key="index" :label="item.HSourceBillTypeName" :value="item.HSourceBillType">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-form-item label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注" />
|
</el-form-item>
|
<el-form-item label="组织" prop="HOrgID">
|
<el-select v-model="form.HOrgID" placeholder="请选择组织" @change="organizationChange" :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-tab-pane>
|
<el-tab-pane label="制单信息" name="third">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="制单人" prop="HMaker">
|
<el-input v-model="form.HMaker" placeholder="请输入制单人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="修改人" prop="HUpDater">
|
<el-input v-model="form.HUpDater" placeholder="请输入修改人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="审核人" prop="HChecker">
|
<el-input v-model="form.HChecker" placeholder="请输入审核人" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="关闭人" prop="HCloseMan">
|
<el-input v-model="form.HCloseMan" placeholder="请输入关闭人" disabled />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<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="6">
|
<el-form-item label="修改日期" prop="HUpDateDate">
|
<el-date-picker v-model="form.HUpDateDate" type="date" placeholder="选择审核日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="审核日期" prop="HCheckDate">
|
<el-date-picker v-model="form.HCheckDate" type="date" placeholder="选择审核日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="关闭日期" prop="HCloseDate">
|
<el-date-picker v-model="form.HCloseDate" type="date" placeholder="选择关闭日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="作废人" prop="HDeleteMan">
|
<el-input v-model="form.HDeleteMan" placeholder="请输入作废人" disabled />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="作废日期" prop="HDeleteDate">
|
<el-date-picker v-model="form.HDeleteDate" type="date" placeholder="选择作废日期" disabled>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
</el-tabs>
|
<div style="margin-bottom: 10px;">
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb()" size="mini">增加一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb(zbIndex, 1)"
|
size="mini">插入一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow" size="mini">复制一行</el-button>
|
<el-button type="success" plain icon="el-icon-arrow-up" @click="handleMoveRowUp(zbSelForm)"
|
size="mini">上移</el-button>
|
<el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
|
size="mini">下移</el-button>
|
</div>
|
<el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
|
@selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
|
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column align="center" label="序号" type="index" width="80" />
|
<!-- <el-table-column align="center" label="源单单号" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSourceBillNo }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="源单类型" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSourceBillType }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="源单主内码" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSourceInterID }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="源单子内码" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSourceEntryID }}</span>
|
</template>
|
</el-table-column> -->
|
<el-table-column align="center" label="HMaterID" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HMaterID }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="物料代码" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.物料代码" placeholder="请输入物料代码" @keyup.native.f7="openDataDialog(3, scope.row)"
|
@dblclick.native="openDataDialog(3, scope.row)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="物料名称" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.物料名称 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="规格型号" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.规格型号 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="HUnitID" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HUnitID }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="计量单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.计量单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="HPropertyID" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HPropertyID }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="辅助属性" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.辅助属性 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="HSecUnitID" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSecUnitID }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="辅助计量单位" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.辅助计量单位 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="换算率" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HSecUnitRate }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="应收数量" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HQtyMust }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="实收数量" width="120">
|
<template slot-scope="scope">
|
<el-input-number v-model="scope.row.HQty" :min="0" style="width: 90px;"
|
controls-position="right"></el-input-number>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="单价" width="120">
|
<template slot-scope="scope">
|
<el-input-number v-model="scope.row.HPrice" :min="0" style="width: 90px;"
|
controls-position="right"></el-input-number>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="金额" width="120">
|
<template slot-scope="scope">
|
<span>{{scope.row.HMoney = scope.row.HPrice * scope.row.HQty }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="收料仓库" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.收料仓库" placeholder="请输入收料仓库" @keyup.native.f7="openDataDialog(2, scope.row)"
|
@dblclick.native="openDataDialog(2, scope.row)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="仓位名称" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.收料仓位" placeholder="请输入仓位名称" @keyup.native.f7="openDataDialog(2, scope.row)"
|
@dblclick.native="openDataDialog(2, scope.row)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="备注" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HRemark" placeholder="请输入备注" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="操作" width="55" fixed="right">
|
<template slot-scope="scope">
|
<el-button type="danger" icon="el-icon-delete" size="mini" circle
|
@click="handleDeleteSysZb(scope.row)"></el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
</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" />
|
<div slot="footer" class="dialog-footer">
|
<el-button type="primary" @click="deptClickSub">确 定</el-button>
|
<el-button @click="deptClose">取 消</el-button>
|
</div>
|
</el-dialog>
|
<el-dialog title="隐藏列设置" :visible.sync="openRowHide" width="816px" append-to-body>
|
<RowSettings :colName="btResList" HModName="Kf_ProductInBillEdit" @rowEditClose="rowSetClose" v-if="rowHideShow" />
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from 'axios'
|
import moment from 'moment';
|
import RowSettings from '@/views/component/rowSettings'
|
import Dept from '@/views/component/dept'
|
import Warehouse from '@/views/component/warehouse'
|
import Material from '@/views/component/material'
|
|
export default {
|
name: 'ProductInBill',
|
components: { Dept, Warehouse, Material, RowSettings },
|
props: {
|
OperationType: { type: Number, },
|
linterid: { type: Number, },
|
HSouceBillType: { type: String, },
|
propsData: { type: String, },
|
copyType: { type: Number, },
|
},
|
data() {
|
return {
|
baseURL: process.env.VUE_APP_BASE_API, //后端接口前缀(后端服务器IP)
|
|
organizationList: [], //页面初始化组织列表
|
sourceBillTypeList: [], //页面初始化源单类型列表
|
|
loading: true, // 遮罩层
|
|
addBtnShow: false, //新增按钮显示标记
|
subDisabled: false, //保存按钮禁用标记
|
|
formShow: false, //表单是否显示标记
|
formLoading: true, //表单加载遮罩
|
zzSelDis: false, //组织下拉列表禁用标记
|
|
rowHideShow: false, //列设置组件容器显示标记
|
openRowHide: false, //列设置组件显示标记
|
|
dialogTitle: '', //弹窗标题
|
openData: false, //数据弹窗
|
dialogTypeNum: null, //部门弹窗1,仓库弹窗2
|
deptShow: false, //部门数据组件显示标记
|
warehouseShow: false, //仓库数据组件显示标记
|
materialShow: false, //物料数据组件显示标记
|
stockPlaceShow: false, //仓位数据组件显示标记
|
deptform: {}, //弹窗选中数据
|
|
temp: undefined, //临时变量
|
btResList: [], // 列设置
|
form: {}, // 表单参数
|
rules: { // 表单校验
|
},
|
|
checkedSysZb: [],
|
editData: [], //子表数据
|
editBtData: [], //子表表头
|
activeName: 'first',
|
zbIndex: null,
|
zbSelForm: {}, //子表选中数据,用于子表复制、上移、下移等操作
|
};
|
},
|
created() {
|
this.fetchData()
|
this.fetchData_SourceBillTypeList()
|
this.getdata()
|
},
|
beforeDestroy() {
|
// this.$destroy()
|
},
|
methods: {
|
//#region 表单数据初始化
|
getdata() {
|
this.formShow = false
|
this.formLoading = true
|
|
if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
|
this.handleAdd()
|
}
|
else if (this.OperationType == 3 || this.copyType == 1) {
|
this.handleUpdate()
|
}
|
},
|
//#endregion
|
|
//#region 页面数据初始化
|
reset() {
|
this.form = {
|
HInterID: 0,
|
HBillNo: "",
|
HDate: new Date(),
|
HInnerBillNo: "",
|
HWHID: 0,
|
HWHName: "",
|
HCurID: 0,
|
HCurName: '',
|
HExRate: 1,
|
HDeptID: 0,
|
HDeptName: "",
|
HSecManagerID: 0,
|
HSecManagerName: "",
|
HKeeperID: 0,
|
HKeeperName: "",
|
HSourceBillType: "",
|
HExplanation :"",
|
HRemark: "",
|
|
|
HEmpID: 0,
|
HEmpName: "",
|
|
HSupID: 0,
|
HSupName: "",
|
HInvoiceBillNo: "",
|
HOrgID: sessionStorage["OrganizationID"] - 0,
|
}
|
this.editData = []
|
this.editBtData = []
|
this.ids = []
|
this.subDisabled = false
|
this.addBtnShow = false
|
// this.$refs.tableData.clearSelection()
|
this.activeName = 'first'
|
this.resetForm("form");
|
},
|
//#endregion
|
|
//#region 新增按钮操作
|
handleAdd() {
|
this.reset()
|
//新增获取单据号
|
this.getHBillNo()
|
if (this.OperationType == 1) {
|
this.handleAddSysZb()
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
},
|
//#endregion
|
|
//#region 编辑页面初始化
|
handleUpdate() {
|
this.reset()
|
let rowHmainid = this.linterid
|
axios.get(this.baseURL + "/Kf_ProductInBillEdit/cx", {
|
params: { 'HInterID': rowHmainid }
|
}).then(response => {
|
if (response.data.count == 1) {
|
var result = response.data
|
var data = response.data.data[0]
|
this.form.BillType = data.HSourceBillType
|
if (this.copyType == 1) {
|
this.getHBillNo()
|
}
|
else {
|
this.form.HInterID = data.hmainid
|
this.form.HBillNo = data.单据号
|
this.form.HDate = data.日期
|
this.form.HMaker = data.制单人
|
this.form.HUpDater = data.修改人
|
this.form.HChecker = data.审核人
|
this.form.HMakeDate = data.制单日期
|
this.form.HUpDateDate = data.修改日期
|
this.form.HCheckDate = data.审核日期
|
this.form.HCloseMan = data.关闭人
|
this.form.HDeleteMan = data.作废人
|
this.form.HCloseDate = data.关闭日期
|
this.form.HDeleteDate = data.作废日期
|
}
|
this.form.HInnerBillNo= data.内部单据号
|
this.form.HWHID= data.HWHID
|
this.form.HWHName= data.主表仓库
|
this.form.HCurID= data.HCurID
|
this.form.HCurName= data.币别
|
this.form.HExRate= data.汇率
|
this.form.HDeptName= data.部门
|
this.form.HDeptID= data.HDeptID
|
this.form.HSecManagerName= data.验收员
|
this.form.HSecManagerID= data.HSecManagerID
|
this.form.HKeeperName= data.保管员
|
this.form.HKeeperID= data.HKeeperID
|
this.form.HSourceBillType= data.源单类型
|
this.form.HInnerBillNo=data.内部单据号
|
this.form.HExplanation = data.摘要
|
this.form.HRemark= data.表头备注
|
|
//子表 赋值
|
for (var i = 0; i < result.data.length; i++) {
|
const data = result.data[i];
|
this.editData.push(
|
{
|
"HMaterID":data.HMaterID
|
, "物料代码": data.物料代码
|
, "物料名称": data.物料名称
|
, "规格型号": data.规格型号
|
, "HUnitID": data.HUnitID
|
, "计量单位": data.计量单位
|
, "HPropertyID":data.HPropertyID
|
, "辅助属性":data.辅助属性
|
, "辅助单位":data.辅助单位
|
, "HSecUnitID": data.HSecUnitID
|
, "辅助计量单位": data.辅助计量单位
|
, "HSecUnitRate":data.换算率
|
, "HQtyMust": data.应收数量
|
, "HQty": data.数量
|
, "HPrice": data.单价
|
, "HMoney": data.金额
|
, "HWHID": data.HWHID
|
, "收料仓库": data.收料仓库
|
, "HRemark": data.表体备注
|
, "HSourceBillNo": data.源单单号
|
, "HSourceBillType": data.源单类型
|
, "HSourceInterID": data.源单主内码
|
, "HSourceEntryID": data.源单子内码
|
}
|
)
|
}
|
|
// if (data.状态 != '创建' && this.copyType != 1) {
|
// this.$modal.msgError("此条数据不是创建状态,不能修改");
|
// this.subDisabled = true
|
// }
|
this.formShow = true
|
this.formLoading = false
|
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 列设置
|
handleRowHide() {
|
this.rowHideShow = true
|
this.openRowHide = true
|
},
|
rowSetClose(val) {
|
|
this.rowHideShow = false
|
this.openRowHide = val
|
this.$destroy()
|
},
|
//#endregion
|
|
//#region 组织值变更事件
|
organizationChange(val) {
|
// let options=undefined
|
// this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
|
},
|
//#endregion
|
|
//#region 源单类型值变更事件
|
sourceBillTypeChange(val) {
|
},
|
//#endregion
|
|
//#region 数据弹窗
|
//#region 打开数据列表弹窗
|
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.stockPlaceShow = true
|
this.openData = true
|
}
|
},
|
//#region 将数据弹窗全部取消加载
|
showReset() {
|
this.deptShow = false
|
this.warehouseShow = false
|
this.materialShow = false
|
},
|
//#endregion
|
//#endregion
|
|
//#region 弹窗数据双击返回表单赋值事件
|
dbEmitData(deptRow, num) {
|
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) {
|
console.log(deptRow) //收料仓库
|
this.editData[this.zbIndex].HWHID = deptRow.HItemID;
|
this.editData[this.zbIndex].收料仓库 = deptRow.仓库名称;
|
this.openData = false
|
}
|
else if (num == 4) { //仓位
|
this.editData[this.zbIndex].HSPID = 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
|
}
|
},
|
//#endregion
|
|
//#region 弹窗数据单击事件
|
emitData(deptRow, num) {
|
this.dialogTypeNum = num
|
this.deptform = deptRow
|
},
|
//#endregion
|
|
//#region 弹窗确定事件
|
deptClickSub() {
|
this.dbEmitData(this.deptform, this.dialogTypeNum)
|
this.deptform = {}
|
},
|
//#endregion
|
|
//#region 弹窗取消事件
|
deptClose() {
|
this.deptform = {}
|
this.openData = false
|
},
|
//#endregion
|
//#endregion
|
|
//#region 工具栏按钮操作
|
//#region 编辑提交保存
|
submitForm() {
|
this.$refs["form"].validate(valid => {
|
if (valid) {
|
let fhck = false
|
this.editData.map((item, index) => {
|
if (!item.收料仓库) {
|
fhck = true
|
this.$modal.msgError("第" + (index + 1) + "行:收料仓库未选择!");
|
}
|
})
|
this.$nextTick(() => {
|
if (!fhck) {
|
var sMainStr = JSON.stringify(this.form);
|
var sSubStr = JSON.stringify(this.editData);
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"] + ';' + this.OperationType;
|
axios({
|
method: 'post',
|
url: this.baseURL + "/Kf_SellOutBill/SaveSellOutBillList",
|
data: {
|
'msg': sMainSub
|
},
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.subDisabled = true//设置保存按钮不可用
|
this.$modal.msgSuccess(response.data.Message);
|
// this.get_MAXNum_Task(1);//设置流水号增加
|
if (response.data.Verify == "Y") //自动审核
|
{
|
this.set_CheckBill(0, this.form); //审核
|
}
|
this.addBtnShow = true
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
})
|
}
|
});
|
},
|
//#endregion
|
|
//#region 反审核/审核数据
|
set_CheckBill(num, form) {
|
var InterID = form.hmainid || form.HInterID
|
//逻辑审核方法
|
axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
|
params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) {
|
this.$modal.msgSuccess('操作成功');
|
}
|
else {
|
this.$modal.msgError("错误:" + result.code + result.Message,);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 退出按钮操作
|
close() {
|
this.reset()
|
|
if (!this.OperationType && !this.copyType) {
|
// this.$router.back()
|
window.close()
|
} else {
|
this.formShow = false
|
this.$emit('editClose', false)
|
}
|
},
|
//#endregion
|
//#endregion
|
|
//#region 子表操作
|
//#region 设置子表序号列
|
rowSysZbIndex({ row, rowIndex }) {
|
row.index = rowIndex + 1;
|
},
|
//#endregion
|
|
//#region 子表新增、插入按钮操作
|
handleAddSysZb(index, num) {
|
if (num == 1 && !index) {
|
this.$modal.msgError("请选择一行数据编辑!");
|
} else {
|
let obj = {
|
HMaterID: 0,
|
物料代码: '',
|
物料名称: '',
|
规格型号: '',
|
HUnitID: 0,
|
计量单位: '',
|
HQtyMust: 1,
|
HQty: 1,
|
HPieceQty: 0,
|
HPrice: 0,
|
HTaxPrice: 0,
|
HTaxRate: 0,
|
HMoney: 0,
|
HTaxMoney: 0,
|
HWHID: 0,
|
收料仓库: '',
|
HRemark: '',
|
HQty_Full: 0,
|
HQty_Empty: 0,
|
HQty_Back: 0,
|
HCostPrice: 0,
|
HCostMoney: 0,
|
HSalePrice: 0,
|
HSeOrderInterID: 741,
|
HSeOrderEntryID: 18,
|
HSeOrderBillNo: '',
|
HSourceInterID: 0,
|
HSourceEntryID: 0,
|
HSourceBillNo: '',
|
HSourceBillType: 1402,
|
HRelationQty: 0,
|
HRelationMoney: 0,
|
HSPID: 0,
|
HSPName: '',
|
HSPGroupID: 0,
|
HSPGroupName: '',
|
HSCWHID: 0,
|
HSCWHName: '',
|
HSCSPID: 0,
|
HSCSPName: '',
|
HBatchNo: '',
|
HPOOrderInterID: 0,
|
HPOOrderEntryID: 0,
|
HPOOrderBillNo: '',
|
HPropertyID: 0,
|
HPropertyName: '',
|
HSecUnitID: 0,
|
HSecUnitName: '',
|
HSecUnitRate: 0,
|
HEngineNum: '',
|
HUnderPanNum: '',
|
HLeaveFactCard: '',
|
HReqBuyQty: 0,
|
HReqOutQty: 0,
|
HCurrentInventory: 0,
|
}
|
if (index) {
|
this.editData.splice(index, 0, obj);
|
this.$set(this.editData, index, obj)
|
} else {
|
this.editData.push(obj);
|
}
|
}
|
},
|
//#endregion
|
|
//#region 子表复制按钮
|
handleCopyZbRow() {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
let copyRow = JSON.parse(JSON.stringify(this.zbSelForm))
|
this.editData.push(copyRow);
|
}
|
},
|
//#endregion
|
|
//#region 子表上移按钮
|
handleMoveRowUp(zbSelForm) {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
if (zbSelForm.index == 1) {
|
this.$modal.msgError("第一行数据无法上移");
|
} else { // 确保不是第一行
|
let num = zbSelForm.index - 1
|
const record = this.editData.splice(num, 1)[0];
|
this.editData.splice(num - 1, 0, record);
|
}
|
}
|
},
|
//#endregion
|
|
//#region 子表下移按钮
|
handleMoveRowDown(zbSelForm) {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
if (zbSelForm.index == this.editData.length) {
|
this.$modal.msgError("最后一行数据无法下移");
|
} else { // 确保不是第一行
|
let num = zbSelForm.index - 1
|
const record = this.editData.splice(num, 1)[0];
|
this.editData.splice(num + 1, 0, record);
|
}
|
}
|
},
|
//#endregion
|
|
//#region 子表删除按钮
|
handleDeleteSysZb(row) {
|
this.checkedSysZb = []
|
this.checkedSysZb.push(row.index)
|
if (this.checkedSysZb.length == 0) {
|
this.$modal.msgError("请先选择要删除的明细数据");
|
} else {
|
const editData = this.editData;
|
const checkedSysZb = this.checkedSysZb;
|
this.editData = editData.filter(function (item) {
|
return checkedSysZb.indexOf(item.index) == -1
|
});
|
}
|
},
|
//#endregion
|
|
//#region 子表复选框选中数据
|
handleTableZbEdit(selection) {
|
this.checkedSysZb = selection.map(item => item.index)
|
this.zbSelForm = selection[0]
|
this.zbIndex = this.checkedSysZb[0]
|
if (selection.length > 1) {
|
const del_row = selection.shift()
|
this.$refs.zbTable.toggleRowSelection(del_row, false) //设置这一行取消选中
|
}
|
},
|
//#endregion
|
//#endregion
|
|
//#region 通用方法。
|
//#region 获取参数_传递的JSON格式参数
|
getUrlVars_JSON() {
|
var datajson;
|
var str = this.propsData; //获取链接中传递的参数
|
var arr = str.substring(str.lastIndexOf("=") + 1);
|
datajson = JSON.parse(decodeURI(arr));
|
return datajson;
|
},
|
//#endregion
|
|
//#region 组织下拉列表数据初始化
|
fetchData() {
|
axios.get(this.baseURL + "/Web/GetOrganizations", {
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.organizationList = response.data.data;//组织列表
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 源单类型下拉列表数据初始化
|
fetchData_SourceBillTypeList() {
|
var HName = '产品入库单';
|
axios.get(this.baseURL + "/Web/GetHSourceBillType", {
|
params: {
|
HName: HName,
|
Num: 2
|
}
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.sourceBillTypeList = response.data.data;//组织列表
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 获取内码、单据号
|
getHBillNo() {
|
axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", {
|
params: {
|
HBillType: '1202'
|
}
|
}).then(response => {
|
this.form.HBillNo = response.data.data[0].HBillNo
|
this.form.HInterID = response.data.data[0].HInterID
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 获取最大单据号
|
get_MAXNum_Task(Type) {
|
console.log(dayjs(this.form.HDate).format("YYYY-MM-DD"))
|
var sql = `exec h_p_Xt_GetMaxBillNo_SubType '1202','${dayjs(this.form.HDate).format("YYYY-MM-DD")}',0,0,0,'${Type}','${this.form.HDeptID}'`;
|
axios({
|
method: 'get',
|
url: this.baseURL + "/CommonModel/searchMethod",
|
params: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": "" },
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.form.HBillNo = response.data.data[0].HBillNo;
|
} else {
|
this.$modal.msgError(response.data.code + response.data.Message);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 根据用户获取对应职员、部门、销售主管
|
getCzyglByUser() {
|
axios.get(this.baseURL + '/Xs_SeOrderBill/getCzyglByUser', {
|
params: { "CurUserName": sessionStorage["HUserName"] }
|
}).then(response => {
|
let dataForm = response.data.data[0]
|
this.form.HDeptID = dataForm.HDeptID
|
this.form.HDeptName = dataForm.HDeptName
|
this.form.HEmpID = dataForm.HEmpID
|
this.form.HEmpName = dataForm.HEmpName
|
this.form.HManagerID = dataForm.HManagerID
|
this.form.HManagerName = dataForm.HManagerName
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 根据客户获取客户余额
|
getCustomerBalance(HCusID) {
|
axios.get(this.baseURL + '/Xs_CusRatingChangeBill/getCustomerBalance', {
|
params: { "HCusID": HCusID, 'CurUserName': sessionStorage["HUserName"] }
|
}).then(response => {
|
var data = response.data.data[0];
|
this.form.HCusBalance = data.HCusBalance
|
this.form.HCreditRating_Now = data.HCreditRating_Now
|
this.form.HAvailableBalance = data.HAvailableBalance
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 根据客户带出联系人、联系电话
|
getCustomerByCusID(HCusID) {
|
axios.get(this.baseURL + "/Xs_SeOrderBill/getCustomerByCusID", {
|
params: {
|
HCusID: HCusID
|
}
|
}).then(response => {
|
this.form.联系人 = response.data.data[0].HLinkMan
|
this.form.联系电话 = response.data.data[0].HLinkPhone
|
// this.form = response.data.data[0]
|
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 获取销售出库单对应的条码明细
|
getBarCodeNoteBySellOutBill(rowHmainid) {
|
axios.get(this.baseURL + '/Kf_SellOutBill/BarCodeNote', {
|
params: { "HInterID": rowHmainid }
|
}).then(response => {
|
if (response.data.count == 1) {
|
if (response.data.data[2].length > 0) {
|
this.$modal.msgError("当前单据由扫码生成,不可以编辑!");
|
this.subDisabled = true
|
}
|
} else { }
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
|
//#region 根据主内码与子内码获取源单销售订单数据
|
getPushSourceBillInit(HSourceInterID, HSourceEntryID) {
|
axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
|
params: {
|
"HInterID": HSourceInterID
|
, "HSubID": HSourceEntryID
|
},
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) { // 说明验证成功了,
|
this.temp = result.data[0];
|
} else {
|
this.temp = result.data;
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//#endregion
|
//#endregion
|
|
}
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|