Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-VUEUI
| | |
| | | }, |
| | | ], |
| | | }, |
| | | // 生产汇报单维护 |
| | | { |
| | | path: "/icmo/scICMOReportBill/scICMOReportBillList", |
| | | component: Layout, |
| | | hidden: true, |
| | | redirect: "noredirect", |
| | | meta: { |
| | | breadcrumb: false, // 如果设置为false,则不会在breadcrumb面包屑中显示 |
| | | activeMenu: "/icmo/scICMOReportBill", // 当路由设置了该属性,则会高亮相对应的侧边栏。 |
| | | }, |
| | | children: [ |
| | | { |
| | | path: "/icmo/scICMOReportBill/scICMOReportBillList", |
| | | component: () => import("@/views/ICMO/ScICMOReportBill/ScICMOReportBillList.vue"), |
| | | name: "ScICMOBillList", |
| | | meta: { title: "生产汇报单维护", activeMenu: "/icmo/scICMOReportBill" }, |
| | | }, |
| | | // { |
| | | // path: "/icmo/scIcmoBill/scIcmoBillEdit", |
| | | // component: () => import("@/views/ICMO/ScICMOBillEdit.vue"), |
| | | // name: "ScICMOBillEdit", |
| | | // meta: { title: "生产订单", activeMenu: "/icmo/scIcmoBill" }, |
| | | // }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | // 动态路由,基于用户权限动态去加载 |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | meta: { |
| | | icon: "build", |
| | | link: null, |
| | | noCache: false, |
| | | title: "生产汇报", |
| | | }, |
| | | hidden: false, |
| | | name: "ScICMOReportBill", |
| | | path: "scICMOReportBill", |
| | | redirect: "noRedirect", |
| | | component: "Layout", |
| | | children: [ |
| | | { |
| | | meta: { |
| | | icon: "build", |
| | | link: null, |
| | | noCache: false, |
| | | title: "生产汇报列表", |
| | | }, |
| | | component: () => import("@/views/ICMO/ScICMOReportBill/ScICMOReportBillList.vue"), |
| | | hidden: false, |
| | | name: "ScICMOReportBillList", |
| | | path: "scICMOReportBillList", |
| | | }, |
| | | // { |
| | | // meta: { |
| | | // icon: "build", |
| | | // link: null, |
| | | // noCache: false, |
| | | // title: "生产入库单", |
| | | // }, |
| | | // component: () => import("@/views/ProductInBill/Kf_ProductInBillEdit.vue"), |
| | | // hidden: false, |
| | | // name: "ProductInBillEdit", |
| | | // path: "ProductInBillEdit", |
| | | // }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | |
| | | |
| | | |
| | | <el-tab-pane label="其他信息" name="other"> |
| | | <el-form ref="formOther" :model="formData" label-width="100px"> |
| | | <el-form ref="formOther" :model="formData" :rules="rules" label-width="100px"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系人"> |
| | | <el-form-item label="联系人" prop="HLinkMan"> |
| | | <el-input v-model="formData.HLinkMan" placeholder="请输入联系人"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系电话"> |
| | | <el-form-item label="联系电话" prop="HLinkPhone"> |
| | | <el-input v-model="formData.HLinkPhone" placeholder="请输入联系电话"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="地址"> |
| | | <el-form-item label="地址" prop="HAddress"> |
| | | <el-input v-model="formData.HAddress" placeholder="请输入地址"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="地区"> |
| | | <el-form-item label="地区" prop="HAreaID"> |
| | | <el-input |
| | | v-model="formData.HAreaName" |
| | | placeholder="请选择地区" |
| | |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="客户状态"> |
| | | <el-form-item label="客户状态" prop="HCusStatus"> |
| | | <el-select v-model="formData.HCusStatus" placeholder="请选择客户状态" style="width: 100%"> |
| | | <el-option label="潜在" value="101"></el-option> |
| | | <el-option label="合格" value="102"></el-option> |
| | |
| | | this.initData() |
| | | this.loadOrganizations() |
| | | this.handleOperationType() |
| | | this.setConditionalRules() |
| | | }, |
| | | methods: { |
| | | initData() { |
| | |
| | | }, |
| | | |
| | | // 保存 |
| | | handleSave() { |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | if (!this.validateForm()) { |
| | | return |
| | | } |
| | | |
| | | const formData = { ...this.formData } |
| | | formData.HStopflag = formData.HStopflag ? 'true' : 'false' |
| | | |
| | | let url = `${this.baseURL}/Gy_Customer/AddBill` |
| | | let params = { oMain: JSON.stringify(formData) + ';' + this.user } |
| | | |
| | | if (this.operationType === 3) { |
| | | // 编辑保存 |
| | | url = `${this.baseURL}/Gy_Customer/AddBill1` |
| | | params = { |
| | | oMain: JSON.stringify(formData) + ';' + this.linterid + ';' + this.user + ';Gy_Customer_Edit' |
| | | } |
| | | } |
| | | |
| | | axios.post(url, params) |
| | | .then(response => { |
| | | if (response.data.count === 1) { |
| | | this.$modal.msgSuccess(response.data.Message) |
| | | this.saveDisabled = true |
| | | this.saveConfig() |
| | | this.openEdit = false |
| | | this.$emit('editClose', true) |
| | | } else { |
| | | this.$modal.msgError(response.data.Message) |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.$modal.msgError('保存失败!') |
| | | }) |
| | | } |
| | | async handleSave() { |
| | | const validMain = await new Promise(resolve => { |
| | | this.$refs.form.validate(valid => resolve(valid)) |
| | | }) |
| | | |
| | | let validOther = true |
| | | if (this.$refs.formOther) { |
| | | validOther = await new Promise(resolve => { |
| | | this.$refs.formOther.validate(valid => resolve(valid)) |
| | | }) |
| | | } |
| | | |
| | | if (validMain && validOther) { |
| | | if (!this.validateForm()) { |
| | | return |
| | | } |
| | | |
| | | const formData = { ...this.formData } |
| | | formData.HStopflag = formData.HStopflag ? 'true' : 'false' |
| | | |
| | | let url = `${this.baseURL}/Gy_Customer/AddBill` |
| | | let params = { oMain: JSON.stringify(formData) + ';' + this.user } |
| | | |
| | | if (this.operationType === 3) { |
| | | // 编辑保存 |
| | | url = `${this.baseURL}/Gy_Customer/AddBill1` |
| | | params = { |
| | | oMain: JSON.stringify(formData) + ';' + this.linterid + ';' + this.user + ';Gy_Customer_Edit' |
| | | } |
| | | } |
| | | |
| | | axios.post(url, params) |
| | | .then(response => { |
| | | if (response.data.count === 1) { |
| | | this.$modal.msgSuccess(response.data.Message) |
| | | this.saveDisabled = true |
| | | this.saveConfig() |
| | | this.openEdit = false |
| | | this.$emit('editClose', true) |
| | | } else { |
| | | this.$modal.msgError(response.data.Message) |
| | | } |
| | | }) |
| | | .catch(error => { |
| | | this.$modal.msgError('保存失败!') |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | setConditionalRules() { |
| | | this.rules.HLinkMan = [ |
| | | { validator: this.validateRequiredIfAdd, trigger: 'blur', message: '请输入联系人' } |
| | | ] |
| | | |
| | | this.rules.HLinkPhone = [ |
| | | { validator: this.validateRequiredIfAdd, trigger: 'blur', message: '请输入联系电话' } |
| | | ] |
| | | |
| | | this.rules.HAddress = [ |
| | | { validator: this.validateRequiredIfAdd, trigger: 'blur', message: '请输入地址' } |
| | | ] |
| | | |
| | | this.rules.HAreaID = [ |
| | | { validator: this.validateRequiredIfAdd, trigger: 'change', message: '请选择地区' } |
| | | ] |
| | | |
| | | this.rules.HCusStatus = [ |
| | | { validator: this.validateRequiredIfAdd, trigger: 'change', message: '请选择客户状态' } |
| | | ] |
| | | }, |
| | | |
| | | validateRequiredIfAdd(rule, value, callback) { |
| | | if (this.operationType !== 1) { |
| | | return callback() |
| | | } |
| | | |
| | | if (value === null || value === undefined) { |
| | | return callback(new Error(rule.message || '该项为必填')) |
| | | } |
| | | |
| | | if (typeof value === 'string' && value.trim() === '') { |
| | | return callback(new Error(rule.message || '该项为必填')) |
| | | } |
| | | |
| | | if (value === '0') { |
| | | return callback(new Error(rule.message || '该项为必填')) |
| | | } |
| | | |
| | | return callback() |
| | | }, |
| | | |
| | | // 表单验证 |
| | |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in visibleColumns" :key="index" :label="item.title" |
| | | :value="item.field"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName1" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in visibleColumns" :key="index" :label="item.title" |
| | | :value="item.field"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator1" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName2" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in visibleColumns" :key="index" :label="item.title" |
| | | :value="item.field"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator2" placeholder="请选择" style="width: 100%"> |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | |
| | | HNumber: null, |
| | | HName: null, |
| | | HNumber2: null, |
| | | ColName: "0", |
| | | ColName1: "0", |
| | | ColName2: "0", |
| | | Comparator: "0", |
| | | Comparator1: "0", |
| | | Comparator2: "0", |
| | | ColName: "", |
| | | ColName1: "", |
| | | ColName2: "", |
| | | Comparator: "", |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | ColContent: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | |
| | | }, |
| | | |
| | | handleRefresh() { |
| | | if (this.$refs.tableData && this.$refs.tableData.clearSelection) { |
| | | this.$refs.tableData.clearSelection(); |
| | | } |
| | | this.selectedRow = null; |
| | | this.ids = []; |
| | | this.single = true; |
| | | this.multiple = true; |
| | | this.getList(); |
| | | }, |
| | | |
| | |
| | | |
| | | rowStyle({ row, rowIndex }) { |
| | | if (this.ids.includes(row.hmainid)) { |
| | | return { background: "#ecf5ff" }; |
| | | return { }; |
| | | } |
| | | }, |
| | | |
| New file |
| | |
| | | <template> |
| | | <div v-loading="formLoading" style="padding: 20px"> |
| | | <div class="operation-buttons"> |
| | | <el-button-group> |
| | | <el-button type="primary" @click="handleAdd">新增</el-button> |
| | | <el-button type="primary" @click="handleCopyBill">复制</el-button> |
| | | <el-button type="primary" @click="handleCheckBill">审核</el-button> |
| | | <el-button type="primary" @click="handleAbandonCheck">反审核</el-button> |
| | | <el-button type="primary" @click="handleDeleteBill">删除</el-button> |
| | | <el-button type="primary" @click="handlePrint">打印</el-button> |
| | | <el-button type="primary" @click="handleSave" :disabled="saveDisabled">保存</el-button> |
| | | <el-button type="primary" @click="handleExit">退出</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <div class="page-title"> |
| | | <h1>生产汇报单</h1> |
| | | </div> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-tabs v-model="activeTab"> |
| | | <el-tab-pane label="基本信息" name="basic"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="单据号" prop="HBillNo"> |
| | | <el-input v-model="form.HBillNo" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="日期" prop="HDate"> |
| | | <el-date-picker v-model="form.HDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="生产车间" prop="HDeptName"> |
| | | <el-input v-model="form.HDeptName" readonly> |
| | | <el-button slot="append" icon="el-icon-search" @click="openDeptDialog"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="班组" prop="HGroupName"> |
| | | <el-input v-model="form.HGroupName" readonly> |
| | | <el-button slot="append" icon="el-icon-search" @click="openGroupDialog"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="统计员" prop="HEmpName"> |
| | | <el-input v-model="form.HEmpName" readonly> |
| | | <el-button slot="append" icon="el-icon-search" @click="openEmpDialog"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="源单类型" prop="HMainSourceBillType"> |
| | | <el-select v-model="form.HMainSourceBillType" @change="handleSourceTypeChange"> |
| | | <el-option label="生产任务单" value="2"></el-option> |
| | | <el-option label="手工录入" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="选单号" prop="HMainSourceBillNo"> |
| | | <el-input v-model="form.HMainSourceBillNo" :disabled="sourceBillDisabled" readonly> |
| | | <el-button slot="append" icon="el-icon-search" @click="openSourceBillDialog" |
| | | :disabled="sourceBillBtnDisabled"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="备注" prop="HRemark"> |
| | | <el-input v-model="form.HRemark" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="制单信息" name="maker"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="制单人"> |
| | | <el-input v-model="form.HMaker" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="审核人"> |
| | | <el-input v-model="form.HChecker" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="关闭人"> |
| | | <el-input v-model="form.HCloseMan" readonly /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="附件信息" name="attachment"> |
| | | <el-upload class="upload-demo" action="/api/upload" :on-preview="handlePreview" :on-remove="handleRemove" |
| | | :before-remove="beforeRemove" multiple :limit="3" :on-exceed="handleExceed" :file-list="fileList"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> |
| | | </el-upload> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <el-tabs v-model="detailTab"> |
| | | <el-tab-pane label="生产汇报单" name="main"> |
| | | <div class="table-toolbar"> |
| | | <el-button type="primary" size="small" @click="addTableRow">增加一行</el-button> |
| | | <el-button type="primary" size="small" @click="copyTableRow">复制一行</el-button> |
| | | </div> |
| | | |
| | | <el-table :data="tableData" border style="width: 100%" height="400" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column type="index" label="序号" width="60"></el-table-column> |
| | | <el-table-column prop="HMaterCode" label="物料代码" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HMaterCode" @focus="openMaterialDialog(scope.row, scope.$index)" readonly> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HMaterName" label="物料名称" width="150"></el-table-column> |
| | | <el-table-column prop="HMaterSpec" label="规格型号" width="150"></el-table-column> |
| | | <el-table-column prop="HUnitCode" label="单位代码" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HUnitCode" @focus="openUnitDialog(scope.row, scope.$index)" readonly> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HUnitName" label="单位名称" width="100"></el-table-column> |
| | | <el-table-column prop="HSourceCode" label="资源代码" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HSourceCode" @focus="openSourceDialog(scope.row, scope.$index)" readonly> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HSourceName" label="资源名称" width="150"></el-table-column> |
| | | <el-table-column prop="HWorkerCode" label="操作员代码" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HWorkerCode" @focus="openWorkerDialog(scope.row, scope.$index)" readonly> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HWorkerName" label="操作员名称" width="150"></el-table-column> |
| | | <el-table-column prop="HQty" label="生产数量" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.HQty" :min="0" :precision="2" controls-position="right" size="mini"> |
| | | </el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HBadQty" label="不良数量" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.HBadQty" :min="0" :precision="2" controls-position="right" |
| | | size="mini"> |
| | | </el-input-number> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HICMOBillNo" label="生产订单" width="120"></el-table-column> |
| | | <el-table-column prop="HPRODUCEDATE" label="生产日期" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-date-picker v-model="scope.row.HPRODUCEDATE" type="date" placeholder="选择日期" |
| | | value-format="yyyy-MM-dd" size="mini"> |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="HRemark" label="表体备注" width="150"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HRemark" size="mini"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="danger" size="mini" @click="deleteTableRow(scope.$index)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | |
| | | <el-tab-pane label="产量汇报单明细" name="production"> |
| | | <el-table :data="productionData" border height="400"> |
| | | </el-table> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-form> |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="80%" append-to-body> |
| | | <component :is="currentDialogComponent" @select="handleDialogSelect" @dbSelect="handleDialogDbSelect"> |
| | | </component> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="confirmDialogSelect">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import axios from 'axios' |
| | | import Dept from "@/views/component/dept"; |
| | | |
| | | export default { |
| | | name: 'ProductionReport', |
| | | components: { |
| | | Dept, |
| | | |
| | | }, |
| | | props: { |
| | | propOperationType: { type: Number, default: null }, |
| | | propLinterid: { type: [Number, String], default: null }, |
| | | propHSouceBillType: { type: String, default: '' }, |
| | | propCopyType: { type: Number, default: -1 } |
| | | }, |
| | | data() { |
| | | return { |
| | | formLoading: false, |
| | | saveDisabled: false, |
| | | activeTab: 'basic', |
| | | detailTab: 'main', |
| | | dialogVisible: false, |
| | | dialogTitle: '', |
| | | currentDialogComponent: null, |
| | | currentDialogType: '', |
| | | currentRowIndex: null, |
| | | currentRow: null, |
| | | fileList: [], |
| | | sourceBillDisabled: false, |
| | | sourceBillBtnDisabled: true, |
| | | |
| | | form: { |
| | | HBillNo: '', |
| | | HDate: '', |
| | | HDeptName: '', |
| | | HDeptID: 0, |
| | | HDeptNumber: '', |
| | | HGroupName: '', |
| | | HGroupID: 0, |
| | | HEmpName: '', |
| | | HEmpID: 0, |
| | | HMainSourceBillType: '1', |
| | | HMainSourceBillNo: '', |
| | | HMainSourceInterID: 0, |
| | | HMainSourceEntryID: 0, |
| | | HRemark: '', |
| | | HMaker: '', |
| | | HChecker: '', |
| | | HCloseMan: '', |
| | | HMakeDate: '', |
| | | HCheckDate: '', |
| | | HCloseDate: '', |
| | | HUpDater: '', |
| | | HDeleteMan: '', |
| | | HUpDateDate: '', |
| | | HDeleteDate: '' |
| | | }, |
| | | |
| | | rules: { |
| | | HDeptName: [{ required: true, message: '生产车间不能为空', trigger: 'blur' }], |
| | | HGroupName: [{ required: true, message: '班组不能为空', trigger: 'blur' }], |
| | | HEmpName: [{ required: true, message: '统计员不能为空', trigger: 'blur' }], |
| | | HDate: [{ required: true, message: '日期不能为空', trigger: 'change' }] |
| | | }, |
| | | |
| | | tableData: [], |
| | | productionData: [], |
| | | |
| | | OperationType: 1, |
| | | linterid: 0, |
| | | HSouceBillType: '', |
| | | |
| | | baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/' |
| | | } |
| | | }, |
| | | |
| | | created() { |
| | | this.initData() |
| | | }, |
| | | watch: { |
| | | form: { |
| | | handler(newVal) { |
| | | console.log('表单数据变化:', newVal) |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | 'form.HDeptName': function (newVal) { |
| | | console.log('HDeptName变化:', newVal) |
| | | }, |
| | | 'form.HGroupName': function (newVal) { |
| | | console.log('HGroupName变化:', newVal) |
| | | }, |
| | | 'form.HEmpName': function (newVal) { |
| | | console.log('HEmpName变化:', newVal) |
| | | } |
| | | }, |
| | | methods: { |
| | | async initData() { |
| | | |
| | | const params = this.$route ? this.$route.query : {} |
| | | if (this.propOperationType !== null && this.propOperationType !== undefined) { |
| | | this.OperationType = this.propOperationType |
| | | } else { |
| | | this.OperationType = params.OperationType || 1 |
| | | } |
| | | |
| | | if (this.propLinterid !== null && this.propLinterid !== undefined && this.propLinterid !== '') { |
| | | this.linterid = Number(this.propLinterid) |
| | | } else { |
| | | this.linterid = params.linterid || 0 |
| | | } |
| | | |
| | | this.HSouceBillType = this.propHSouceBillType || params.HSouceBillType || '' |
| | | |
| | | console.log("操作参数:", { |
| | | OperationType: this.OperationType, |
| | | linterid: this.linterid, |
| | | HSouceBillType: this.HSouceBillType |
| | | }) |
| | | |
| | | try { |
| | | if (this.OperationType === 1) { |
| | | await this.setAddFNew() |
| | | } else if (this.OperationType === 2) { |
| | | await this.setAddNew() |
| | | } else if (this.OperationType === 3) { |
| | | await this.setEditFromGrid() |
| | | } else if (this.OperationType === 5) { |
| | | await this.setCopyBill() |
| | | } |
| | | if (this.OperationType === 1 || this.OperationType === 2) { |
| | | this.$set(this.form, 'HDeptID', sessionStorage.HDeptID || 0) |
| | | this.$set(this.form, 'HDeptName', sessionStorage.HDept || '') |
| | | this.$set(this.form, 'HGroupID', sessionStorage.HGroupID || 0) |
| | | this.$set(this.form, 'HGroupName', sessionStorage.HGroup || '') |
| | | this.$set(this.form, 'HEmpID', sessionStorage.HEmpID || 0) |
| | | this.$set(this.form, 'HEmpName', sessionStorage.HEmpName || '') |
| | | } |
| | | |
| | | } catch (error) { |
| | | |
| | | this.$message.error('初始化数据失败: ' + error.message) |
| | | } |
| | | |
| | | }, |
| | | |
| | | // 无源单新增 |
| | | async setAddFNew() { |
| | | await this.getMaxBillNo() |
| | | this.sourceBillDisabled = false |
| | | this.sourceBillBtnDisabled = true |
| | | |
| | | this.tableData = [this.getEmptyRow()] |
| | | }, |
| | | |
| | | // 有源单新增 |
| | | async setAddNew() { |
| | | await this.getMaxBillNo() |
| | | |
| | | if (this.linterid && this.HSouceBillType === '3724') { |
| | | try { |
| | | const response = await axios.get('/api/Sc_ICMOReportBill/GetProdReportBillList', { |
| | | params: { |
| | | HInterID: this.linterid, |
| | | user: sessionStorage.HUserName |
| | | } |
| | | }) |
| | | |
| | | if (response.data.code === 1) { |
| | | const data = response.data.data.h_p_Sc_ICMOBillWorkQtyStatus_TmpList1 |
| | | this.tableData = data.map(item => ({ |
| | | HMaterID: item.物料ID, |
| | | HMaterCode: item.物料代码, |
| | | HMaterName: item.物料名称, |
| | | HMaterSpec: item.规格型号, |
| | | HUnitID: item.单位ID, |
| | | HUnitCode: item.计量单位代码, |
| | | HUnitName: item.计量单位, |
| | | HSourceID: item.生产资源ID, |
| | | HSourceCode: item.生产资源代码, |
| | | HSourceName: item.生产资源名称, |
| | | HWorkerid: item.操作员ID, |
| | | HWorkerCode: item.操作员代码, |
| | | HWorkerName: item.操作员名称, |
| | | HQty: item.产量, |
| | | HBadQty: item.不良数量 || 0, |
| | | HICMOBillNo: item.生产订单号, |
| | | HICMOInterID: item.HICMOInterID, |
| | | HICMOEntryID: item.HICMOEntryID, |
| | | HPRODUCEDATE: item.生产日期, |
| | | HRemark: '' |
| | | })) |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('获取源单数据失败') |
| | | } |
| | | } else { |
| | | this.tableData = [this.getEmptyRow()] |
| | | } |
| | | }, |
| | | |
| | | // 编辑 |
| | | async setEditFromGrid() { |
| | | await this.setEditForm(this.linterid) |
| | | await this.setEditGrid(this.linterid) |
| | | }, |
| | | |
| | | // 复制 |
| | | async setCopyBill() { |
| | | await this.setEditFromGrid() |
| | | await this.getMaxBillNo() |
| | | |
| | | this.form.HMaker = sessionStorage.HUserName |
| | | this.form.HMakeDate = this.formatDate(new Date()) |
| | | this.form.HUpDater = '' |
| | | this.form.HUpDateDate = '' |
| | | this.form.HChecker = '' |
| | | this.form.HCheckDate = '' |
| | | this.form.HCloseMan = '' |
| | | this.form.HCloseDate = '' |
| | | this.form.HDeleteMan = '' |
| | | this.form.HDeleteDate = '' |
| | | }, |
| | | // 获取最大单据号 |
| | | async getMaxBillNo() { |
| | | try { |
| | | const response = await axios.get(`${this.baseURL}/Web/GetMAXNum`, { |
| | | params: { HBillType: '3711' } |
| | | }) |
| | | if (response.data && response.data.data && response.data.data.length > 0) { |
| | | this.form.HBillNo = response.data.data[0].HBillNo |
| | | this.form.HInterID = response.data.data[0].HInterID |
| | | this.form.HDate = this.formatDate(new Date()) |
| | | this.form.HMakeDate = this.formatDate(new Date()) |
| | | this.form.HMaker = sessionStorage.HUserName |
| | | } |
| | | } catch (error) { |
| | | console.error('获取单据号失败:', error) |
| | | this.$message.error('获取单据号失败') |
| | | } |
| | | }, |
| | | // 编辑获取表头 |
| | | async setEditForm(linterid) { |
| | | console.log("neima", linterid) |
| | | try { //'/api/Sc_ICMOReportBill/Sc_GetICMOReportBillListCheckDetai' |
| | | const response = await axios.get(`${this.baseURL}/Sc_ICMOReportBill/Sc_GetICMOReportBillListCheckDetai`, { |
| | | params: { HID: linterid } |
| | | }) |
| | | |
| | | if (response.data.code === 1) { |
| | | const data = response.data.data.h_v_IF_ICMOReportBillList_Edit[0] |
| | | this.form.HBillNo = data.单据号 |
| | | this.form.HDate = this.formatDate(data.日期) |
| | | this.form.HDeptID = data.HDeptID |
| | | this.form.HDeptName = data.部门 |
| | | this.form.HDeptNumber = data.部门代码 |
| | | this.form.HGroupID = data.HGroupID |
| | | this.form.HGroupName = data.班组 |
| | | this.form.HEmpID = data.HEmpID |
| | | this.form.HEmpName = data.统计员 |
| | | this.form.HMainSourceBillNo = data.HMainSourceBillNo |
| | | this.form.HMainSourceInterID = data.HMainSourceInterID || 0 |
| | | this.form.HMainSourceEntryID = data.HMainSourceEntryID || 0 |
| | | this.form.HRemark = data.表头备注 |
| | | console.log("response", data.单据号, "---", data.部门, "----", data.统计员) |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('获取表单数据失败') |
| | | } |
| | | }, |
| | | |
| | | // 编辑获取表体 |
| | | async setEditGrid(linterid) { |
| | | this.form.HInterID = linterid |
| | | |
| | | try {//Sc_ICMOReportBill/Sc_ICMOReportBillListProjectDetai |
| | | const response = await axios.get(`${this.baseURL}/Sc_ICMOReportBill/Sc_ICMOReportBillListProjectDetai`, { |
| | | params: { sqlWhere: `and hmainid=${linterid}` } |
| | | }) |
| | | |
| | | if (response.data.count === 1) { |
| | | this.tableData = response.data.data |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('获取表格数据失败') |
| | | } |
| | | }, |
| | | |
| | | handleSourceTypeChange(value) { |
| | | if (value === '1') { |
| | | this.sourceBillDisabled = false |
| | | this.sourceBillBtnDisabled = true |
| | | this.OperationType = 1 |
| | | } else if (value === '2') { |
| | | this.sourceBillDisabled = true |
| | | this.sourceBillBtnDisabled = false |
| | | this.OperationType = 2 |
| | | } |
| | | }, |
| | | |
| | | openDeptDialog() { |
| | | this.dialogTitle = '部门列表' |
| | | this.currentDialogComponent = 'Dept' |
| | | this.currentDialogType = 'dept' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openGroupDialog() { |
| | | this.dialogTitle = '班组列表' |
| | | this.currentDialogComponent = 'Group' |
| | | this.currentDialogType = 'group' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openEmpDialog() { |
| | | this.dialogTitle = '职员列表' |
| | | this.currentDialogComponent = 'Employee' |
| | | this.currentDialogType = 'emp' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openSourceBillDialog() { |
| | | this.dialogTitle = '生产任务单列表' |
| | | this.currentDialogComponent = 'ProductionOrder' |
| | | this.currentDialogType = 'sourceBill' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openMaterialDialog(row, index) { |
| | | this.currentRow = row |
| | | this.currentRowIndex = index |
| | | this.dialogTitle = '物料列表' |
| | | this.currentDialogComponent = 'Material' |
| | | this.currentDialogType = 'material' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openUnitDialog(row, index) { |
| | | this.currentRow = row |
| | | this.currentRowIndex = index |
| | | this.dialogTitle = '单位列表' |
| | | this.currentDialogComponent = 'Unit' |
| | | this.currentDialogType = 'unit' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openSourceDialog(row, index) { |
| | | this.currentRow = row |
| | | this.currentRowIndex = index |
| | | this.dialogTitle = '资源列表' |
| | | this.currentDialogComponent = 'Source' |
| | | this.currentDialogType = 'source' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | openWorkerDialog(row, index) { |
| | | this.currentRow = row |
| | | this.currentRowIndex = index |
| | | this.dialogTitle = '职员列表' |
| | | this.currentDialogComponent = 'Employee' |
| | | this.currentDialogType = 'worker' |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | handleDialogSelect(data) { |
| | | this.selectedData = data |
| | | }, |
| | | |
| | | handleDialogDbSelect(data) { |
| | | this.applySelectedData(data) |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | confirmDialogSelect() { |
| | | if (this.selectedData) { |
| | | this.applySelectedData(this.selectedData) |
| | | this.dialogVisible = false |
| | | } |
| | | }, |
| | | |
| | | applySelectedData(data) { |
| | | switch (this.currentDialogType) { |
| | | case 'dept': |
| | | this.form.HDeptName = data.部门名称 |
| | | this.form.HDeptID = data.HItemID |
| | | this.form.HDeptNumber = data.部门代码 |
| | | break |
| | | case 'group': |
| | | this.form.HGroupName = data.班组名称 |
| | | this.form.HGroupID = data.HItemID |
| | | break |
| | | case 'emp': |
| | | this.form.HEmpName = data.职员名称 |
| | | this.form.HEmpID = data.HItemID |
| | | break |
| | | case 'sourceBill': |
| | | this.handleSourceBillSelect(data) |
| | | break |
| | | case 'material': |
| | | if (this.currentRow) { |
| | | this.currentRow.HMaterID = data.HItemID |
| | | this.currentRow.HMaterCode = data.物料代码 |
| | | this.currentRow.HMaterName = data.物料名称 |
| | | this.currentRow.HMaterSpec = data.规格型号 |
| | | this.currentRow.HUnitID = data.HUnitID |
| | | this.currentRow.HUnitCode = data.计量单位代码 |
| | | this.currentRow.HUnitName = data.计量单位名称 |
| | | } |
| | | break |
| | | case 'unit': |
| | | if (this.currentRow) { |
| | | this.currentRow.HUnitID = data.HItemID |
| | | this.currentRow.HUnitCode = data.计量单位代码 |
| | | this.currentRow.HUnitName = data.计量单位名称 |
| | | } |
| | | break |
| | | case 'source': |
| | | if (this.currentRow) { |
| | | this.currentRow.HSourceID = data.HItemID |
| | | this.currentRow.HSourceCode = data.生产资源代码 |
| | | this.currentRow.HSourceName = data.生产资源名称 |
| | | } |
| | | break |
| | | case 'worker': |
| | | if (this.currentRow) { |
| | | this.currentRow.HWorkerid = data.HItemID |
| | | this.currentRow.HWorkerCode = data.职员代码 |
| | | this.currentRow.HWorkerName = data.职员名称 |
| | | } |
| | | break |
| | | } |
| | | }, |
| | | |
| | | handleSourceBillSelect(data) { |
| | | if (!Array.isArray(data)) data = [data] |
| | | |
| | | const billNos = data.map(item => item.单据号) |
| | | if (!this.isAllEqual(billNos)) { |
| | | this.$message.error('请选择相同单号!') |
| | | return |
| | | } |
| | | |
| | | this.form.HMainSourceBillNo = data[0].单据号 |
| | | this.form.HMainSourceInterID = data[0].hmainid |
| | | this.form.HMainSourceEntryID = data[0].HEntryID |
| | | |
| | | const newRows = data.map(item => ({ |
| | | HMaterID: item.HMaterID, |
| | | HMaterCode: item.HMaterCode, |
| | | HMaterName: item.HMaterName, |
| | | HMaterSpec: item.HMaterSpec, |
| | | HUnitID: item.HUnitID, |
| | | HUnitCode: item.HUnitCode, |
| | | HUnitName: item.HUnitName, |
| | | HSourceID: 0, |
| | | HSourceCode: '', |
| | | HSourceName: '', |
| | | HWorkerid: 0, |
| | | HWorkerCode: '', |
| | | HWorkerName: '', |
| | | HQty: 0, |
| | | HBadQty: 0, |
| | | HICMOBillNo: item.单据号, |
| | | HICMOInterID: item.hmainid, |
| | | HICMOEntryID: item.HEntryID, |
| | | HRemark: '', |
| | | HSourceInterID: item.hmainid, |
| | | HSourceEntryID: item.HEntryID, |
| | | HSourceBillNo: item.单据号, |
| | | HSourceBillType: 3710 |
| | | })) |
| | | |
| | | this.tableData = newRows |
| | | }, |
| | | |
| | | addTableRow() { |
| | | this.tableData.push(this.getEmptyRow()) |
| | | }, |
| | | |
| | | copyTableRow() { |
| | | if (this.selectedRows && this.selectedRows.length === 1) { |
| | | const copyRow = JSON.parse(JSON.stringify(this.selectedRows[0])) |
| | | this.tableData.push(copyRow) |
| | | } else { |
| | | this.$message.warning('请选择一行数据进行复制') |
| | | } |
| | | }, |
| | | |
| | | deleteTableRow(index) { |
| | | if (this.tableData.length <= 1) { |
| | | this.$message.warning('至少保留一行数据') |
| | | return |
| | | } |
| | | this.tableData.splice(index, 1) |
| | | }, |
| | | |
| | | handleSelectionChange(selection) { |
| | | this.selectedRows = selection |
| | | }, |
| | | |
| | | |
| | | getEmptyRow() { |
| | | return { |
| | | HMaterID: 0, |
| | | HMaterCode: '', |
| | | HMaterName: '', |
| | | HMaterSpec: '', |
| | | HUnitID: 0, |
| | | HUnitCode: '', |
| | | HUnitName: '', |
| | | HSourceID: 0, |
| | | HSourceCode: '', |
| | | HSourceName: '', |
| | | HWorkerid: 0, |
| | | HWorkerCode: '', |
| | | HWorkerName: '', |
| | | HQty: 0, |
| | | HBadQty: 0, |
| | | HICMOBillNo: '', |
| | | HICMOInterID: '0', |
| | | HICMOEntryID: '0', |
| | | HRemark: '', |
| | | HSourceInterID: 0, |
| | | HSourceEntryID: 0, |
| | | HSourceBillNo: '', |
| | | HSourceBillType: 0, |
| | | HICMOTempID: 0, |
| | | HPRODUCEDATE: '' |
| | | } |
| | | }, |
| | | |
| | | // 保存 |
| | | async handleSave() { |
| | | try { |
| | | await this.$refs.form.validate() |
| | | |
| | | if (!this.validateForm()) { |
| | | return |
| | | } |
| | | |
| | | const refSav = this.OperationType === 3 ? 'Update' : 'Add' |
| | | const mainData = { |
| | | ...this.form, |
| | | HMaker: sessionStorage.HUserName |
| | | } |
| | | |
| | | const rowData = this.tableData.filter(row => |
| | | row.HMaterCode && row.HMaterName |
| | | ).map(row => ({ |
| | | ...row, |
| | | HMaterName: row.HMaterName.replace(/"/g, '”').replace(/;/g, ';'), |
| | | HMaterSpec: row.HMaterSpec.replace(/"/g, '”').replace(/;/g, ';') |
| | | })) |
| | | |
| | | const submitData = { |
| | | main: JSON.stringify(mainData), |
| | | detail: JSON.stringify(rowData), |
| | | operation: refSav, |
| | | user: sessionStorage.HUserName |
| | | } |
| | | |
| | | const response = await axios.post('/api/Sc_ICMOReportBill/SaveGetICMOReportBillList', submitData) |
| | | |
| | | if (response.data.count === 1) { |
| | | this.$message.success(response.data.Message) |
| | | this.saveDisabled = true |
| | | } else { |
| | | this.$message.error(response.data.Message) |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('保存失败') |
| | | } |
| | | }, |
| | | |
| | | |
| | | validateForm() { |
| | | if (!this.form.HDeptID) { |
| | | this.$message.error('车间不能为空!') |
| | | return false |
| | | } |
| | | |
| | | if (!this.form.HGroupID) { |
| | | this.$message.error('班组不能为空!') |
| | | return false |
| | | } |
| | | |
| | | if (!this.form.HEmpID) { |
| | | this.$message.error('统计员不能为空!') |
| | | return false |
| | | } |
| | | |
| | | if (this.tableData.length === 0) { |
| | | this.$message.error('没有物料明细记录') |
| | | return false |
| | | } |
| | | |
| | | for (let i = 0; i < this.tableData.length; i++) { |
| | | const row = this.tableData[i] |
| | | if (!row.HMaterID) { |
| | | this.$message.error(`明细记录第${i + 1}行,物料信息为空!`) |
| | | return false |
| | | } |
| | | if (!row.HUnitID) { |
| | | this.$message.error(`明细记录第${i + 1}行,单位信息为空!`) |
| | | return false |
| | | } |
| | | if (!row.HQty || parseFloat(row.HQty) <= 0) { |
| | | this.$message.error(`明细记录第${i + 1}行,生产数量不能为空或0或者小于0!`) |
| | | return false |
| | | } |
| | | } |
| | | |
| | | return true |
| | | }, |
| | | |
| | | // 审核 |
| | | async handleCheckBill() { |
| | | try { |
| | | const response = await axios.get('/api/Sc_ICMOReportBill/AuditProcessReportList', { |
| | | params: { |
| | | HInterID: this.form.HInterID, |
| | | IsAudit: 0, |
| | | CurUserName: sessionStorage.HUserName |
| | | } |
| | | }) |
| | | |
| | | if (response.data.count === 1) { |
| | | this.$message.success(response.data.Message) |
| | | } else { |
| | | this.$message.error(response.data.Message) |
| | | } |
| | | } catch (error) { |
| | | this.$message.error('审核失败') |
| | | } |
| | | }, |
| | | |
| | | handleAdd() { |
| | | this.$router.push({ |
| | | name: 'ProductionReport', |
| | | query: { OperationType: 1 } |
| | | }) |
| | | }, |
| | | |
| | | handleCopyBill() { |
| | | // 复制逻辑 |
| | | }, |
| | | |
| | | handleAbandonCheck() { |
| | | // 反审核逻辑 |
| | | }, |
| | | |
| | | handleDeleteBill() { |
| | | // 删除逻辑 |
| | | }, |
| | | |
| | | handlePrint() { |
| | | // 打印逻辑 |
| | | }, |
| | | |
| | | handleExit() { |
| | | this.$router.back() |
| | | }, |
| | | |
| | | formatDate(date) { |
| | | if (!date) return '' |
| | | const d = new Date(date) |
| | | const month = '' + (d.getMonth() + 1) |
| | | const day = '' + d.getDate() |
| | | const year = d.getFullYear() |
| | | |
| | | return [year, month.padStart(2, '0'), day.padStart(2, '0')].join('-') |
| | | }, |
| | | |
| | | isAllEqual(array) { |
| | | if (array.length > 0) { |
| | | return !array.some((value, index) => value !== array[0]) |
| | | } |
| | | return true |
| | | }, |
| | | |
| | | |
| | | handleRemove(file, fileList) { |
| | | console.log(file, fileList) |
| | | }, |
| | | |
| | | handlePreview(file) { |
| | | console.log(file) |
| | | }, |
| | | |
| | | handleExceed(files, fileList) { |
| | | this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`) |
| | | }, |
| | | |
| | | beforeRemove(file, fileList) { |
| | | return this.$confirm(`确定移除 ${file.name}?`) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .operation-buttons { |
| | | margin-bottom: 20px; |
| | | padding-bottom: 10px; |
| | | border-bottom: 1px solid #eee; |
| | | } |
| | | |
| | | .page-title { |
| | | text-align: center; |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .page-title h1 { |
| | | font-size: 24px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .table-toolbar { |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .el-form-item { |
| | | margin-bottom: 18px; |
| | | } |
| | | |
| | | .el-table { |
| | | margin-top: 10px; |
| | | } |
| | | </style> |
| New file |
| | |
| | | <template> |
| | | <div style="padding: 10px"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | label-width="78px" |
| | | class="searchBox" |
| | | > |
| | | <el-row> |
| | | <el-form-item label="开始日期" style="margin-left: 100px"> |
| | | <el-date-picker |
| | | v-model="sTime" |
| | | type="date" |
| | | placeholder="开始日期" |
| | | style="width: 150px" |
| | | :disabled="queryParams.HInitTimeCycle != -1" |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="结束日期"> |
| | | <el-date-picker |
| | | v-model="eTime" |
| | | type="date" |
| | | placeholder="结束日期" |
| | | style="width: 150px" |
| | | :disabled="queryParams.HInitTimeCycle != -1" |
| | | value-format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="日期间隔"> |
| | | <el-select |
| | | v-model="queryParams.HInitTimeCycle" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in rqsgList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="单据号" prop="HBillNo"> |
| | | <el-input |
| | | v-model="queryParams.HBillNo" |
| | | placeholder="请输入单据号" |
| | | @keyup.enter.native="handleQuery" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="组织"> |
| | | <el-select |
| | | v-model="queryParams.HOrgID" |
| | | placeholder="请选择" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <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> |
| | | <el-form-item label-width="78px"> |
| | | <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery"> |
| | | 搜 索</el-button |
| | | > |
| | | <el-button icon="el-icon-circle-close" size="small" @click="searchOpen = false" |
| | | >取 消</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-collapse v-model="activeSeach"> |
| | | <el-collapse-item title="更多" name="1"> |
| | | <el-card class="box-card"> |
| | | <el-form :inline="true"> |
| | | <el-form-item label="业务员"> |
| | | <el-input></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="物料代码"> |
| | | <el-input></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="物料名称"> |
| | | <el-input></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="供应商"> |
| | | <el-input></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="header" class="clearfix"><span>过滤</span></div> |
| | | <div> |
| | | <el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-col :span="7"> |
| | | <el-select |
| | | v-model="queryParams.ColName1" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select |
| | | v-model="queryParams.Comparator1" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input |
| | | v-model="queryParams.ColContent1" |
| | | placeholder="请输入" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | class="ForFilteringSchemes" |
| | | /> |
| | | </el-col> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-col :span="7"> |
| | | <el-select |
| | | v-model="queryParams.ColName2" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select |
| | | v-model="queryParams.Comparator2" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input |
| | | v-model="queryParams.ColContent2" |
| | | placeholder="请输入" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | class="ForFilteringSchemes" |
| | | /> |
| | | </el-col> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-col :span="7"> |
| | | <el-select |
| | | v-model="queryParams.ColName" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in btList" |
| | | :key="index" |
| | | :label="item.field" |
| | | :value="item.field" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select |
| | | v-model="queryParams.Comparator" |
| | | placeholder="请选择" |
| | | @change="riqiChange" |
| | | class="ForFilteringSchemes" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入" |
| | | clearable |
| | | @keyup.enter.native="handleQuery" |
| | | class="ForFilteringSchemes" |
| | | /> |
| | | </el-col> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> </el-card |
| | | ></el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleImport" |
| | | >导入</el-button |
| | | > |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAddEdit((OperationType = 1))" |
| | | id="btn-Add" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 3), (copyType = -1))" |
| | | >编辑</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 2), (copyType = 1))" |
| | | >复制</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleDelete" |
| | | >删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CheckBill(0, (form = rowForm))" |
| | | >审核</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CheckBill(1, (form = rowForm))" |
| | | >反审核</el-button |
| | | > |
| | | </el-col> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_De_Stop(0, (form = rowForm))" |
| | | >禁用</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_De_Stop(1, (form = rowForm))" |
| | | >反禁用</el-button |
| | | > |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CloseBill(1, (form = rowForm))" |
| | | >关闭</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CloseBill(2, (form = rowForm))" |
| | | >反关闭</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CloseRow(0, (form = rowForm))" |
| | | >行关闭</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="set_CloseRow(1, (form = rowForm))" |
| | | >行反关闭</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | >导出</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleRowHide" |
| | | >隐藏列设置</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-help" size="mini" @click="handleSearch" |
| | | >搜 索</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="" icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | >重 置</el-button |
| | | > |
| | | </el-col> |
| | | <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> --> |
| | | </el-row> |
| | | <div class="tableBox" v-loading="loading"> |
| | | <el-table |
| | | :data="tableData" |
| | | ref="tableData" |
| | | max-height="750" |
| | | :summary-method="getSummaries" |
| | | @selection-change="handleSelectionChange" |
| | | show-summary |
| | | border |
| | | @row-click="handleRowClick" |
| | | :row-style="rowStyle" |
| | | @cell-dblclick="handleDblclick" |
| | | v-if="tableShow" |
| | | > |
| | | <template v-for="(item, index) in btList"> |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | align="center" |
| | | :fixed="item.fixed" |
| | | v-if="item.type == 'checkbox'" |
| | | :key="index" |
| | | /> |
| | | <el-table-column |
| | | :align="item.align" |
| | | :prop="item.field" |
| | | :label="item.title" |
| | | :width="item.width" |
| | | :key="item.sorderid" |
| | | v-else-if="!item.hide && item.type != 'checkbox'" |
| | | :sortable="item.sort" |
| | | show-overflow-tooltip |
| | | :fixed="item.fixed" |
| | | > |
| | | <template slot-scope="{ row, column }"> |
| | | <el-checkbox v-model="checked" v-if="item.type == 'checkbox'"></el-checkbox> |
| | | <div :style="item.style"> |
| | | <span v-if="column.property.includes('日期')">{{ |
| | | parseTime(row[column.property], "{y}-{m}-{d}") |
| | | }}</span> |
| | | <el-button |
| | | type="text" |
| | | @click="handleEdit(row, (OperationType = 3), (copyType = 1))" |
| | | v-else-if="column.property == '单据号'" |
| | | >{{ row.单据号 }}</el-button |
| | | > |
| | | <span v-else>{{ row[column.label] }}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="page" |
| | | :limit.sync="pageSize" |
| | | :pageSizes="pageSizes" |
| | | @pagination="getList" |
| | | /> |
| | | <el-dialog |
| | | title="隐藏列设置" |
| | | :visible.sync="openRowHide" |
| | | width="816px" |
| | | append-to-body |
| | | > |
| | | <RowSettings |
| | | :colName="btResList" |
| | | :HModName="HModName" |
| | | @rowEditClose="rowSetClose" |
| | | v-if="rowHideShow" |
| | | /> |
| | | </el-dialog> |
| | | <!-- 编辑 --> |
| | | |
| | | <!-- 编辑弹窗 --> |
| | | <el-dialog |
| | | :title="editDialogTitle" |
| | | :visible.sync="openEdit" |
| | | width="90%" |
| | | append-to-body |
| | | class="production-report-dialog" |
| | | :before-close="handleEditClose" |
| | | fullscreen |
| | | > |
| | | <ProductionReportEdit |
| | | v-if="openEdit" |
| | | :propOperationType="currentOperationType" |
| | | :propLinterid="currentLinterid" |
| | | :propHSouceBillType="currentHSouceBillType" |
| | | :propCopyType="currentCopyType" |
| | | @editClose="handleEditClose" |
| | | @saveSuccess="handleSaveSuccess" |
| | | /> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :title="upload.title" |
| | | :visible.sync="upload.open" |
| | | width="1500px" |
| | | append-to-body |
| | | > |
| | | <div style="margin-top: -20px"> |
| | | <el-button type="primary" @click="set_AddNew">导入数据</el-button> |
| | | <el-button type="primary" @click="upload.open = false">退 出</el-button> |
| | | <el-upload |
| | | ref="upload" |
| | | :limit="1" |
| | | accept=".xlsx, .xls" |
| | | style="display: inline-block; margin-left: 10px" |
| | | :action="upload.url + '?updateSupport=' + upload.updateSupport" |
| | | :disabled="upload.isUploading" |
| | | :on-progress="handleFileUploadProgress" |
| | | :on-success="handleFileSuccess" |
| | | > |
| | | <el-button type="primary">文件上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | <el-table |
| | | :data="uploadData" |
| | | v-loading="uploadTableLoading" |
| | | :row-class-name="uploadDataIndex" |
| | | border |
| | | height="550" |
| | | > |
| | | <el-table-column type="index" label="序号" width="55" align="center" /> |
| | | <el-table-column label="组织代码" prop="组织代码" align="center" width="120" /> |
| | | <el-table-column label="组织名称" prop="组织名称" align="center" width="120" /> |
| | | <el-table-column |
| | | label="生产资源名称" |
| | | prop="生产资源名称" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="生产资源代码" |
| | | prop="生产资源代码" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column label="部门代码" prop="部门代码" align="center" width="120" /> |
| | | <el-table-column label="部门名称" prop="部门名称" align="center" width="120" /> |
| | | <el-table-column |
| | | label="负责人代码" |
| | | prop="负责人代码" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column label="负责人" prop="负责人" align="center" width="120" /> |
| | | <el-table-column |
| | | label="工作中心代码" |
| | | prop="工作中心代码" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="工作中心名称" |
| | | prop="工作中心名称" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column label="单班工时" prop="单班工时" align="center" width="120" /> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="uploadDataDelete(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="uploadTotal > 0" |
| | | :total="uploadTotal" |
| | | :page.sync="uploadPage" |
| | | :limit.sync="uploadPageSize" |
| | | :pageSizes="uploadPageSizes" |
| | | @pagination="currentPage" |
| | | /> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import axios from "axios"; |
| | | import RowSettings from "@/views/component/rowSettings"; |
| | | import gySource from "@/views/basic/gySource"; |
| | | import dayjs from "dayjs"; |
| | | import ProductionReportEdit from "./ScICMOReportBillEdit"; |
| | | |
| | | export default { |
| | | name: "ProductionReportList", |
| | | components: { RowSettings, gySource,ProductionReportEdit }, |
| | | props: { |
| | | openPage: { type: String }, |
| | | }, |
| | | data() { |
| | | return { |
| | | // 编辑弹窗相关数据 |
| | | openEdit: false, |
| | | editDialogTitle: "生产汇报单", |
| | | currentOperationType: 1, |
| | | currentLinterid: 0, |
| | | currentHSouceBillType: "", |
| | | currentCopyType: -1, |
| | | |
| | | |
| | | |
| | | iframeUrl: "", |
| | | activeSeach: "", |
| | | dateRange: [], |
| | | HModName: "cgPoInStockBill", |
| | | editShow: false, |
| | | |
| | | totalNameList: [], |
| | | tableShow: true, |
| | | openPrintList: false, |
| | | printListShow: false, |
| | | HClassTag: "ForFilteringSchemes", //过滤条件的class类 |
| | | HBillType: "1103", |
| | | openBtnHide: false, |
| | | btnHideShow: false, |
| | | rowHideShow: false, |
| | | openRowHide: false, |
| | | copyType: 0, |
| | | comparatorList: [ |
| | | { label: "=", value: "=" }, |
| | | { label: ">=", value: ">=" }, |
| | | { label: ">", value: ">" }, |
| | | { label: "<=", value: "<=" }, |
| | | { label: "<", value: "<" }, |
| | | { label: "<>", value: "<>" }, |
| | | { label: "包含", value: "7" }, |
| | | { label: "左包含", value: "8" }, |
| | | { label: "右包含", value: "9" }, |
| | | { label: "不包含", value: "10" }, |
| | | ], |
| | | sWhere: "", |
| | | sTime: "", |
| | | eTime: "", |
| | | rqsgList: [ |
| | | { label: "今天", value: 0 }, |
| | | { label: "近两天", value: 1 }, |
| | | { label: "近三天", value: 2 }, |
| | | { label: "近四天", value: 3 }, |
| | | { label: "近五天", value: 4 }, |
| | | { label: "近六天", value: 5 }, |
| | | { label: "近七天", value: 6 }, |
| | | { label: "近30天", value: 29 }, |
| | | { label: "近半年", value: 180 }, |
| | | { label: "近一年", value: 365 }, |
| | | { label: "任意间隔", value: -1 }, |
| | | ], |
| | | hPriceTypeList: ["成本价", "结算价"], |
| | | addBtnShow: false, |
| | | zbIndex: null, |
| | | zbSelForm: {}, //子表选中数据 |
| | | dialogTypeNum: null, //部门弹窗1,仓库弹窗2 |
| | | deptShow: false, //部门数据组件 |
| | | warehouseShow: false, //仓库数据组件 |
| | | materialShow: false, //物料数据组件 |
| | | deptform: {}, //弹窗选中数据 |
| | | openData: false, //数据弹窗 |
| | | organizationList: JSON.parse(sessionStorage.getItem("organizationList")), //组织列表 |
| | | dialogTitle: "", |
| | | zuzhiId: "", |
| | | subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用) |
| | | OperationType: null, //保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/", |
| | | currentRow: [], |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | | lastSelectedRow: null, // 上一次选中的行 |
| | | selectedRow: null, // 当前选中的行 |
| | | rowForm: {}, |
| | | checkedSysZb: [], |
| | | editData: [], //生产资料子表 |
| | | editBtData: [], //子表表头 |
| | | activeName: "first", |
| | | searchOpen: false, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | HOrgID: null, |
| | | HName: null, |
| | | HNumber: null, |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | Comparator: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | | ColContent: "", |
| | | HInitTimeCycle: 29, |
| | | HBeginDate: dayjs(new Date()).subtract(29, "d").format("YYYY-MM-DDTHH:mm:ss"), |
| | | HEndDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"), |
| | | }, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 遮罩层 |
| | | loading: true, |
| | | // 禁用日期选择 |
| | | disableDataPicker: true, |
| | | tyResList: [], //收料通知单列表(接口数据) |
| | | btList: [], //收料通知单列表显示 |
| | | btResList: [], |
| | | tableData: [], //收料通知单列表(分页显示) |
| | | dataList: [], |
| | | titleData: [ |
| | | "HItemID", |
| | | "hmainid", |
| | | "Hprocid", |
| | | "HUSEORGID", |
| | | "HCREATEORGID", |
| | | "HParentID", |
| | | ], //不需要显示的字段 可扩展 |
| | | pageSizes: [50, 100, 500, 5000, 50000], |
| | | page: 1, |
| | | pageSize: 50, |
| | | total: 0, |
| | | scollHeight: document.body.clientHeight * (38.056 / 100), |
| | | // 表单参数 |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | HSupName: [{ required: true, message: "客户不能为空", trigger: "blur" }], |
| | | HDate: [{ required: true, message: "日期不能为空", trigger: "blur" }], |
| | | HExRate: [{ required: true, message: "汇率不能为空", trigger: "blur" }], |
| | | }, |
| | | upload: { |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否禁用上传 |
| | | isUploading: false, |
| | | // 是否更新已经存在的数据 |
| | | updateSupport: 0, |
| | | // 设置上传的请求头部 |
| | | // headers: { Authorization: "Bearer " + getToken() }, |
| | | // 上传的地址 |
| | | url: "http://47.96.97.237/API/Gy_Source/Gy_Source_Excel", |
| | | }, |
| | | uploadData: [], |
| | | alluploadList: [], |
| | | uploadTableLoading: false, |
| | | uploadPageSizes: [50, 100, 500, 5000, 50000], |
| | | uploadPage: 1, |
| | | uploadPageSize: 50, |
| | | uploadTotal: 0, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.queryParams.HOrgID = sessionStorage["Organization"]; |
| | | window.editGyClose = () => { |
| | | this.editGyClose(); // 组件内的方法绑定到windows |
| | | }; |
| | | }, |
| | | created() { |
| | | this.riqiChange(); |
| | | // this.getList(); |
| | | this.handleQuery(); |
| | | }, |
| | | beforeDestroy() { |
| | | // 组件销毁时清理全局方法,避免内存泄漏 |
| | | delete window.editGyClose; |
| | | }, |
| | | methods: { |
| | | onDateScanOptionChangerHandler(e) { |
| | | this.queryParams.timeSpan = e; |
| | | if (e == -1) { |
| | | this.disableDataPicker = true; |
| | | return; |
| | | } |
| | | |
| | | this.disableDataPicker = false; |
| | | }, |
| | | getSummaries(param) { |
| | | const { columns, data } = param; |
| | | const sums = []; |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = "合计"; |
| | | return; |
| | | } |
| | | const values = data.map((item) => Number(item[column.property])); |
| | | if (this.totalNameList[index].totalRow) { |
| | | if (!values.every((value) => isNaN(value))) { |
| | | sums[index] = values.reduce((prev, curr) => { |
| | | const value = Number(curr); |
| | | if (!isNaN(value)) { |
| | | return prev + curr; |
| | | } else { |
| | | return prev; |
| | | } |
| | | }, 0); |
| | | } else { |
| | | sums[index] = ""; |
| | | } |
| | | } |
| | | }, 1000); |
| | | return sums; |
| | | }, |
| | | |
| | | //#region 获取公司名,根据公司进行定制化开发 |
| | | defaintOperationByCompanyName() { |
| | | var result = false; |
| | | axios |
| | | .get(this.baseURL + "/Xt_getInfo/getCompanyName") |
| | | .then((res) => { |
| | | var data1 = res.data; |
| | | if (data1.count == 1) { |
| | | if (data1.data == "水务") { |
| | | result = true; |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | return result; |
| | | }, |
| | | handleSellOpen() { |
| | | this.$router.push("/sellBill"); |
| | | }, |
| | | handleSellOutOpen() { |
| | | this.$router.push("/sellOutBill"); |
| | | }, |
| | | handleBtnHide() { |
| | | this.btnHideShow = true; |
| | | this.openBtnHide = true; |
| | | }, |
| | | handleRowHide() { |
| | | this.rowHideShow = true; |
| | | this.openRowHide = true; |
| | | }, |
| | | rowSetClose(val) { |
| | | this.rowHideShow = false; |
| | | this.tableShow = true; |
| | | this.openRowHide = val; |
| | | this.getList(); |
| | | }, |
| | | riqiChange() { |
| | | if (this.queryParams.HInitTimeCycle == -1) { |
| | | return; |
| | | } |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * this.queryParams.HInitTimeCycle); |
| | | const yyyyS = start.getFullYear(); |
| | | const mmS = String(start.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的 |
| | | const ddS = String(start.getDate()).padStart(2, "0"); |
| | | const yyyyE = end.getFullYear(); |
| | | const mmE = String(end.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的 |
| | | const ddE = String(end.getDate()).padStart(2, "0"); |
| | | this.sTime = yyyyS + "-" + mmS + "-" + ddS; |
| | | this.eTime = yyyyE + "-" + mmE + "-" + ddE; |
| | | }, |
| | | organizationChange(val) { |
| | | // let options=undefined |
| | | // this.form=this.organizationList.find(option => option.ID === val)?.Name || ''; |
| | | }, |
| | | //部门弹窗赋值 |
| | | dbEmitData(deptRow, num) { |
| | | // num=1部门 num=2出库仓库 |
| | | if (num == 1) { |
| | | this.form.HDeptName = deptRow.部门名称; |
| | | this.form.HDeptID = deptRow.HItemID; |
| | | this.form.HEmpID = deptRow.HEmpID; |
| | | this.form.HManagerName = deptRow.负责人; |
| | | this.openData = false; |
| | | } else if (num == 2) { |
| | | this.editData[this.zbIndex].HWHID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].发货仓库 = deptRow.仓库名称; |
| | | this.openData = false; |
| | | } else if (num == 3) { |
| | | this.editData[this.zbIndex].HMaterID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].物料代码 = deptRow.物料代码; |
| | | this.editData[this.zbIndex].物料名称 = deptRow.物料名称; |
| | | this.editData[this.zbIndex].HUnitID = deptRow.HUnitID; |
| | | this.editData[this.zbIndex].规格型号 = deptRow.规格型号; |
| | | this.editData[this.zbIndex].计量单位 = deptRow.计量单位名称; |
| | | this.editData[this.zbIndex].HTaxPrice = deptRow.含税成本价; |
| | | this.editData[this.zbIndex].HTaxRate = deptRow.默认税率; |
| | | this.openData = false; |
| | | } |
| | | }, |
| | | emitData(deptRow, num) { |
| | | this.dialogTypeNum = num; |
| | | this.deptform = deptRow; |
| | | }, |
| | | deptClickSub() { |
| | | this.dbEmitData(this.deptform, this.dialogTypeNum); |
| | | this.deptform = {}; |
| | | }, |
| | | async getList() { |
| | | this.tableShow = false; |
| | | this.loading = true; |
| | | if (this.pageSize == 0) { |
| | | this.pageSize = 50; |
| | | } |
| | | |
| | | if (this.sTime && this.eTime) { |
| | | this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'"; |
| | | this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'"; |
| | | } |
| | | try { |
| | | let res = await axios.get(this.baseURL + "Sc_ICMOReportBill/list", { |
| | | params: { |
| | | sWhere: this.sWhere, |
| | | user: sessionStorage["HUserName"], |
| | | |
| | | }, |
| | | }); |
| | | this.tyResList = [...JSON.parse(JSON.stringify(res.data.data))]; //总数据 |
| | | let data1 = res.data; |
| | | let option = []; |
| | | if (data1.code == 1) { |
| | | this.btResList = data1.list; //生产资料接口表头数据 |
| | | this.total = data1.count; |
| | | var data = []; //列字段数据 |
| | | var col = []; |
| | | var totalArray = []; |
| | | //给空的数组赋值 |
| | | for (var key in data1.list) { |
| | | //循序遍历数组 |
| | | data.push({ |
| | | id: data1.list[key].ColmCols, |
| | | name: data1.list[key].ColmCols, |
| | | Type: data1.list[key].ColmType, |
| | | }); //从每个对象中提取数据 |
| | | } |
| | | //在列表左边添加勾选框 |
| | | col.push({ type: "checkbox", fixed: "left", totalRowText: "合计" }); |
| | | for (var i = 0; i < data.length; i++) { |
| | | //遍历data数组重的数据 |
| | | if (this.titleData.indexOf(data[i].name) > -1) { |
| | | //检查data【i】.name是否在数组中 //计算列 |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | hide: true, |
| | | }); //隐藏id列 |
| | | } else if ( |
| | | totalArray.indexOf(data[i].name) > -1 || |
| | | data[i].Type == "Decimal" || |
| | | data[i].Type == "Int32" |
| | | ) { |
| | | //计算列 |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | sort: true, |
| | | totalRow: true, |
| | | width: 120, |
| | | }); |
| | | } else { |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | sort: true, |
| | | width: 200, |
| | | }); |
| | | } |
| | | } |
| | | option.cols = [col]; |
| | | this.dataList = option; |
| | | option.data = data1.data; |
| | | var result = data1.data; |
| | | var temp = ""; |
| | | for (var i = 0; i < result.length; i++) { |
| | | if (temp != result[i]["hmainid"]) { |
| | | temp = result[i]["hmainid"]; |
| | | } else { |
| | | result[i].日期 = null; |
| | | result[i].单据号 = ""; |
| | | /*result[i].状态 = "";*/ |
| | | result[i].红蓝单标记 = ""; |
| | | result[i].hsupid = ""; |
| | | result[i].客户 = ""; |
| | | result[i].HEmpID = ""; |
| | | result[i].业务员 = ""; |
| | | result[i].hmanagerid = ""; |
| | | result[i].主管 = ""; |
| | | result[i].hsecmanagerid = ""; |
| | | result[i].发货人 = ""; |
| | | result[i].hkeeperid = ""; |
| | | result[i].保管员 = ""; |
| | | result[i].HDeptID = ""; |
| | | result[i].部门 = ""; |
| | | result[i].销售方式 = ""; |
| | | } |
| | | } |
| | | option.data = result; |
| | | this.DisPlay_HideColumn( |
| | | this.HModName, |
| | | sessionStorage["HUserName"], |
| | | option, |
| | | this.dataList |
| | | ); |
| | | } |
| | | } catch (err) { |
| | | this.$modal.msgError(`获取收料通知单错误: ${err}`); |
| | | } |
| | | }, |
| | | DisPlay_HideColumn(HModName, user, option, dataOption) { |
| | | this.totalNameList = []; |
| | | axios |
| | | .get(this.baseURL + "/Xt_grdAlignment_WMES/grdAlignmentWMESList", { |
| | | params: { |
| | | HModName: HModName, |
| | | user: user, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | let data1 = res.data; |
| | | if (data1.data.length != 0) { |
| | | var dataCol = []; //数据库查询出的列数据 |
| | | var newCols = [[]]; //对应数据库列顺序col |
| | | newCols[0].push(option.cols[0][0]); //放入第一个checkbox |
| | | dataCol = data1.data[0].HGridString.split(","); |
| | | //列设置列数与页面列数是否一致 |
| | | if (dataCol.length == option.cols[0].length - 1) { |
| | | //遍历寻找列设置对应列按顺序插入 |
| | | for (var j = 0; j < option.cols[0].length - 1; j++) { |
| | | for (var i = 0; i < option.cols[0].length - 1; i++) { |
| | | var dataCols = dataCol[j].split("|"); |
| | | //选择与datacols相应列进行修改 |
| | | if (option.cols[0][i + 1]["field"] == dataCols[5]) { |
| | | //隐藏列 |
| | | if (dataCols[1] == 1) { |
| | | option.cols[0][i + 1]["hide"] = true; |
| | | } |
| | | //设置列宽 |
| | | if (dataCols[3] > 0) { |
| | | option.cols[0][i + 1]["width"] = dataCols[3]; |
| | | } |
| | | //设置内容字体大小 |
| | | if (data1.data[0].HFontSize != 0) { |
| | | option.cols[0][i + 1]["style"] = |
| | | "font-size:" + data1.data[0].HFontSize + "px;"; |
| | | } else { |
| | | option.cols[0][i + 1]["style"] = "font-size:100%"; |
| | | } |
| | | //显示列 |
| | | if ( |
| | | dataCols[1] == 0 && |
| | | this.titleData.indexOf(option.cols[0][i + 1]["title"]) == -1 |
| | | ) { |
| | | option.cols[0][i + 1]["hide"] = false; |
| | | } |
| | | //统计列 |
| | | if (dataCols[6] == 1) { |
| | | option.cols[0][i + 1]["totalRow"] = true; |
| | | } else { |
| | | option.cols[0][i + 1]["totalRow"] = false; |
| | | } |
| | | //字体所在位置(左 居中 右) |
| | | switch (dataCols[2]) { |
| | | case "L": |
| | | option.cols[0][i + 1]["align"] = "left"; |
| | | break; |
| | | case "M": |
| | | option.cols[0][i + 1]["align"] = "center"; |
| | | break; |
| | | case "R": |
| | | option.cols[0][i + 1]["align"] = "right"; |
| | | break; |
| | | } |
| | | //设置表格title属性显示别名 |
| | | if (dataCols[4] != null && dataCols[4] != "") { |
| | | option.cols[0][i + 1]["title"] = dataCols[4]; |
| | | } |
| | | newCols[0].push(option.cols[0][i + 1]); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | //遍历循环后判断对应列数是否一致 |
| | | if (dataCol.length == newCols[0].length - 1) { |
| | | option.cols = newCols; |
| | | //取消冻结列 |
| | | for (var i = 1; i < option.cols[0].length - 1; i++) { |
| | | if (option.cols[0][i + 1]["fixed"] != null) { |
| | | option.cols[0][i + 1]["fixed"] = null; |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | //冻结列 |
| | | if (data1.data[0].HFixCols != 0) { |
| | | for (var i = 0; i < data1.data[0].HFixCols; i++) { |
| | | if ( |
| | | dataOption.cols[0].indexOf(option.cols[0][i + 1]["title"]) != -1 |
| | | ) { |
| | | data1.data[0].HFixCols += 1; |
| | | } |
| | | |
| | | option.cols[0][i + 1]["fixed"] = "left"; |
| | | } |
| | | } |
| | | //设置列排序 |
| | | for (var i = 1; i < option.cols[0].length; i++) { |
| | | if (data1.data[0].HSortFlag == "是") { |
| | | option.cols[0][i]["sort"] = true; |
| | | } else { |
| | | option.cols[0][i]["sort"] = false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | this.btList = option.cols[0]; |
| | | this.btList.map((item) => { |
| | | if (!item.hide) { |
| | | this.totalNameList.push(item); |
| | | } |
| | | }); |
| | | if (data1.data[0].HPageSize == 0) { |
| | | this.pageSize = 50; |
| | | } else { |
| | | this.pageSize = data1.data[0].HPageSize; |
| | | } |
| | | this.tableData = option.data; |
| | | this.tableShow = true; |
| | | this.loading = false; |
| | | } else { |
| | | this.btList = dataOption.cols[0]; |
| | | this.btList.map((item) => { |
| | | if (!item.hide) { |
| | | this.totalNameList.push(item); |
| | | } |
| | | }); |
| | | this.tableData = dataOption.data; |
| | | this.tableShow = true; |
| | | this.loading = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | renderHeader(h, { column, $index }) { |
| | | // 新建一个 span |
| | | let span = document.createElement(span); // 设置表头名称 |
| | | span.innerText = column.label; |
| | | //临时插入 document |
| | | document.body.appendChild(span); // 重点:获取 span 最小宽度,设置当前列,注意这里加了 20,字段较多时column.minWidth=span.getBoundingClientRect().width + 50.//移除 document 中临时的 span |
| | | document.body.removeChild(span); |
| | | return h(span, column.label); |
| | | }, |
| | | //点击行 |
| | | handleRowClick(row, column, event) { |
| | | this.lastSelectedRow = this.selectedRow; // 记录上一次选中的行 |
| | | this.selectedRow = row; // 记录当前选中的行 |
| | | this.lastSelectedRowIndex = this.tableData.indexOf(row); |
| | | this.$refs.tableData.toggleRowSelection(row); |
| | | }, |
| | | //选中行高亮样式 |
| | | rowStyle({ row, rowIndex }) { |
| | | if (this.ids.includes(row.hmainid)) { |
| | | return { background: "#ecf5ff" }; |
| | | } |
| | | }, |
| | | //双击行 |
| | | handleDblclick(row, column, cell, event) { |
| | | this.currentOperationType = 3; |
| | | this.handleEdit(row, 3, -1); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | // this.rowForm = {} |
| | | this.ids = selection.map((item) => item.hmainid); |
| | | this.single = selection.length != 1; |
| | | this.multiple = !selection.length; |
| | | if (!this.single) { |
| | | this.rowForm = selection[0]; |
| | | } |
| | | }, |
| | | //打开侧边搜索弹窗 |
| | | handleSearch() { |
| | | this.searchOpen = true; |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.sWhere = ""; |
| | | if (this.queryParams.ColName && this.queryParams.Comparator) { |
| | | var com = ""; |
| | | switch (this.queryParams.Comparator) { |
| | | case "7": |
| | | com = "like'%" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | case "8": |
| | | com = "like'%" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | case "9": |
| | | com = "like'" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | case "10": |
| | | com = "not like'%" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | default: |
| | | com = |
| | | "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName + " " + com; |
| | | } |
| | | if (this.queryParams.ColName1 && this.queryParams.Comparator1) { |
| | | var com1 = ""; |
| | | switch (this.queryParams.Comparator1) { |
| | | case "7": |
| | | com1 = "like'%" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | case "8": |
| | | com1 = "like'%" + this.queryParams.ColContent1 + "'"; |
| | | break; |
| | | case "9": |
| | | com1 = "like'" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | case "10": |
| | | com1 = "not like'%" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | default: |
| | | com1 = |
| | | "" + |
| | | this.queryParams.Comparator1 + |
| | | "'" + |
| | | this.queryParams.ColContent1 + |
| | | "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName1 + " " + com1; |
| | | } |
| | | if (this.queryParams.ColName2 && this.queryParams.Comparator2) { |
| | | var com2 = ""; |
| | | switch (this.queryParams.Comparator2) { |
| | | case "7": |
| | | com2 = "like'%" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | case "8": |
| | | com2 = "like'%" + this.queryParams.ColContent2 + "'"; |
| | | break; |
| | | case "9": |
| | | com2 = "like'" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | case "10": |
| | | com2 = "not like'%" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | default: |
| | | com2 = |
| | | "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName2 + " " + com2; |
| | | } |
| | | if (this.queryParams.HBillNo) { |
| | | this.sWhere += " and 单据号 like '%" + this.queryParams.HBillNo + "%'"; |
| | | } |
| | | |
| | | // if (this.queryParams.HOrgID) { |
| | | // this.sWhere += " and HOrgID = '" + this.queryParams.HOrgID + "'"; |
| | | // } |
| | | |
| | | this.sWhere += this.addSWhereByOpenType(); |
| | | // this.sWhere += this.getOrgIDByUser(); |
| | | this.searchOpen = false; |
| | | this.getList(); |
| | | }, |
| | | // 判断是直接打开页面还是其它页面通过选择按钮打开,并显示相应数据 |
| | | addSWhereByOpenType() { |
| | | //获取参数 |
| | | var sWhere = ""; |
| | | //this.openPage判断是否有值,有代表其它页面通过选择按钮打开 |
| | | if (this.openPage) { |
| | | sWhere += " and 禁用标记 != 'Y' and ISNULL(审核人,'') != ''"; |
| | | return sWhere; |
| | | } |
| | | return sWhere; |
| | | }, |
| | | //根据用户获取用户关联组织的过滤条件 |
| | | getOrgIDByUser() { |
| | | var res = ""; |
| | | axios |
| | | .get(this.baseURL + "/Xt_User/getOrgIDListByUser", { |
| | | params: { |
| | | HModName: this.HModName, |
| | | user: sessionStorage["HUserName"], |
| | | HOrgID: this.zuzhiId, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | let result = res.data; |
| | | if (result.count == 1) { |
| | | if (result.data[0].sWhere == "1") { |
| | | res = " and HUSEORGID = '" + this.zuzhiId + "'"; |
| | | } else { |
| | | res = result.data[0].sWhere; |
| | | } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | res = " and 1 = 0"; |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | return res; |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.sWhere = ""; |
| | | Object.assign(this.Parameters, { |
| | | HBillNo: "", |
| | | HInitTimeCycle: 29, |
| | | HProjectNumber: "", |
| | | HCusID: null, |
| | | HMaterNumber: "", |
| | | HMaterName: "", |
| | | ColName1: "", |
| | | ColName2: "", |
| | | ColName: "", |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | Comparator: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | | ColContent: "", |
| | | }); |
| | | this.riqiChange(); |
| | | this.resetForm("queryForm"); |
| | | this.getList(); |
| | | }, |
| | | |
| | | //退出 |
| | | close() { |
| | | this.tableShow = true; |
| | | this.openEdit = false; |
| | | this.getList(); |
| | | }, |
| | | //打开新增组件弹窗 |
| | | handleAddEdit() { |
| | | this.currentOperationType = 1; // 无源单新增 |
| | | this.currentLinterid = 0; |
| | | this.currentHSouceBillType = ""; |
| | | this.currentCopyType = -1; |
| | | this.editDialogTitle = "新增生产汇报单"; |
| | | this.openEdit = true; |
| | | }, |
| | | //打开修改组件弹窗 |
| | | handleEdit(row, currentOperationType, copyType) { |
| | | if (!row || !row.hmainid) { |
| | | this.$message.warning("请选择要操作的数据"); |
| | | return; |
| | | } |
| | | this.currentOperationType = currentOperationType; |
| | | this.currentLinterid = row.hmainid; |
| | | this.currentHSouceBillType = row.HSourceBillType || ""; |
| | | this.currentCopyType = copyType; |
| | | |
| | | if (currentOperationType === 3) { |
| | | this.editDialogTitle = "编辑生产汇报单"; |
| | | } else if (currentOperationType === 5) { |
| | | this.editDialogTitle = "复制生产汇报单"; |
| | | } else if (currentOperationType === 2) { |
| | | this.editDialogTitle = "有源单新增生产汇报单"; |
| | | } |
| | | |
| | | this.openEdit = true; |
| | | }, |
| | | // 关闭编辑弹窗 |
| | | handleEditClose() { |
| | | this.openEdit = false; |
| | | this.currentOperationType = 1; |
| | | this.currentLinterid = 0; |
| | | this.currentHSouceBillType = ""; |
| | | this.currentCopyType = -1; |
| | | }, |
| | | // 保存成功回调 |
| | | handleSaveSuccess() { |
| | | this.handleEditClose(); |
| | | this.getList(); // 刷新列表 |
| | | this.$message.success("操作成功"); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete() { |
| | | this.$modal |
| | | .confirm("确认要删除吗,删除后不能恢复") |
| | | .then(() => { |
| | | if (!this.rowForm.审核人) { |
| | | axios |
| | | .get(this.baseURL + "Sc_ICMOReportBill/DeltetICMOReportBill", { |
| | | params: { |
| | | HInter: this.rowForm.hmainid.toString(), |
| | | user: sessionStorage["HUserName"], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | if (res.data.count == 1) { |
| | | this.handleQuery(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | } else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError("此条数据不是创建状态,无法删除!"); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 反审核/审核数据 |
| | | set_CheckBill(num, form) { |
| | | var InterID = form.HItemID || form.HInterID || form.hmainid; |
| | | //逻辑审核方法 |
| | | axios |
| | | .get(this.baseURL + "/Sc_ICMOReportBill/AuditProcessReportList", { |
| | | params: { |
| | | HInterID: InterID, |
| | | IsAudit: num, |
| | | CurUserName: sessionStorage["HUserName"], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | let result = res.data; |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess("操作成功"); |
| | | this.getList(); |
| | | } else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | // 关闭/反关闭数据 |
| | | async set_CloseBill(num, form) { |
| | | let HInterID = form.HItemID || form.HInterID || form.hmainid; |
| | | try { |
| | | let res = await axios.get( |
| | | `${this.baseURL}/Sc_ICMOReportBill/CloseSc_ICMOReportBill`, |
| | | { |
| | | params: { |
| | | HInterID: HInterID, |
| | | Type: num, |
| | | user: sessionStorage["HUserName"], |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | let { data, Message, count } = res.data; |
| | | |
| | | if (count == 1) { |
| | | this.handleQuery(); |
| | | } else { |
| | | this.$modal.msgError(`${Message}`); |
| | | } |
| | | } catch (err) { |
| | | this.$modal.msgError(`接口请求失败: ${err}`); |
| | | } |
| | | }, |
| | | // 行关闭/行反关闭数据 |
| | | async set_CloseRow(num, form) { |
| | | let HInterID = form.HItemID || form.HInterID || form.hmainid; |
| | | let HEntryID = form.HEntryID || form.hsubid; |
| | | try { |
| | | let res = await axios.get( |
| | | `${this.baseURL}/Cg_POInStockBill/CloseRowCg_POInStockBill`, |
| | | { |
| | | params: { |
| | | HInterID: HInterID, |
| | | HEntryID: HEntryID, |
| | | ISAudit: num, |
| | | CurUserName: sessionStorage["HUserName"], |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | let { data, Message, count } = res.data; |
| | | |
| | | if (count == 1) { |
| | | this.handleQuery(); |
| | | } else { |
| | | this.$modal.msgError(`${Message}`); |
| | | } |
| | | } catch (err) { |
| | | this.$modal.msgError(`接口请求失败: ${err}`); |
| | | } |
| | | }, |
| | | |
| | | // 反禁用/禁用数据 |
| | | set_De_Stop(num, form) { |
| | | var InterID = form.HItemID || form.HInterID; |
| | | //逻辑审核方法 |
| | | axios |
| | | .get(this.baseURL + "/Gy_Employee/StopGy_Employee", { |
| | | params: { |
| | | HInterID: InterID, |
| | | IsStop: num, |
| | | CurUserName: sessionStorage["HUserName"], |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | let result = res.data; |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess("操作成功"); |
| | | this.getList(); |
| | | } else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //导出 |
| | | handleExport() { |
| | | const ws = this.$XLSX.utils.json_to_sheet(this.tyResList); // 将数据转换为工作表 |
| | | const wb = this.$XLSX.utils.book_new(); // 创建一个新的工作簿 |
| | | this.$XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); // 将工作表添加到工作簿中,并命名为"Sheet1" |
| | | this.$XLSX.writeFile(wb, `gySource_${new Date().getTime()}.xlsx`); // 导出文件 |
| | | }, |
| | | handleImport() { |
| | | this.uploadData = []; |
| | | this.upload.isUploading = false; |
| | | this.upload.title = "导入"; |
| | | this.upload.open = true; |
| | | }, |
| | | // 文件上传中处理 |
| | | handleFileUploadProgress(event, file, fileList) { |
| | | this.upload.isUploading = true; |
| | | this.uploadTableLoading = true; |
| | | }, |
| | | // 文件上传成功处理 |
| | | handleFileSuccess(res, file, fileList) { |
| | | // this.upload.open = false; |
| | | this.upload.isUploading = true; |
| | | this.$refs.upload.clearFiles(); |
| | | if (res.code == 1) { |
| | | this.alluploadList = res.data; |
| | | this.uploadData = this.getPage(this.uploadPage, this.alluploadList); |
| | | this.uploadTotal = this.alluploadList.length; |
| | | this.uploadTableLoading = false; |
| | | // this.set_AddNew(res.data) |
| | | } else { |
| | | this.$alert( |
| | | "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + |
| | | res.Message + |
| | | "</div>", |
| | | "导入结果", |
| | | { dangerouslyUseHTMLString: true } |
| | | ); |
| | | } |
| | | }, |
| | | // 提交上传文件 |
| | | submitFileForm() { |
| | | this.$refs.upload.submit(); |
| | | }, |
| | | set_AddNew() { |
| | | var num = []; |
| | | for (var i = 0; i < this.uploadData.length; i++) { |
| | | if (this.uploadData[i] != "") { |
| | | num.push(this.uploadData[i]); |
| | | } |
| | | } |
| | | var sSubStr = JSON.stringify(num); |
| | | var sMainSub = sSubStr + "&和" + sessionStorage["HUserName"]; |
| | | axios({ |
| | | method: "post", |
| | | url: this.baseURL + "/Gy_Source/Gy_Source_btnSave", |
| | | data: { |
| | | sMainSub: sMainSub, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | this.$alert( |
| | | "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + |
| | | res.data.Message + |
| | | "</div>", |
| | | "导入结果", |
| | | { dangerouslyUseHTMLString: true } |
| | | ); |
| | | this.upload.open = false; |
| | | this.getList(); |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | uploadDataIndex({ row, rowIndex }) { |
| | | row.index = rowIndex + 1; |
| | | }, |
| | | uploadDataDelete(row) { |
| | | this.$modal |
| | | .confirm("确认要删除吗,删除后不能恢复") |
| | | .then(() => { |
| | | const deleteList = [row.index]; |
| | | const data = this.uploadData; |
| | | this.uploadData = data.filter((item) => { |
| | | return deleteList.indexOf(item.index) == -1; |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | getPage(page, list) { |
| | | let sindex = (parseInt(page) - 1) * this.uploadPageSize; |
| | | let eindex = parseInt(page) * this.uploadPageSize; |
| | | let newList = list.slice(sindex, eindex); |
| | | console.log(newList); |
| | | return newList; |
| | | }, |
| | | currentPage(val) { |
| | | this.uploadPage = val.page; |
| | | setTimeout(() => { |
| | | this.uploadData = this.getPage(this.uploadPage, this.alluploadList); |
| | | }, 100); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | |
| | | .form-item-inline > .el-form-item__content { |
| | | display: flex; |
| | | flex-direction: row; |
| | | width: 60%; |
| | | } |
| | | </style> |
| | |
| | | }, |
| | | ws_both_from_object() { |
| | | let OpenTmp = decodeURIComponent(this.$route.query.OpenTmp) |
| | | let apIUrl = '' |
| | | let sql = '' |
| | | if (this.$route.query.Type == 'Kf_SellOutBillList') { |
| | | apIUrl = '/Kf_SellOutBill/cx' |
| | | axios.get(this.baseURL + apIUrl, { |
| | | params: { |
| | | "HInterID": this.handleMessage.linterid |
| | | // , "HSubID": data[i].hsubid |
| | | }, |
| | | }).then(response => { |
| | | let result = response.data |
| | | this.json_data.recordset = result.data |
| | | //参数具体说明请参考帮助文档中的“WEB报表(B/S报表)->WEB报表客户端->启动参数说明”部分 |
| | | var args = { |
| | | type: "preview", //设置不同的属性可以执行不同的任务,如:preview print pdf xls csv txt rtf img grd |
| | | // report: this.json_report, //report: JSON.stringify(json_report), |
| | | report: urlAddRandomNo('./static/grf/' + OpenTmp + '.grf'), |
| | | data: this.json_data //data: JSON.stringify(json_data) |
| | | }; |
| | | webapp_ws_ajax_run(args); |
| | | // var reportViewer = rubylong.grhtml5.insertReportViewer("report_holder", "./static/grf/销售出库单.grf", this.json_data); |
| | | // reportViewer.start(); |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | sql = "exec h_p_Kf_SellOutBillList_PrintSellOutBill " + this.handleMessage.linterid.toString() |
| | | } else if (this.$route.query.Type == 'HGy_BarCodeBill') { |
| | | apIUrl = '/CommonModel/searchMethod' |
| | | axios.get(this.baseURL + apIUrl, { |
| | | params: { |
| | | "sql": "select * from h_v_IF_BarCodeBillList where hmainid in(" + this.handleMessage.linterid.toString() + ") order by hmainid desc", |
| | | "user": sessionStorage["HUserName"], |
| | | "ModRightNameCheck": '' |
| | | // , "HSubID": data[i].hsubid |
| | | }, |
| | | }).then(response => { |
| | | let result = response.data |
| | | this.json_data.recordset = result.data |
| | | //参数具体说明请参考帮助文档中的“WEB报表(B/S报表)->WEB报表客户端->启动参数说明”部分 |
| | | var args = { |
| | | type: "preview", //设置不同的属性可以执行不同的任务,如:preview print pdf xls csv txt rtf img grd |
| | | // report: this.json_report, //report: JSON.stringify(json_report), |
| | | report: urlAddRandomNo('./static/grf/' + OpenTmp + '.grf'), |
| | | data: this.json_data //data: JSON.stringify(json_data) |
| | | }; |
| | | console.log(args,this.json_data) |
| | | webapp_ws_ajax_run(args); |
| | | // var reportViewer = rubylong.grhtml5.insertReportViewer("report_holder", "./static/grf/销售出库单.grf", this.json_data); |
| | | // reportViewer.start(); |
| | | }).catch(error => { |
| | | console.log(22222, error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | sql = "select * from h_v_IF_BarCodeBillList where hmainid in(" + this.handleMessage.linterid.toString() + ") order by hmainid desc" |
| | | }else if (this.$route.query.Type == 'HPOInStockBill') { |
| | | sql = "select * from h_v_Sc_PrintMouldProdOutBillList where hmainid=" + this.handleMessage.linterid.toString()+ " order by hmainid" |
| | | } |
| | | axios.get(this.baseURL + '/CommonModel/searchMethod', { |
| | | params: { |
| | | "sql": sql, |
| | | "user": sessionStorage["HUserName"], |
| | | "ModRightNameCheck": '' |
| | | // , "HSubID": data[i].hsubid |
| | | }, |
| | | }).then(response => { |
| | | let result = response.data |
| | | this.json_data.recordset = result.data |
| | | //参数具体说明请参考帮助文档中的“WEB报表(B/S报表)->WEB报表客户端->启动参数说明”部分 |
| | | var args = { |
| | | type: "preview", //设置不同的属性可以执行不同的任务,如:preview print pdf xls csv txt rtf img grd |
| | | // report: this.json_report, //report: JSON.stringify(json_report), |
| | | report: urlAddRandomNo('./static/grf/' + OpenTmp + '.grf'), |
| | | data: this.json_data //data: JSON.stringify(json_data) |
| | | }; |
| | | console.log(args, this.json_data) |
| | | webapp_ws_ajax_run(args); |
| | | // var reportViewer = rubylong.grhtml5.insertReportViewer("report_holder", "./static/grf/销售出库单.grf", this.json_data); |
| | | // reportViewer.start(); |
| | | }).catch(error => { |
| | | console.log(22222, error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | |
| | | } |
| | | }, |
| | |
| | | placeholder="请输入物料代码" |
| | | style="width: 160px" |
| | | /> |
| | | <el-button type="primary" @click="handleResCnz" style="margin-left: 10px">重新同步</el-button> |
| | | <el-button type="primary" size="mini" @click="handleResCnz" style="margin-left: 10px">重新同步</el-button> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> |
| | | <el-button @click="resetQuery">重置</el-button> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-form :model="queryParams" ref="filterForm"> |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in visibleColumns" |
| | | :key="index" |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in visibleColumns" |
| | | :key="index" |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in visibleColumns" |
| | | :key="index" |
| | |
| | | placeholder="请选择" |
| | | style="width: 100%" |
| | | > |
| | | <el-option value="0" label=""></el-option> |
| | | <!-- <el-option value="0" label=""></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="mini" |
| | | @click="handleImport" |
| | | >导入</el-button |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-download" |
| | | size="mini" |
| | | @click="handleExport" |
| | | >导出</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-document" |
| | | size="mini" |
| | | @click="handleNumAdd" |
| | | >流水号新增</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAdd" |
| | | >新增</el-button |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-document-copy" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleCopy" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleEdit" |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleDelete" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-check" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleAudit(0)" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="success" |
| | | plain |
| | | icon="el-icon-close" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleAudit(1)" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-turn-off" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleStop(0)" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="warning" |
| | | plain |
| | | icon="el-icon-open" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleStop(1)" |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="info" |
| | | plain |
| | | icon="el-icon-setting" |
| | | size="mini" |
| | | @click="handleColumnSetting" |
| | | >列设置</el-button |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="info" |
| | | plain |
| | | icon="el-icon-s-operation" |
| | | size="mini" |
| | | @click="handleButtonSetting" |
| | | >按钮设置</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-folder-checked" |
| | | size="mini" |
| | | @click="handleSaveScheme" |
| | | >保存方案</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-folder-opened" |
| | | size="mini" |
| | | @click="handleReadScheme" |
| | | >读取方案</el-button |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="info" |
| | | plain |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="handleRefresh" |
| | | >刷新</el-button |
| | |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="info" |
| | | plain |
| | | icon="el-icon-close" |
| | | size="mini" |
| | | @click="handleExit" |
| | | >退出</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | @click="handleCorrect" |
| | | >批改</el-button |
| | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | @click="handleCorrect2" |
| | | >批改(方案2)</el-button |
| | |
| | | append-to-body |
| | | > |
| | | <div style="margin-top: -20px"> |
| | | <el-button type="primary" @click="handleImportSubmit">导入数据</el-button> |
| | | <el-button type="primary" @click="upload.open = false">退 出</el-button> |
| | | <el-button type="primary" size="mini" @click="handleImportSubmit">导入数据</el-button> |
| | | <el-button type="primary" size="mini" @click="upload.open = false">退 出</el-button> |
| | | <el-upload |
| | | ref="upload" |
| | | :limit="1" |
| | |
| | | :on-progress="handleFileUploadProgress" |
| | | :on-success="handleFileSuccess" |
| | | > |
| | | <el-button type="primary">文件上传</el-button> |
| | | <el-button type="primary" size="mini">文件上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | <el-table |
| | |
| | | HModel: null, |
| | | HOrgID: null, |
| | | HProject: null, |
| | | ColName: "0", |
| | | ColName1: "0", |
| | | ColName2: "0", |
| | | Comparator: "0", |
| | | Comparator1: "0", |
| | | Comparator2: "0", |
| | | ColName: "", |
| | | ColName1: "", |
| | | ColName2: "", |
| | | Comparator: "", |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | ColContent: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | |
| | | .then((response) => { |
| | | let data = response.data.data[0]; |
| | | this.user = data.Czymc; |
| | | |
| | | this.getOrganizations(); |
| | | this.queryParams.HOrgID = data.HUSEORGID; |
| | | this.getTreeData(); |
| | | this.getProjectOptions(); |
| | | this.getList(); |
| | | this.getDefaultFilterScheme(); |
| | | //this.getDefaultFilterScheme(); |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | |
| | | .then((response) => { |
| | | if (response.data.count == 1) { |
| | | this.organizationOptions = response.data.data; |
| | | if (this.organizationOptions.length > 0) { |
| | | this.queryParams.HOrgID = this.organizationOptions[0].ID; |
| | | } |
| | | // if (this.organizationOptions.length > 0) { |
| | | // this.queryParams.HOrgID = this.organizationOptions[0].ID; |
| | | // } |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | |
| | | }, |
| | | |
| | | handleRefresh() { |
| | | // 刷新时清除表格选择并重置相关状态,保证复制/编辑/删除/审核等按钮被禁用 |
| | | if (this.$refs.tableData && this.$refs.tableData.clearSelection) { |
| | | this.$refs.tableData.clearSelection(); |
| | | } |
| | | this.selectedRow = null; |
| | | this.ids = []; |
| | | this.single = true; |
| | | this.multiple = true; |
| | | this.getList(); |
| | | }, |
| | | |
| | |
| | | |
| | | |
| | | handleRowClick(row, column, event) { |
| | | if(this.openPage){ |
| | | this.$emit('deptEmit', row, 3) |
| | | } |
| | | if (this.checkIsIframe()) { |
| | | // 将当前选中的数据暴露到window中 |
| | | window.selectedRow = row; |
| | |
| | | // 行样式 |
| | | rowStyle({ row, rowIndex }) { |
| | | if (this.ids.includes(row.hmainid)) { |
| | | return { background: "#ecf5ff" }; |
| | | return { }; |
| | | // background: "#ecf5ff" |
| | | } |
| | | }, |
| | | |
| | | // 双击行 |
| | | handleDblclick(row, column, cell, event) { |
| | | if(this.openPage){ |
| | | this.$emit('deptEmitDb', row, 3) |
| | | } |
| | | if (this.checkIsIframe()) { |
| | | // IFrame 双击 返回当前双击的数据 |
| | | window.parent.iFrameMaterialCallback(row); |
| | |
| | | if (!this.single) { |
| | | this.selectedRow = selection[0]; |
| | | } |
| | | // if(this.openPage){ |
| | | // this.$emit('deptEmit', this.selectedRow, 3) |
| | | // } |
| | | }, |
| | | // 编辑关闭回调 |
| | | handleEditClose() { |
| | |
| | | <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="set_CheckBill(0)" :disabled="checkDisabled">审 核</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-form ref="form" :model="form" :rules="rules" label-width="100px"> |
| | | <el-tabs v-model="activeName" type="card"> |
| | | <el-tab-pane label="基本信息" name="first"> |
| | | <el-row> |
| | |
| | | </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 label="内部单据号" prop="HInnerBillNo"> |
| | | <el-input v-model="form.HInnerBillNo" placeholder="请输入内部单据号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | <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-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="往来单位" prop="HSupName"> |
| | | <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="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-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 = 'tuiliaoyuan')"></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="HManagerName"> |
| | | <el-input v-model="form.HManagerName" 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="HSourceBillType"> |
| | | <el-select v-model="form.HSourceBillType" placeholder="请选择" style="width: 100%"> |
| | | <!-- <el-option v-for="(item, index) in HSourceBillTypeList" :key="index" |
| | | :label="item.label" :value="item.value"> |
| | | </el-option> --> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="选单号" prop="HSourceBillNo"> |
| | | <el-input v-model="form.HSourceBillNo" placeholder="请输入选单号" disabled> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(openNum)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="摘要" prop="HExplanation"> |
| | | <el-input v-model="form.HExplanation" placeholder="请输入摘要" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | </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')" /> |
| | | <span>{{ scope.row.计量单位 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="仓库" width="120"> |
| | | <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;" |
| | | <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"> |
| | | <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;" |
| | | <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"> |
| | | <span>{{ scope.row.HMoney }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="采购金额" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HOrderPrice }}</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, 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.HBatchNo" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="备注" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HRemark" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="操作" width="55" fixed="right"> |
| | |
| | | import moment from 'moment'; |
| | | |
| | | export default { |
| | | name: 'Kf_StockOutRequestBill', |
| | | name: 'Kf_POStockInBackBill', |
| | | components: { Dept, Warehouse, Material, RowSettings, GyEmployee, GySupplier, GyStockPlace }, |
| | | props: { |
| | | OperationType: { type: Number, }, |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | HModName: "Kf_StockOutRequestBill", |
| | | HModName: "Kf_POStockInBackBill", |
| | | checkDisabled: true, |
| | | allVal: undefined, |
| | | zhiyuanType: '', |
| | | ckType: '', |
| | |
| | | deptform: {},//弹窗选中数据 |
| | | openData: false,//数据弹窗 |
| | | dialogTitle: '', |
| | | organizationList: [],//组织列表 |
| | | organizationList: JSON.parse(sessionStorage.getItem('organizationList')),//组织列表 |
| | | subDisabled: false,//编辑页面保存按钮是否禁用(true禁用,false可用) |
| | | // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3) |
| | | HInterID: null, |
| | |
| | | form: {}, |
| | | // 表单校验 |
| | | rules: { |
| | | |
| | | HDate: [ |
| | | { required: true, message: "日期不能为空", trigger: "blur" } |
| | | HEmpName: [ |
| | | { required: true, message: "请选择业务员!", trigger: "blur" } |
| | | ], |
| | | HExRate: [ |
| | | { required: true, message: "汇率不能为空", trigger: "blur" } |
| | | HDeptName: [ |
| | | { required: true, message: "请选择部门", trigger: "blur" } |
| | | ], |
| | | HSupName: [ |
| | | { required: true, message: "请选择供应商!", trigger: "blur" } |
| | | ], |
| | | HWHName: [ |
| | | { required: true, message: "请选择仓库!", trigger: "blur" } |
| | | ], |
| | | HSecManagerName: [ |
| | | { required: true, message: "请选择退料员!", trigger: "blur" } |
| | | ] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.fetchData() |
| | | this.getHSourceBillType() |
| | | this.getdata() |
| | | }, |
| | | methods: { |
| | | fetchData() { |
| | | axios.get(this.baseURL + "/Web/GetOrganizations", { |
| | | getHSourceBillType() { |
| | | axios.get(this.baseURL + "/Web/GetHSourceBillType", { |
| | | "HName": '采购退料单', "Num": 2 |
| | | }).then(response => { |
| | | console.log(response) |
| | | var HSourceBillTypes = ""; |
| | | if (response.data.count == 1) { |
| | | this.organizationList = response.data.data;//组织列表 |
| | | let data = response.data.data |
| | | for (var i = 0; i < data.length; i++) { |
| | | HSourceBillTypes += data[i].HSourceBillType + data[i].HSourceBillTypeName; |
| | | } |
| | | console.log(111, HSourceBillTypes) |
| | | } |
| | | }).catch(error => { |
| | | console.log(error) |
| | | |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | getdata() { |
| | | this.formShow = false |
| | | this.formLoading = true |
| | | if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) { |
| | | if (this.OperationType == 4) { |
| | | this.reset() |
| | | //新增获取单据号 |
| | | this.getHBillNo() |
| | | if (this.HSouceBillType == "1105") { |
| | | this.setInit_PushBill_ByPOInStockBackBill(); |
| | | } else if (this.HSouceBillType == "1201") { |
| | | this.setInit_PushBill_ByPOStockInBillInit(); |
| | | } |
| | | } else if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) { |
| | | this.handleAdd() |
| | | } else if (this.OperationType == 3 || this.copyType == 1) { |
| | | this.handleUpdate() |
| | | } |
| | | }, |
| | | //#region 下推页面初始化-退料通知单 |
| | | setInit_PushBill_ByPOInStockBackBill() { |
| | | //获取 |
| | | var data = getUrlVars_JSON().data; |
| | | var dataArray = []; |
| | | for (var i = 0; i < data.length; i++) { |
| | | var temp = this.getPushSource_POInStockBackInit(data[i].hmainid, data[i].hsubid); |
| | | if (temp != "none") { |
| | | dataArray.push(temp); |
| | | } else { |
| | | return; |
| | | } |
| | | } |
| | | this.form.HMainSourceInterID = 0 |
| | | this.form.HMainSourceEntryID = 0 |
| | | this.form.HMainSourceBillNo = "" |
| | | this.form.HMainSourceBillType = this.HSouceBillType |
| | | this.form.HDeptID = dataArray[0].HDeptID |
| | | this.form.HDeptName = dataArray[0].部门 |
| | | this.form.HManagerID = dataArray[0].HManagerID |
| | | this.form.HManagerName = dataArray[0].主管 |
| | | this.form.HWHID = dataArray[0].主表仓库ID == null ? 0 : dataArray[0].主表仓库ID |
| | | this.form.HWHName = dataArray[0].主表仓库 |
| | | this.form.HEmpID = dataArray[0].HEmpID |
| | | this.form.HEmpName = dataArray[0].业务员 |
| | | this.form.HSupID = dataArray[0].HSupID |
| | | this.form.HSupName = dataArray[0].供应商 |
| | | this.form.HCurID = dataArray[0].HCurID |
| | | this.form.HCurName = dataArray[0].币别 |
| | | this.form.HExRate = dataArray[0].汇率 |
| | | this.form.HAddress = data.交货地点 |
| | | this.form.HRemark = data.表头备注 |
| | | this.form.HInnerBillNo = data.内部单据号 |
| | | //子表 赋值 |
| | | this.editData = []; |
| | | for (var i = 0; i < dataArray.length; i++) { |
| | | this.editData.push( |
| | | { |
| | | "HMaterID": dataArray[i].HMaterID |
| | | , "物料代码": dataArray[i].物料代码 |
| | | , "物料名称": dataArray[i].物料名称 |
| | | , "规格型号": dataArray[i].规格型号 |
| | | , "HUnitID": dataArray[i].HUnitID |
| | | , "计量单位": dataArray[i].计量单位 |
| | | , "HWHID": dataArray[i].HWHID |
| | | , "发料仓库": dataArray[i].收料仓库 |
| | | , "HSPID": dataArray[i].HSPID |
| | | , "仓位名称": dataArray[i].仓位名称 |
| | | , "HSecUnitID": dataArray[i].HSecUnitID |
| | | , "辅助单位": dataArray[i].辅助单位 |
| | | , "HQty": dataArray[i].数量.toFixed(6) |
| | | , "HQtyMust": dataArray[i].数量.toFixed(6) |
| | | , "HPrice": dataArray[i].单价.toFixed(4) |
| | | , 'HDiscountRate': dataArray[i].折扣率 // |
| | | , 'HRelTaxPrice': "0" |
| | | , "HTaxRate": dataArray[i].税率 |
| | | , 'HTaxMoney': dataArray[i].税额 // |
| | | , "HMoney": dataArray[i].金额.toFixed(2) |
| | | , "HRemark": dataArray[i].表体备注 |
| | | , "HSourceInterID": dataArray[i].hmainid |
| | | , "HSourceEntryID": dataArray[i].hsubid |
| | | , "HSourceBillNo": dataArray[i].单据号 |
| | | , "HSourceBillType": dataArray[i].HBillType |
| | | , "HRelationQty": "0" |
| | | , "HRelationMoney": "0" |
| | | , 'HPOOrderInterID': "0" |
| | | , 'HPOOrderEntryID': "0" |
| | | , 'HPOOrderBillNo': "" |
| | | , 'HSeOrderTaxPrice': dataArray[i].含税单价.toFixed(4) |
| | | , "HSeOrderInterID": dataArray[i].hmainid |
| | | , "HSeOrderEntryID": dataArray[i].hsubid |
| | | , "HSeOrderBillNo": dataArray[i].单据号 |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | //#endregion |
| | | //#region 下推页面初始化-采购入库单 |
| | | setInit_PushBill_ByPOStockInBillInit() { |
| | | //获取 |
| | | var data = getUrlVars_JSON().data; |
| | | var dataArray = []; |
| | | for (var i = 0; i < data.length; i++) { |
| | | var temp = getPushSource_POStockInBillInit(data[i].hmainid, data[i].hsubid); |
| | | if (temp != "none") { |
| | | dataArray.push(temp); |
| | | } else { |
| | | return; |
| | | } |
| | | } |
| | | this.form.HInnerBillNo = dataArray[0].内部单据号 |
| | | this.form.HSupID = dataArray[0].HSupID |
| | | this.form.HSupName = dataArray[0].供应商 |
| | | this.form.HEmpID = dataArray[0].HEmpID |
| | | this.form.HEmpName = dataArray[0].业务员 |
| | | this.form.HWHID = dataArray[0].主表仓库ID |
| | | this.form.HWHName = dataArray[0].主表仓库 |
| | | this.form.HKeeperID = dataArray[0].HKeeperID |
| | | this.form.HKeeperName = dataArray[0].保管员 |
| | | this.form.HDeptName = dataArray[0].部门 |
| | | this.form.HDeptID = dataArray[0].HDeptID |
| | | this.form.HManagerID = dataArray[0].HManagerID |
| | | this.form.HManagerName = dataArray[0].负责人 |
| | | this.form.HExRate = dataArray[0].汇率 |
| | | this.form.HSourceBillType = this.HSouceBillType |
| | | //子表 赋值 |
| | | this.editData = []; |
| | | for (var i = 0; i < dataArray.length; i++) { |
| | | this.editData.push( |
| | | { |
| | | "HMaterID": dataArray[i].HMaterID |
| | | , "物料代码": dataArray[i].物料代码 |
| | | , "物料名称": dataArray[i].物料名称 |
| | | , "规格型号": dataArray[i].规格型号 |
| | | , "HUnitID": dataArray[i].HUnitID |
| | | , "计量单位": dataArray[i].计量单位 |
| | | , "HWHID": dataArray[i].HWHID |
| | | , "发料仓库": dataArray[i].收料仓库 |
| | | , "HSPID": dataArray[i].HSPID |
| | | , "仓位名称": dataArray[i].仓位名称 |
| | | , "HQty": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6) |
| | | , "HQtyMust": dataArray[i].实收数量.toFixed(6) - dataArray[i].关联数量.toFixed(6) |
| | | , "HPrice": dataArray[i].单价.toFixed(4) |
| | | , "HMoney": dataArray[i].金额.toFixed(2) |
| | | , "HOrderPrice": dataArray[i].采购金额 |
| | | , "HRemark": dataArray[i].表体备注 |
| | | , "HBatchNo": dataArray[i].批次 |
| | | , "HSourceInterID": dataArray[i].hmainid |
| | | , "HSourceEntryID": dataArray[i].hsubid |
| | | , "HSourceBillNo": dataArray[i].单据号 |
| | | , "HSourceBillType": dataArray[i].HBillType |
| | | , "HRelationQty": "0" |
| | | , "HRelationMoney": "0" |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | //#endregion |
| | | // 获取参数_传递的JSON格式参数 |
| | | getUrlVars_JSON() { |
| | | var datajson; |
| | |
| | | datajson = JSON.parse(decodeURI(arr)); |
| | | return datajson; |
| | | }, |
| | | //根据主内码与子内码获取源单销售订单数据 |
| | | getPushSourceBillInit(HSourceInterID, HSourceEntryID) { |
| | | axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', { |
| | | //根据主内码与子内码获取源单退料通知单数据 |
| | | getPushSource_POInStockBackInit(HSourceInterID, HSourceEntryID) { |
| | | var res = "none"; |
| | | axios.get(this.baseURL + '/Cg_POInStockBackBill/loadCg_POInStockBackBill_Push', { |
| | | params: { |
| | | "HInterID": HSourceInterID |
| | | , "HSubID": HSourceEntryID |
| | |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { // 说明验证成功了, |
| | | this.temp = result.data[0]; |
| | | res = result.data[0]; |
| | | } else { |
| | | this.temp = result.data; |
| | | res = result.data; |
| | | } |
| | | }).catch(error => { |
| | | res = "none"; |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | return res; |
| | | }, |
| | | // 根据主内码与子内码获取源单采购入库单数据 |
| | | getPushSource_POStockInBillInit(HSourceInterID, HSourceEntryID) { |
| | | var res = "none"; |
| | | axios.get(this.baseURL + '/Kf_POStockInBill/loadKf_POStockInBillEdit_Push', { |
| | | params: { |
| | | "HInterID": HSourceInterID |
| | | , "HSubID": HSourceEntryID |
| | | }, |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { // 说明验证成功了, |
| | | res = result.data[0]; |
| | | } else { |
| | | res = result.data; |
| | | } |
| | | }).catch(error => { |
| | | res = "none"; |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | return res; |
| | | }, |
| | | handleRowHide() { |
| | | this.rowHideShow = true |
| | |
| | | this.form.HWHName = deptRow.仓库名称; |
| | | } else if (this.ckType == 'zb') { |
| | | this.editData[this.zbIndex].HWHID = deptRow.HItemID; |
| | | this.editData[this.zbIndex].仓库 = deptRow.仓库名称; |
| | | this.editData[this.zbIndex].发料仓库 = deptRow.仓库名称; |
| | | } |
| | | this.warehouseShow = false |
| | | this.openData = false |
| | | } else if (num == 3) { |
| | | console.log(deptRow) |
| | | console.log(deptRow.计量单位名称) |
| | | 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].HUnitID = deptRow.HUnitID; |
| | | 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) { |
| | |
| | | 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.HManagerName = deptRow.职员名称 |
| | | this.form.HManagerID = deptRow.HItemID |
| | | } else if (this.zhiyuanType == 'tuiliaoyuan') { |
| | | this.form.HSecManagerName = deptRow.职员名称 |
| | | this.form.HSecManagerID = deptRow.HItemID |
| | | } |
| | |
| | | this.openData = false |
| | | } else if (num == 9) { |
| | | this.editData[this.zbIndex].HSPID = deptRow.HMainID; |
| | | this.editData[this.zbIndex].仓位 = deptRow.仓位名称; |
| | | this.editData[this.zbIndex].仓位名称 = deptRow.仓位名称; |
| | | this.gyStockPlaceShow = false |
| | | this.openData = false |
| | | } |
| | |
| | | //销售出库单新增编辑表单初始化 |
| | | reset() { |
| | | this.form = { |
| | | HBillNo:'', |
| | | HInterID: 0, |
| | | 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:'', |
| | | HReceiveDate: moment(new Date()).format('YYYY-MM-DD'), |
| | | HAddress: '', |
| | | HInnerBillNo: '', |
| | | HEmpID: 0, |
| | | HEmpName: '', |
| | | HDeptName: '', |
| | | HDeptID: 0, |
| | | HSupID: 0, |
| | | HSupName: '', |
| | | HWHName: '', |
| | | HWHID: 0, |
| | | HSecManagerName: '', |
| | | HSecManagerID: 0, |
| | | HKeeperName: '', |
| | | HKeeperID: 0, |
| | | HManagerName: '', |
| | | HManagerID: 0, |
| | | HSourceBillType: '', |
| | | HExplanation: '', |
| | | HRemark: '', |
| | | HMaker: sessionStorage["HSupName"], |
| | | HChecker: '', |
| | | HCloseMan: '', |
| | | HUpDater: '', |
| | | HDeleteMan: '', |
| | | HMakeDate: moment(new Date()).format('YYYY-MM-DD'), |
| | | HCheckDate: '', |
| | | HCloseDate: '', |
| | | HUpDateDate: '', |
| | | HDeleteDate: '', |
| | | |
| | | } |
| | | this.editData = [] |
| | |
| | | }) |
| | | }, |
| | | getHBillNo() { |
| | | axios.get(this.baseURL + "/Web/GetMAXNum", { |
| | | axios.get(this.baseURL + "/WEBSController/GetMaxBillNoAndID_Json", { |
| | | params: { |
| | | HBillType: '1242' |
| | | HBillType: '1239' |
| | | } |
| | | }).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", { |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/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.HBillNo = data.单据号 |
| | | this.form.HDate = moment(data.日期).format('YYYY-MM-DD') |
| | | this.form.HInnerBillNo = data.内部单据号 |
| | | 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.HWHID = data.主表仓库ID |
| | | this.form.HWHName = data.主表仓库 |
| | | this.form.HSecManagerID = data.HSecManagerID |
| | | this.form.HSecManagerName = data.验收员 |
| | | this.form.HKeeperID = data.HKeeperID |
| | | this.form.HKeeperName = data.保管员 |
| | | this.form.HDeptName = data.部门 |
| | | this.form.HDeptID = data.HDeptID |
| | | this.form.HSourceBillType = 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.HManagerName = data.负责人 |
| | | this.form.HExRate = data.汇率 |
| | | this.form.HExplanation = data.摘要 |
| | | this.form.HRemark = data.表头备注 |
| | | this.form.HMaker = data.制单人 |
| | | this.form.HChecker = data.审核人 |
| | | this.form.HCloseMan = data.关闭人 |
| | | this.form.HUpDater = data.修改人 |
| | | this.form.HDeleteDate = data.作废人 |
| | | this.form.HMakeDate = data.制单日期 == null ? "" : moment(data.制单日期).format('YYYY-MM-DD hh:mm:ss') |
| | | this.form.HCheckDate = data.审核日期 == null ? "" : moment(data.审核日期).format('YYYY-MM-DD hh:mm:ss') |
| | | this.form.HCloseDate = data.关闭日期 == null ? "" : moment(data.关闭日期).format('YYYY-MM-DD hh:mm:ss') |
| | | this.form.HUpDateDate = data.修改日期 == null ? "" : moment(data.修改日期).format('YYYY-MM-DD hh:mm:ss') |
| | | this.form.HDeleteDate = data.作废日期 == null ? "" : moment(data.作废日期).format('YYYY-MM-DD hh:mm:ss') |
| | | 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') |
| | | "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].实收数量, "HQtyMust": result.data[i].应收数量, "HRemark": result.data[i].表体备注, "HPrice": result.data[i].单价, "HMoney": result.data[i].金额, "HOrderPrice": result.data[i].采购金额, "HWHID": result.data[i].HWHID, "发料仓库": result.data[i].收料仓库, "HSPID": result.data[i].HSPID, "仓位名称": result.data[i].仓位名称, |
| | | "HBatchNo": result.data[i].批次, |
| | | "HSourceBillNo": result.data[i].源单单号, //源单号 |
| | | "HSourceBillType": result.data[i].源单类型, //源单类型 |
| | | "HSourceInterID": result.data[i].源单主内码, //源单主内码 |
| | | "HSourceEntryID": result.data[i].源单子内码 //源单子内码 |
| | | |
| | | } |
| | | ); |
| | | } |
| | |
| | | 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": "" |
| | | "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HQty": "", "HRemark": "", |
| | | "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "发料仓库": "", |
| | | "HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0, |
| | | "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "", |
| | | "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0, |
| | | } |
| | | if (index) { |
| | | this.editData.splice(index, 0, obj); |
| | |
| | | } |
| | | }, |
| | | |
| | | // 编辑提交保存 |
| | | //#region 保存按钮 |
| | | submitForm() { |
| | | //#region 判断源单状态 |
| | | if (this.OperationType == 1 || this.OperationType == 4) { |
| | | if (this.form.HSourceBillType == "1105") { |
| | | for (var i = 0; i < this.editData.length; i++) { |
| | | var HSourceBillData = ""; |
| | | var HSourceBillData = this.getPushSource_POInStockBackInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID); //获取源单数据 |
| | | if (HSourceBillData != "none") { |
| | | if (HSourceBillData == null) { |
| | | this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!"); |
| | | return; |
| | | } else if (HSourceBillData.状态 != "已审核") { |
| | | var err = "保存失败!原因:第" + (i + 1) + "行-源单单据状态为“" + HSourceBillData.状态 + "”,不允许保存!"; |
| | | this.$modal.msgError(err); |
| | | return; |
| | | } else if (HSourceBillData.行状态 == "已关闭") { |
| | | this.$modal.msgError("保存失败!第" + (i + 1) + "行:该行记录行状态为'已关闭'状态!"); |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | } |
| | | } else if (this.form.HSourceBillType == "1201") { |
| | | for (var i = 0; i < this.editData.length; i++) { |
| | | var HSourceBillData = ""; |
| | | var HSourceBillData = this.getPushSource_POStockInBillInit(this.editData[i].HSourceInterID, this.editData[i].HSourceEntryID); //获取源单数据 |
| | | if (HSourceBillData != "none") { |
| | | if (HSourceBillData == null) { |
| | | this.$modal.msgError("保存失败!第" + (i + 1) + "行:未查询到源单单据!"); |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | this.$modal.msgError('当前不支持该源单!!') |
| | | return |
| | | } |
| | | } |
| | | this.set_SaveBill(); |
| | | }, |
| | | // 编辑提交保存 |
| | | set_SaveBill() { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | let fhck = false |
| | | this.editData.map((item, index) => { |
| | | if (!item.仓库) { |
| | | if (!item.物料代码) { |
| | | fhck = true |
| | | this.$modal.msgError("第" + (index + 1) + "行:仓库未选择!"); |
| | | this.$modal.msgError("第" + (index + 1) + "行:物料代码不能为空!"); |
| | | } |
| | | }) |
| | | this.$nextTick(() => { |
| | |
| | | var sMainSub = sMainStr + ';' + sSubStr + ';' + this.OperationType + ";" + sessionStorage["HUserName"] + ';' + sAllStr; |
| | | axios({ |
| | | method: 'post', |
| | | url: this.baseURL + "/Kf_StockOutRequestBill/StockOutRequestBillEdit", |
| | | url: this.baseURL + "/Kf_POStockInBackBill/POStockInBackBillEdit", |
| | | data: { |
| | | 'sMainSub': sMainSub |
| | | }, |
| | | }).then(response => { |
| | | if (response.data.count == 1) { |
| | | this.subDisabled = true//设置保存按钮不可用 |
| | | this.subDisabled = true//设置保存按钮不可用 |
| | | this.checkDisabled = false |
| | | this.$modal.msgSuccess(response.data.Message); |
| | | this.close() |
| | | // this.close() |
| | | } else { |
| | | this.$modal.msgError(response.data.Message); |
| | | } |
| | |
| | | }); |
| | | }, |
| | | // 反审核/审核数据 |
| | | set_CheckBill(num, form) { |
| | | var InterID = form.hmainid || form.HInterID |
| | | set_CheckBill(num) { |
| | | //逻辑审核方法 |
| | | axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", { |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/AuditProcessReportList", { |
| | | params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess('操作成功'); |
| | | this.close() |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | |
| | | </el-collapse> |
| | | </el-form> |
| | | <el-row :gutter="10" class="mb8" style="margin-top: 10px"> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddEdit((OperationType = 1))" |
| | | id="btn-Add">新增</el-button> |
| | | </el-col> |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 3))">编辑</el-button> |
| | |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CheckBill(0)">审核 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CheckBill(1)">反审核 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CloseBill(0)">关闭 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CloseBill(1)">反关闭 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_DropBill(0)">作废 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_DropBill(1)">反作废 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide">隐藏列设置</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-printer" size="mini" @click="get_PrintReport">打印</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-printer" size="mini" :disabled="single" |
| | | @click="get_BarCodeDetail">条码明细</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="tableBox" v-loading="loading"> |
| | |
| | | <div :style="item.style"> |
| | | <span v-if="column.property.includes('日期')">{{ |
| | | parseTime(row[column.property], "{y}-{m}-{d}") |
| | | }}</span> |
| | | }}</span> |
| | | <el-button type="text" @click="handleEdit(row, (OperationType = 3))" |
| | | v-else-if="column.property == '单据号'">{{ row.单据号 }}</el-button> |
| | | <span v-else>{{ row[column.label] }}</span> |
| | |
| | | <el-dialog title="编辑" :visible.sync="openEdit" width="1480px" append-to-body class="xsckdBox" |
| | | @close="close"> |
| | | <edit :OperationType="OperationType" :linterid="this.rowForm.hmainid" |
| | | :HSouceBillType="this.rowForm.HSourceBillType" :copyType="copyType" @editClose="editClose" |
| | | HSouceBillType="0" :copyType="copyType" @editClose="editClose" |
| | | v-if="editShow" /> |
| | | </el-dialog> |
| | | <PrintList :linterid="this.rowForm.hmainid" :MyMsg="this.rowForm.hmainid" Type="HPOInStockBill" |
| | | HModName="HPOInStockBill" @rowEditClose="rowSetClose" v-if="printListShow" /> |
| | | <BarCodeDetail :visible.sync="barCodeDetailShow" ref="barcodeDetail" /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <script> |
| | | import axios from "axios"; |
| | | import RowSettings from "@/views/component/rowSettings"; |
| | | import Edit from "@/views/warehouse/shipment/Kf_StockOutRequestBill.vue"; |
| | | import Edit from "@/views/purchase/postockInBack/Kf_POStockInBackBill.vue"; |
| | | import PrintList from "@/views/component/printList"; |
| | | import BarCodeDetail from '@/views/component/BarCodeDetail' //条码明细组件 |
| | | import moment from "moment"; |
| | |
| | | this.total = data1.count; |
| | | var data = []; //列字段数据 |
| | | var col = []; |
| | | var totalArray = ["金额","采购金额","应退数量","实退数量"]; |
| | | var totalArray = ["金额", "采购金额", "应退数量", "实退数量"]; |
| | | //给空的数组赋值 |
| | | for (var key in data1.list) { |
| | | //循序遍历数组 |
| | |
| | | }); |
| | | }).catch(() => { }); |
| | | }, |
| | | set_CheckBill(num) { |
| | | //逻辑审核方法 |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/AuditProcessReportList", { |
| | | params: { "HInterID": this.rowForm.hmainid, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | set_CloseBill(num) { |
| | | //逻辑关闭方法 |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/CloseKf_POStockInBackBill", { |
| | | params: { "HInterID": this.rowForm.hmainid, "Type": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | set_DropBill(num) { |
| | | //逻辑作废方法 |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/DropKf_POStockInBackBill", { |
| | | params: { "HInterID": this.rowForm.hmainid, "Type": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //打印 |
| | | get_PrintReport() { |
| | | if (this.ids.length != 1) { |
| | | this.$modal.msgError("请选择一行数据"); |
| | | } else { |
| | | this.printListShow = true; |
| | | this.openPrintList = true; |
| | | // axios.get(this.baseURL + "/Kf_SellOutBill/CheckSellOutBill_IsExist", { |
| | | // params: { HInterID: this.rowForm.hmainid }, |
| | | // }) |
| | | // .then((response) => { |
| | | // var result = response.data; |
| | | // if (result.count == 1) { |
| | | // this.printListShow = true; |
| | | // this.openPrintList = true; |
| | | // // this.$router.push({ path:'/printList', query: { linterid: this.rowForm.hmainid,MyMsg:this.rowForm.hmainid,Type:'Kf_SellOutBillList' }}) |
| | | // } else { |
| | | // this.$modal.msgError(result.code + result.Message); |
| | | // } |
| | | // }) |
| | | // .catch((error) => { |
| | | // this.$modal.msgError("接口请求失败!"); |
| | | // }); |
| | | } |
| | | // var content= ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + data[0].hmainid.toString() + '&MyMsg=' + data[0].hmainid.toString() + '&Type=Kf_SellOutBillList', 'yes'] |
| | | }, |
| | | //#region 条码明细 |
| | | get_BarCodeDetail() { |
| | | // if (this.selectedRow.length !== 1) { |
| | | // this.$message.warning('请选择一行数据查看条码明细!') |
| | | // return |
| | | // } |
| | | this.barCodeDetailShow = true |
| | | this.$nextTick(() => { |
| | | this.$refs.barcodeDetail.open(this.rowForm) |
| | | }) |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CheckBill(0)">审核 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CheckBill(1)">反审核 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CloseBill(0)">关闭 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_CloseBill(1)">反关闭 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_DropBill(0)">作废 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" |
| | | @click="set_DropBill(1)">反作废 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide">隐藏列设置</el-button> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div :style="item.style"> |
| | | <span v-if="column.property.includes('日期')">{{ |
| | | parseTime(row[column.property], "{y}-{m}-{d}") |
| | | }}</span> |
| | | }}</span> |
| | | <el-button type="text" @click="handleEdit(row, (OperationType = 3))" |
| | | v-else-if="column.property == '单据号'">{{ row.单据号 }}</el-button> |
| | | <span v-else>{{ row[column.label] }}</span> |
| | |
| | | <script> |
| | | import axios from "axios"; |
| | | import RowSettings from "@/views/component/rowSettings"; |
| | | import Edit from "@/views/warehouse/shipment/Kf_StockOutRequestBill.vue"; |
| | | import Edit from "@/views/scMould/basicModeling/Gy_MaterialPackingRelation_Edit.vue"; |
| | | import PrintList from "@/views/component/printList"; |
| | | import BarCodeDetail from '@/views/component/BarCodeDetail' //条码明细组件 |
| | | import moment from "moment"; |
| | |
| | | }); |
| | | }).catch(() => { }); |
| | | }, |
| | | set_CheckBill(num) { |
| | | //逻辑审核方法 |
| | | axios.get(this.baseURL + "/Sc_MouldinventoryBill/CheckGy_MaterialMouldBillMain", { |
| | | params: { "HInterID": this.rowForm.hmainid, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | set_CloseBill(num) { |
| | | //逻辑关闭方法 |
| | | axios.get(this.baseURL + "/Gy_MaterialPackingRelation/CloseGy_MaterialPackingRelation", { |
| | | params: { "HInterID": this.rowForm.hmainid, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | set_DropBill(num) { |
| | | //逻辑作废方法 |
| | | axios.get(this.baseURL + "/Gy_MaterialPackingRelation/DeleteGy_MaterialPackingRelation", { |
| | | params: { "HInterID": this.rowForm.hmainid, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | this.$modal.msgSuccess('操作成功'); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| 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="submitForm" :disabled="subDisabled">保 存</el-button> |
| | | <el-button type="primary" @click="close">退 出</el-button> |
| | | <el-button type="primary" @click="set_CheckBill(0)" :disabled="checkDisabled">审 核</el-button> |
| | | <el-button type="primary" @click="set_CheckBill(1)" :disabled="abandoncheckDisabled">反审核</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="HProjectName"> |
| | | <el-input v-model="form.HProjectName" placeholder="请输入项目名称" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="客户" prop="HCusName"> |
| | | <el-input v-model="form.HCusName" placeholder="请输入客户" disabled> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(7)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="物料代码" prop="HMaterNumber"> |
| | | <el-input v-model="form.HMaterNumber" placeholder="请输入物料代码" disabled> |
| | | <el-button slot="append" icon="el-icon-search" |
| | | @click="openDataDialog(3)"></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="物料名称" prop="HMaterName"> |
| | | <el-input v-model="form.HMaterName" placeholder="请输入物料名称" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="规格型号" prop="HMaterModel"> |
| | | <el-input v-model="form.HMaterModel" placeholder="请输入规格型号" disabled /> |
| | | </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-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="组织" prop="HOrgID" label-width="128px"> |
| | | <el-select v-model="form.HOrgID" placeholder="请选择" disabled> |
| | | <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" |
| | | :value="item.ID"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </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.HMouldNumber" placeholder="请输入包装容器代码" |
| | | @keyup.native.f7="openDataDialog(8, scope.row)" |
| | | @dblclick.native="openDataDialog(8, scope.row)" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="包装容器名称" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldName }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="包装容器分类" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldType }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="包装容器用途" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldPurpose }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="包装容器长度" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldLength }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="包装容器高度" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldHeight }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="折叠高度" width="120"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.HMouldFoldHeight }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="容器包装产品数量" width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-input-number v-model="scope.row.HSNP" :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-select v-model="scope.row.HTransPackFlag" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="否" :value='0' /> |
| | | <el-option label="是" :value='1' /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="发货容器标记" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.HSendPackFlag" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="否" :value='0' /> |
| | | <el-option label="是" :value='1' /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="默认周转容器标记" width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.HDefaultTransPackFlag" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="否" :value='0' /> |
| | | <el-option label="是" :value='1' /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="默认发货容器标记" width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.HDefaultSendPackFlag" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="否" :value='0' /> |
| | | <el-option label="是" :value='1' /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="启用标记" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.HUseFlag" placeholder="请选择" style="width: 100%"> |
| | | <el-option label="否" :value='0' /> |
| | | <el-option label="是" :value='1' /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" label="备注" width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.HRemark" /> |
| | | </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" /> |
| | | <GyCustomer @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyCustomerShow" /> |
| | | <GyMould @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyMouldShow" /> |
| | | |
| | | <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 GyCustomer from '@/views/GyCustomer' |
| | | import GyMould from '@/views/scMould/basicModeling/Gy_MouldFileList.vue' |
| | | import moment from 'moment'; |
| | | export default { |
| | | name: 'Kf_StockOutRequestBill', |
| | | components: { Dept, Warehouse, Material, RowSettings, GyEmployee, GySupplier, GyStockPlace, GyCustomer, GyMould }, |
| | | props: { |
| | | OperationType: { type: Number, }, |
| | | linterid: { type: Number, }, |
| | | HSouceBillType: { type: String, }, |
| | | propsData: { type: String, }, |
| | | copyType: { type: Number, }, |
| | | }, |
| | | data() { |
| | | return { |
| | | HModName: "Kf_StockOutRequestBill", |
| | | checkDisabled: true, |
| | | abandoncheckDisabled: true, |
| | | 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, |
| | | gyCustomerShow: false, |
| | | gyMouldShow: false, |
| | | deptform: {},//弹窗选中数据 |
| | | openData: false,//数据弹窗 |
| | | dialogTitle: '', |
| | | organizationList: JSON.parse(sessionStorage.getItem('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: { |
| | | HCusName: [ |
| | | { required: true, message: "客户不能为空", trigger: "blur" } |
| | | ], |
| | | HMaterNumber: [ |
| | | { required: true, message: "物料信息不能为空", trigger: "blur" } |
| | | ] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getdata() |
| | | }, |
| | | methods: { |
| | | 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||deptRow.hmainid) { |
| | | if (num == 3) { |
| | | this.form.HMaterID = deptRow.HItemID; |
| | | this.form.HMaterNumber = deptRow.物料代码; |
| | | this.form.HMaterName = deptRow.物料名称; |
| | | this.form.HMaterModel = deptRow.规格型号 |
| | | this.materialShow = false |
| | | this.openData = false |
| | | } else if (num == 7) { |
| | | this.form.HCusName = deptRow.客户名称 |
| | | this.form.HCusID = deptRow.HItemID |
| | | this.gyCustomerShow = false |
| | | this.openData = false |
| | | } else if (num == 8) { |
| | | this.editData[this.zbIndex].HMouldID = deptRow.hmainid; |
| | | this.editData[this.zbIndex].HMouldNumber = deptRow.模具编号; |
| | | this.editData[this.zbIndex].HMouldName = deptRow.模具名称; |
| | | this.gyMouldShow = 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 = { |
| | | HInterID: 0, |
| | | HBillNo: '', |
| | | HDate: moment(new Date()).format('YYYY-MM-DD'), |
| | | HProjectName: '', |
| | | HCusName: '', |
| | | HCusID: 0, |
| | | HMaterNumber: '', |
| | | HMaterID: 0, |
| | | HMaterName: '', |
| | | HMaterModel: '', |
| | | HOrgID: sessionStorage["OrganizationID"] - 0, |
| | | HRemark: '', |
| | | HMaker: sessionStorage["HSupName"], |
| | | HChecker: '', |
| | | HDeleteMan: '', |
| | | HUpDater: '', |
| | | HCloseMan: '', |
| | | HMakerDate: moment(new Date()).format('YYYY-MM-DD'), |
| | | 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: '3339' |
| | | } |
| | | }).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.toString() |
| | | axios.get(this.baseURL + "/Gy_MaterialPackingRelation/Gy_MaterialPackingRelationEditList", { |
| | | params: { 'HInterID': rowHmainid, "user": sessionStorage["HUserName"] } |
| | | }).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() |
| | | } else { |
| | | this.form.HInterID = data.HInterID |
| | | 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.checkDisabled = false |
| | | this.abandoncheckDisabled = false |
| | | } |
| | | this.form.HCusID = data.HCusID |
| | | this.form.HCusName = data.客户 |
| | | this.form.HProjectName = data.项目名称 |
| | | this.form.HMaterID = data.HMaterID |
| | | this.form.HMaterNumber = data.物料代码 |
| | | this.form.HMaterName = data.物料名称 |
| | | this.form.HMaterModel = data.物料型号 |
| | | this.form.HRemark = data.备注 |
| | | this.form.HOrgID = data.HOrgID |
| | | this.editData = result.data |
| | | } |
| | | 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 = { |
| | | "HMouldID": 0, |
| | | "HMouldNumber": "", |
| | | "HMouldName": "", |
| | | "HMouldType": "", |
| | | "HMouldPurpose": "", |
| | | "HMouldLength": 0, |
| | | "HMouldWidth": 0, |
| | | "HMouldHeight": 0, |
| | | "HMouldFoldHeight": 0, |
| | | "HSNP": 0, |
| | | "HTransPackFlag": 0, |
| | | "HSendPackFlag": 0, |
| | | "HDefaultTransPackFlag": 0, |
| | | "HDefaultSendPackFlag": 0, |
| | | "HUseFlag": 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.HMouldID) { |
| | | fhck = true |
| | | this.$modal.msgError("第" + (index + 1) + "行:包装容器不能为空!"); |
| | | } |
| | | }) |
| | | var refSav = ""; |
| | | if (this.OperationType == 1 || this.OperationType == 2) { |
| | | refSav = "Add"; |
| | | } |
| | | if (this.OperationType == 3) { |
| | | refSav = "Update"; |
| | | this.form.HUpdater = sessionStorage["HUserName"]; |
| | | this.form.HUpdaterDate = moment(new Date()).format('YYYY-MM-DD') |
| | | } |
| | | this.$nextTick(() => { |
| | | if (!fhck) { |
| | | var sMainStr = JSON.stringify(this.form); |
| | | var sSubStr = JSON.stringify(this.editData); |
| | | var sMainSub = sMainStr + ';' + sSubStr + ';' + refSav + ";" + sessionStorage["HUserName"]; |
| | | axios({ |
| | | method: 'post', |
| | | url: this.baseURL + "/Gy_MaterialPackingRelation/SaveGy_MaterialPackingRelation", |
| | | data: { |
| | | 'sMainSub': sMainSub |
| | | }, |
| | | }).then(response => { |
| | | if (response.data.count == 1) { |
| | | this.subDisabled = true//设置保存按钮不可用 |
| | | this.checkDisabled = false |
| | | this.$modal.msgSuccess(response.data.Message); |
| | | // this.close() |
| | | } else { |
| | | this.$modal.msgError(response.data.Message); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | // 反审核/审核数据 |
| | | set_CheckBill(num) { |
| | | //逻辑审核方法 |
| | | axios.get(this.baseURL + "/Sc_MouldinventoryBill/CheckGy_MaterialMouldBillMain", { |
| | | params: { "HInterID": this.form.HInterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.checkDisabled = true |
| | | this.abandoncheckDisabled = false |
| | | 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 |
| | | this.gyCustomerShow = false |
| | | this.gyMouldShow = false |
| | | }, |
| | | // 打开数据列表弹窗 |
| | | openDataDialog(num, row) { |
| | | //num1部门,2出库仓库,3物料,4销售员 |
| | | if (row) { |
| | | this.zbIndex = row.index - 1 |
| | | } |
| | | this.showReset() |
| | | if (num == 3) { |
| | | this.dialogTitle = '物料列表' |
| | | this.materialShow = true |
| | | this.openData = true |
| | | } else if (num == 7) { |
| | | this.dialogTitle = '客户列表' |
| | | this.gyCustomerShow = true |
| | | this.openData = true |
| | | } else if (num == 8) { |
| | | this.dialogTitle = '器具列表' |
| | | this.gyMouldShow = true |
| | | this.openData = true |
| | | } |
| | | |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | </style> |
| | |
| | | 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": "" |
| | | "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "仓库": "", |
| | | "HSPID": 0, "仓位": "", "HSecUnitID": 0, "库存辅单位": "", "HBASEUNITID": 0, "基本单位": "", |
| | | "HEXTAUXUNITID": 0, "辅单位": "", "HQtyMust": 0, "HQty": 0, "HPrice": 0, "HMoney": 0, "HRemark": "" |
| | | } |
| | | if (index) { |
| | | this.editData.splice(index, 0, obj); |