<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 @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 />
|
</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="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="HMangerName">
|
<el-input v-model="form.HMangerName" 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="HSecManagerName">
|
<el-input v-model="form.HSecManagerName" placeholder="请输入验收" disabled>
|
<el-button slot="append" icon="el-icon-search"
|
@click="openDataDialog(4, zhiyuanType = 'yanshou')"></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-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="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">
|
<el-input v-model="scope.row.计量单位" placeholder="请输入计量单位"
|
@keyup.native.f7="openDataDialog('单位页面还没有', scope.row, dwType = 'jldw')"
|
@dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'jldw')" />
|
</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.库存辅单位" placeholder="请输入库存辅单位"
|
@keyup.native.f7="openDataDialog('单位页面还没有', scope.row, dwType = 'kcfdw')"
|
@dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'kcfdw')" />
|
</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('单位页面还没有', scope.row, dwType = 'jbdw')"
|
@dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'jbdw')" />
|
</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('单位页面还没有', scope.row, dwType = 'fdw')"
|
@dblclick.native="openDataDialog('单位页面还没有', scope.row, dwType = 'fdw')" />
|
</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.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.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="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_StockOutRequestBill',
|
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_StockOutRequestBill",
|
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: [],//组织列表
|
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: {
|
|
HDate: [
|
{ required: true, message: "日期不能为空", trigger: "blur" }
|
],
|
HExRate: [
|
{ required: true, message: "汇率不能为空", trigger: "blur" }
|
]
|
}
|
};
|
},
|
created() {
|
this.fetchData()
|
this.getdata()
|
},
|
methods: {
|
fetchData() {
|
axios.get(this.baseURL + "/Web/GetOrganizations", {
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.organizationList = response.data.data;//组织列表
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
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()
|
}
|
},
|
// 获取参数_传递的JSON格式参数
|
getUrlVars_JSON() {
|
var datajson;
|
var str = this.propsData; //获取链接中传递的参数
|
var arr = str.substring(str.lastIndexOf("=") + 1);
|
datajson = JSON.parse(decodeURI(arr));
|
return datajson;
|
},
|
//根据主内码与子内码获取源单销售订单数据
|
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("接口请求失败!");
|
});
|
},
|
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) {
|
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.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.HMangerName = deptRow.职员名称
|
this.form.HMangerID = deptRow.HItemID
|
} else if (this.zhiyuanType == 'yanshou') {
|
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 = {
|
HBillNo:'',
|
HDate: moment(new Date()).format('YYYY-MM-DD'),
|
HSSDate:moment(new Date()).format('YYYY-MM-DD'),
|
HAddress:'',
|
HDeptName:'',
|
HDeptID:0,
|
HSupID:0,
|
HSupName:'',
|
HEmpID:0,
|
HEmpName:'',
|
HCurID:0,
|
HCurName:'',
|
HExRate:'',
|
HManagerName:'',
|
HManagerID:0,
|
HPSStyleID:0,
|
HPSStyleName:'',
|
HSSID:0,
|
HSSName:'',
|
HLinkMan:'',
|
HLinkPhone:'',
|
HInnerBillNo:'',
|
HRemark:'',
|
HMaker:sessionStorage["HSupName"],
|
HChecker:'',
|
HCloseMan:'',
|
HMakeDate:'',
|
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 + "/Web/GetMAXNum", {
|
params: {
|
HBillType: '1242'
|
}
|
}).then(response => {
|
this.form.HMaker = sessionStorage["HUserName"]
|
this.form.HBillNo = response.data.data[0].HBillNo
|
this.form.HInterID = response.data.data[0].HInterID
|
// this.copyType = 0
|
// this.getCzyglByUser()
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
|
|
/** 修改按钮操作 */
|
handleUpdate() {
|
this.reset()
|
let rowHmainid = this.linterid
|
axios.get(this.baseURL + "/Kf_StockOutRequestBill/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.BillType = data.HSourceBillType
|
if (this.copyType == 1) {
|
this.getHBillNo()
|
let date = new Date()
|
this.form.HDate = moment(date).format('YYYY-MM-DD')
|
} else {
|
this.form.HBillNo = data.单据号
|
// this.form.HInterID = data.HInterID
|
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.HAddress = data.交货地点
|
this.form.HDeptName = data.部门
|
this.form.HDeptID = data.HDeptID
|
this.form.HSupID = data.HSupID
|
this.form.HSupName = data.供应商
|
this.form.HEmpID = data.HEmpID
|
this.form.HEmpName = data.业务员
|
this.form.HCurID = data.HCurID
|
this.form.HCurName = data.币别
|
this.form.HExRate = data.汇率
|
this.form.HManagerName = data.主管
|
this.form.HManagerID = data.HManagerID
|
this.form.HPSStyleID = data.HPSStyleID
|
this.form.HPSStyleName = data.采购方式
|
this.form.HSSID = data.HSSID
|
this.form.HSSName = data.结算方式
|
this.form.HLinkMan = data.联系人
|
this.form.HLinkPhone = data.联系电话
|
this.form.HInnerBillNo = data.辅助字段
|
this.form.HRemark = data.表头备注
|
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].数量,
|
"HRemark": result.data[i].表体备注,
|
"HPrice": result.data[i].单价,
|
"HMoney": result.data[i].金额,
|
"HTaxRate": result.data[i].税率,
|
"HTaxMoney": result.data[i].金额 * result.data[i].税率,
|
"HlineTotal": result.data[i].金额 + result.data[i].税额,
|
"HlineTotalBB": (result.data[i].金额 + result.data[i].税额) * result.data[i].汇率,
|
"HTaxPrice": result.data[i].含税单价,
|
"HDiscountRate": result.data[i].折扣率,
|
"HRelTaxPrice": data.实际含税单价,
|
"HDate": moment(result.data[i].交货日期).format('YYYY-MM-DD')
|
}
|
);
|
}
|
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": 1, "计量单位": "", "HWHID": "0", "仓库": "",
|
"HSPID": "0", "仓位": "", "HSecUnitID": "1", "库存辅单位": "", "HBASEUNITID": "1", "基本单位": "",
|
"HEXTAUXUNITID": "1", "辅单位": "", "HQtyMust": "0", "HQty": "0", "HPrice": "0", "HMoney": "0", "HRemark": ""
|
}
|
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) //设置这一行取消选中
|
}
|
},
|
|
// 编辑提交保存
|
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 sAllStr = JSON.stringify(this.allVal)
|
var sMainSub = sMainStr + ';' + sSubStr + ';' + this.OperationType + ";" + sessionStorage["HUserName"] + ';' + sAllStr;
|
axios({
|
method: 'post',
|
url: this.baseURL + "/Kf_StockOutRequestBill/StockOutRequestBillEdit",
|
data: {
|
'sMainSub': sMainSub
|
},
|
}).then(response => {
|
if (response.data.count == 1) {
|
this.subDisabled = true//设置保存按钮不可用
|
this.$modal.msgSuccess(response.data.Message);
|
this.close()
|
} else {
|
this.$modal.msgError(response.data.Message);
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
})
|
}
|
});
|
},
|
// 反审核/审核数据
|
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("接口请求失败!");
|
});
|
},
|
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>
|