<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="90px">
|
<el-tabs v-model="activeName" type="card">
|
<el-tab-pane label="基本信息" name="first">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="编码" prop="HNumber">
|
<el-input v-model="form.HNumber" placeholder="请输入编码"/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="名称" prop="HName">
|
<el-input v-model="form.HName" placeholder="请输入名称" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="助记码" prop="HHelpCode">
|
<el-input v-model="form.HHelpCode" placeholder="请输入助记码" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="简称" prop="HShortName">
|
<el-input v-model="form.HShortName" placeholder="请输入简称" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="地址" prop="HAddress">
|
<el-input v-model="form.HAddress" placeholder="请输入地址" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="联系人" prop="HLinkMan">
|
<el-input v-model="form.HLinkMan" placeholder="请输入联系人" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="联系电话" prop="HLinkPhone">
|
<el-input v-model="form.HLinkPhone" placeholder="请输入联系电话" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="手机" prop="HMobilePhone">
|
<el-input v-model="form.HMobilePhone" placeholder="请输入手机" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="传真" prop="HFax">
|
<el-input v-model="form.HFax" placeholder="请输入传真" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="邮编" prop="HPostalCode">
|
<el-input v-model="form.HPostalCode" placeholder="请输入邮编" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="电子邮箱" prop="HEmail">
|
<el-input v-model="form.HEmail" placeholder="请输入电子邮箱" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="法人代表" prop="HCorMan">
|
<el-input v-model="form.HCorMan" placeholder="请输入法人代表" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="税务登记号" prop="HTaxNum">
|
<el-input v-model="form.HTaxNum" placeholder="请输入税务登记号" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="英文名称" prop="HEnglishName">
|
<el-input v-model="form.HEnglishName" placeholder="请输入英文名称" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="英文地址" prop="HEnglishAddress">
|
<el-input v-model="form.HEnglishAddress" placeholder="请输入英文地址" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="国家" prop="HCountry">
|
<el-input v-model="form.HCountry" placeholder="请输入国家" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="地区" prop="HAreaName">
|
<el-input v-model="form.HAreaName" placeholder="请输入地区" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(5)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="增值税率" prop="HTaxRate">
|
<el-input-number v-model="form.HTaxRate" placeholder="请输入英文名称" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="默认货币" prop="HCurName">
|
<el-input v-model="form.HCurName" placeholder="请输入默认货币" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(5)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="结算方式" prop="HSSName">
|
<el-input v-model="form.HSSName" placeholder="请输入结算方式" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(5)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="银行账号" prop="HBankAccount">
|
<el-input v-model="form.HBankAccount" placeholder="请输入银行账号" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="采购方式" prop="HPSStyleName">
|
<el-input v-model="form.HPSStyleName" placeholder="请输入采购方式" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(5)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="材料类别" prop="HMaterClass">
|
<el-select v-model="form.HMaterClass" placeholder="请选择材料类别">
|
<el-option value="主材">主材</el-option>
|
<el-option value="辅材">辅材</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="供应商分类" prop="HSupClsName">
|
<el-input v-model="form.HSupClsName" placeholder="请输入供应商分类" disabled>
|
<el-button slot="append" icon="el-icon-search" @click="openDataDialog(5)"></el-button>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="备注" prop="HRemark">
|
<el-input v-model="form.HRemark" placeholder="请输入备注" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="创建组织" prop="HCREATEORGID">
|
<el-select v-model="form.HCREATEORGID" placeholder="请选择创建组织">
|
<el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="使用组织" prop="HUSEORGID">
|
<el-select v-model="form.HUSEORGID" placeholder="请选择使用组织">
|
<el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="禁用标志" prop="HStopflag">
|
<el-checkbox v-model="form.HStopflag" disabled>是否禁用</el-checkbox>
|
</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-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-row>
|
</el-tab-pane>
|
</el-tabs>
|
<el-tabs v-model="activeNameZB" type="border-card">
|
<el-tab-pane label="联系人" name="first">
|
<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.HLinkMan" placeholder="请输入联系人" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="联系电话" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HLinkPhone" placeholder="请输入联系电话" />
|
</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-tab-pane>
|
<el-tab-pane label="付款计划" name="second">
|
<div style="margin-bottom: 10px;">
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb1()" size="mini">增加一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb1(zbIndex, 1)"
|
size="mini">插入一行</el-button>
|
<el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow1" size="mini">复制一行</el-button>
|
</div>
|
<el-table :data="editData1" style="width: 100%" height="300" width="100%" ref="zbTable1"
|
@selection-change="handleTableZbEdit1" :row-class-name="rowSysZbIndex1" 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.HPayType" placeholder="请输入付款阶段" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="付款比例%" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HPayRate" placeholder="请输入付款比例%" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="结算周期" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HPayTime" placeholder="请输入结算周期" />
|
</template>
|
</el-table-column>
|
<el-table-column align="center" label="备注说明" width="120">
|
<template slot-scope="scope">
|
<el-input v-model="scope.row.HPayRemark" 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-tab-pane>
|
|
</el-tabs>
|
|
</el-form>
|
<!-- 部门弹窗 -->
|
<el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body>
|
<Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
|
<Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" />
|
<Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" />
|
<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_SellOutBillList" @rowEditClose="rowSetClose" v-if="rowHideShow" />
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import axios from 'axios'
|
import Dept from '@/views/component/dept'
|
import Warehouse from '@/views/component/warehouse'
|
import Material from '@/views/component/material'
|
import RowSettings from '@/views/component/rowSettings'
|
import moment from 'moment';
|
|
export default {
|
name: 'GySupplierEdit',
|
components: { Dept, Warehouse, Material, RowSettings },
|
props: {
|
OperationType: { type: Number, },
|
linterid: { type: Number, },
|
HSouceBillType: { type: String, },
|
propsData: { type: String, },
|
copyType: { type: Number, },
|
},
|
data() {
|
return {
|
formShow: false,
|
temp: undefined,
|
formLoading: true,
|
zzSelDis: false,
|
rowHideShow: false,
|
openRowHide: false,
|
hPriceTypeList: ['成本价', '结算价'],
|
addBtnShow: false,
|
zbIndex: null,
|
zbIndex1: null,
|
zbSelForm: {},//子表选中数据
|
zbSelForm1: {},//子表选中数据
|
dialogTypeNum: null,//部门弹窗1,仓库弹窗2
|
deptShow: false,//部门数据组件
|
warehouseShow: false,//仓库数据组件
|
materialShow: 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: [],//销售出库单子表
|
editData1:[],
|
editBtData: [],//子表表头
|
activeName: 'first',
|
activeNameZB: '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: {
|
HSupName: [
|
{ required: true, message: "客户不能为空", trigger: "blur" }
|
],
|
HDate: [
|
{ required: true, message: "日期不能为空", trigger: "blur" }
|
],
|
HExRate: [
|
{ required: true, message: "汇率不能为空", trigger: "blur" }
|
]
|
}
|
};
|
},
|
created() {
|
this.setInitHCurName()
|
this.fetchData()
|
this.getdata()
|
},
|
beforeDestroy() {
|
this.$destroy()
|
},
|
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() {
|
console.log(this.copyType, this.OperationType)
|
this.formShow = false
|
this.formLoading = true
|
|
if (this.OperationType == 4) {
|
this.zzSelDis = true
|
this.handleAdd()
|
var data = this.getUrlVars_JSON();
|
var dataArray = [];
|
for (var i = 0; i < data.length; i++) {
|
// this.getPushSourceBillInit(data[i].hmainid, data[i].hsubid);
|
axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
|
params: {
|
"HInterID": data[i].hmainid
|
, "HSubID": data[i].hsubid
|
},
|
}).then(response => {
|
let result = response.data
|
if (result.code == 1) { // 说明验证成功了,
|
this.temp = result.data[0];
|
} else {
|
this.temp = result.data;
|
}
|
if (this.temp) {
|
dataArray.push(this.temp);
|
this.form.HDeptID = dataArray[0].HDeptID
|
this.form.HDeptName = dataArray[0].部门
|
this.form.HEmpID = dataArray[0].HEmpID
|
this.form.HEmpName = dataArray[0].业务员
|
this.form.HManagerID = dataArray[0].HManagerID
|
this.form.HManagerName = dataArray[0].主管
|
this.form.HMainSourceInterID = "0"
|
this.form.HMainSourceEntryID = "0"
|
this.form.HMainSourceBillNo = ""
|
this.form.HMainSourceBillType = dataArray[0].HBillType
|
this.form.HSupID = dataArray[0].HCusID
|
this.form.HSupName = dataArray[0].客户
|
this.form.HLinkMan = dataArray[0].联系人
|
this.form.HLinkPhone = dataArray[0].联系电话
|
this.form.HSellSID = dataArray[0].HSellSID
|
this.form.HSellSName = dataArray[0].销售方式
|
this.form.HCurID = dataArray[0].HCurID
|
this.form.HCurName = dataArray[0].币别
|
this.form.HExRate = dataArray[0].汇率
|
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].计量单位
|
, "HQtyMust": dataArray[i].数量.toFixed(6)
|
, "HQty": dataArray[i].数量.toFixed(6)
|
, "HPieceQty": "0"
|
, "HPrice": dataArray[i].单价.toFixed(4)
|
, "HTaxPrice": dataArray[i].实际含税单价.toFixed(4)
|
, "HTaxRate": dataArray[i].税率
|
, "HMoney": dataArray[i].金额.toFixed(2)
|
, "HTaxMoney": dataArray[i].价税合计.toFixed(2)
|
, "HWHID": dataArray[i].HWHID
|
, "发货仓库": dataArray[i].HWHName
|
, "HRemark": ""
|
, "HQty_Full": "0"
|
, "HQty_Empty": "0"
|
, "HQty_Back": "0"
|
, "HCostPrice": "0"
|
, "HCostMoney": "0"
|
, "HSalePrice": "0"
|
, "HSeOrderInterID": dataArray[i].hmainid
|
, "HSeOrderEntryID": dataArray[i].hsubid
|
, "HSeOrderBillNo": dataArray[i].单据号
|
, "HSourceInterID": dataArray[i].hmainid
|
, "HSourceEntryID": dataArray[i].hsubid
|
, "HSourceBillNo": dataArray[i].单据号
|
, "HSourceBillType": dataArray[i].HBillType
|
, "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"
|
}
|
);
|
}
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
}
|
} else 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
|
this.$destroy()
|
},
|
|
organizationChange(val) {
|
// let options=undefined
|
// this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
|
},
|
//部门弹窗赋值
|
dbEmitData(deptRow, num) {
|
// num=1部门 num=2出库仓库
|
if (num == 1) {
|
this.form.HDeptName = deptRow.部门名称
|
this.form.HDeptID = deptRow.HItemID
|
this.form.HEmpID = deptRow.HEmpID
|
this.form.HManagerName = deptRow.负责人
|
this.openData = false
|
} else if (num == 2) {
|
this.editData[this.zbIndex].HWHID = deptRow.HItemID;
|
this.editData[this.zbIndex].发货仓库 = deptRow.仓库名称;
|
this.openData = false
|
}
|
else if (num == 3) {
|
this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
|
this.editData[this.zbIndex].物料代码 = deptRow.物料代码;
|
this.editData[this.zbIndex].物料名称 = deptRow.物料名称;
|
this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
|
this.editData[this.zbIndex].规格型号 = deptRow.规格型号
|
this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称
|
this.editData[this.zbIndex].HTaxPrice = deptRow.含税成本价
|
this.editData[this.zbIndex].HTaxRate = deptRow.默认税率
|
this.openData = false
|
}
|
},
|
emitData(deptRow, num) {
|
this.dialogTypeNum = num
|
this.deptform = deptRow
|
},
|
deptClickSub() {
|
this.dbEmitData(this.deptform, this.dialogTypeNum)
|
this.deptform = {}
|
},
|
deptClose() {
|
this.deptform = {}
|
this.openData = false
|
},
|
//新增设置默认税率和货币
|
setInitHCurName() {
|
axios.get(this.baseURL + '/Gy_Currency/list1', {
|
params: { "sWhere": " and 货币名称 = '人民币'", "user": sessionStorage["HUserName"] },
|
}).then(response => {
|
let data1 = response.data
|
if (data1.data != null) {
|
this.form.HCurName = data1.data[0].货币名称
|
this.form.HCurID = data1.data[0].HItemID
|
} else {
|
this.$modal.msgError(data1.code + data1.Message);
|
}
|
}).catch(error => {
|
console.log(error)
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//销售出库单新增编辑表单初始化
|
reset() {
|
this.form = {
|
HNumber: '',
|
HName: '',
|
HHelpCode: '',
|
HShortName: '',
|
HAddress: '',
|
HLinkMan: '',
|
HLinkPhone: '',
|
HMobilePhone: '',
|
HFax: '',
|
HPostalCode: '',
|
HEmail: '',
|
HCorMan: '',
|
HBank: '',
|
HTaxNum: '',
|
HEnglishName: '',
|
HEnglishAddress: '',
|
HCountry: '',
|
HAreaName: '',
|
HAreaID: 0,
|
HTaxRate: 13,
|
HCurName: '人民币',
|
HCurID: 1,
|
HSSName: '',
|
HSSID: '',
|
HBankAccount: null,
|
HPSStyleID: 0,
|
HPSStyleName: '',
|
HRemark: '',
|
HCreateOrgID: sessionStorage["OrganizationID"] - 0,
|
HUSEORGID: sessionStorage["OrganizationID"] - 0,
|
HUpDater: sessionStorage["HUserName"],
|
HStopflag: false,
|
HMaterClass: '主材',
|
HSupTypeID: 0,
|
HSupClsName: '',
|
HMaker: sessionStorage["HMaker"],
|
HMakeDate: new Date(),
|
HChecker: null,
|
HCheckDate: null,
|
HStopMan: null,
|
HStopDate: null,
|
}
|
this.editData = []
|
this.editData1 = []
|
this.editBtData = []
|
this.ids = []
|
this.subDisabled = false
|
this.addBtnShow = false
|
// this.$refs.tableData.clearSelection()
|
this.activeName = 'first'
|
this.resetForm("form");
|
},
|
//退出
|
close() {
|
this.reset()
|
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()
|
let date = new Date()
|
this.form.HDate = moment(date).format('YYYY-MM-DDTHH:mm:ss')
|
if (this.OperationType == 1) {
|
this.handleAddSysZb()
|
this.handleAddSysZb1()
|
}
|
this.$nextTick(() => {
|
this.formShow = true
|
this.formLoading = false
|
})
|
},
|
getHBillNo() {
|
axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", {
|
params: {
|
HBillType: '1205'
|
}
|
}).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("接口请求失败!");
|
});
|
},
|
//获取销售出库单对应的条码明细
|
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("接口请求失败!");
|
});
|
},
|
//#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("接口请求失败!");
|
});
|
},
|
/** 修改按钮操作 */
|
handleUpdate() {
|
this.reset()
|
let rowHmainid = this.linterid
|
console.log(this.linterid)
|
axios.get(this.baseURL + "/Gy_Supplier/xg_ExpendBillMake", {
|
params: { 'HInterID': rowHmainid }
|
}).then(response => {
|
if (response.data.count == 1) {
|
var result = response.data
|
var data = response.data.data[0]
|
this.form = {
|
HCREATEORGID:data.HCREATEORGID,
|
HUSEORGID:data.HUSEORGID,
|
HUseOrg:data.使用组织,
|
HNumber:data.编码,
|
HHelpCode:data.助记码,
|
HShortName:data.简称,
|
HAddress:data.地址,
|
HLinkMan: data.联系人,
|
HLinkPhone: data.联系电话,
|
HMobilePhone: data.手机,
|
HFax: data.传真,
|
HPostalCode: data.邮编,
|
HEmail: data.电子邮件,
|
HCorMan: data.法人代表,
|
HBank: data.开户银行,
|
HTaxNum: data.税务登记号,
|
HEnglishName: data.英文名称,
|
HEnglishAddress: data.英文地址,
|
HCountry: data.国家,
|
HAreaID: data.地区ID,
|
HAreaName: data.地区名称,
|
HTaxRate: data.增值税率,
|
HCurID: data.默认货币ID,
|
HCurName: data.默认货币,
|
HSSID: data.结算方式ID,
|
HSSName: data.结算方式,
|
HBankAccount: data.银行账号,
|
HName: data.名称,
|
HPSStyleID: data.采购方式ID,
|
HPSStyleName: data.采购方式名称,
|
HRemark: data.备注,
|
HUpDater: sessionStorage["HUserName"],
|
HStopflag: data.禁用标志,
|
HMaterClass: data.供货材料类别,
|
HSupTypeID: data.HSupTypeID,
|
HSupClsName: data.供应商分类,
|
HMaker: data.制单人,
|
HMakeDate: data.制单日期,
|
HChecker: data.审核人,
|
HCheckDate: data.审核时间,
|
HStopMan: data.禁用人,
|
HStopDate: data.禁用时间,
|
}
|
this.editData = result.list[1].Gy_Supplier_Link
|
this.editData1 = result.list[0].Gy_Supplier_PayPlan
|
console.log(856,this.form,this.editData,this.editData1)
|
if (data.状态 != '创建' && this.copyType != 1) {
|
this.$modal.msgError("此条数据不是创建状态,不能修改");
|
this.subDisabled = true
|
}
|
this.formShow = true
|
this.formLoading = false
|
|
}
|
}).catch(error => {
|
this.$modal.msgError("接口请求失败!");
|
});
|
},
|
//根据客户带出联系人、联系电话
|
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("接口请求失败!");
|
});
|
},
|
/** 销售出库子表明细序号 */
|
rowSysZbIndex({ row, rowIndex }) {
|
row.index = rowIndex + 1;
|
},
|
rowSysZbIndex1({ row, rowIndex }) {
|
row.index = rowIndex + 1;
|
},
|
/** 编辑页子表添加按钮操作 */
|
handleAddSysZb(index, num) {
|
if (num == 1 && !index) {
|
this.$modal.msgError("请选择一行数据编辑!");
|
} else {
|
let obj = {
|
HLinkMan:'',
|
HLinkPhone:'',
|
HRemark:'',
|
}
|
if (index) {
|
this.editData.splice(index, 0, obj);
|
this.$set(this.editData, index, obj)
|
} else {
|
this.editData.push(obj);
|
}
|
}
|
},
|
handleAddSysZb1(index, num) {
|
if (num == 1 && !index) {
|
this.$modal.msgError("请选择一行数据编辑!");
|
} else {
|
let obj = {
|
HPayType:'',
|
HPayRate:'',
|
HPayTime:'',
|
HPayRemark:'',
|
}
|
if (index) {
|
this.editData1.splice(index, 0, obj);
|
this.$set(this.editData1, index, obj)
|
} else {
|
this.editData1.push(obj);
|
}
|
}
|
},
|
handleCopyZbRow() {
|
if (!this.zbIndex) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
let copyRow = JSON.parse(JSON.stringify(this.zbSelForm))
|
this.editData.push(copyRow);
|
}
|
},
|
handleCopyZbRow1() {
|
if (!this.zbIndex1) {
|
this.$modal.msgError("请选择一行数据")
|
} else {
|
let copyRow = JSON.parse(JSON.stringify(this.zbSelForm1))
|
this.editData1.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) //设置这一行取消选中
|
}
|
},
|
handleTableZbEdit1(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.zbTable1.toggleRowSelection(del_row, false) //设置这一行取消选中
|
}
|
},
|
//获取最大单据号_任务类(Type为0时只获取不新增流水号,为1时新增且获取流水号)
|
get_MAXNum_Task(Type) {
|
var sql = `exec h_p_Xt_GetMaxBillNo_SubType '1205','${this.form.HDate}',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("接口请求失败!");
|
});
|
},
|
// 编辑提交保存
|
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("接口请求失败!");
|
});
|
}
|
})
|
}
|
});
|
},
|
// 反审核/审核数据
|
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
|
},
|
// 打开数据列表弹窗
|
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
|
}
|
},
|
}
|
};
|
</script>
|
<style>
|
.xsckdBox .el-date-editor.el-input {
|
width: 100%;
|
}
|
</style>
|