Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
| | |
| | | delBtn: false, |
| | | align: 'center', |
| | | addBtn: false, |
| | | addBtnText: '添加行', |
| | | addRowBtn: true, |
| | | refreshBtn: false, // 是否显示刷新按钮 |
| | | columnBtn: false, // 是否显示显影按钮H |
| | |
| | | label: '收货地址', |
| | | prop: 'shippingAddress', |
| | | cell: true, |
| | | type: 'input', |
| | | type: 'textarea', |
| | | minWidth: 200, |
| | | span: 24 |
| | | span: 24, |
| | | minRows: 1, |
| | | maxRows: 3 |
| | | }, { |
| | | label: '产品备注', |
| | | prop: 'remark', |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm).then((data) => { |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm).then((data) => { |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | <el-input v-model="dataForm.specs" placeholder="规格型号"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检验员" prop="examiner"> |
| | | <!-- <el-col :span="12"> --> |
| | | <!-- <el-form-item label="检验员" prop="examiner"> |
| | | <el-select |
| | | v-model="dataForm.examiner" |
| | | placeholder="请选择" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="检验规则" prop="testRuleId"> |
| | | <el-select |
| | | v-model="dataForm.testRuleId" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | <!-- </el-col> --> |
| | | <!-- <el-col :span="12"> |
| | | <el-form-item label="图号" prop="drawingNumber"> |
| | | <el-input |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- </el-row> |
| | | <el-row> --> |
| | | <!-- <el-col :span="12"> |
| | | <el-form-item label="电压等级" prop="voltageLevel"> |
| | | <el-input |
| | |
| | | placeholder="电压等级" |
| | | ></el-input> </el-form-item |
| | | ></el-col> --> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- </el-row> |
| | | <el-row> --> |
| | | <el-col :span="12" |
| | | ><el-form-item label="重量" prop="weight"> |
| | | <el-input v-model="dataForm.weight" placeholder="重量"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="版本号" prop="engChgLevel"> |
| | | <el-input |
| | |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="零件属性" prop="materialAttribute"> |
| | | <el-select v-model="dataForm.materialAttribute" style="width: 100%"> |
| | | <el-option |
| | | v-for="(item, index) in materialAttributeOptions" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-col :span="12"> |
| | | <el-form-item label="IFS启用批次管理" prop="lotTrackingIfs"> |
| | | <el-select |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | </el-row> |
| | | <!-- </el-row> --> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-row> --> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="零件属性" prop="materialAttribute"> |
| | | <el-select v-model="dataForm.materialAttribute" style="width: 100%"> |
| | | <el-option |
| | | v-for="(item, index) in materialAttributeOptions" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="备注" prop="description"> |
| | | <el-input |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm).then((data) => { |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | :show-overflow-tooltip="!item.noShowTip" |
| | | :width="inMemoryColWidth[item.prop] || item.width" |
| | | :prop="item.prop" |
| | | align="center" |
| | | > |
| | | <template slot="header" slot-scope="scope"> |
| | | <template v-if="item.isSearch"> |
| | |
| | | <template v-if="!item.render"> |
| | | <template v-if="item.formatter"> |
| | | <span v-if="item.isTag" style="text-align: center;"> |
| | | <el-tag style="width:50px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'"> |
| | | <el-tag style="width:60px;margin: 3px;" :type="scope.row[item.prop] == 0 ? 'success' : 'info'"> |
| | | <span v-html="item.formatter(scope.row, item, scope.row[item.prop])"></span> |
| | | </el-tag> |
| | | </span> |
| | |
| | | ref="customerOrderTable" |
| | | > |
| | | <template #toolbar> |
| | | <!-- <el-dropdown |
| | | v-if="permissions.customerorder_state_change" |
| | | @command="handleCommand" |
| | | > |
| | | <el-button> |
| | | 状态改变<i class="el-icon-arrow-down el-icon--right"></i> |
| | | </el-button> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | :command="item.command" |
| | | v-for="item in stateTagArr" |
| | | :disabled="item.disabled"> |
| | | {{ item.label }} |
| | | </el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> --> |
| | | <el-dropdown |
| | | v-if="permissions.customerorder_doc_relate" |
| | | @command="documentHandle" |
| | |
| | | > |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <!-- <el-button |
| | | v-if="permissions.customerorder_push_otc" |
| | | style="margin-left:10px;" |
| | | type="primary" |
| | | @click="pushOtc" |
| | | >推送ERP</el-button |
| | | > --> |
| | | <!-- <el-button |
| | | style="margin-left:10px;" |
| | | type="primary" |
| | | @click="importOutPutBatch" |
| | | >导入产出批次</el-button |
| | | > --> |
| | | <el-button |
| | | style="margin-left:10px;" |
| | | type="primary" |
| | | @click="()=>exportDialogVisible=true" |
| | | >导出台账</el-button |
| | | > |
| | | <!-- <el-button |
| | | v-if="permissions.plan_customerorder_return" |
| | | style="margin-left:10px;" |
| | | type="primary" |
| | | @click="returnOrder" |
| | | >订单退回</el-button |
| | | > --> |
| | | </template> |
| | | </ttable> |
| | | <!-- 弹窗, 日期选择 --> |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | minWidth: '100', |
| | | prop: 'sourceId', |
| | | label: '添加来源', |
| | | isTag: true, |
| | |
| | | ], |
| | | sourceIdList: [{ |
| | | label: '同步', |
| | | value: '0' |
| | | value: "0" |
| | | },{ |
| | | label: '手动', |
| | | value: '1' |
| | | value: "1" |
| | | }], |
| | | stockVisible: false, |
| | | partName: null, |
| | |
| | | <el-input v-model="dataForm.entityName" placeholder=""></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- <el-col :span="6"> |
| | | <el-form-item label="事业部" prop="salesDepartment"> |
| | | <el-input |
| | | v-model="dataForm.salesDepartment" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col :span="6"> |
| | | <el-form-item label="省份" prop="province"> |
| | | <el-input v-model="dataForm.province" placeholder=""></el-input> |
| | |
| | | </el-divider> |
| | | <div> |
| | | <avue-crud ref="crud" |
| | | class="l-mes" |
| | | show-hide="false" |
| | | :option="option" |
| | | :data="tableData"> |
| | |
| | | </template> |
| | | </avue-crud> |
| | | </div> |
| | | <!-- <div class="l-mes normal-form"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>零件号</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.partNo" |
| | | placeholder="" |
| | | readonly |
| | | > |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openPartDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>单位</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-select |
| | | v-model="dataForm.customerOrder.unit" |
| | | placeholder="" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in units" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>数量</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.buyQtyDue" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>电压等级</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.voltAgeClass" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>产品名称</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.productName" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>制造属性</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-select |
| | | v-model="dataForm.customerOrder.manufactureAttr" |
| | | placeholder="" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <el-option |
| | | v-for="item in manufactureAttrs" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>外护颜色</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.outerColor" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>零件规格</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.customerPartSpec" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>包装要求</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.packageRequire" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>质量要求</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.qualityRequire" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>生产需求说明</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.otherProductRequire" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>系统</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.divisionSystem" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>收货地址</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.shippingAddress" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>业务员</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-select v-model="dataForm.customerOrder.salesmanName" style="width:100%"> |
| | | <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staff_no" :label="item.staffName"/> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>盘长要求</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.lengthRequirement" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"> |
| | | <span>备注</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.remark" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <span>产品类型</span> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-input |
| | | v-model="dataForm.customerOrder.productType" |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | </div> --> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="visible = false">取消</el-button> |
| | |
| | | color: #c0c4cc; |
| | | margin: -1px 0; |
| | | } |
| | | .l-mes .el-input-group__append, |
| | | .l-mes .el-input-group__prepend { |
| | | padding: 0; |
| | | border-top: none; |
| | | border-right: none; |
| | | border-left: none; |
| | | border-radius: 0; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | .l-mes .el-input-group__append .el-button, |
| | | .l-mes .el-input-group__prepend .el-button { |
| | | padding: 0; |
| | | width: 25px; |
| | | border: none !important; |
| | | line-height: 28px; |
| | | color: #c0c4cc; |
| | | margin: -1px 0; |
| | | } |
| | | |
| | | .l-mes .el-input-group__append .el-button i, |
| | | .l-mes .el-input-group__prepend .el-button i { |
| | | vertical-align: middle; |
| | | } |
| | | </style> |
| | | <script> |
| | | import { addObj } from '@/api/plan/customer' |
| | |
| | | fun: this.createOutsourcingOrder |
| | | } */ |
| | | if (this.permissions.plan_masterproductionschedule_add) { |
| | | this.table.toolbar.push({ |
| | | /* this.table.toolbar.push({ |
| | | text: '新增', |
| | | type: 'primary', |
| | | fun: this.addMasterProductionSchedule, |
| | | disabled: false, |
| | | permitArr: [] |
| | | }) |
| | | }) */ |
| | | } |
| | | if (this.permissions.masterproductionschedule_create_outsourcing) { |
| | | // this.table.toolbar.push({ |
| | |
| | | // this.dataForm.partName = this.routingList.partName |
| | | // this.dataForm.partId = this.routingList.partId |
| | | // 制造订单form创建的,自动带出工序 |
| | | console.log(this.routingOptions); |
| | | if (param.selectedRoutingOperationId && this.routingOptions) { |
| | | const option = this.routingOptions.find( |
| | | (e) => e.id === param.selectedRoutingOperationId |
| | |
| | | } |
| | | </script> |
| | | <style> |
| | | .el-tag--small{ |
| | | .avue-crud__tip{ |
| | | display: none; |
| | | } |
| | | .basic-template-table .el-table__body .el-table__row td:first-child .cell { |
| | |
| | | break |
| | | } |
| | | } |
| | | // console.log(this.operationTasks) |
| | | // 若当前工单在工单列表未被找到且当前工单状态为已完成或已取消时,则将当前工单重置为空并抛出事件,否则不管 |
| | | if (isResetCurrOpertionTaskFlag) { |
| | | getOperationTaskById(taskId).then((res) => { |
| | |
| | | }, |
| | | personBoardList: { |
| | | handler(newValue, oldValue) { |
| | | console.log('personBoardList的watch') |
| | | this.staffList = [] |
| | | var userInfoFlag = true |
| | | var staff |
| | |
| | | // 给弹出框产量列表productList赋值 |
| | | this.productList = [] |
| | | const product = {} |
| | | console.log('userInfo', this.userInfo) |
| | | const currStaff = this.personBoardList.find((item) => { |
| | | return item.staffId == this.userInfo.staffId |
| | | }) |
| | |
| | | }, |
| | | createLodopPrintIze(data) { |
| | | const currYearAndMonth = getYearAndMonth() |
| | | console.log(data) |
| | | const qr = { |
| | | part_no: data.partNo, |
| | | lot_batch_no: data.ifsBatchNo, |
| | |
| | | this.LODOP.PRINT() |
| | | }, |
| | | createLodopPrint(data) { |
| | | console.log(data) |
| | | const qr = { |
| | | part_no: data.partNo, |
| | | lot_batch_no: data.ifsBatchNo, |
| | |
| | | }, |
| | | saveList() { |
| | | const list = JSON.parse(JSON.stringify(this.productOutputList)) |
| | | console.log(`output->list`, list) |
| | | const data = [] |
| | | list.forEach((el) => { |
| | | if (el.isEdit) { |
| | |
| | | <h2 v-else>编辑-产品检验单</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | | <el-button @click="addTestProject" v-if="processInspectVo.id==null">生成检验项目</el-button> |
| | | <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id==null">生成检验项目</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | |
| | | <el-col :span="6"> |
| | | <el-form-item label="订单号:"> |
| | | <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" |
| | | v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" /> |
| | | v-model="processInspectVo.orderNumber" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="报工单号:"> |
| | | <el-input disabled v-model="processInspectVo.productNo" |
| | | placeholder="请输入报工单号:" autocomplete="off" /> |
| | | <el-input disabled v-model="processInspectVo.productNo" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="客户名称:"> |
| | | <el-input disabled v-model="processInspectVo.prname" |
| | | placeholder="请输入客户名称" autocomplete="off" /> |
| | | <el-input disabled v-model="processInspectVo.prname" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工程名称:"> |
| | | <el-input disabled v-model="processInspectVo.sname" |
| | | placeholder="请输入工程名称" autocomplete="off" /> |
| | | <el-input disabled v-model="processInspectVo.sname" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产品编码:"> |
| | | <el-input disabled v-model="processInspectVo.mcode" |
| | | placeholder="请输入产品编码" autocomplete="off" /> |
| | | <el-form-item label="产品编号:"> |
| | | <el-input disabled v-model="processInspectVo.mcode" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input disabled v-model="processInspectVo.specificationsModel" |
| | | placeholder="请输入规格型号" autocomplete="off" /> |
| | | <el-input disabled v-model="processInspectVo.specificationsModel" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | { |
| | | minWidth: '120', |
| | | prop: 'materialCode', |
| | | label: '产品编码', |
| | | label: '产品编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | |
| | | }, |
| | | ], |
| | | toolbar: [ |
| | | /* { |
| | | text: '新增', |
| | | type: 'primary', |
| | | fun: this.addOrUpdateHandle |
| | | }, |
| | | { |
| | | text: '导出', |
| | | type: 'primary', |
| | | fun: this.exportExcel |
| | | }*/ |
| | | { |
| | | text: '下载检验报告', |
| | | type: 'primary', |
| | | fun: this.downloadProReport |
| | | } |
| | | ], |
| | | operator: [{ |
| | | text: '打印', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.showPrint, |
| | | show: { |
| | | val: [ |
| | | '1', |
| | | '0' |
| | | ], |
| | | key: 'result' |
| | | } |
| | | },{ |
| | | text: '作废', |
| | | type: 'text', |
| | | size: 'small', |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | downloadProReport(){ |
| | | this.$message.info("开发中...") |
| | | }, |
| | | //打印按钮 |
| | | printFun() { |
| | | const style = '@page {margin: 10mm 5mm; margin-bottom: 0;margin-top:0;} ' +'@media print {.title{font-size:30pt;font-weight: 400;font-family: 黑体;!important;}' ; |
| | |
| | | }, |
| | | data: requireData, |
| | | success: function(response) { |
| | | console.log('response', response) |
| | | const resJson = JSON.parse( |
| | | response |
| | | .replace(/\r/g, '') |
| | | .replace(/\n/g, '') |
| | | .replace(/\s*/g, '') |
| | | ) |
| | | console.log('resJson', resJson) |
| | | // TODO |
| | | if (resJson.message) { |
| | | const resData = resJson.data |
| | |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'materialCode', |
| | | label: '产品编号', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'material', |
| | | label: '产品名称', |
| | | isTrue: true, |
| | |
| | | <h2 v-else>编辑-过程检验单</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | | <el-button @click="addTestProject" v-if="processInspectVo.id == null">生成检验项目</el-button> |
| | | <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id == null">生成检验项目</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | | <div class="finishedProduct-basic"> |
| | | <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" label-position="right" |
| | | label-width="120px" style="width: 100%" size="small"> |
| | | label-width="120px" style="width: 100%" size="small" :rules="rules"> |
| | | <div class="formwrapper"> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="订单号:"> |
| | | <el-form-item label="订单号:" prop="orderNumber"> |
| | | <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" |
| | | v-model="processInspectVo.orderNumber" placeholder="请输入订单号" autocomplete="off" /> |
| | | </el-form-item> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产品编码:"> |
| | | <el-input disabled v-model="processInspectVo.materialCode" placeholder="请输入产品编码" |
| | | <el-form-item label="产品编号:"> |
| | | <el-input disabled v-model="processInspectVo.materialCode" placeholder="请输入产品编号" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="规格型号:"> |
| | | <el-input disabled v-model="processInspectVo.specs" placeholder="请输入规格型号" |
| | | <el-input disabled v-model="processInspectVo.specs" |
| | | autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.empiricalValueAddss[index]" |
| | | @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input> |
| | | @blur="changeState(scope.row)" placeholder="请输入检测值"></el-input> |
| | | <span v-if="resultVal != null && processInspectVo.id != null" |
| | | v-text="scope.row.empiricalValueAddss[index]"></span> |
| | | </el-tooltip> |
| | |
| | | <el-col v-else> |
| | | <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" |
| | | class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <!-- <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.empiricalValueAddss[index]" |
| | | @blur="changeState(scope.row, index)" placeholder="请输入检测值"></el-input> --> |
| | | <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择"> |
| | | <el-select style="width: 100%;" @change="changeState(scope.row)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="请选择"> |
| | | <el-option v-for="item in dataVal" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | |
| | | <el-table-column |
| | | label="检验描述" width="240" style="text-align: center;"> |
| | | <template slot-scope="scope"> |
| | | <el-col v-if="scope.row.itype === '1'"> |
| | | <el-col> |
| | | <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" |
| | | class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.inote" |
| | | @blur="changeState(scope.row, inote)" placeholder="请输入检验描述"></el-input> |
| | | @blur="changeState(scope.row)" placeholder="请输入检验描述"></el-input> |
| | | <span v-if="resultVal != null && processInspectVo.id != null" |
| | | v-text="scope.row.inote"></span> |
| | | </el-tooltip> |
| | | </el-col> |
| | | <el-col v-else> |
| | | <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null" |
| | | class="item" effect="dark" content="请先选择设备!" placement="top-start"> |
| | | <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.inote" |
| | | @blur="changeState(scope.row, inote)" placeholder="请输入检测值"></el-input> |
| | | <!-- <el-select style="width: 100%;" @change="changeState(scope.row, inote)" :disabled="scope.row.eId == null" v-model="scope.row.inote" placeholder="请选择"> |
| | | <el-option v-for="item in dataVal" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> --> |
| | | <span v-if="resultVal != null && processInspectVo.id != null" |
| | | v-text="scope.row.inote"></span> |
| | | </el-tooltip> |
| | | </el-col> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="结论" fixed="right" min-width="100"> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | rules: { |
| | | orderNumber: [{required:true,message:'订单号不能为空',trigger:'blur'}] |
| | | }, |
| | | dataVal: [{ |
| | | label: '是', |
| | | value: '是' |
| | |
| | | proInsNo: null, |
| | | material: null, |
| | | materialCode: null, |
| | | orderNumber: "ZTTIC20230001", |
| | | orderNumber: null, |
| | | quantity: null, |
| | | specs: null, |
| | | unit: null, |
| | |
| | | arr = obj.inspectionValue.split(",") |
| | | } |
| | | obj.empiricalValueAddss = arr |
| | | if(obj.note){ |
| | | snote=obj.inote |
| | | } |
| | | if(!obj.inote){ |
| | | obj.inote = null |
| | | } |
| | | if (arr.length > this.empiricalValueAdd) { |
| | | this.empiricalValueAdd = arr.length |
| | | } |
| | |
| | | this.processInspectVo.material = sample.material |
| | | this.technologyList = sample.children |
| | | }, |
| | | changeState(row, index) { |
| | | changeState(row) { |
| | | if (row.iid != null && row.iid != '') { |
| | | let str = "" |
| | | row.empiricalValueAddss.forEach(e => { |
| | |
| | | }, |
| | | addTestProject() { |
| | | let val = this.processInspectVo |
| | | const _than = this |
| | | addProcess(val).then(res => { |
| | | let id = res.data.data |
| | | if (id != null) { |
| | | _than.processInspectVo.id = id |
| | | queryById(id).then(response => { |
| | | let proList = response.data.data.children |
| | | proList.forEach(item => { |
| | | item.iid = Math.random(); |
| | | if (item.children != undefined) { |
| | | item.children.forEach(obj => { |
| | | obj.inote = null |
| | | obj.empiricalValueAddss = [] |
| | | }) |
| | | } |
| | | }) |
| | | this.inspectionItems = proList |
| | | _than.inspectionItems = proList |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | |
| | | }) |
| | | }, |
| | | selectInfoByOrderId() { |
| | | chooseMater({ |
| | | orderNumber: this.processInspectVo.orderNumber |
| | | }).then(res => { |
| | | if (res.data.data != null) { |
| | | this.optionsSamplename = res.data.data.children |
| | | } else { |
| | | this.$message({ |
| | | message: '没有该订单号!', |
| | | type: 'warning' |
| | | }); |
| | | this.optionsSamplename = [] |
| | | this.processInspectVo.materialCode = null |
| | | this.processInspectVo.material = null |
| | | this.processInspectVo.specs = null |
| | | this.processInspectVo.unit = null |
| | | this.$refs.addInspectionform.validate(valid=>{ |
| | | if(valid){ |
| | | chooseMater({ |
| | | orderNumber: this.processInspectVo.orderNumber |
| | | }).then(res => { |
| | | if (res.data.data != null) { |
| | | this.optionsSamplename = res.data.data.children |
| | | } else { |
| | | this.$message({ |
| | | message: '没有该订单号!', |
| | | type: 'warning' |
| | | }); |
| | | this.optionsSamplename = [] |
| | | this.processInspectVo.materialCode = null |
| | | this.processInspectVo.material = null |
| | | this.processInspectVo.specs = null |
| | | this.processInspectVo.unit = null |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | <h2 v-else>编辑-原材料检验</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | | <el-button @click="save()" v-if="this.dataForm.id==null">保存</el-button> |
| | | <el-button @click="save()" type="primary" v-if="this.dataForm.id==null">保存</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } else { |
| | | addTestStandard(this.dataForm).then((data) => { |
| | |
| | | this.visible = false |
| | | this.isSubmit = false |
| | | this.$emit('refreshDataList') |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | this.isSubmit = false |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | <h2 v-if="!editable">查看-完整产品结构</h2> |
| | | </div> |
| | | <div class="btn-group header-right" v-if="editable"> |
| | | <el-button :disabled="isSubmit" v-thinclick="`dataFormSubmit`" |
| | | <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`" |
| | | >保存</el-button |
| | | > |
| | | </div> |
| | |
| | | // 按产品结构生成BOM |
| | | addByStructureHandle() { |
| | | addByStructure().then((res) => { |
| | | let result = Array.from(new Set(res.data.data)) |
| | | this.$message.success(result.join(',')) |
| | | // let result = Array.from(new Set(res.data.data)) |
| | | // this.$message.success(result.join(',')) |
| | | console.log(res.data.data); |
| | | let mes=""; |
| | | res.data.data.forEach(item=>{ |
| | | mes+=item |
| | | }) |
| | | this.$message({ |
| | | message: mes, |
| | | type: 'success', |
| | | dangerouslyUseHTMLString: true |
| | | }) |
| | | this.getData() |
| | | }) |
| | | // this.$message({ |
| | |
| | | <h2 v-if="!editable">查看-工艺文件</h2> |
| | | </div> |
| | | <div class="btn-group header-right" v-if="editable"> |
| | | <el-button @click="save()">保存</el-button> |
| | | <el-button type="primary" @click="save()">保存</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | |
| | | <h2>编辑-工序</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | | <el-button :disabled="isSubmit" v-thinclick="`dataFormSubmit`" |
| | | <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`" |
| | | >保存</el-button |
| | | > |
| | | </div> |
| | |
| | | <div class="page-main"> |
| | | <div class="operation-basic"> |
| | | <el-form |
| | | :inline="true" |
| | | style="width:100%" |
| | | :model="dataForm" |
| | | :rules="dataRule" |
| | | ref="dataForm" |
| | | label-width="100px" |
| | | class="l-mes form-content" |
| | | > |
| | | class="l-mes"> |
| | | <el-row class="first-row"> |
| | | <el-col :span="24"> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工序名称" prop="name"> |
| | | <el-input |
| | | style="width:100%" |
| | | v-model="dataForm.name" |
| | | placeholder="工序名称" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工序编号" prop="operationNo"> |
| | | <el-input |
| | | style="width:100%" |
| | | v-model="dataForm.operationNo" |
| | | placeholder="工序编号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="零件族" prop="partFamilyId"> |
| | | <el-select |
| | | v-model="dataForm.partFamilyId" |
| | | filterable |
| | | placeholder="请选择" |
| | | style="width: 100%;" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in this.partFamilyOptions" |
| | | :key="index" |
| | | :label="item.partFamilyName" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="工作中心" prop="workCenter"> |
| | | <el-select |
| | | v-model="dataForm.workCenter" |
| | | placeholder="工作中心" |
| | | style="width: 100%" |
| | | filterable |
| | | > |
| | | filterable > |
| | | <el-option |
| | | v-for="item in workCenterOptions" |
| | | :key="item.id" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="机器运转因素" prop="machRunFactor"> |
| | | <el-input |
| | | v-model="dataForm.machRunFactor" |
| | | placeholder="机器运转因素" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="机器设置时间" prop="machSetupTime"> |
| | | <el-input |
| | | v-model="dataForm.machSetupTime" |
| | | placeholder="机器设置时间" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="人工类别" prop="laborClassNo"> |
| | | <el-select |
| | | v-model="dataForm.laborClassNo" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="劳力运转因素" prop="laborRunFactor"> |
| | | <el-input |
| | | v-model="dataForm.laborRunFactor" |
| | | placeholder="劳力运转因素" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="劳力设置时间" prop="laborSetupTime"> |
| | | <el-input |
| | | v-model="dataForm.laborSetupTime" |
| | | placeholder="劳力设置时间" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="因素单位" prop="runTimeCodeDb"> |
| | | <el-select |
| | | v-model="dataForm.runTimeCodeDb" |
| | | placeholder="因素单位" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in runTimeCodeDbOptions" |
| | | :key="item.id" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="班组人员" prop="crewSize"> |
| | | <el-input |
| | | style="width:100%" |
| | | v-model="dataForm.crewSize" |
| | | placeholder="班组人员" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="外部工序项目" prop="outsideOpItem"> |
| | | <el-select |
| | | v-model="dataForm.outsideOpItem" |
| | | placeholder="外部工序项目" |
| | | style="width: 170px" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in outsideOpItemOptions" |
| | | :key="item.id" |
| | | :label='item.value + "-" + item.label ' |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input |
| | | v-model="dataForm.remark" |
| | | placeholder="备注" |
| | | style="width: 280px" |
| | | style="width: 100%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-row style="padding-top: 10px"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="配置项"> |
| | | <el-checkbox-group |
| | | v-model="checkboxGroup" |
| | | @change="checkboxGroupChange()" |
| | | > |
| | | <el-checkbox-button |
| | | label="productionCounting" |
| | | key="productionCounting" |
| | | >报工</el-checkbox-button |
| | | > |
| | | <el-checkbox-button label="daq" key="daq" |
| | | >采集</el-checkbox-button |
| | | > |
| | | <el-checkbox-button label="inspection" key="inspection" |
| | | >检验</el-checkbox-button |
| | | > |
| | | <el-checkbox-button |
| | | label="autoInspection" |
| | | key="autoInspection" |
| | | >自动报检</el-checkbox-button |
| | | > |
| | | <el-checkbox-button label="semiFinished" key="semiFinished" |
| | | >半成品</el-checkbox-button |
| | | > |
| | | <el-checkbox-button label="materialCost" key="materialCost" |
| | | >投料</el-checkbox-button |
| | | > |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-col :span="6"> |
| | | </el-col> |
| | | </el-row> --> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | |
| | |
| | | <style> |
| | | .operation-basic { |
| | | background-color: #fff; |
| | | height: 200px; |
| | | height: 130px; |
| | | display: flex; |
| | | padding: 20px 30px; |
| | | border: 1px solid #ddd; |
| | |
| | | <h2 v-if="!editable">查看-工艺路线</h2> |
| | | </div> |
| | | <div class="btn-group header-right" v-if="editable"> |
| | | <el-button :disabled="isSubmit" v-thinclick="`allSave`">保存</el-button> |
| | | <el-button :disabled="isSubmit" type="primary" v-thinclick="`allSave`">保存</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | | <div class="routing-basic"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="dataForm" |
| | | :rules="dataRule" |
| | | ref="dataForm" |
| | | label-width="100px" |
| | | style="width: 100%" |
| | | class="l-mes" |
| | | :disabled="!editable" |
| | | > |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item prop="routingNo" label="工艺编号"> |
| | | <el-col :span="6"> |
| | | <el-form-item style="width:100%" prop="routingNo" label="工艺编号"> |
| | | <el-input |
| | | style="width:100%" |
| | | v-model="dataForm.routingNo" |
| | | placeholder="工艺编号" |
| | | disabled |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="partNo" label="零件号"> |
| | | <el-input |
| | | style="width:100%" |
| | | v-model="dataForm.partNo" |
| | | placeholder="零件号" |
| | | disabled |
| | |
| | | ></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="partName" label="零件名称"> |
| | | <el-input |
| | | v-model="dataForm.partName" |
| | | placeholder="零件名称" |
| | | readonly |
| | | style="width: 300px" |
| | | style="width: 100%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item prop="description" label="描述"> |
| | | <el-input |
| | | v-model="dataForm.description" |
| | | placeholder="描述" |
| | | style="width: 280px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item prop="wireCore" label="线芯"> |
| | | <el-input |
| | | v-model="dataForm.wireCore" |
| | | placeholder="线芯" |
| | | style="width: 60px" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="BOM" prop="bomId"> |
| | | <el-select :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable> |
| | | <el-select style="width:100%" :disabled="dataForm.id != null" v-model="dataForm.bomId" placeholder="" filterable> |
| | | <el-option |
| | | v-for="item in bomList" |
| | | :key="item.id" |
| | | :label="item.number" |
| | | :value="item.id" |
| | | /> |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item prop="version" label="工艺版本"> |
| | | <el-input |
| | | v-model="dataForm.version" |
| | | placeholder="工艺版本" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="工艺类型" prop="bomTypeDb"> |
| | | <el-select |
| | | v-model="dataForm.bomTypeDb" |
| | | placeholder="请选择工艺类型" |
| | | style="width:100%" |
| | | @change="bomTypeDbChange" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in bomTypeDbOptions" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="逐步采用日期" prop="phaseInDate"> |
| | | <el-date-picker |
| | | v-model="dataForm.phaseInDate" |
| | |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="逐步淘汰日期" prop="phaseOutDate"> |
| | | <el-date-picker |
| | | v-model="dataForm.phaseOutDate" |
| | |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <!-- <el-form-item prop="alternativeNo" label="替代"> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item prop="description" label="描述"> |
| | | <el-input |
| | | v-model="dataForm.alternativeNo" |
| | | placeholder="替代" |
| | | v-model="dataForm.description" |
| | | placeholder="描述" |
| | | style="width: 100%" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item prop="alternativeDesc" label="替代描述"> |
| | | <el-input |
| | | v-model="dataForm.alternativeDesc" |
| | | placeholder="替代描述" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="已同步至IFS" prop="ifsSync"> |
| | | <span |
| | | style="width: 146px;display: inline-block;font-size:12px;font-weight:bold;" |
| | | >{{ dataForm.ifsSync ? '是' : '否' }}</span |
| | | > |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="主工艺" prop="master"> |
| | | <el-switch v-model="dataForm.master"> </el-switch> |
| | | </el-form-item> --> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | |
| | | wireCore: null |
| | | }, |
| | | dataRule: { |
| | | partName: [ |
| | | partNo: [ |
| | | { required: true, message: '零件不能为空', trigger: 'change' } |
| | | ], |
| | | bomTypeDb: [ |
| | |
| | | multiple |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"><em>导入装备数据</em></div> |
| | | <div class="el-upload__text"><em>导入产品结构</em></div> |
| | | <div class="el-upload__tip" slot="tip"> |
| | | 只能上传xlsx/xls文件,且不超过10M<el-button |
| | | type="text" |
| | | style="font-size:12px;" |
| | | @click="downZhuangbeiDataTemplate" |
| | | >下载模板</el-button |
| | | > |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | | <div> |
| | | <el-upload |
| | | style="margin-left:8px;display: inline;" |
| | | class="upload-demo" |
| | | drag |
| | | :headers="headers" |
| | | :action="shepinUploadInfo.url" |
| | | :beforeUpload="beforeAvatarUpload" |
| | | :limit="1" |
| | | :show-file-list="false" |
| | | :file-list="shepinfileList" |
| | | :data="shepinUploadInfo.uploadData" |
| | | :on-success="shepinFileSuccessUploadScan" |
| | | :on-error="handleError" |
| | | accept=".xlsx,.xls,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" |
| | | :auto-upload="true" |
| | | ref="shepinUploadScan" |
| | | multiple |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"><em>导入射频数据</em></div> |
| | | <div class="el-upload__tip" slot="tip"> |
| | | 只能上传xlsx/xls文件,且不超过10M<el-button |
| | | type="text" |
| | | style="font-size:12px;" |
| | | @click="downShepinDataTemplate" |
| | | >下载模板</el-button |
| | | ></el-button |
| | | > |
| | | </div> |
| | | </el-upload> |
| | |
| | | customUpload: true, |
| | | uploadInfo: { |
| | | // 是否展示上传EXCEL以及对应的url |
| | | isShow: false, |
| | | url: '/mes/structure/uploadExt' |
| | | isShow: true, |
| | | url: '/mes/structure/uploadExcelPlus' |
| | | }, |
| | | prelang: 'structure', |
| | | options: { |
| | |
| | | zhuangbeiUploadInfo: { |
| | | // 是否展示上传EXCEL以及对应的url |
| | | isShow: true, |
| | | url: '/mes/structure/uploadExt' |
| | | url: '/mes/structure/uploadExcelPlus' |
| | | }, |
| | | zhuangbeifileList: [], |
| | | shepinfileList: [], |
| | |
| | | this.$message.warning(response.msg) |
| | | } else { |
| | | this.$message({ |
| | | message: '上传成功', |
| | | type: 'success' |
| | | message: response.data, |
| | | type: 'success', |
| | | dangerouslyUseHTMLString: true |
| | | }) |
| | | this.getData() |
| | | } |
| | |
| | | <div style="height: 100%"> |
| | | <div class="page-header"> |
| | | <div class="header-left"> |
| | | <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a> |
| | | <a @click="goBack"><i class="icon-btn-back"></i></a> |
| | | <h2>编辑-产品结构</h2> |
| | | </div> |
| | | <div class="btn-group header-right"> |
| | | <el-button title="保存" :disabled="isSubmit" v-thinclick="`save`" |
| | | <el-button title="保存" type="primary" :disabled="isSubmit" v-thinclick="`save`" |
| | | >保存</el-button |
| | | > |
| | | </div> |
| | |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="结构类型" prop="bomTypeDb"> |
| | | <el-select |
| | | v-model="dataForm.bomTypeDb" |
| | | placeholder="请选择结构类型" |
| | | style="width:100%" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in bomTypeDbOptions" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | :key="index" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="替代" prop="alternativeNo"> |
| | | <el-input v-model="dataForm.alternativeNo"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="替代描述" prop="alternativeDesc"> |
| | | <el-input |
| | | type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 3 }" |
| | | v-model="dataForm.alternativeDesc" |
| | | ></el-input> |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="版本号" prop="version"> |
| | | <el-input v-model="dataForm.version" disabled></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input |
| | | type="textarea" |
| | |
| | | v-model="dataForm.remark" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="已同步至IFS" prop="ifsSync"> |
| | | <span |
| | | style="width: 146px;display: inline-block;font-size:12px;font-weight:bold;" |
| | | >{{ dataForm.ifsSync ? '是' : '否' }}</span |
| | | > |
| | | </el-form-item> --> |
| | | <!-- <el-form-item label="默认结构" prop="master"> |
| | | <el-checkbox v-model="dataForm.master"></el-checkbox> |
| | | </el-form-item> --> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | |
| | | size="medium" |
| | | class="blue-but" |
| | | @click="addNode()" |
| | | >添加 |
| | | >添加行 |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | |
| | | :data="nodeList" |
| | | :default-sort="{ prop: 'lineItemNo' }" |
| | | height="650" |
| | | :header-cell-style="{ color: '#999' }" |
| | | border |
| | | :header-cell-style="{ color: '#000' }" |
| | | :row-class-name="structureComponentRowClass" |
| | | class="l-mes" |
| | | > |
| | | <el-table-column |
| | | prop="lineItemNo" |
| | | label="行项号" |
| | | label="序号" |
| | | align="center" |
| | | width="70" |
| | | > |
| | |
| | | prop="operationName" |
| | | align="center" |
| | | > |
| | | <template scope="scope"> |
| | | <template scope="scope" > |
| | | <el-input |
| | | v-model="scope.row.operationName" |
| | | placeholder="请选择消耗工序" |
| | | v-if="scope.row.isUpdate" |
| | | style="width:90%" |
| | | v-model="scope.row.operationName" |
| | | placeholder="请选择消耗工序" |
| | | readonly |
| | | v-if="scope.row.isUpdate" |
| | | > |
| | | <el-button |
| | | slot="append" |
| | |
| | | <el-table-column label="零件号" prop="partNo" align="center"> |
| | | <template scope="scope"> |
| | | <el-input |
| | | style="width:90%" |
| | | :class="customClass[scope.$index]" |
| | | v-model="scope.row.partNo" |
| | | placeholder="请选择零件" |
| | |
| | | <el-table-column label="数量" prop="qpa" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | style="width:90%" |
| | | clearable |
| | | size="small" |
| | | v-model="scope.row.qpa" |
| | | placeholder="请填写数量" |
| | |
| | | <span v-show="!scope.row.isUpdate">{{ scope.row.qpa }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="单位" prop="unit" align="center"> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="盘数(盘)" prop="discNum" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | size="small" |
| | | v-model="scope.row.discNum" |
| | | placeholder="请填写盘数" |
| | | v-show="scope.row.isUpdate" |
| | | ></el-input> |
| | | <span v-show="!scope.row.isUpdate">{{ |
| | | scope.row.discNum |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> --> |
| | | <!-- <el-table-column label="图号" prop="drawingNumber" align="center"> |
| | | </el-table-column> --> |
| | | <el-table-column align="center" label="操作" width="85px"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | class="blue-but" |
| | | v-if="!scope.row.isUpdate" |
| | | v-if="!scope.row.isUpdate && scope.row.id!=null" |
| | | @click="editNode(scope.$index, scope.row)" |
| | | >编辑</el-button |
| | | > |
| | |
| | | type="text" |
| | | size="small" |
| | | class="blue-but" |
| | | v-if="scope.row.isUpdate" |
| | | v-if="scope.row.isUpdate && scope.row.id!=null" |
| | | :loading="nodeSaveLoading" |
| | | @click="addOrUpdateNode(scope.$index, scope.row)" |
| | | >保存</el-button |
| | |
| | | this.getBomTypeDbOptions() |
| | | }, |
| | | methods: { |
| | | goBack(){ |
| | | let isUnSave = false |
| | | const _than = this |
| | | _than.nodeList.forEach(e=>{ |
| | | if(e.isUpdate || e.id==null){ |
| | | isUnSave = true |
| | | } |
| | | }) |
| | | if(isUnSave){ |
| | | _than.$confirm('您还有未保存的子节点,确认离开吗?', '提示', { |
| | | confirmButtonText: '仍要离开', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | _than.$router.go(-1) |
| | | }).catch(() => {}); |
| | | }else{ |
| | | _than.$router.go(-1) |
| | | } |
| | | }, |
| | | // 查询结构类型字典 |
| | | getBomTypeDbOptions() { |
| | | remote('bom_type_db').then((response) => { |
| | |
| | | this.currRow = null |
| | | }, |
| | | save() { |
| | | const _than = this |
| | | this.isSubmit = true |
| | | this.$refs.dataForm.validate((valid) => { |
| | | _than.nodeList.forEach(e=>{ |
| | | e.version = _than.dataForm.version |
| | | }) |
| | | _than.dataForm.components = _than.nodeList |
| | | _than.$refs.dataForm.validate((valid) => { |
| | | if (valid) { |
| | | if (this.dataForm.id) { |
| | | putObj(this.dataForm) |
| | | if (_than.dataForm.id) { |
| | | putObj(_than.dataForm) |
| | | .then((response) => { |
| | | var data = response.data |
| | | if (data.code === 0) { |
| | | this.$message.success('保存成功') |
| | | _than.$message.success('保存成功') |
| | | _than.$nextTick(()=>{ |
| | | _than.init(_than.dataForm.id) |
| | | }) |
| | | } else { |
| | | this.$message.error('保存失败') |
| | | _than.$message.error('保存失败') |
| | | } |
| | | this.isSubmit = false |
| | | _than.isSubmit = false |
| | | }) |
| | | .catch(() => { |
| | | this.isSubmit = false |
| | | _than.isSubmit = false |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm) |
| | | addObj(_than.dataForm) |
| | | .then((response) => { |
| | | var data = response.data |
| | | if (data.code === 0) { |
| | | this.dataForm.id = data.data |
| | | this.$message.success('保存成功') |
| | | _than.dataForm.id = data.data |
| | | _than.$message.success('保存成功') |
| | | } else { |
| | | this.$message.error('保存失败') |
| | | _than.$message.error('保存失败') |
| | | } |
| | | this.isSubmit = false |
| | | _than.isSubmit = false |
| | | }) |
| | | .catch(() => { |
| | | this.isSubmit = false |
| | | _than.isSubmit = false |
| | | }) |
| | | } |
| | | } else { |
| | | this.isSubmit = false |
| | | _than.isSubmit = false |
| | | } |
| | | }) |
| | | }, |
| | |
| | | } |
| | | }, |
| | | delNode(index, row) { |
| | | if(row.id==null){ |
| | | this.nodeList.splice(index,1) |
| | | return |
| | | } |
| | | this.$confirm('是否确认删除零件号为' + row.partNo, '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | |
| | | .el-input__red { |
| | | border: 1px solid red; |
| | | } |
| | | .l-mes .el-input-group__append, |
| | | .l-mes .el-input-group__prepend { |
| | | padding: 0; |
| | | border-top: none; |
| | | border-right: none; |
| | | border-left: none; |
| | | border-radius: 0; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | .l-mes .el-input-group__append .el-button, |
| | | .l-mes .el-input-group__prepend .el-button { |
| | | padding: 0; |
| | | width: 25px; |
| | | border: none !important; |
| | | line-height: 28px; |
| | | color: #c0c4cc; |
| | | margin: -1px 0; |
| | | } |
| | | |
| | | .l-mes .el-input-group__append .el-button i, |
| | | .l-mes .el-input-group__prepend .el-button i { |
| | | vertical-align: middle; |
| | | } |
| | | </style> |
| | |
| | | <div class="mod-config"> |
| | | <basic-container> |
| | | <div style="margin-left: 15px;"> |
| | | <el-row> |
| | | <el-col :span="1"> |
| | | <div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <div |
| | | style="float: left;height: 18px;font-size: 14px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>零件</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="partNoStock" |
| | | placeholder="零件" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openPartDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1" :offset="1"> |
| | | <div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <div |
| | | style="float: left;height: 18px;font-size: 14px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>库位</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="locationNoStock" |
| | | placeholder="库位号" |
| | | @focus="openPicker(locationNoStock)" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <i |
| | | slot="suffix" |
| | | v-show="locationNoStock" |
| | | @click="clearForm(locationNoStock)" |
| | | class="el-input__icon el-icon-error err-style" |
| | | ></i> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openLocationDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <div style="display:flex;justify-content:flex-end;"> |
| | | <div |
| | | style="height: 18px;font-size: 14px;line-height: 18px;font-weight: bold;width:60px;" |
| | | > |
| | | <span>批次号</span> |
| | | </div> |
| | | <div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="partBatchNoStock" |
| | | placeholder="批次号" |
| | | @focus="openPicker(partBatchNoStock)" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <i |
| | | slot="suffix" |
| | | v-show="partBatchNoStock" |
| | | @click="clearStock(partBatchNoStock)" |
| | | class="el-input__icon el-icon-error err-style" |
| | | ></i> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openStockDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <div style="display:flex;justify-content:flex-end;"> |
| | | <div |
| | | style="height: 18px;font-size: 14px;line-height: 18px;font-weight: bold;width:60px;" |
| | | > |
| | | <span>可用数量</span> |
| | | </div> |
| | | <div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-select |
| | | v-model="stockList.condition" |
| | | placeholder="请选择" |
| | | @change="conditionChange" |
| | | > |
| | | <el-option |
| | | v-for="item in conditionOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | <el-form class="l-mes" style="width:100%" :model="searchForm" label-width="80px" label-position="right"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="零件"> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="searchForm.partNoStock" |
| | | placeholder="零件" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div style="text-align:center;"> |
| | | <el-button @click="clearConditions">清空</el-button |
| | | ><el-button |
| | | @click="queryByConditions" |
| | | :disabled="isSubmit" |
| | | type="primary" |
| | | >查询</el-button |
| | | > |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openPartDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="库位"> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="searchForm.locationNoStock" |
| | | placeholder="库位号" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openLocationDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="批次号"> |
| | | <el-input |
| | | class="change-stock-input" |
| | | v-model="searchForm.partBatchNoStock" |
| | | placeholder="批次号" |
| | | style="width: 100%" |
| | | disabled |
| | | > |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | @click="openStockDialog()" |
| | | ></el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="可用数量"> |
| | | <el-select |
| | | style="width:100%" |
| | | v-model="searchForm.condition" |
| | | placeholder="请选择" |
| | | @change="conditionChange" |
| | | > |
| | | <el-option |
| | | v-for="item in conditionOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3" :offset="1"> |
| | | <div style="text-align:center;"> |
| | | <el-button @click="clearConditions">清空</el-button |
| | | ><el-button |
| | | @click="queryByConditions" |
| | | :disabled="isSubmit" |
| | | type="primary" |
| | | >查询</el-button |
| | | > |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div style="margin-top: 15px;"> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <div |
| | |
| | | > |
| | | <span>实时库存</span> |
| | | </div> |
| | | <el-button type="primary" @click="addOrUpdateHandle()" |
| | | <el-button size="mini" type="primary" @click="addOrUpdateHandle()" |
| | | >新增</el-button |
| | | > |
| | | <el-button type="primary" @click="addStockSubmit()">接收</el-button> |
| | | <el-button type="primary" @click="deleteStockSubmit()" |
| | | <el-button size="mini" type="primary" @click="addStockSubmit()">接收</el-button> |
| | | <el-button size="mini" type="primary" @click="deleteStockSubmit()" |
| | | >发放</el-button |
| | | > |
| | | |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | searchForm: { |
| | | partNoStock: null, |
| | | locationNoStock: null, |
| | | partBatchNoStock: null, |
| | | condition: '>0', |
| | | }, |
| | | stockList: { |
| | | condition: '>0', |
| | | locationNo: null, |
| | |
| | | paramObj: {}, |
| | | dataRule: {}, |
| | | addOrUpdateVisible: false, |
| | | partNoStock: null, |
| | | locationNoStock: null, |
| | | partBatchNoStock: null, |
| | | showPart: false, |
| | | showLocation: false, |
| | | showStock: false, |
| | |
| | | } |
| | | }, |
| | | watch: { |
| | | partNoStock: { |
| | | 'searchForm.partNoStock': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue != null && newValue != undefined) { |
| | | // this.getData() |
| | |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | locationNoStock: { |
| | | 'searchForm.locationNoStock': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue != null && newValue != undefined) { |
| | | // this.getData() |
| | |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | partBatchNoStock: { |
| | | 'searchForm.partBatchNoStock': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue != null && newValue != undefined) { |
| | | // this.getData() |
| | |
| | | methods: { |
| | | // 清空所有查询条件 |
| | | clearConditions() { |
| | | this.partNoStock = null |
| | | this.searchForm.partNoStock = null |
| | | this.stockList.partNo = null |
| | | this.paramObj.partId = null |
| | | this.stockList.partName = null |
| | | this.stockList.partId = null |
| | | this.locationNoStock = null |
| | | this.searchForm.locationNoStock = null |
| | | this.stockList.locationNo = null |
| | | this.stockList.locationId = null |
| | | this.paramObj.locationId = null |
| | | this.partBatchNoStock = null |
| | | this.searchForm.partBatchNoStock = null |
| | | this.stockList.partBatchNo = null |
| | | }, |
| | | // 根据查询条件,搜索 |
| | |
| | | this.getData() |
| | | }, |
| | | // 可用数量条件变更后,触发查询 |
| | | conditionChange() { |
| | | // this.getData() |
| | | conditionChange(val) { |
| | | this.stockList.condition = val |
| | | }, |
| | | // 零件 |
| | | openPartDialog() { |
| | | this.showPart = true |
| | | }, |
| | | getData() { |
| | | if (this.partNoStock != null) { |
| | | if (this.searchForm.partNoStock != null) { |
| | | getStockCount(this.stockList).then((resp) => { |
| | | const respData = resp.data.data |
| | | if (respData && respData > 100) { |
| | |
| | | this.$message.error('请先选择一个零件') |
| | | } |
| | | }, |
| | | openPicker() { |
| | | document.activeElement.blur() // 主动触发onblur事件,是原生的js哟 |
| | | }, |
| | | clearForm() { |
| | | this.locationNoStock = null |
| | | this.stockList.locationNo = this.locationNoStock |
| | | this.stockList.locationId = null |
| | | this.paramObj.locationId = null |
| | | // this.getData() |
| | | }, |
| | | clearStock() { |
| | | this.partBatchNoStock = null |
| | | this.stockList.partBatchNo = this.partBatchNoStock |
| | | this.locationNoStock = null |
| | | this.stockList.locationNo = this.locationNoStock |
| | | this.stockList.locationId = null |
| | | this.paramObj.locationId = null |
| | | // this.getData() |
| | | }, |
| | | selectPart(param) { |
| | | if (param) { |
| | | this.partNoStock = param.partNo |
| | | this.stockList.partNo = this.partNoStock |
| | | this.searchForm.partNoStock = param.partNo |
| | | this.stockList.partNo = this.searchForm.partNoStock |
| | | this.paramObj.partId = param.id |
| | | this.stockList.partName = param.partName |
| | | this.stockList.partId = param.id |
| | |
| | | // } |
| | | }, |
| | | selectLocation(param) { |
| | | console.log(param); |
| | | if (param) { |
| | | this.locationNoStock = param.locNo |
| | | this.stockList.locationNo = this.locationNoStock |
| | | this.searchForm.locationNoStock = param.locNo |
| | | this.stockList.locationNo = this.searchForm.locationNoStock |
| | | this.stockList.locationId = param.id |
| | | this.paramObj.locationId = param.id |
| | | } else { |
| | | this.locationNoStock = null |
| | | this.stockList.locationNo = this.locationNoStock |
| | | this.searchForm.locationNoStock = null |
| | | this.stockList.locationNo = this.searchForm.locationNoStock |
| | | this.stockList.locationId = null |
| | | this.paramObj.locationId = null |
| | | // this.getData() |
| | |
| | | dataFormSubmit() {}, |
| | | selectStock(param) { |
| | | if (param) { |
| | | this.partBatchNoStock = param.partBatchNo |
| | | this.stockList.partBatchNo = this.partBatchNoStock |
| | | this.searchForm.partBatchNoStock = param.partBatchNo |
| | | this.stockList.partBatchNo = this.searchForm.partBatchNoStock |
| | | this.stockList.locationNo = param.locationNo |
| | | this.locationNoStock = param.locationNo |
| | | this.searchForm.locationNoStock = param.locationNo |
| | | this.stockList.locationId = param.locationId |
| | | this.paramObj.locationId = param.locationId |
| | | this.partNoStock = param.partNo |
| | | this.stockList.partNo = this.partNoStock |
| | | this.searchForm.partNoStock = param.partNo |
| | | this.stockList.partNo = this.searchForm.partNoStock |
| | | this.paramObj.partId = param.partId |
| | | this.stockList.partName = param.partName |
| | | this.stockList.partId = param.partId |
| | | } else { |
| | | this.partBatchNoStock = null |
| | | this.stockList.partBatchNo = this.partBatchNoStock |
| | | this.locationNoStock = null |
| | | this.stockList.locationNo = this.locationNoStock |
| | | this.searchForm.partBatchNoStock = null |
| | | this.stockList.partBatchNo = this.searchForm.partBatchNoStock |
| | | this.searchForm.locationNoStock = null |
| | | this.stockList.locationNo = this.searchForm.locationNoStock |
| | | this.stockList.locationId = null |
| | | this.paramObj.locationId = null |
| | | this.partNoStock = null |
| | | this.searchForm.partNoStock = null |
| | | this.stockList.partNo = null |
| | | this.paramObj.partId = null |
| | | this.stockList.partName = null |
| | |
| | | ref="warehouseStockTable" |
| | | > |
| | | <template #toolbar> |
| | | <el-button |
| | | <!-- <el-button |
| | | v-if="permissions.warehouse_stock_scm" |
| | | @click="pushScm()" |
| | | type="primary" |
| | | style="margin-left:10px;" |
| | | >成品推送SCM |
| | | </el-button> |
| | | </el-button> --> |
| | | </template> |
| | | </ttable> |
| | | <!-- 创建主生产计划 --> |
| | |
| | | multipleSelection: [], |
| | | uploadInfo: { |
| | | // 是否展示上传EXCEL以及对应的url |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/stock/upload' |
| | | }, |
| | | prelang: 'operation', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | width: '100', |
| | | minWidth: '100', |
| | | prop: 'partBatchNo', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | width: '100', |
| | | minWidth: '100', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | width: '100', |
| | | minWidth: '100', |
| | | prop: 'reserveQuantity', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | width: '100', |
| | | minWidth: '120', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | width: '100', |
| | | minWidth: '120', |
| | | prop: 'sstockQuantity', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | }, */ |
| | | /* { |
| | | minWidth: '100', |
| | | prop: 'status', |
| | | label: '状态', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '100', |
| | | prop: 'ifsBatchNo', |
| | |
| | | } |
| | | ], |
| | | toolbar: [ |
| | | { |
| | | /* { |
| | | text: '移库', |
| | | type: 'primary', |
| | | fun: this.moveStock |
| | |
| | | text: '成品标签2', |
| | | type: 'primary', |
| | | fun: this.warehousingSmalllPrint |
| | | } |
| | | } */ |
| | | ] |
| | | }, |
| | | addOrUpdateVisible: false, |