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