<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)" :disabled="checkDisabled">审 核</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="100px">
|
<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 />
|
</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="HInnerBillNo">
|
<el-input v-model="form.HInnerBillNo" placeholder="请输入内部单据号" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="业务员" prop="HEmpName">
|
<el-input v-model="form.HEmpName" placeholder="请输入业务员" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(4, zhiyuanType = 'yewuyuan')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<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="HSupName">
|
<el-input v-model="form.HSupName" placeholder="请输入往来单位" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(6)"></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="请输入仓库" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(2, ckType = 'form')"></el-button>
|
</el-input>
|
</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"
|
@click="openDataDialog(4, zhiyuanType = 'tuiliaoyuan')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<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"
|
@click="openDataDialog(4, zhiyuanType = 'baoguanyuan')"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="负责人" prop="HManagerName">
|
<el-input v-model="form.HManagerName" placeholder="请输入负责人" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(4, zhiyuanType = 'zhuguan')"></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" placeholder="请选择" style="width: 100%">
|
<!-- <el-option v-for="(item, index) in HSourceBillTypeList" :key="index"
|
:label="item.label" :value="item.value">
|
</el-option> -->
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="选单号" prop="HSourceBillNo">
|
<el-input v-model="form.HSourceBillNo" placeholder="请输入选单号" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(openNum)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="摘要" prop="HExplanation">
|
<el-input v-model="form.HExplanation" placeholder="请输入摘要" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</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">
|
<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="计量单位" 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">
|
<el-input-number v-model="scope.row.HQty" :min="1" 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.HQtyMust" :min="1" 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 }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="采购金额" width="120">
|
<template slot-scope="scope">
|
<span>{{ scope.row.HOrderPrice }}</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, ckType = 'zb')"
|
@dblclick.native="openDataDialog(2, scope.row, ckType = 'zb')" />
|
</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(9, scope.row)"
|
@dblclick.native="openDataDialog(9, scope.row)" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="批次" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HBatchNo" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="备注" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HRemark" />
|
</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" :openPage="HModName" v-if="deptShow" />
|
<Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="warehouseShow" />
|
<Material @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="materialShow" />
|
<GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
|
<GySupplier @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gySupplierShow" />
|
<GyStockPlace @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyStockPlaceShow" />
|
<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="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" />
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from 'axios'
|
import RowSettings from '@/views/component/rowSettings'
|
import Dept from '@/views/basic/gy/gyDepartment.vue'
|
import Warehouse from '@/views/basic/gyWarehouse/gyWarehouse.vue'
|
import Material from '@/views/gyMaterial/GyMaterial.vue'
|
import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
|
import GySupplier from '@/views/basic/gy/gySupplier.vue'
|
import GyStockPlace from '@/views/basic/gyStockPlace/gyStockPlace.vue'
|
import moment from 'moment';
|
|
export default {
|
name: 'Kf_POStockInBackBill',
|
components: { Dept, Warehouse, Material, RowSettings, GyEmployee, GySupplier, GyStockPlace },
|
props: {
|
OperationType: { type: Number, },
|
linterid: { type: Number, },
|
HSouceBillType: { type: String, },
|
propsData: { type: String, },
|
copyType: { type: Number, },
|
},
|
data() {
|
return {
|
HModName: "Kf_POStockInBackBill",
|
checkDisabled: true,
|
allVal: undefined,
|
zhiyuanType: '',
|
ckType: '',
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
zzSelDis: false,
|
rowHideShow: false,
|
openRowHide: false,
|
hPriceTypeList: ['成本价', '结算价'],
|
addBtnShow: false,
|
zbIndex: null,
|
zbSelForm: {},//子表选中数据
|
dialogTypeNum: null,//部门弹窗1,仓库弹窗2
|
deptShow: false,//部门数据组件
|
warehouseShow: false,//仓库数据组件
|
materialShow: false,//物料数据组件
|
gyEmployeeShow: false,//销售员数据组件
|
gySupplierShow: false,
|
gyStockPlaceShow: false,
|
deptform: {},//弹窗选中数据
|
openData: false,//数据弹窗
|
dialogTitle: '',
|
organizationList: JSON.parse(sessionStorage.getItem('organizationList')),//组织列表
|
subDisabled: false,//编辑页面保存按钮是否禁用(true禁用,false可用)
|
// OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
|
HInterID: null,
|
baseURL: process.env.VUE_APP_BASE_API,
|
checkedSysZb: [],
|
editData: [],//销售出库单子表
|
editBtData: [],//子表表头
|
activeName: 'first',
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 日期范围
|
dateRange: [],
|
// 查询参数
|
queryParams: {
|
HBillNo: '',
|
HInitTimeCycle: 29,
|
HProjectNumber: '',
|
HCusID: null,
|
HMaterNumber: '',
|
HMaterName: '',
|
ColName1: '',
|
ColName2: '',
|
ColName: '',
|
Comparator1: '',
|
Comparator2: '',
|
Comparator: '',
|
ColContent1: '',
|
ColContent2: '',
|
ColContent: '',
|
},
|
// 显示搜索条件
|
showSearch: true,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 遮罩层
|
loading: true,
|
btResList: [],
|
// 表单参数
|
form: {},
|
// 表单校验
|
rules: {
|
HEmpName: [
|
{ required: true, message: "请选择业务员!", trigger: "blur" }
|
],
|
HDeptName: [
|
{ required: true, message: "请选择部门", trigger: "blur" }
|
],
|
HSupName: [
|
{ required: true, message: "请选择供应商!", trigger: "blur" }
|
],
|
HWHName: [
|
{ required: true, message: "请选择仓库!", trigger: "blur" }
|
],
|
HSecManagerName: [
|
{ required: true, message: "请选择退料员!", trigger: "blur" }
|
]
|
}
|
};
|
},
|
created() {
|
this.getHSourceBillType()
|
this.getdata()
|
},
|
methods: {
|
getHSourceBillType() {
|
axios.get(this.baseURL + "/Web/GetHSourceBillType", {
|
params: {
|
"HName": '采购退料单', "Num": 2
|
}
|
}).then(response => {
|
console.log(response)
|
var HSourceBillTypes = "";
|
if (response.data.count == 1) {
|
let data = response.data.data
|
for (var i = 0; i < data.length; i++) {
|
HSourceBillTypes += data[i].HSourceBillType + data[i].HSourceBillTypeName;
|
}
|
console.log(111, HSourceBillTypes)
|
}
|
}).catch(error => {
|
console.log(error)
|
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
getdata() {
|
this.formShow = false
|
this.formLoading = true
|
if (this.OperationType == 4) {
|
this.reset()
|
//新增获取单据号
|
this.getHBillNo()
|
if (this.HSouceBillType == "1105") {
|
this.setInit_PushBill_ByPOInStockBackBill();
|
} else if (this.HSouceBillType == "1201") {
|
this.setInit_PushBill_ByPOStockInBillInit();
|
}
|
} else if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
|
this.handleAdd()
|
} else if (this.OperationType == 3 || this.copyType == 1) {
|
this.handleUpdate()
|
}
|
},
|
//#region 下推页面初始化-退料通知单
|
setInit_PushBill_ByPOInStockBackBill() {
|
//获取
|
var data = getUrlVars_JSON().data;
|
var dataArray = [];
|
for (var i = 0; i < data.length; i++) {
|
var temp = this.getPushSource_POInStockBackInit(data[i].hmainid, data[i].hsubid);
|
if (temp != "none") {
|
dataArray.push(temp);
|
} else {
|
return;
|
}
|
}
|
this.form.HMainSourceInterID = 0
|
this.form.HMainSourceEntryID = 0
|
this.form.HMainSourceBillNo = ""
|
this.form.HMainSourceBillType = this.HSouceBillType
|
this.form.HDeptID = dataArray[0].HDeptID
|
this.form.HDeptName = dataArray[0].部门
|
this.form.HManagerID = dataArray[0].HManagerID
|
this.form.HManagerName = dataArray[0].主管
|
this.form.HWHID = dataArray[0].主表仓库ID == null ? 0 : dataArray[0].主表仓库ID
|
this.form.HWHName = dataArray[0].主表仓库
|
this.form.HEmpID = dataArray[0].HEmpID
|
this.form.HEmpName = dataArray[0].业务员
|
this.form.HSupID = dataArray[0].HSupID
|
this.form.HSupName = dataArray[0].供应商
|
this.form.HCurID = dataArray[0].HCurID
|
this.form.HCurName = dataArray[0].币别
|
this.form.HExRate = dataArray[0].汇率
|
this.form.HAddress = data.交货地点
|
this.form.HRemark = data.表头备注
|
this.form.HInnerBillNo = data.内部单据号
|
//子表 赋值
|
this.editData = [];
|
for (var i = 0; i < dataArray.length; i++) {
|
this.editData.push(
|
{
|
"HMaterID": dataArray[i].HMaterID
|
, "物料代码": dataArray[i].物料代码
|
, "物料名称": dataArray[i].物料名称
|
, "规格型号": dataArray[i].规格型号
|
, "HUnitID": dataArray[i].HUnitID
|
, "计量单位": dataArray[i].计量单位
|
, "HWHID": dataArray[i].HWHID
|
, "发料仓库": dataArray[i].收料仓库
|
, "HSPID": dataArray[i].HSPID
|
, "仓位名称": dataArray[i].仓位名称
|
, "HSecUnitID": dataArray[i].HSecUnitID
|
, "辅助单位": dataArray[i].辅助单位
|
, "HQty": dataArray[i].数量.toFixed(6)
|
, "HQtyMust": dataArray[i].数量.toFixed(6)
|
, "HPrice": dataArray[i].单价.toFixed(4)
|
, 'HDiscountRate': dataArray[i].折扣率 //
|
, 'HRelTaxPrice': "0"
|
, "HTaxRate": dataArray[i].税率
|
, 'HTaxMoney': dataArray[i].税额 //
|
, "HMoney": dataArray[i].金额.toFixed(2)
|
, "HRemark": dataArray[i].表体备注
|
, "HSourceInterID": dataArray[i].hmainid
|
, "HSourceEntryID": dataArray[i].hsubid
|
, "HSourceBillNo": dataArray[i].单据号
|
, "HSourceBillType": dataArray[i].HBillType
|
, "HRelationQty": "0"
|
, "HRelationMoney": "0"
|
, 'HPOOrderInterID': "0"
|
, 'HPOOrderEntryID': "0"
|
, 'HPOOrderBillNo': ""
|
, 'HSeOrderTaxPrice': dataArray[i].含税单价.toFixed(4)
|
, "HSeOrderInterID": dataArray[i].hmainid
|
, "HSeOrderEntryID": dataArray[i].hsubid
|
, "HSeOrderBillNo": dataArray[i].单据号
|
}
|
);
|
}
|
},
|
//#endregion
|
//#region 下推页面初始化-采购入库单
|
setInit_PushBill_ByPOStockInBillInit() {
|
//获取
|
var data = getUrlVars_JSON().data;
|
var dataArray = [];
|
for (var i = 0; i < data.length; i++) {
|
var temp = getPushSource_POStockInBillInit(data[i].hmainid, data[i].hsubid);
|
if (temp != "none") {
|
dataArray.push(temp);
|
} else {
|
return;
|
}
|
}
|
this.form.HInnerBillNo = dataArray[0].内部单据号
|
this.form.HSupID = dataArray[0].HSupID
|
this.form.HSupName = dataArray[0].供应商
|
this.form.HEmpID = dataArray[0].HEmpID
|
this.form.HEmpName = dataArray[0].业务员
|
this.form.HWHID = dataArray[0].主表仓库ID
|
this.form.HWHName = dataArray[0].主表仓库
|
this.form.HKeeperID = dataArray[0].HKeeperID
|
this.form.HKeeperName = dataArray[0].保管员
|
this.form.HDeptName = dataArray[0].部门
|
this.form.HDeptID = dataArray[0].HDeptID
|
this.form.HManagerID = dataArray[0].HManagerID
|
this.form.HManagerName = dataArray[0].负责人
|
this.form.HExRate = dataArray[0].汇率
|
this.form.HSourceBillType = this.HSouceBillType
|
//子表 赋值
|
this.editData = [];
|
for (var i = 0; i < dataArray.length; i++) {
|
this.editData.push(
|
{
|
"HMaterID": dataArray[i].HMaterID
|
, "物料代码": dataArray[i].物料代码
|
, "物料名称": dataArray[i].物料名称
|
, "规格型号": dataArray[i].规格型号
|
, "HUnitID": dataArray[i].HUnitID
|
, "计量单位": dataArray[i].计量单位
|
, "HWHID": dataArray[i].HWHID
|
, "发料仓库": dataArray[i].收料仓库
|
, "HSPID": dataArray[i].HSPID
|
, "仓位名称": dataArray[i].仓位名称
|
, "HQty": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6)
|
, "HQtyMust": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6)
|
, "HPrice": dataArray[i].单价.toFixed(4)
|
, "HMoney": dataArray[i].金额.toFixed(2)
|
, "HOrderPrice": dataArray[i].采购金额
|
, "HRemark": dataArray[i].表体备注
|
, "HBatchNo": dataArray[i].批次
|
, "HSourceInterID": dataArray[i].hmainid
|
, "HSourceEntryID": dataArray[i].hsubid
|
, "HSourceBillNo": dataArray[i].单据号
|
, "HSourceBillType": dataArray[i].HBillType
|
, "HRelationQty": "0"
|
, "HRelationMoney": "0"
|
}
|
);
|
}
|
},
|
//#endregion
|
// 获取参数_传递的JSON格式参数
|
getUrlVars_JSON() {
|
var datajson;
|
var str = this.propsData; //获取链接中传递的参数
|
var arr = str.substring(str.lastIndexOf("=") + 1);
|
datajson = JSON.parse(decodeURI(arr));
|
return datajson;
|
},
|
//根据主内码与子内码获取源单退料通知单数据
|
getPushSource_POInStockBackInit(HSourceInterID, HSourceEntryID) {
|
var res = "none";
|
axios.get(this.baseURL + '/Cg_POInStockBackBill/loadCg_POInStockBackBill_Push', {
|
params: {
|
"HInterID": HSourceInterID
|
, "HSubID": HSourceEntryID
|
},
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) { // 说明验证成功了,
|
res = result.data[0];
|
} else {
|
res = result.data;
|
}
|
}).catch(error => {
|
res = "none";
|
this.$modal.msgError("接口请求失败!");
|
});
|
return res;
|
},
|
// 根据主内码与子内码获取源单采购入库单数据
|
getPushSource_POStockInBillInit(HSourceInterID, HSourceEntryID) {
|
var res = "none";
|
axios.get(this.baseURL + '/Kf_POStockInBill/loadKf_POStockInBillEdit_Push', {
|
params: {
|
"HInterID": HSourceInterID
|
, "HSubID": HSourceEntryID
|
},
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) { // 说明验证成功了,
|
res = result.data[0];
|
} else {
|
res = result.data;
|
}
|
}).catch(error => {
|
res = "none";
|
this.$modal.msgError("接口请求失败!");
|
});
|
return res;
|
},
|
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) {
|
// num=1部门 num=2出库仓库
|
if (deptRow.HItemID) {
|
if (num == 1) {
|
this.form.HDeptName = deptRow.部门名称
|
this.form.HDeptID = deptRow.HItemID
|
this.deptShow = false
|
this.openData = false
|
} else if (num == 2) {
|
if (this.ckType == 'form') {
|
this.form.HWHID = deptRow.HItemID;
|
this.form.HWHName = deptRow.仓库名称;
|
} else if (this.ckType == 'zb') {
|
this.editData[this.zbIndex].HWHID = deptRow.HItemID;
|
this.editData[this.zbIndex].发料仓库 = deptRow.仓库名称;
|
}
|
this.warehouseShow = false
|
this.openData = false
|
} else if (num == 3) {
|
console.log(deptRow)
|
console.log(deptRow.计量单位名称)
|
this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
|
this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
|
this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
|
this.editData[this.zbIndex].规格型号 = deptRow.规格型号
|
this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
|
this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称
|
this.materialShow = false
|
this.openData = false
|
} else if (num == 4) {
|
if (this.zhiyuanType == 'yewuyuan') {
|
this.form.HEmpName = deptRow.职员名称
|
this.form.HEmpID = deptRow.HItemID
|
} else if (this.zhiyuanType == 'baoguanyuan') {
|
this.form.HKeeperName = deptRow.职员名称
|
this.form.HKeeperID = deptRow.HItemID
|
} else if (this.zhiyuanType == 'zhuguan') {
|
this.form.HManagerName = deptRow.职员名称
|
this.form.HManagerID = deptRow.HItemID
|
} else if (this.zhiyuanType == 'tuiliaoyuan') {
|
this.form.HSecManagerName = deptRow.职员名称
|
this.form.HSecManagerID = deptRow.HItemID
|
}
|
this.gyEmployeeShow = false
|
this.openData = false
|
} else if (num == 6) {
|
this.form.HSupName = deptRow.供应商名称
|
this.form.HSupID = deptRow.HItemID
|
this.gySupplierShow = false
|
this.openData = false
|
} else if (num == 9) {
|
this.editData[this.zbIndex].HSPID = deptRow.HMainID;
|
this.editData[this.zbIndex].仓位名称 = deptRow.仓位名称;
|
this.gyStockPlaceShow = false
|
this.openData = false
|
}
|
} else {
|
this.$modal.msgError("请选择单条数据!");
|
}
|
|
},
|
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 = {
|
HInterID: 0,
|
HBillNo: '',
|
HDate: moment(new Date()).format('YYYY-MM-DD'),
|
HReceiveDate: moment(new Date()).format('YYYY-MM-DD'),
|
HAddress: '',
|
HInnerBillNo: '',
|
HEmpID: 0,
|
HEmpName: '',
|
HDeptName: '',
|
HDeptID: 0,
|
HSupID: 0,
|
HSupName: '',
|
HWHName: '',
|
HWHID: 0,
|
HSecManagerName: '',
|
HSecManagerID: 0,
|
HKeeperName: '',
|
HKeeperID: 0,
|
HManagerName: '',
|
HManagerID: 0,
|
HSourceBillType: '',
|
HExplanation: '',
|
HRemark: '',
|
HMaker: sessionStorage["HSupName"],
|
HChecker: '',
|
HCloseMan: '',
|
HUpDater: '',
|
HDeleteMan: '',
|
HMakeDate: moment(new Date()).format('YYYY-MM-DD'),
|
HCheckDate: '',
|
HCloseDate: '',
|
HUpDateDate: '',
|
HDeleteDate: '',
|
|
}
|
this.editData = []
|
this.editBtData = []
|
this.ids = []
|
this.subDisabled = false
|
this.addBtnShow = false
|
// this.$refs.tableData.clearSelection()
|
this.activeName = 'first'
|
this.resetForm("form");
|
},
|
//退出
|
close() {
|
this.reset()
|
if (!this.OperationType && !this.copyType) {
|
const obj = { fullPath: this.$route.path, path: this.$route.path, name: this.$route.name, };
|
this.$tab.closePage(obj).then(res => {
|
const latestView = res.visitedViews.slice(-1)[0]
|
if (latestView) {
|
this.$router.push(latestView.fullPath)
|
} else {
|
if (obj.name === 'Dashboard') {
|
this.$router.replace({ path: '/redirect' + obj.fullPath })
|
} else {
|
this.$router.push('/')
|
}
|
}
|
});
|
} else {
|
this.formShow = false
|
this.$emit('editClose', false)
|
}
|
},
|
//根据用户获取对应职员、部门、销售主管
|
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("接口请求失败!");
|
});
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
this.reset()
|
//新增获取单据号
|
this.getHBillNo()
|
this.form.HDate = moment(new Date()).format('YYYY-MM-DDTHH:mm:ss')
|
if (this.OperationType == 1) {
|
this.handleAddSysZb()
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
},
|
getHBillNo() {
|
axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", {
|
params: {
|
HBillType: '1239'
|
}
|
}).then(response => {
|
this.form.HBillNo = response.data.data[0].HBillNo
|
this.form.HInterID = response.data.data[0].HInterID
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
|
|
/** 修改按钮操作 */
|
handleUpdate() {
|
this.reset()
|
let rowHmainid = this.linterid
|
axios.get(this.baseURL + "/Kf_POStockInBackBill/cx", {
|
params: { 'HInterID': rowHmainid }
|
}).then(response => {
|
if (response.data.count == 1) {
|
var result = response.data
|
var data = response.data.data[0]
|
this.allVal = data
|
this.form.HBillNo = data.单据号
|
this.form.HDate = moment(data.日期).format('YYYY-MM-DD')
|
this.form.HInnerBillNo = data.内部单据号
|
this.form.HSupID = data.HSupID
|
this.form.HSupName = data.供应商
|
this.form.HEmpID = data.HEmpID
|
this.form.HEmpName = data.业务员
|
this.form.HWHID = data.主表仓库ID
|
this.form.HWHName = data.主表仓库
|
this.form.HSecManagerID = data.HSecManagerID
|
this.form.HSecManagerName = data.验收员
|
this.form.HKeeperID = data.HKeeperID
|
this.form.HKeeperName = data.保管员
|
this.form.HDeptName = data.部门
|
this.form.HDeptID = data.HDeptID
|
this.form.HSourceBillType = data.源单类型
|
this.form.HManagerID = data.HManagerID
|
this.form.HManagerName = data.负责人
|
this.form.HExRate = data.汇率
|
this.form.HExplanation = data.摘要
|
this.form.HRemark = data.表头备注
|
this.form.HMaker = data.制单人
|
this.form.HChecker = data.审核人
|
this.form.HCloseMan = data.关闭人
|
this.form.HUpDater = data.修改人
|
this.form.HDeleteDate = data.作废人
|
this.form.HMakeDate = data.制单日期 == null ? "" : moment(data.制单日期).format('YYYY-MM-DD hh:mm:ss')
|
this.form.HCheckDate = data.审核日期 == null ? "" : moment(data.审核日期).format('YYYY-MM-DD hh:mm:ss')
|
this.form.HCloseDate = data.关闭日期 == null ? "" : moment(data.关闭日期).format('YYYY-MM-DD hh:mm:ss')
|
this.form.HUpDateDate = data.修改日期 == null ? "" : moment(data.修改日期).format('YYYY-MM-DD hh:mm:ss')
|
this.form.HDeleteDate = data.作废日期 == null ? "" : moment(data.作废日期).format('YYYY-MM-DD hh:mm:ss')
|
for (var i = 0; i < result.data.length; i++) {
|
this.editData.push(
|
{
|
"HMaterID": result.data[i].HMaterID, "物料代码": result.data[i].物料代码, "物料名称": result.data[i].物料名称, "规格型号": result.data[i].规格型号, "HUnitID": result.data[i].HUnitID, "计量单位": result.data[i].计量单位,
|
"HQty": result.data[i].实收数量, "HQtyMust": result.data[i].应收数量, "HRemark": result.data[i].表体备注, "HPrice": result.data[i].单价, "HMoney": result.data[i].金额, "HOrderPrice": result.data[i].采购金额, "HWHID": result.data[i].HWHID, "发料仓库": result.data[i].收料仓库, "HSPID": result.data[i].HSPID, "仓位名称": result.data[i].仓位名称,
|
"HBatchNo": result.data[i].批次,
|
"HSourceBillNo": result.data[i].源单单号, //源单号
|
"HSourceBillType": result.data[i].源单类型, //源单类型
|
"HSourceInterID": result.data[i].源单主内码, //源单主内码
|
"HSourceEntryID": result.data[i].源单子内码 //源单子内码
|
|
}
|
);
|
}
|
this.formShow = true
|
this.formLoading = false
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
/** 子表明细序号 */
|
rowSysZbIndex({ row, rowIndex }) {
|
row.index = rowIndex + 1;
|
},
|
/** 编辑页子表添加按钮操作 */
|
handleAddSysZb(index, num) {
|
if (num == 1 && !index) {
|
this.$modal.msgError("请选择一行数据编辑!");
|
} else {
|
let obj = {
|
"HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HQty": "", "HRemark": "",
|
"HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "发料仓库": "",
|
"HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
|
"HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
|
"HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
|
}
|
if (index) {
|
this.editData.splice(index, 0, obj);
|
this.$set(this.editData, index, obj)
|
} else {
|
this.editData.push(obj);
|
}
|
}
|
},
|
handleCopyZbRow() {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
let copyRow = JSON.parse(JSON.stringify(this.zbSelForm))
|
this.editData.push(copyRow);
|
}
|
},
|
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);
|
}
|
}
|
},
|
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);
|
}
|
}
|
},
|
/** 编辑页子表删除按钮操作 */
|
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
|
});
|
}
|
},
|
/** 编辑页子表复选框选中数据 */
|
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) //设置这一行取消选中
|
}
|
},
|
|
//#region 保存按钮
|
submitForm() {
|
//#region 判断源单状态
|
if (this.OperationType == 1 || this.OperationType == 4) {
|
if (this.form.HSourceBillType == "1105") {
|
for (var i = 0; i < this.editData.length; i++) {
|
var HSourceBillData = "";
|
var HSourceBillData = this.getPushSource_POInStockBackInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID); //获取源单数据
|
if (HSourceBillData != "none") {
|
if (HSourceBillData == null) {
|
this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!");
|
return;
|
} else if (HSourceBillData.状态 != "已审核") {
|
var err = "保存失败!原因:第" + (i + 1) + "行-源单单据状态为“" + HSourceBillData.状态 + "”,不允许保存!";
|
this.$modal.msgError(err);
|
return;
|
} else if (HSourceBillData.行状态 == "已关闭") {
|
this.$modal.msgError("保存失败!第" + (i + 1) + "行:该行记录行状态为'已关闭'状态!");
|
return;
|
}
|
} else {
|
return;
|
}
|
}
|
} else if (this.form.HSourceBillType == "1201") {
|
for (var i = 0; i < this.editData.length; i++) {
|
var HSourceBillData = "";
|
var HSourceBillData = this.getPushSource_POStockInBillInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID); //获取源单数据
|
if (HSourceBillData != "none") {
|
if (HSourceBillData == null) {
|
this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!");
|
return;
|
}
|
} else {
|
return;
|
}
|
}
|
}
|
else {
|
this.$modal.msgError('当前不支持该源单!!')
|
return
|
}
|
}
|
this.set_SaveBill();
|
},
|
// 编辑提交保存
|
set_SaveBill() {
|
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 sAllStr = JSON.stringify(this.allVal)
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + this.OperationType + ";" + sessionStorage["HUserName"] + ';' + sAllStr;
|
axios({
|
method: 'post',
|
url: this.baseURL + "/Kf_POStockInBackBill/POStockInBackBillEdit",
|
data: {
|
'sMainSub': sMainSub
|
},
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.subDisabled = true//设置保存按钮不可用
|
this.checkDisabled = false
|
this.$modal.msgSuccess(response.data.Message);
|
// this.close()
|
} else {
|
this.$modal.msgError(response.data.Message);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
})
|
}
|
});
|
},
|
// 反审核/审核数据
|
set_CheckBill(num) {
|
//逻辑审核方法
|
axios.get(this.baseURL + "/Kf_POStockInBackBill/AuditProcessReportList", {
|
params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) {
|
this.$modal.msgSuccess('操作成功');
|
this.close()
|
}
|
else {
|
this.$modal.msgError("错误:" + result.code + result.Message,);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
showReset() {
|
this.deptShow = false
|
this.warehouseShow = false
|
this.materialShow = false
|
this.gyEmployeeShow = false
|
this.gySupplierShow = false
|
this.gyStockPlaceShow = false
|
},
|
// 打开数据列表弹窗
|
openDataDialog(num, row) {
|
//num1部门,2出库仓库,3物料,4销售员
|
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.gyEmployeeShow = true
|
this.openData = true
|
} else if (num == 6) {
|
this.dialogTitle = '往来单位列表'
|
this.gySupplierShow = true
|
this.openData = true
|
} else if (num == 9) {
|
this.dialogTitle = '往来单位列表'
|
this.gyStockPlaceShow = true
|
this.openData = true
|
}
|
|
},
|
}
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|