| | |
| | | <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="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(1, 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="HBillNo"> |
| | | <el-input v-model="form.HBillNo" placeholder="请输入单据号" /> |
| | | </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="" disabled /> |
| | | </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-row> |
| | | <el-row> |
| | | <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, (empType = 1))" |
| | | ></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, (empType = 2))" |
| | | ></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, (empType = 3))" |
| | | ></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(4, (empType = 4))" |
| | | ></el-button> |
| | | </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="请选择调入仓库" disabled> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openDataDialog(2, (eHWHType = 1))" |
| | | ></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="调出仓库" prop="HSCWHName"> |
| | | <el-input v-model="form.HSCWHName" placeholder="请选择调出仓库" disabled> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openDataDialog(2, (eHWHType = 2))" |
| | | ></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-col :span="6"> |
| | | <el-form-item label="备注" prop="HRemark"> |
| | | <el-input v-model="form.HRemark" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="调入组织" prop="HSTOCKINORGID" > |
| | | <el-select v-model="form.HSTOCKINORGID" placeholder="请选择调入组织" :disabled="OperationType == 3" @change="StockInOrgChangeHandler"> |
| | | <el-option |
| | | v-for="(item, index) in organizationList" |
| | | :key="index" |
| | | :label="item.Name" |
| | | :value="item.ID.toString()" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="调出组织" prop="HSTOCKOUTORGID"> |
| | | <el-select v-model="form.HSTOCKOUTORGID" placeholder="请选择调出组织" :disabled="OperationType == 3" @change="StockOutOrgChangeHandler"> |
| | | <el-option |
| | | v-for="(item, index) in organizationList" |
| | | :key="index" |
| | | :label="item.Name" |
| | | :value="item.ID.toString()" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </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> |
| | | |
| | | <el-tabs v-model="activeName1" 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.物料代码" |
| | | 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"> |
| | | <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(7, scope.row)" |
| | | @dblclick.native="openDataDialog(7, scope.row)" |
| | | /> |
| | | </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.辅助计量单位 }}</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="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 v-model="scope.row.HPrice" placeholder="请输入" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="金额" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HMoney" placeholder="请输入" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="调出单价" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HOutPrice" placeholder="请输入" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="调出金额" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HOutMoney" placeholder="请输入" /> |
| | | </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, (eHWHType = 3))" |
| | | @dblclick.native="openDataDialog(2, scope.row, (eHWHType = 3))" |
| | | /> |
| | | </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, (eHWHType = 4))" |
| | | @dblclick.native="openDataDialog(2, scope.row, (eHWHType = 4))" |
| | | /> |
| | | </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.HRemark" placeholder="请输入备注" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="组织" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HSTOCKORGID" disabled /> |
| | | </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" |
| | | :openPage="HModName" |
| | | v-if="deptShow" |
| | | /> |
| | | <Warehouse |
| | | @deptEmitDb="dbEmitData" |
| | | @deptEmit="emitData" |
| | | :openPage="HModName" |
| | | v-if="warehouseShow" |
| | | /> |
| | | <GyEmployee |
| | | @deptEmitDb="dbEmitData" |
| | | @deptEmit="emitData" |
| | | :openPage="HModName" |
| | | v-if="gyEmployeeShow" |
| | | /> |
| | | <GySupplier |
| | | @deptEmitDb="dbEmitData" |
| | | @deptEmit="emitData" |
| | | :openPage="HModName" |
| | | v-if="gySupplierShow" |
| | | /> |
| | | <Material |
| | | @deptEmitDb="dbEmitData" |
| | | @deptEmit="emitData" |
| | | :openPage="HModName" |
| | | v-if="materialShow" |
| | | /> |
| | | <GyProperty |
| | | @deptEmitDb="dbEmitData" |
| | | @deptEmit="emitData" |
| | | :openPage="HModName" |
| | | v-if="propertyShow" |
| | | /> |
| | | <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 GyEmployee from "@/views/basic/gyEmployee/gyEmployee.vue"; |
| | | import Dept from "@/views/basic/gy/gyDepartment"; |
| | | import Warehouse from "@/views/basic/gyWarehouse/gyWarehouse.vue"; |
| | | import GySupplier from "@/views/basic/gy/gySupplier.vue"; |
| | | import Material from "@/views/gyMaterial/GyMaterial.vue"; |
| | | import GyProperty from "@/views/basic/gyProperty/gyPropertyList.vue"; |
| | | import moment from "moment"; |
| | | |
| | | export default { |
| | | name: "Kf_MoveStockRequestBillEdit", |
| | | components: { |
| | | Dept, |
| | | Warehouse, |
| | | RowSettings, |
| | | GyEmployee, |
| | | GySupplier, |
| | | Material, |
| | | GyProperty, |
| | | }, |
| | | props: { |
| | | OperationType: { type: Number }, |
| | | linterid: { type: Number }, |
| | | HSouceBillType: { type: String }, |
| | | propsData: { type: String }, |
| | | copyType: { type: Number }, |
| | | }, |
| | | data() { |
| | | return { |
| | | HModName: "Kf_MoveStockRequestBillEdit", |
| | | formShow: false, |
| | | temp: undefined, |
| | | formLoading: true, |
| | | rowHideShow: false, |
| | | openRowHide: false, |
| | | addBtnShow: false, |
| | | zbIndex: null, |
| | | zbSelForm: {}, //子表选中数据 |
| | | dialogTypeNum: null, //部门弹窗1,仓库弹窗2 |
| | | deptShow: false, //部门数据组件 |
| | | warehouseShow: false, //仓库数据组件 |
| | | gyEmployeeShow: false, //销售员数据组件 |
| | | gySupplierShow: false, //供应商数据组件 |
| | | materialShow: false, //物料数据组件 |
| | | propertyShow: false, // 辅助属性基础资料 |
| | | eHWHType: 1, //仓库弹窗区分标志 |
| | | empType: 1, //职员弹窗区分标志 |
| | | deptform: {}, //弹窗选中数据 |
| | | openData: false, //数据弹窗 |
| | | dialogTitle: "", |
| | | organizationList: JSON.parse(sessionStorage.getItem('organizationList')), //组织列表 |
| | | subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用) |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改2) |
| | | HInterID: 0, |
| | | baseURL: process.env.VUE_APP_BASE_API, |
| | | checkedSysZb: [], |
| | | editData: [], //子表 |
| | | editData1: [], //汇总子表 |
| | | editBtData: [], //子表表头 |
| | | allVal: [], |
| | | activeName: "first", |
| | | activeName1: "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" }], |
| | | HSupName: [{ required: true, message: "往来单位不能为空", trigger: "blur" }], |
| | | HEmpName: [{ required: true, message: "业务员不能为空", trigger: "blur" }], |
| | | HMangerName: [{ required: true, message: "主管不能为空", trigger: "blur" }], |
| | | HSecManagerName: [{ required: true, message: "验收员不能为空", trigger: "blur" }], |
| | | HKeeperName: [{ required: true, message: "保管员不能为空", trigger: "blur" }], |
| | | HWHName: [{ required: true, message: "调入仓库不能为空", trigger: "blur" }], |
| | | HSCWHName: [{ required: true, message: "调出仓库不能为空", trigger: "blur" }], |
| | | HDeptName: [{ required: true, message: "部门不能为空", trigger: "blur" }], |
| | | }, |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getdata() |
| | | }, |
| | | methods: { |
| | | StockInOrgChangeHandler(e) { |
| | | for(let i=0;i<this.editData.length;i++) { |
| | | this.editData[i].HSTOCKORGINID = e |
| | | } |
| | | }, |
| | | StockOutOrgChangeHandler(e) { |
| | | for(let i=0;i<this.editData.length;i++) { |
| | | this.editData[i].HOtherOrgID = e |
| | | this.editData[i].HSTOCKORGID = e |
| | | } |
| | | }, |
| | | 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; |
| | | }, |
| | | handleRowHide() { |
| | | this.rowHideShow = true; |
| | | this.openRowHide = true; |
| | | }, |
| | | rowSetClose(val) { |
| | | this.rowHideShow = false; |
| | | this.openRowHide = val; |
| | | }, |
| | | |
| | | HStockOrgChange(val) { |
| | | console.log(549, val, this.zbIndex); |
| | | console.log(this.organizationList); |
| | | |
| | | // let options=undefined |
| | | // this.form=this.organizationList.find(option => option.ID === val)?.Name || ''; |
| | | }, |
| | | //弹窗赋值 |
| | | dbEmitData(deptRow, num) { |
| | | // num=1部门 num=2仓库 |
| | | console.log(deptRow, num); |
| | | if (deptRow.HItemID || deptRow.hmainid) { |
| | | if (num == 1) { |
| | | this.form.HDeptName = deptRow.部门名称; |
| | | this.form.HDeptID = deptRow.HItemID; |
| | | this.deptShow = false; |
| | | this.openData = false; |
| | | } else if (num == 2) { |
| | | if (this.eHWHType == 1) { |
| | | this.form.HWHName = deptRow.仓库名称; |
| | | this.form.HWHID = deptRow.HItemID; |
| | | } else if (this.eHWHType == 2) { |
| | | this.form.HSCWHName = deptRow.仓库名称; |
| | | this.form.HSCWHID = deptRow.HItemID; |
| | | } else if (this.eHWHType == 3) { |
| | | this.editData[this.zbIndex].HWHID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].调入仓库 = deptRow.仓库名称; |
| | | } else if (this.eHWHType == 4) { |
| | | this.editData[this.zbIndex].HSCWHID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].调出仓库 = deptRow.仓库名称; |
| | | } |
| | | this.warehouseShow = false; |
| | | this.openData = false; |
| | | } else if (num == 3) { |
| | | console.log(deptRow); |
| | | this.editData[this.zbIndex].HMaterID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].物料代码 = deptRow.物料代码; |
| | | this.editData[this.zbIndex].物料名称 = deptRow.物料名称; |
| | | this.editData[this.zbIndex].规格型号 = deptRow.规格型号; |
| | | this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称; |
| | | this.editData[this.zbIndex].HUnitID = deptRow.HUnitID; |
| | | this.materialShow = false; |
| | | this.openData = false; |
| | | } else if (num == 4) { |
| | | if (this.empType == 1) { |
| | | this.form.HEmpName = deptRow.职员名称; |
| | | this.form.HEmpID = deptRow.HItemID; |
| | | } else if (this.empType == 2) { |
| | | this.form.HMangerName = deptRow.职员名称; |
| | | this.form.HMangerID = deptRow.HItemID; |
| | | } else if (this.empType == 3) { |
| | | this.form.HSecManagerName = deptRow.职员名称; |
| | | this.form.HSecManagerID = deptRow.HItemID; |
| | | } else if (this.empType == 4) { |
| | | this.form.HKeeperName = deptRow.职员名称; |
| | | this.form.HKeeperID = deptRow.HItemID; |
| | | } else 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 == "gyProperty") { |
| | | this.editData[this.zbIndex].HAuxPropID = deptRow.HItemID; |
| | | this.editData[this.zbIndex]["辅助属性"] = deptRow["辅助属性名称"]; |
| | | |
| | | this.propertyShow = 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: "", |
| | | HInterID: 0, |
| | | HDate: new Date(), |
| | | HSupTypeID: 1, |
| | | HSupName: "", |
| | | HSupID: 0, |
| | | HDeptName: sessionStorage["HDept"] || "", |
| | | HDeptID: sessionStorage["HDeptID"] || 0, |
| | | HWHName: "", |
| | | HWHID: 0, |
| | | HSCWHName: "", |
| | | HSCWHID: 0, |
| | | HEmpName: "", |
| | | HEmpID: "", |
| | | HMangerName: "", |
| | | HMangerID: "", |
| | | HSecManagerName: "", |
| | | HSecManagerID: "", |
| | | HKeeperName: "", |
| | | HKeeperID: "", |
| | | HExplanation: "", |
| | | HRemark: "", |
| | | |
| | | HMaker: "", |
| | | HUpDater: "", |
| | | HChecker: "", |
| | | HMakeDate: new Date(), |
| | | HUpDateDate: "", |
| | | HCheckDate: "", |
| | | HCloseMan: "", |
| | | HDeleteMan: "", |
| | | HCloseDate: "", |
| | | HDeleteDate: "", |
| | | }; |
| | | this.editData = []; |
| | | this.editData1 = []; |
| | | this.editBtData = []; |
| | | this.ids = []; |
| | | this.subDisabled = false; |
| | | this.addBtnShow = false; |
| | | // this.$refs.tableData.clearSelection() |
| | | this.activeName = "first"; |
| | | this.activeName1 = "first"; |
| | | this.resetForm("form"); |
| | | }, |
| | | //退出 |
| | | close() { |
| | | this.reset(); |
| | | console.log(this.$route.path); |
| | | if (!this.OperationType && !this.copyType) { |
| | | console.log(this.$route.path); |
| | | 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() { |
| | | console.log(this.form.HDeptID && this.form.HDeptID != 0); |
| | | if (this.form.HDeptID && this.form.HDeptID != 0) { |
| | | axios |
| | | .get(this.$baseUrl + "/Gy_Department/list", { |
| | | params: { |
| | | sWhere: "and HItemID = '" + this.form.HDeptID + "'", |
| | | user: sessionStorage["HUserName"], |
| | | Organization: sessionStorage["Organization"], |
| | | }, |
| | | }) |
| | | .then((response) => { |
| | | let dataForm = response.data.data; |
| | | if (dataForm.length > 0) { |
| | | this.form.HMangerName = dataForm[0].负责人; |
| | | this.form.HMangerID = dataForm[0].HEmpID; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | } |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | | this.reset(); |
| | | //新增获取单据号 |
| | | this.getHBillNo(); |
| | | let date = new Date(); |
| | | this.$set(this.form, "HSTOCKOUTORGID", sessionStorage["OrganizationID"]); |
| | | this.$set(this.form, "HSTOCKINORGID", sessionStorage["OrganizationID"]); |
| | | this.$set(this.form, "HDate", moment(date).format("YYYY-MM-DD HH: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: "1243", |
| | | }, |
| | | }) |
| | | .then((response) => { |
| | | this.form.HMaker = sessionStorage["HUserName"]; |
| | | this.form.HBillNo = response.data.data[0].HBillNo; |
| | | this.form.HInterID = response.data.data[0].HInterID; |
| | | this.getCzyglByUser(); |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate() { |
| | | this.reset(); |
| | | let rowHmainid = this.linterid; |
| | | console.log(this.linterid); |
| | | //主表 |
| | | axios |
| | | .get(this.$baseUrl + "/Kf_MoveStockRequestBill/cx", { |
| | | params: { HInterID: rowHmainid }, |
| | | }) |
| | | .then((response) => { |
| | | if (response.data.count == 1) { |
| | | var result = response.data; |
| | | var data = response.data.data; |
| | | console.log(result, data); |
| | | |
| | | this.allVal = data[0]; |
| | | this.form = { |
| | | ...{ |
| | | HBillNo: data[0].单据号, |
| | | HDate: data[0].日期, |
| | | HDeptName: data[0].部门, |
| | | HDeptID: data[0].HDeptID, |
| | | HSupID: data[0].HSupID, |
| | | HSupName: data[0].往来单位, |
| | | HEmpID: data[0].HEmpID, |
| | | HEmpName: data[0].业务员, |
| | | HMangerName: data[0].主管, |
| | | HMangerID: data[0].HMangerID, |
| | | HSecManagerName: data[0].验收员, |
| | | HSecManagerID: data[0].HSecManagerID, |
| | | HKeeperName: data[0].保管员, |
| | | HKeeperID: data[0].HKeeperID, |
| | | |
| | | HWHID: data[0].主调入仓库ID, |
| | | HWHName: data[0].主调入仓库, |
| | | HSCWHID: data[0].主调出仓库ID, |
| | | HSCWHName: data[0].主调出仓库, |
| | | |
| | | HInnerBillNo: data[0].辅助字段, |
| | | HRemark: data[0].表头备注, |
| | | HMaker: data[0].制单人, |
| | | HChecker: data[0].审核人, |
| | | HCloseMan: data[0].关闭人, |
| | | HMakeDate: data[0].制单日期, |
| | | HCheckDate: data[0].审核日期, |
| | | HCloseDate: data[0].关闭日期, |
| | | HUpDateDate: data[0].修改日期, |
| | | HDeleteDate: data[0].作废日期, |
| | | HSTOCKOUTORGID: data[0].HSTOCKOUTORGID.toString(), |
| | | HSTOCKINORGID: data[0].HSTOCKINORGID.toString(), |
| | | }, |
| | | }; |
| | | //子表 |
| | | var rowdata = []; |
| | | for (let i = 0; i < data.length; i++) { |
| | | rowdata.push({ |
| | | HMaterID: data[i].HMaterID, |
| | | 物料代码: data[i].物料代码, |
| | | 物料名称: data[i].物料名称, |
| | | 规格型号: data[i].规格型号, |
| | | HUnitID: data[i].HUnitID, |
| | | 计量单位: data[i].计量单位, |
| | | HSecUnitRate: data[i].换算率, |
| | | HSecUnitID: data[i].HSecUnitID, |
| | | 辅助计量单位: data[i].辅助计量单位, |
| | | HQtyMust: data[i].应收数量, |
| | | HQty: data[i].实收数量, |
| | | HRemark: data[i].表体备注, |
| | | HPrice: data[i].单价, |
| | | HMoney: data[i].金额, |
| | | HOutPrice: data[i].调出单价, |
| | | HOutMoney: data[i].调出金额, |
| | | HWHID: data[i].HWHID, |
| | | 调入仓库: data[i].调入仓库, |
| | | HSCWHID: data[i].HSCWHID, |
| | | 调出仓库: data[i].调出仓库, |
| | | HBASEUNITID: data[i].HBASEUNITID, |
| | | 基本计量单位: data[i].基本计量单位, |
| | | HEXTAUXUNITID: data[i].HEXTAUXUNITID, |
| | | 辅单位: data[i].辅单位, |
| | | HSTOCKORGID: data[i]["HSTOCKORGID"], |
| | | HOtherOrgID: data[i]["HSTOCKORGID"], |
| | | HAuxPropID: data[i]["HAuxPropID"], |
| | | 辅助属性: data[i]["辅助属性"], |
| | | }); |
| | | } |
| | | this.editData = rowdata; |
| | | |
| | | // 渲染完后再参与是否复制的判断 |
| | | if (this.copyType == 1) { |
| | | this.getHBillNo(); |
| | | let date = new Date(); |
| | | this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss"); |
| | | } |
| | | |
| | | this.formShow = true; |
| | | this.formLoading = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log(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: 0, |
| | | 计量单位: "", |
| | | HSecUnitRate: "0", |
| | | HSecUnitID: "0", |
| | | 辅助计量单位: "", |
| | | HQtyMust: "0", |
| | | HQty: "0", |
| | | HPrice: "0", |
| | | HMoney: "0", |
| | | HOutPrice: "0", |
| | | HOutMoney: "0", |
| | | HWHID: "0", |
| | | 调入仓库: "", |
| | | HSCWHID: "0", |
| | | 调出仓库: "", |
| | | HBASEUNITID: "0", |
| | | 基本计量单位: "", |
| | | HEXTAUXUNITID: "0", |
| | | 辅单位: "", |
| | | HRemark: "", |
| | | HSTOCKORGID: sessionStorage["OrganizationID"], |
| | | HOtherOrgID: sessionStorage["OrganizationID"], |
| | | HSTOCKORGINID: this.form.HSTOCKINORGID, |
| | | HAuxPropID: 0, |
| | | 辅助属性: "", |
| | | }; |
| | | 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; |
| | | if (this.editData.length == 0) { |
| | | fhck = true; |
| | | this.$modal.msgError("没有物料明细记录!"); |
| | | } |
| | | this.editData.map((item, index) => { |
| | | if (!item.HMaterID) { |
| | | fhck = true; |
| | | this.$modal.msgError("第" + (index + 1) + "行:器具未选择!"); |
| | | } else if (!item.HQty || item.HQty == 0) { |
| | | fhck = true; |
| | | this.$modal.msgError("第" + (index + 1) + "行:数量不能为0!"); |
| | | } |
| | | }); |
| | | this.$nextTick(() => { |
| | | if (!fhck) { |
| | | var Operation = null; |
| | | if (!this.OperationType) { |
| | | Operation = 1; |
| | | } else { |
| | | Operation = this.OperationType; |
| | | if (Operation == 3) { |
| | | this.form.HInterID = this.linterid; |
| | | } |
| | | } |
| | | var sMainStr = JSON.stringify(this.form); |
| | | var sSubStr = JSON.stringify(this.editData); |
| | | var sAllStr = JSON.stringify(this.allVal); |
| | | var sMainSub = |
| | | sMainStr + |
| | | ";" + |
| | | sSubStr + |
| | | ";" + |
| | | Operation + |
| | | ";" + |
| | | sessionStorage["HUserName"] + |
| | | ";" + |
| | | sAllStr; |
| | | axios({ |
| | | method: "post", |
| | | url: |
| | | this.$baseUrl + "/Kf_MoveStockRequestBill/Kf_MoveStockRequestBillEdit", |
| | | data: { |
| | | sMainSub: sMainSub, |
| | | }, |
| | | }) |
| | | .then((response) => { |
| | | if (response.data.count == 1) { |
| | | this.subDisabled = true; //设置保存按钮不可用 |
| | | this.$modal.msgSuccess(response.data.Message); |
| | | this.addBtnShow = true; |
| | | this.close(); |
| | | } else { |
| | | this.$modal.msgError(response.data.code + response.data.Message); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | showReset() { |
| | | this.deptShow = false; |
| | | this.warehouseShow = false; |
| | | this.gyEmployeeShow = false; |
| | | this.gySupplierShow = false; |
| | | this.materialShow = false; |
| | | this.propertyShow = 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) { |
| | | if (this.empType == 1) { |
| | | this.dialogTitle = "业务员列表"; |
| | | } else if (this.empType == 2) { |
| | | this.dialogTitle = "主管列表"; |
| | | } else if (this.empType == 3) { |
| | | this.dialogTitle = "验收员列表"; |
| | | } else if (this.empType == 4) { |
| | | this.dialogTitle = "保管员列表"; |
| | | } |
| | | this.gyEmployeeShow = true; |
| | | this.openData = true; |
| | | } else if (num == 6) { |
| | | this.dialogTitle = "供应商列表"; |
| | | this.gySupplierShow = true; |
| | | this.openData = true; |
| | | } else if (num == 7) { |
| | | this.dialogTitle = "辅助属性列表"; |
| | | this.propertyShow = true; |
| | | this.openData = true; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | </style> |