| | |
| | | <template></template> |
| | | <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> |