| | |
| | | <template> |
| | | <div v-loading="formLoading" v-if="formShow" style="padding: 20px"> |
| | | <div style="margin-bottom: 10px; border-bottom: 1px solid #f6f6f6"> |
| | | <el-button type="primary" @click="handleAdd((OperationType = 1))" v-if="addBtnShow" |
| | | <!-- <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="set_CheckBill(0, form)">审 核</el-button> --> |
| | | <el-button type="primary" @click="close">退 出</el-button> |
| | | <!-- <el-button @click="cancel">取 消</el-button> --> |
| | | </div> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="单据号" prop="HBillNo"> |
| | | <el-input v-model="form.HBillNo" placeholder="请输入单据编号" /> |
| | | <el-input v-model="form.HBillNo" placeholder="请输入单据编号" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="采购员" prop="HEmpName"> |
| | | <el-input v-model="form.HEmpName" placeholder="请选择采购员" disabled> |
| | | <el-form-item label="业务员" prop="HEmpName"> |
| | | <el-input v-model="form.HEmpName" placeholder="请选择业务员" disabled> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="部门" prop="HDeptName"> |
| | | <el-input v-model="form.HCusName" placeholder="请选择采购部门" disabled> |
| | | <el-input v-model="form.HDeptName" placeholder="请选择部门" disabled> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="供应商" prop="HSupName"> |
| | | <el-input v-model="form.HWHName" placeholder="请选择供应商" disabled> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openDataDialog(1)" |
| | | ></el-button> |
| | | <el-input v-model="form.HSupName" placeholder="请选择供应商" disabled> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="币别" prop="HCurName"> |
| | | <el-input v-model="form.HCurName" placeholder="请输入联系电话"> |
| | | <el-input v-model="form.HCurName" placeholder="请选择币别" disabled> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="汇率" prop="HRemarHExRatek"> |
| | | <el-form-item label="汇率" prop="HExRate"> |
| | | <el-input-number v-model="form.HExRate" placeholder="请输入汇率" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="发票编号" prop="HWHName"> |
| | | <el-input v-model="form.HWHName" placeholder="请选择仓库"> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | <el-form-item label="发票编号" prop="HInvoiceBillNo"> |
| | | <el-input v-model="form.HInvoiceBillNo" placeholder=""> </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="仓库" prop="HWHName"> |
| | | <el-input v-model="form.HWHName" placeholder="请选择仓库"> |
| | | <el-input v-model="form.HWHName" placeholder="请选择仓库" disabled> |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | |
| | | <el-col :span="6"> |
| | | <el-form-item label="组织" prop="HOrgID"> |
| | | <el-select v-model="form.HOrgID"> |
| | | <el-option></el-option> |
| | | <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-row> |
| | |
| | | <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.HQty }}</span> |
| | |
| | | <el-table-column align="center" label="单价" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HPrice }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="含税单价" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HTaxPrice }}</span> |
| | | </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['收料仓库'] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="税率" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HTaxRate }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="价税合计" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HTaxMoney }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="备注" width="120"> |
| | |
| | | width="1280px" |
| | | append-to-body |
| | | > |
| | | <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" /> |
| | | <!-- <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" /> |
| | | <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" /> |
| | | <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" /> |
| | | <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" /> --> |
| | | <div style="height: 70vh" v-if="openData"> |
| | | <iframe |
| | | :src="iframeUrl" |
| | | frameborder="0" |
| | | width="100%" |
| | | height="100%" |
| | | ref="iframeInstance" |
| | | ></iframe> |
| | | </div> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="deptClickSub">确 定</el-button> |
| | | <el-button @click="deptClose">取 消</el-button> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogEnabledNum: -1, |
| | | iframeUrl: "", |
| | | iframeInstance: null, |
| | | OperationType2: 1, |
| | | HInterID2: 0, |
| | | CopyType2: 1, |
| | |
| | | deptform: {}, //弹窗选中数据 |
| | | openData: false, //数据弹窗 |
| | | dialogTitle: "", |
| | | organizationList: [], //组织列表 |
| | | organizationList: JSON.parse(sessionStorage["organizationList"]), // 组织列表 |
| | | subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用) |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3) |
| | | HInterID: null, |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | this.fetchData(); |
| | | // this.fetchData(); |
| | | this.getdata(); |
| | | }, |
| | | mounted() { |
| | | window.iFrameMaterialCallback = (data) => { |
| | | this.iFrameMaterialCallback(data); // 组件内的方法绑定到windows |
| | | }; |
| | | }, |
| | | beforeDestroy() { |
| | | if (window.parent) { |
| | | delete window.iFrameMaterialCallback; |
| | | if (window.parent != window.top) { |
| | | // 通过IFrame打开 |
| | | } else { |
| | | this.$destroy(); |
| | | } |
| | | }, |
| | | methods: { |
| | | iFrameMaterialCallback(data) { |
| | | // 物料列表返回监听函数 |
| | | console.log("iFrameMaterialCallbackData: ", data); |
| | | this.editData[this.zbIndex].HMaterID = data.HItemID; |
| | | this.editData[this.zbIndex].物料代码 = data.物料代码; |
| | | this.editData[this.zbIndex].物料名称 = data.物料名称; |
| | | this.editData[this.zbIndex].HUnitID = data.HUnitID; |
| | | this.editData[this.zbIndex].规格型号 = data.规格型号; |
| | | this.editData[this.zbIndex].计量单位 = data.计量单位名称; |
| | | this.editData[this.zbIndex].HTaxPrice = data.含税成本价; |
| | | this.editData[this.zbIndex].HTaxRate = data.默认税率; |
| | | this.deptClose(); |
| | | }, |
| | | fetchData() { |
| | | axios |
| | | .get(this.baseURL + "/Web/GetOrganizations", {}) |
| | |
| | | HMoney: dataArray[i].金额.toFixed(2), |
| | | HTaxMoney: dataArray[i].价税合计.toFixed(2), |
| | | HWHID: dataArray[i].HWHID, |
| | | 发货仓库: dataArray[i].HWHName, |
| | | 收料仓库: dataArray[i].HWHName, |
| | | HRemark: "", |
| | | HQty_Full: "0", |
| | | HQty_Empty: "0", |
| | |
| | | this.openData = false; |
| | | } else if (num == 2) { |
| | | this.editData[this.zbIndex].HWHID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].发货仓库 = deptRow.仓库名称; |
| | | this.editData[this.zbIndex].收料仓库 = deptRow.仓库名称; |
| | | this.openData = false; |
| | | } else if (num == 3) { |
| | | this.editData[this.zbIndex].HMaterID = deptRow.HItemID; |
| | |
| | | this.deptform = deptRow; |
| | | }, |
| | | deptClickSub() { |
| | | this.dbEmitData(this.deptform, this.dialogTypeNum); |
| | | this.deptform = {}; |
| | | // this.dbEmitData(this.deptform, this.dialogTypeNum); |
| | | // this.deptform = {}; |
| | | let selectedRow = this.$refs.iframeInstance.contentWindow.selectedRow; |
| | | console.log(selectedRow); |
| | | if (this.dialogEnabledNum == 3) { |
| | | // 修改选中物料对应子表数据 |
| | | |
| | | this.editData[this.zbIndex].HMaterID = selectedRow.HItemID; |
| | | this.editData[this.zbIndex].物料代码 = selectedRow.物料代码; |
| | | this.editData[this.zbIndex].物料名称 = selectedRow.物料名称; |
| | | this.editData[this.zbIndex].HUnitID = selectedRow.HUnitID; |
| | | this.editData[this.zbIndex].规格型号 = selectedRow.规格型号; |
| | | this.editData[this.zbIndex].计量单位 = selectedRow.计量单位名称; |
| | | this.editData[this.zbIndex].HTaxPrice = selectedRow.含税成本价; |
| | | this.editData[this.zbIndex].HTaxRate = selectedRow.默认税率; |
| | | } |
| | | |
| | | selectedRow = null; // 手动置空,方便GC回收,防止泄露 |
| | | this.deptClose(); |
| | | }, |
| | | deptClose() { |
| | | this.deptform = {}; |
| | |
| | | //退出 |
| | | close() { |
| | | this.reset(); |
| | | |
| | | if (!this.OperationType2 && !this.copyType) { |
| | | if (window.self != window.top) { |
| | | // iframe页面 |
| | | console.log(window.parent); |
| | | window.parent.editGyClose(); |
| | | } else if (!this.OperationType2 && !this.copyType) { |
| | | // this.$router.back() |
| | | window.close(); |
| | | } else { |
| | |
| | | this.reset(); |
| | | let rowHmainid = this.HInterID2; |
| | | axios |
| | | .get(this.baseURL + "/Xs_SeOutStockBill/cx", { |
| | | .get(this.baseURL + "/Cg_POInStockBill/cx", { |
| | | params: { HInterID: rowHmainid }, |
| | | }) |
| | | .then((response) => { |
| | |
| | | var result = response.data; |
| | | var data = response.data.data[0]; |
| | | this.form.BillType = data.HSourceBillType; |
| | | Object.assign(this.form, { |
| | | HBillNo: data.单据号, |
| | | HInterID: data.hmainid, |
| | | HDate: dayjs(data.日期).format("YYYY-MM-DD"), |
| | | HSeOrderBillNo_M: data.销售订单号, |
| | | HEmpID: data.HEmpID, |
| | | HEmpName: data.业务员, |
| | | HCusID: data.HCusID, |
| | | HCusName: data.客户, |
| | | HWHID: data.主仓库ID, |
| | | HWHName: data.主发货仓库, |
| | | HAddress: data.交货地址, |
| | | HDeptName: data.部门, |
| | | HDeptID: data.HDeptID, |
| | | HCurID: data.HCurID, |
| | | HCurName: data.币别, |
| | | HSSID: data.HSSID, |
| | | HSSName: data.结算方式, |
| | | HExRate: data.汇率, |
| | | HManagerName: data.主管, |
| | | HManagerID: data.HManagerID, |
| | | HSourceBillType: data.源单类型, |
| | | HLinkMan: data.联系人, |
| | | HLinkPhone: data.联系电话, |
| | | //, "HConveyCompID": data.运输公司 |
| | | //, "HConveyTypeID": data.运输方式 |
| | | //, "HConveyMoney": data.运费 |
| | | //, "HDFflag": data.是否垫付 |
| | | HProjectID: data.HProjectID, |
| | | HProjectNumber: data.项目编码, |
| | | HProjectName: data.项目名称, |
| | | |
| | | Box2: "", |
| | | HRemark: data.表头备注, |
| | | HMaker: data.制单人, |
| | | HChecker: data.审核人, |
| | | HCloseMan: data.关闭人, |
| | | HMakeDate: data.制单日期, |
| | | HCheckDate: data.审核日期, |
| | | HCloseDate: data.关闭日期, |
| | | HUpDateDate: data.修改日期, |
| | | HDeleteDate: data.作废日期, |
| | | }); |
| | | this.form = { |
| | | ...{ |
| | | HBillNo: data.单据号, |
| | | HDate: dayjs(data.日期), |
| | | HInnerBillNo: data.内部单据号, |
| | | HEmpID: data.HEmpID, |
| | | HEmpName: data.业务员, |
| | | HSupID: data.HSupID, |
| | | HSupName: data.供应商, |
| | | HWHID: data.主表仓库ID, |
| | | HWHName: data.主表仓库, |
| | | HCurID: data.HCurID, |
| | | HCurName: data.币别, |
| | | HExRate: data.汇率, |
| | | HDeptName: data.部门, |
| | | HDeptID: data.HDeptID, |
| | | HManagerName: data.主管, |
| | | HManagerID: data.HManagerID, |
| | | HSourceBillType: data.源单类型, |
| | | HAddress: data.交货地点, |
| | | HExRate: data.汇率, |
| | | HProjectID: data.HProjectID, |
| | | HProjectNumber: data.项目代码, |
| | | HProjectName: data.项目名称, |
| | | HInvoiceBillNo: data.发票编号, |
| | | Box2: "", |
| | | HRemark: data.表头备注, |
| | | HMaker: data.制单人, |
| | | HChecker: data.审核人, |
| | | HCloseMan: data.关闭人, |
| | | HUpDater: data.修改人, |
| | | HDeleteMan: data.作废人, |
| | | HMakeDate: |
| | | data.制单日期 == null |
| | | ? "" |
| | | : dayjs(data.制单日期).format("YYYY-MM-DD hh:mm:ss"), |
| | | HCheckDate: |
| | | data.审核日期 == null |
| | | ? "" |
| | | : dayjs(data.审核日期).format("YYYY-MM-DD hh:mm:ss"), |
| | | HCloseDate: |
| | | data.关闭日期 == null |
| | | ? "" |
| | | : dayjs(data.关闭日期).format("YYYY-MM-DD hh:mm:ss"), |
| | | HUpDateDate: |
| | | data.修改日期 == null |
| | | ? "" |
| | | : dayjs(data.修改日期).format("YYYY-MM-DD hh:mm:ss"), |
| | | HDeleteDate: |
| | | data.作废日期 == null |
| | | ? "" |
| | | : dayjs(data.作废日期).format("YYYY-MM-DD hh:mm:ss"), |
| | | }, |
| | | }; |
| | | if (this.copyType == 1) { |
| | | this.getHBillNo(); |
| | | let date = new Date(); |
| | |
| | | this.form.HCloseDate = data.关闭日期; |
| | | this.form.HDeleteDate = data.作废日期; |
| | | } |
| | | this.getCustomerByCusID(response.data.data[0].HCusID); //根据客户获取联系人,联系人电话 |
| | | // this.getCustomerByCusID(response.data.data[0].HCusID); //根据客户获取联系人,联系人电话 |
| | | let subdata = result.data; |
| | | for (var i = 0; i < subdata.length; i++) { |
| | | this.editData.push({ |
| | |
| | | HUnitID: subdata[i].HUnitID, |
| | | 计量单位: subdata[i].计量单位, |
| | | HWHID: subdata[i].HWHID, |
| | | 发货仓库: subdata[i].发货仓库, |
| | | 收料仓库: subdata[i].收料仓库, |
| | | HSPID: subdata[i].HSPID, |
| | | 仓位名称: subdata[i].仓位名称, |
| | | HSecUnitID: subdata[i].HSecUnitID, |
| | | 辅助单位: subdata[i].辅助单位, |
| | | HQty: subdata[i].数量, |
| | | HPrice: subdata[i].单价, |
| | | HMoney: subdata[i].金额, |
| | | HRemark: subdata[i].表体备注, |
| | | HPrice: subdata[i].单价, |
| | | HTaxPrice: subdata[i].含税单价, |
| | | HMoney: subdata[i].金额, |
| | | HDiscountRate: subdata[i].折扣率, |
| | | HTaxRate: subdata[i].税率, |
| | | HTaxMoney: subdata[i].税额, |
| | | HSourceBillNo: subdata[i].源单单号, //源单号 |
| | | HSourceBillType: subdata[i].源单类型, //源单类型 |
| | | HSourceInterID: subdata[i].源单主内码, //源单主内码 |
| | |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败! "); |
| | | console.error(error); |
| | | }); |
| | | }, |
| | | //根据客户带出联系人、联系电话 |
| | | 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("接口请求失败!"); |
| | | }); |
| | | }, |
| | | /** 销售出库子表明细序号 */ |
| | |
| | | HMoney: 0, |
| | | HTaxMoney: 0, |
| | | HWHID: 0, |
| | | 发货仓库: "", |
| | | 收料仓库: "", |
| | | HRemark: "", |
| | | HQty_Full: 0, |
| | | HQty_Empty: 0, |
| | |
| | | if (valid) { |
| | | let fhck = false; |
| | | this.editData.map((item, index) => { |
| | | if (!item.发货仓库) { |
| | | if (!item.收料仓库) { |
| | | fhck = true; |
| | | this.$modal.msgError("第" + (index + 1) + "行:发货仓库未选择!"); |
| | | this.$modal.msgError("第" + (index + 1) + "行:收料仓库未选择!"); |
| | | } |
| | | }); |
| | | this.$nextTick(() => { |
| | |
| | | }, |
| | | // 打开数据列表弹窗 |
| | | openDataDialog(num, row) { |
| | | this.dialogEnabledNum = num; |
| | | if (row) { |
| | | this.zbIndex = row.index - 1; |
| | | } |
| | |
| | | this.openData = true; |
| | | } else if (num == 3) { |
| | | this.dialogTitle = "物料列表"; |
| | | this.iframeUrl = `/iframe/GyMaterial?openType=2`; |
| | | this.materialShow = true; |
| | | this.openData = true; |
| | | } |