Merge remote-tracking branch 'origin/master'
# Conflicts:
# vue.config.js
已删除1个文件
已修改166个文件
已添加1个文件
| | |
| | | params: query |
| | | }) |
| | | } |
| | | export function getTechnologyRouting(id) { |
| | | return request({ |
| | | url: '/mes/operationTask/getTechnologyRouting/'+id, |
| | | method: 'get', |
| | | }) |
| | | } |
| | |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | export function deleteSchedul(mId) { |
| | | return request({ |
| | | url: '/mes/productionSchedul/'+mId, |
| | | method: 'delete', |
| | | }) |
| | | } |
| | | |
| | | export function updateSchedul(data) { |
| | | return request({ |
| | | url: '/mes/productionSchedul/updateByMId', |
| | | method: 'post', |
| | | data: data |
| | | }) |
| | | } |
| | |
| | | return request({ |
| | | url: '/mes/product/isProductionCounting', |
| | | method: 'get', |
| | | params: query |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function qualifiedLocation(id) { |
| | | export function qualifiedLocation(query) { |
| | | return request({ |
| | | url: '/mes/product/qualifiedLocation/' + id, |
| | | method: 'get' |
| | | url: '/mes/product/qualifiedLocation', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/router/axios' |
| | | |
| | | export function fetchList(query) { |
| | | return request({ |
| | | url: '/mes/finishedIncome/page', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | responseType : 'blob', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function updateLocationIdById(obj) { |
| | | return request({ |
| | | url: '/mes/qualityFinishedInspect/'+obj.id, |
| | | method: 'post', |
| | | params: obj |
| | | }) |
| | | } |
| | |
| | | params: data |
| | | }) |
| | | } |
| | | export function getCustomer(id) { |
| | | return request({ |
| | | url: '/mes/packageInspect/getcustomer/'+id, |
| | | method: 'get', |
| | | }) |
| | | } |
| | | |
| | |
| | | let y =Math.round(155 * p.y/parseInt(imgSize.imgHeight)) |
| | | return {x,y} |
| | | }) |
| | | // console.log(newPointArr,"newPointArr"); |
| | | return newPointArr |
| | | } |
| | | }, |
| | |
| | | |
| | | var validateParam = (rule, value, callback) => { |
| | | getObj(value).then((response) => { |
| | | console.log('window.boxType', window.boxType) |
| | | if (window.boxType === 'edit') callback() |
| | | const result = response.data.data |
| | | if (result !== null) { |
| | |
| | | export const tableOption = { |
| | | border: true, |
| | | index: true, |
| | | indexFixed: false, |
| | | height: '292px', |
| | | indexLabel: 'åºå·', |
| | | menuAlign: 'center', |
| | |
| | | dataType: 'number', |
| | | minWidth: 200, |
| | | span: 24, |
| | | rules:[{message:'ç±»åå¿
é¡»æ¯æ°å',trigger:'blur'}] |
| | | rules:[{required:true,message:'ç±»åå¿
é¡»æ¯æ°å',trigger:'blur'}] |
| | | }, { |
| | | label: 'æ¶è´§å°å', |
| | | prop: 'shippingAddress', |
| | |
| | | that.carousel() |
| | | // that.createCharts() |
| | | setInterval(() => { |
| | | // console.info("å·æ°ï¼" + new Date()); |
| | | // that.init() |
| | | }, 30000) |
| | | }, |
| | |
| | | }, |
| | | created() { |
| | | this.sysTitle = localStorage.getItem('SYSTEM_LOGO_TITLE') |
| | | console.log('userInfouserInfo', this.userInfo) |
| | | // this.getLogoInfo() |
| | | }, |
| | | methods: { |
| | |
| | | this.iconNameEn = null |
| | | getByStaffId(this.userInfo.staffId).then((response) => { |
| | | const resData = response.data.data |
| | | console.log('resData', resData) |
| | | if (resData != null) { |
| | | this.logSrc = resData.fileAddress |
| | | this.iconNameCn = resData.iconNameCn |
| | |
| | | width: 220px; |
| | | height: 64px; |
| | | line-height: 64px; |
| | | background-color: #006eff; |
| | | background-color: #875a7b; |
| | | font-size: 20px; |
| | | overflow: hidden; |
| | | box-sizing: border-box; |
| | |
| | | width: 220px; |
| | | height: 64px; |
| | | line-height: 64px; |
| | | background-color: #006eff; |
| | | background-color: #875a7b; |
| | | font-size: 20px; |
| | | overflow: hidden; |
| | | box-sizing: border-box; |
| | |
| | | return validatenull(val) |
| | | }, |
| | | open(item) { |
| | | console.log(item[this.labelKey]) |
| | | console.log(item[this.pathKey]) |
| | | if (this.screen <= 1) this.$store.commit('SET_COLLAPSE'); |
| | | this.$router.$avueRouter.group = item.group; |
| | | if(item[this.labelKey]=='å·¥ä½å°'){ |
| | |
| | | }) |
| | | }, |
| | | error: function(XMLHttpRequest, textStatus, errorThrown) { |
| | | console.log('访é®é©¬ä¸èåºé') |
| | | console.error('访é®é©¬ä¸èåºé') |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | created() { |
| | | this.initLogin() |
| | | console.log(this.SSO) |
| | | }, |
| | | computed: { |
| | | ...mapGetters(['tagWel']) |
| | |
| | | methods: { |
| | | initLogin() { |
| | | const code = this.SSO.split('&')[0].split('=')[1] |
| | | console.log(code) |
| | | |
| | | if (code) { |
| | | this.$store.dispatch('LoginBySSO', code).then(() => { |
| | |
| | | let t = ele.offsetTop |
| | | let l = ele.offsetLeft |
| | | ele = ele.offsetParent |
| | | console.log(t) |
| | | console.log(l) |
| | | console.log(ele) |
| | | // console.log(t) |
| | | // console.log(l) |
| | | // console.log(ele) |
| | | while (ele != null) { |
| | | t += ele.offsetTop |
| | | l += ele.offsetLeft |
| | |
| | | import QuotaForm from '@/views/accounting/unitworkfactor/updateQuota-form.vue' |
| | | import { mapGetters } from 'vuex' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { remote } from '../../../api/admin/dict' |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm) |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } else { |
| | | this.isSubmit = false |
| | |
| | | isShowHide:true,//æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch:false,//é«çº§æ¥è¯¢æé® |
| | | isCopy: true, |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy:{column:'createTime',direction:'desc'} |
| | | }, |
| | | table: { |
| | |
| | | }, |
| | | methods: { |
| | | hello(){ |
| | | if(this.multipleSelection.length < 1){ |
| | | this.$message.error("请å
éæ©è¦å¤å¶çæ°æ®!") |
| | | return |
| | | } |
| | | copy(this.multipleSelection).then(response =>{ |
| | | this.getData() |
| | | }) |
| | |
| | | >ç¡®å®</el-button |
| | | > |
| | | </span> |
| | | <staffDialog |
| | | <!-- <staffDialog |
| | | :currshowlist.sync="showStaff" |
| | | :multiSelect="true" |
| | | @handleSelectionChange="selectStaff" |
| | | /> |
| | | /> --> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm) |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | multipleSelection: [], |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/division/upload' |
| | | }, |
| | | prelang: 'operation', |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | mulLocation: [], |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/location/upload' |
| | | }, |
| | | prelang: 'operation', |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | }, |
| | | // å¯¼åº |
| | | documentHandle(event) { |
| | | console.log(event) |
| | | console.error(event) |
| | | ifsLogExport({ type: event }) |
| | | .then((response) => { |
| | | transform(response) |
| | |
| | | isShowQuery: false, |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/param/upload' |
| | | }, |
| | | prelang: 'operation', |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | multiSelect: true, // |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé®, |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'id', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | // ä¸çº§åç±» |
| | | { |
| | | { |
| | | minWidth: '120', |
| | | prop: 'assortment', |
| | | label: 'ä¸çº§åç±»', |
| | |
| | | optList: () => { |
| | | return this.getThreeLevelClassification() |
| | | } |
| | | }, |
| | | }, |
| | | // è§æ ¼ |
| | | { |
| | | minWidth: '140', |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | // åå· |
| | | { |
| | | /* { |
| | | minWidth: '140', |
| | | prop: 'partModel', |
| | | label: 'åå·', |
| | |
| | | optList: () => { |
| | | return this.lotTrackingIfsOptions |
| | | } |
| | | }, |
| | | }, */ |
| | | // çæ¬å· |
| | | { |
| | | minWidth: '140', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }/* , |
| | | // è®¡åæ¹æ³ |
| | | { |
| | | minWidth: '140', |
| | |
| | | optList: () => { |
| | | return this.planningMethodOptions |
| | | } |
| | | }, |
| | | }, */ |
| | | // å¾å· |
| | | { |
| | | /* { |
| | | minWidth: '140', |
| | | prop: 'drawingNumber', |
| | | label: 'å¾å·', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | // æ£éªå |
| | | { |
| | | /* { |
| | | minWidth: '140', |
| | | prop: 'examiner', |
| | | label: 'æ£éªå', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | } |
| | | } */ |
| | | ], |
| | | toolbar: [ |
| | | { |
| | |
| | | created() { |
| | | this.table.column.find((e) => e.label === 'IFSå¯ç¨æ¹æ¬¡ç®¡ç').isTrue = false |
| | | this.table.column.find((e) => e.label === 'è®¡åæ¹æ³').isTrue = false |
| | | this.getUnitType('unit') |
| | | this.getMaterialType('material_type') |
| | | this.getCategoryType('category') |
| | | this.getAssortmentType('assortment') |
| | | this.getPlanningMethodType('planning_method_type') |
| | | this.getThreeLevelClassificationType('three_classification_type') |
| | | this.getMaterialAttributeType() |
| | | this.getExaminerDict('examiner_type') |
| | | }, |
| | | mounted(){ |
| | | this.getUnitType('unit') |
| | | this.getMaterialType('material_type') |
| | | this.getMaterialAttributeType() |
| | | }, |
| | | computed: { |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | |
| | | // å»é¤é¶ä»¶ç¼å·ä¸¤è¾¹çç©ºæ ¼ |
| | | this.dataForm.partNo = this.dataForm.partNo.trim() |
| | | if (this.dataForm.id) { |
| | | console.log(this.dataForm) |
| | | putObj(this.dataForm) |
| | | .then((data) => { |
| | | this.$message.success('ä¿®æ¹æå') |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } else { |
| | | addObj(this.dataForm) |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } |
| | | } else { |
| | |
| | | startMeterMark: this.printLabelInfo.startMeterMark, |
| | | endMeterMark: this.printLabelInfo.endMeterMark |
| | | } |
| | | console.log('this.dataForm', this.dataForm) |
| | | }) |
| | | } |
| | | } |
| | |
| | | methods: { |
| | | beginPrint() { |
| | | this.LODOP = getLodop() |
| | | console.log(this.dataForm) |
| | | const qr = { |
| | | part_no: this.dataForm.partNo, |
| | | lot_batch_no: this.dataForm.ifsBatchNo, |
| | |
| | | this.currTreeNodeData = {} |
| | | }, |
| | | handleNodeClick(data) { |
| | | console.log('data', data) |
| | | this.currTreeNodeData = data |
| | | }, |
| | | addOperateParam() { |
| | |
| | | } |
| | | }, |
| | | deleteClick(row, index) { |
| | | console.log() |
| | | this.currTreeNodeData.paramList.splice(index, 1) |
| | | this.$message.success('å 餿å') |
| | | }, |
| | | savePoc() { |
| | | console.log('treeData', this.treeData) |
| | | if (this.treeData[0].children.length > 0) { |
| | | addObj(this.treeData).then((response) => { |
| | | this.$message.success('ä¿åæå') |
| | |
| | | }, |
| | | methods: { |
| | | objectSpanMethod(data) { |
| | | console.log('spanData', data) |
| | | if (data[3] === 2) { |
| | | if (data[2] % 2 === 0) { |
| | | data[4]({ |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'id', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | }, |
| | | // ä¿®æ¹ä¿å |
| | | saveSample(index, row) { |
| | | console.log('row', row) |
| | | var obj = {} |
| | | obj.technologyOperationParamId = row.id |
| | | obj.technologyOperationTemplateId = row.technologyOperationTemplateId |
| | |
| | | const templateType = this.templateTypeList.find( |
| | | (item) => item.templateTypeName === currOperationTemplateType |
| | | ) |
| | | console.log(templateType) |
| | | if (templateType != undefined) { |
| | | this.dataForm.dataType = templateType.dataType |
| | | } else { |
| | |
| | | isShowQuery: false, |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/warehouse/uploadExcel' |
| | | }, |
| | | prelang: 'operation', |
| | |
| | | seqNo: true, |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: true, // é«çº§æ¥è¯¢æé® |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | defaultOrderBy: { column: 'createTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | |
| | | innerVisible: false, |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/workstation/upload' |
| | | }, |
| | | prelang: 'workstation', |
| | |
| | | <template> |
| | | <el-dialog |
| | | v-diadrag |
| | | :title="!dataForm.id ? 'æ°å¢' : 'ä¿®æ¹'" |
| | | :close-on-click-modal="false" |
| | | :visible.sync="visible" |
| | | style="min-width: 2000px" |
| | | width="60%" |
| | | top="5vh" |
| | | > |
| | | <el-row> |
| | | <el-form |
| | |
| | | getObj(this.dataForm.id).then((response) => { |
| | | if (this.dataForm) { |
| | | this.dataForm = response.data.data |
| | | console.log(this.dataForm) |
| | | this.allEquipList = this.dataForm.equipments |
| | | this.allFeedLocation = this.dataForm.locations |
| | | this.allLocation = JSON.parse( |
| | |
| | | }, |
| | | methods: { |
| | | fieldInputEnter(prop, row) { |
| | | console.log('sadasdasdsa') |
| | | this.$emit('inputEnterEvent', { prop: prop, row: row }) |
| | | }, |
| | | onDragEnd() { |
| | |
| | | <el-button @click="innerVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="saveSelectRow">ç¡® å®</el-button> |
| | | </div> |
| | | <DocumentDetail :currshowlist.sync="showDocument" :docId="documentId"> |
| | | <DocumentDetail :currshowlist.sync="showDocument" :docId="Number(documentId)"> |
| | | </DocumentDetail> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | // ç»ç¼é¢è² |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'insulationColor', |
| | | label: 'ç»ç¼é¢è²', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'version', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'country', |
| | | label: 'å½å®¶', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'state', |
| | |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <!-- <el-col :span="4"> |
| | | <el-form-item label="项ç®ç±»å«" prop="projectType"> |
| | | <el-select |
| | | v-model="dataForm.projectType" |
| | |
| | | <el-form-item label="å½å®¶" prop="country"> |
| | | <countrySelector v-model="dataForm.country"></countrySelector> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | |
| | | > |
| | | <TeststandardDialog |
| | | :editable="editable" |
| | | :documentId="Number(dataForm.id)" |
| | | :documentId="Number(docId)" |
| | | > |
| | | </TeststandardDialog> |
| | | </el-tab-pane> |
| | |
| | | </el-collapse> |
| | | </el-card> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="å¾çä¸ä¼ " style="height: 100%"> |
| | | <!-- <el-tab-pane label="å¾çä¸ä¼ " style="height: 100%"> |
| | | <el-card class="document-structure"> |
| | | <div slot="header"> |
| | | <span>ç»æå¾</span> |
| | |
| | | <img width="100%" :src="dialogFlowImageUrl" alt="" /> |
| | | </el-dialog> |
| | | </el-card> |
| | | </el-tab-pane> |
| | | </el-tab-pane> --> |
| | | </el-tabs> |
| | | </div> |
| | | </div> |
| | |
| | | this.dialogStructureImageUrl = file.url |
| | | }, |
| | | handleStructureSuccess(response, file, fileList) { |
| | | console.log('ä¸ä¼ æå') |
| | | }, |
| | | handleStructureExceed(files, fileList) { |
| | | this.$message.warning( |
| | |
| | | }, |
| | | saveSelectRow() { |
| | | if (this.multiSelect) { |
| | | console.log("aaaaaaa--",this.multiSelect,this.multipleSelection) |
| | | this.$emit('handleSelectionParamTemplateChange', this.multipleSelection) |
| | | } else { |
| | | console.log("bbbbbbb--",this.multiSelect,this.currentRow) |
| | | this.$emit('listenToParamTemplateEvent', this.currentRow) |
| | | } |
| | | this.innerVisible = false |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'drawingNumber', |
| | | label: 'å¾å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'ean', |
| | | label: 'EANç¼ç ', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | } |
| | | // { |
| | | // minWidth: '100', |
| | | // prop: 'drawingNumber', |
| | | // label: 'å¾å·', |
| | | // sort: true, |
| | | // isTrue: true, |
| | | // isSearch: true, |
| | | // searchInfoType: 'text' |
| | | // }, |
| | | // { |
| | | // minWidth: '120', |
| | | // prop: 'ean', |
| | | // label: 'EANç¼ç ', |
| | | // sort: true, |
| | | // isTrue: true, |
| | | // isSearch: true, |
| | | // searchInfoType: 'text' |
| | | // } |
| | | ], |
| | | materialTypeList: [], |
| | | materialAttributeList: [] |
| | |
| | | } |
| | | }, |
| | | saveSelectRow() { |
| | | // console.log(this.multipleSelection); |
| | | console.log(); |
| | | if (this.multiSelect) { |
| | | this.$emit('handleSelectionChange', this.multipleSelection) |
| | | } else { |
| | |
| | | }, |
| | | created() {}, |
| | | mounted() { |
| | | console.log(this.option) |
| | | }, |
| | | methods: {}, |
| | | watch: { |
| | | 'option.data': { |
| | | handler(val) { |
| | | console.log(val) |
| | | // å¼ºå¶æ¹ä¸ºNumberç±»åï¼ä¸ç¶é¡µé¢å±ç¤ºçæ¯å符串id |
| | | this.option.select = Number( |
| | | this.dataForm.id || this.$route.params.id || this.$route.query.id || 0 |
| | |
| | | if (this.option.select === 0) { |
| | | this.option.select = '' |
| | | } |
| | | |
| | | console.log( |
| | | this.option.data.length, |
| | | this.option.select, |
| | | 'SearchSelectOption' |
| | | ) |
| | | }, |
| | | deep: true |
| | | } |
| | |
| | | align="center" |
| | | width="50" |
| | | /> |
| | | <el-table-column label="线è¯" prop="wireCore" align="center" /> |
| | | <!-- <el-table-column label="线è¯" prop="wireCore" align="center" /> --> |
| | | <el-table-column label="åæ°ç¼å·" prop="code" align="center" /> |
| | | <el-table-column label="忰项" prop="parameterItem" align="center" /> |
| | | <el-table-column |
| | |
| | | prop="parameterFormat" |
| | | align="center" |
| | | /> |
| | | <el-table-column label="éé" prop="aisle" align="center" /> |
| | | <el-table-column label="é¨ä½" prop="position" align="center" /> |
| | | <!-- <el-table-column label="éé" prop="aisle" align="center" /> |
| | | <el-table-column label="é¨ä½" prop="position" align="center" /> --> |
| | | <el-table-column label="åä½" prop="unit" align="center" /> |
| | | </el-table> |
| | | </el-col> |
| | |
| | | @size-change="sizeChangeHandle" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pagination.pageSize" |
| | | :page-count="pagination.size" |
| | | :layout=" |
| | | size |
| | | ? 'total, prev, pager, next' |
| | |
| | | currentPage: |
| | | this.table.currentPage == null ? 1 : this.table.currentPage, |
| | | pageSize: this.table.pageSize == null ? 20 : this.table.pageSize, |
| | | size: this.table.size == null ? 7 : this.table.size, |
| | | total: this.table.total == null ? 0 : this.table.total |
| | | }, // åé¡µä¿¡æ¯ |
| | | inMemoryColWidth: {}, // è®°å¿ä¸å宽ï¼é»è®¤å宽 |
| | |
| | | } |
| | | } |
| | | } |
| | | console.log(this.multipleSelection) |
| | | this.$emit('handleSelectionChange', this.multipleSelection) |
| | | } else { |
| | | this.multipleSelection = val |
| | |
| | | } |
| | | } |
| | | } |
| | | console.log(this.columnList); |
| | | this.tableKey = Math.random() |
| | | // this.$forceUpdate(); |
| | | const currPathColumnOrder = this.currPath + '_column' |
| | |
| | | if (response.code != '0') { |
| | | this.$message.warning(response.msg) |
| | | } else { |
| | | if(response.data!=""&&response.data!=[]&&response.data!=null){ |
| | | this.$message({ |
| | | message: response.data, |
| | | type: 'success' |
| | | }) |
| | | }else{ |
| | | this.$message({ |
| | | message: 'ä¸ä¼ æå', |
| | | type: 'success' |
| | | }) |
| | | } |
| | | this.importDialogVisible=false |
| | | this.getDataList() |
| | | } |
| | | this.$refs.uploadScan.clearFiles() |
| | |
| | | ref="addOrUpdate" |
| | | @refreshDataList="getData" |
| | | ></table-form> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px"> |
| | | </basic-container> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px" top="5vh"> |
| | | <div style="width:100%;height:400px;overflow-y: auto;"> |
| | | <div class="dia_body" id="printRaw"> |
| | | <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 30px; font-size: 16px !important;"> |
| | | <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;"> |
| | | <el-row> |
| | | <el-col :span="8" :offset="1">åºå·ï¼</el-col> |
| | | <el-col :span="7" style="font-weight: bold;">{{ tem.id }}</el-col> |
| | |
| | | </el-row> |
| | | </el-card> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaPrintTab = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="printFun">æ å°</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaPrintTab = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="printFun">æ å°</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | targetStyles:['*'], |
| | | style: `@page { |
| | | margin:0; |
| | | size: 360px 175px; |
| | | padding: 0; |
| | | size: 360px 170px; |
| | | } |
| | | hrml{ |
| | | html{ |
| | | zoom:100%; |
| | | } |
| | | @media print{ |
| | | width: 360px; |
| | | height: 175px; |
| | | height: 170px; |
| | | margin:0; |
| | | padding: 0; |
| | | }`, |
| | | onPrintDialogClose: this.erexcel=false, |
| | | targetStyles: ["*"], // 使ç¨domçæææ ·å¼ï¼å¾éè¦ |
| | |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | console.log(this.multipleSelection); |
| | | }, |
| | | // æ°å¢ / ä¿®æ¹ |
| | | addOrUpdateHandle(row) { |
| | |
| | | @refreshDataList="getData" |
| | | ></table-form> |
| | | </basic-container> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px"> |
| | | <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> |
| | | <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 15px;"> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">åºå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">ç¼å·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ tem.code }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">设å¤åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">设å¤äºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="tem.code" :size="80" :margin="2"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px" top="5vh"> |
| | | <div style="width:100%;height:400px;overflow-y: auto;"> |
| | | <div class="dia_body" id="printMetering"> |
| | | <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;"> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">åºå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">ç¼å·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ tem.code }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">设å¤åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">设å¤äºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="tem.code" :size="80" :margin="2"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaPrintTab = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="diaPrintTab = false">æ å°</el-button> |
| | | <el-button type="primary" @click="printFun">æ å°</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | import * as fecha from 'element-ui/lib/utils/date' |
| | | import { remote } from '../../../api/admin/dict' |
| | | import vueQr from 'vue-qr' |
| | | import PrintJS from 'print-js' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | isRefresh: true, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | isShowHide: true, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé® |
| | | defaultOrderBy: { column: 'manufactureDate', direction: 'desc' } |
| | | defaultOrderBy: { column: 'id', direction: 'desc' } |
| | | }, |
| | | table: { |
| | | total: 0, |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | printFun() { |
| | | this.diaPrintTab = false; |
| | | PrintJS({ |
| | | printable: 'printMetering',//é¡µé¢ |
| | | type: "html",//ææ¡£ç±»å |
| | | maxWidth:450, |
| | | targetStyles:['*'], |
| | | style: `@page { |
| | | margin:0; |
| | | padding: 0; |
| | | size: 360px 170px; |
| | | } |
| | | html{ |
| | | zoom:100%; |
| | | } |
| | | @media print{ |
| | | width: 360px; |
| | | height: 170px; |
| | | margin:0; |
| | | padding: 0; |
| | | }`, |
| | | onPrintDialogClose: this.erexcel=false, |
| | | targetStyles: ["*"], // 使ç¨domçæææ ·å¼ï¼å¾éè¦ |
| | | font_size: '', |
| | | }); |
| | | }, |
| | | pullEquipFun(){ |
| | | this.table.toolbar.find((e) => e.text === '忥').loading = true |
| | | pullEquip().then(res=>{ |
| | |
| | | }) |
| | | }, |
| | | print(row) { |
| | | console.log(row) |
| | | getPrintInfo(row ? row.id : row).then((res) => { |
| | | console.log(res) |
| | | this.$refs.printForm.printData(res.data.data) |
| | | this.getData() |
| | | }) |
| | |
| | | getCusMaterialCode() { |
| | | getHwMaterialCode() |
| | | .then((response) => { |
| | | console.log(response) |
| | | this.materialCodes = response.data.data |
| | | }) |
| | | .catch(() => {}) |
| | |
| | | }) |
| | | }, |
| | | print(row) { |
| | | console.log(row) |
| | | this.currRow = row |
| | | getPrintInfo(row ? row.id : row).then((res) => { |
| | | console.log(res) |
| | | if (res.data.data.needPwd) { |
| | | this.hintMsg = res.data.data.hintMsg |
| | | this.showTaskSecretForm = true |
| | |
| | | }) |
| | | }, |
| | | confirmSecret(data) { |
| | | console.log(data) |
| | | this.$refs.printForm.printData(data) |
| | | }, |
| | | // å é¤ |
| | |
| | | checkSubmitPassword(this.password, this.grossweightcodeobj.id).then( |
| | | (response) => { |
| | | const resData = response.data |
| | | console.log(resData) |
| | | if (resData.code === 0) { |
| | | this.$emit('confirmSecret', this.tackingList) |
| | | this.innerVisible = false |
| | |
| | | // æ ¹æ®å·¥èºæä»¶idï¼æ¥è¯¢å·¥èºæä»¶ææçä¿¡æ¯ |
| | | getDocumentInfo(documentId) { |
| | | getTechnology(documentId).then((response) => { |
| | | console.log(response) |
| | | const resData = response.data.data |
| | | // this.dataForm = resData |
| | | const bomRoutings = resData |
| | |
| | | } |
| | | } |
| | | this.processConfigContentData.processConfigDataList = processConfigDataList |
| | | console.log(this.processConfigContentData) |
| | | }) |
| | | } |
| | | } |
| | |
| | | }, |
| | | created() { |
| | | document.title = 'å·¥èºè¯¦æ
' |
| | | console.log(window.location.href) |
| | | var url = window.location.href |
| | | var param = url.split('?')[1] |
| | | if (param) { |
| | |
| | | }, |
| | | created() { |
| | | document.title = 'å·¥èºæä»¶å®¡æ ¸' |
| | | console.log(window.location.href) |
| | | var url = window.location.href |
| | | var param = url.split('?')[1] |
| | | const params = param.split('&') |
| | |
| | | getDocumentForOa(id).then((response) => { |
| | | if (response.data.code === 0) { |
| | | const resData = response.data.data |
| | | console.log(resData) |
| | | const bomRoutings = resData.bomRoutings |
| | | const testStandards = resData.testStandards |
| | | const materialCosts = resData.materialCosts |
| | |
| | | } |
| | | } |
| | | this.processConfigContentData.processConfigDataList = processConfigDataList |
| | | console.log(this.processConfigContentData) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | i = i + keyValues.length |
| | | } |
| | | this.materialCostList = allKeyValues |
| | | console.log(this.rowColSplitNodes) |
| | | console.log(this.materialCostList) |
| | | }, |
| | | technologyDocumentSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | if (columnIndex === 0 || columnIndex === 1) { |
| | | var rowColSplitNode = this.rowColSplitNodes.find( |
| | | (item) => item.key == row.bomId && item.node === rowIndex |
| | | ) |
| | | console.log(row.bomId, rowIndex) |
| | | if (rowColSplitNode !== undefined) { |
| | | return { |
| | | rowspan: rowColSplitNode.num, |
| | |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | console.log(this.multipleSelection); |
| | | }, |
| | | // å é¤ |
| | | deleteHandle(row) { |
| | |
| | | }) |
| | | .catch((error) => { |
| | | this.isSubmit = false |
| | | console.log(error) |
| | | console.error(error) |
| | | }) |
| | | } else { |
| | | this.isSubmit = false |
| | |
| | | } |
| | | } |
| | | const tableData = this.$refs.commonPartTable.getTableData() |
| | | console.log(tableData) |
| | | // 夿é¢çåæ° |
| | | let cnt = 0 |
| | | for (let i = 0; i < tableData.length; i++) { |
| | |
| | | }) |
| | | } |
| | | this.table.column = this.table.column.concat(extCol) |
| | | // console.log(this.table.column) |
| | | }) |
| | | } |
| | | }, |
| | |
| | | // if (response.data.data.customerOrderList != null) { |
| | | // this.dataForm = response.data.data.customerOrderList |
| | | // |
| | | // console.log('0') |
| | | // if (this.dataForm.OrderOrContract) { |
| | | // console.log('1') |
| | | // // å°è®¢åè¿æ¯ååè½¬ä¹ |
| | | // if (this.dataForm.OrderOrContract == '0') { |
| | | // this.dataForm.OrderOrContract = 'åå' |
| | |
| | | // } |
| | | // } |
| | | // } else { |
| | | // console.log('2') |
| | | this.dataForm = response.data.data |
| | | |
| | | // } |
| | |
| | | this.showPart = true |
| | | }, |
| | | selectPart(part) { |
| | | console.log(part); |
| | | if (part) { |
| | | this.dataForm.partNo = part.partNo |
| | | } |
| | |
| | | // ä¿åé
ç½®å |
| | | saveConfig() { |
| | | const configId = this.configContent.id |
| | | console.log(this.configContent) |
| | | for ( |
| | | let i = this.configContent.processConfigDataList.length - 1; |
| | | i >= 0; |
| | |
| | | } |
| | | if (configId) { |
| | | newProcessConfigEditOne(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | }) |
| | | } else { |
| | | newProcessConfigAddOne(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | } else { |
| | | this.$message.error('该éå®è®¢åå·ä¸ï¼æ²¡æå
¶ä»è®¢åè¡') |
| | | /* const configId = this.configContent.id |
| | | console.log(this.configContent) |
| | | for ( |
| | | let i = this.configContent.processConfigDataList.length - 1; |
| | | i >= 0; |
| | |
| | | } |
| | | if (configId) { |
| | | newProcessConfigEdit(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | }) |
| | | } else { |
| | | newProcessConfigAdd(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | } |
| | | }) |
| | | /* const configId = this.configContent.id |
| | | console.log(this.configContent) |
| | | for ( |
| | | let i = this.configContent.processConfigDataList.length - 1; |
| | | i >= 0; |
| | |
| | | } |
| | | if (configId) { |
| | | newProcessConfigEdit(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | }) |
| | | } else { |
| | | newProcessConfigAdd(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.$message.success('ä¿åæå') |
| | | this.init(this.configContent.orderId) |
| | |
| | | // var param = Object.assign({ current: 1, size: 20 }) |
| | | // getProcessConfigPage(param).then((res) => { |
| | | // const list = res.data.data.records |
| | | // console.log(list) |
| | | // }) |
| | | }, |
| | | // è·å确认 |
| | |
| | | this.customerOrderList.forEach((item) => { |
| | | ids.push(item.id) |
| | | }) |
| | | console.log('this.userInfo.username', this.userInfo.username) |
| | | const setDataForm = { |
| | | customerOrderIds: ids, |
| | | returnUser: this.userInfo.staffName, |
| | |
| | | } |
| | | } |
| | | } |
| | | console.log(this.multipleSelection) |
| | | this.$emit('handleSelectionChange', this.multipleSelection) |
| | | } else { |
| | | this.multipleSelection = val |
| | |
| | | // fun: this.packageExportHandle |
| | | // }, |
| | | { |
| | | text: 'ä½åº', |
| | | text: 'å é¤', |
| | | type: 'text', |
| | | size: 'small', |
| | | fun: this.cancelHandle, |
| | |
| | | }, |
| | | // å建主ç产计å |
| | | masterPlanHandle() { |
| | | console.log(this.multipleSelection); |
| | | |
| | | if (this.multipleSelection && this.multipleSelection.length > 0) { |
| | | if (this.judgeCoState(this.multipleSelection)) { |
| | | // 夿ä¸ä¸å©ä½æ°éæ¯å¦å¤§äº0 |
| | |
| | | }) |
| | | if (flag) { |
| | | checkOA(this.multipleSelection.map((e) => e.id)).then((res) => { |
| | | console.log(res) |
| | | if (!res.data.data.success) { |
| | | this.$confirm(`${res.data.data.message}`, 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | |
| | | |
| | | // ç®±ç ä¿¡æ¯å¯¼åº |
| | | packageExportHandle(row) { |
| | | console.log(row.otcQuantity) |
| | | if (row.otcQuantity) { |
| | | this.packageExport.visible = true |
| | | this.packageExport.form = { |
| | |
| | | }, |
| | | // 导åºå°è´¦ |
| | | exportStandBook() { |
| | | // console.log(this.$refs.customerOrderTable.getQueryParam(),"SSS") |
| | | // if (this.multipleSelection.length > 0) { |
| | | // let ids = '' |
| | | // this.multipleSelection.forEach((item) => { |
| | |
| | | }, |
| | | updateCurrOrder() { |
| | | const configId = this.configContent.id |
| | | console.log(this.configContent) |
| | | for ( |
| | | let i = this.configContent.processConfigDataList.length - 1; |
| | | i >= 0; |
| | |
| | | } |
| | | if (configId) { |
| | | newProcessConfigEditOne(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.innerVisible = false |
| | | this.$message.success('ä¿åæå') |
| | |
| | | }) |
| | | } else { |
| | | newProcessConfigAddOne(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.innerVisible = false |
| | | this.$message.success('ä¿åæå') |
| | |
| | | if (orderIds.length > 0) { |
| | | orderIds.push(this.customerOrderId) |
| | | const configId = this.configContent.id |
| | | console.log(this.configContent) |
| | | for ( |
| | | let i = this.configContent.processConfigDataList.length - 1; |
| | | i >= 0; |
| | |
| | | } |
| | | this.configContent.orderIdList = orderIds |
| | | newProcessConfigEdit(this.configContent).then((res) => { |
| | | console.log(res) |
| | | if (res.data.code === 0) { |
| | | this.innerVisible = false |
| | | this.$message.success('ä¿åæå') |
| | |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="ä¸å¡å" prop="salesMan"> |
| | | <el-select @change="selsctionSales" filterable v-model="salesSelectData" style="width:100%"> |
| | | <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%"> |
| | | <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staffNo+','+item.staffName" :label="item.staffName"/> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | }, |
| | | // 表åæäº¤ |
| | | dataFormSubmit() { |
| | | this.buttonDisable = true |
| | | this.$refs.dataForm.validate((valid) => { |
| | | this.dataForm.customerOrderVOList = this.tableData |
| | | const _than = this |
| | | let isError = false |
| | | _than.buttonDisable = true |
| | | _than.tableData.forEach(ele=>{ |
| | | if(ele.buyQtyDue==null || ele.buyQtyDue=='' || ele.buyQtyDue==undefined){ |
| | | _than.$message.error("é¶ä»¶æ°éä¸è½ä¸ºç©º!") |
| | | isError = true |
| | | }else{ |
| | | var reg = /^\d+$/ |
| | | if(!reg.test(ele.buyQtyDue)){ |
| | | _than.$message.error("é¶ä»¶æ°éç±»åå¿
é¡»æ¯æ°å!") |
| | | isError = true |
| | | } |
| | | } |
| | | }) |
| | | if(isError){ |
| | | _than.buttonDisable = false |
| | | return |
| | | } |
| | | _than.$refs.dataForm.validate((valid) => { |
| | | if (valid) { |
| | | addObj(this.dataForm) |
| | | .then((data) => { |
| | | this.$message.success('æ·»å æå') |
| | | this.initDataForm(); |
| | | this.visible = false |
| | | this.buttonDisable = false |
| | | this.$emit('refreshDataList', 1) |
| | | }) |
| | | .catch((error) => { |
| | | this.buttonDisable = false |
| | | _than.dataForm.customerOrderVOList = _than.tableData |
| | | addObj(_than.dataForm).then((data) => { |
| | | _than.$message.success('æ·»å æå') |
| | | _than.initDataForm(); |
| | | _than.visible = false |
| | | _than.buttonDisable = false |
| | | _than.$emit('refreshDataList', 1) |
| | | }).catch((error) => { |
| | | _than.buttonDisable = false |
| | | }) |
| | | } else { |
| | | this.buttonDisable = false |
| | | _than.buttonDisable = false |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.showPart = true |
| | | }, |
| | | selectPart(part) { |
| | | console.log(part); |
| | | const index = this.currentSelectRow |
| | | if (part) { |
| | | this.tableData[index].partNo = part.partNo |
| | |
| | | }) |
| | | this.dataForm.customer = JSON.parse(JSON.stringify(customerList)) |
| | | }) |
| | | // this.dataForm.forEach(item=>{ |
| | | // console.log(1111); |
| | | // console.log("循ç¯",item); |
| | | // item.qtyPlaned=item.buyQtyDue |
| | | // }) |
| | | console.log("data",this.dataForm); |
| | | }, |
| | | dataFormSubmit() { |
| | | this.isSubmit = true |
| | | this.$refs.dataForm.validate((valid) => { |
| | | if (valid) { |
| | | // console.log(this.dataForm); |
| | | // return |
| | | checkSchedule(this.dataForm.customer) |
| | | .then((res) => { |
| | | if (res.data.data.success) { |
| | |
| | | <template> |
| | | <div class="mod-config"> |
| | | <basic-container> |
| | | <div class="avue-crud"> |
| | | <el-row> |
| | | <el-col :span="1"> |
| | | <div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <div |
| | | style="float: left;height: 18px;font-size: 13px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>éå®è®¢å</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.customerOrderNo" |
| | | placeholder="éå®è®¢å" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > |
| | | </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: 13px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>主计åå·</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.mpsNo" |
| | | placeholder="主计åå·" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > |
| | | </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: 13px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>车é´è®¢å</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.moNo" |
| | | placeholder="车é´è®¢å" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > |
| | | </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: 13px;line-height: 18px;font-weight: bold" |
| | | > |
| | | <span>éæ±æ¥æ</span> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="3"> |
| | | <div> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="paramObject.requiredDate" |
| | | type="datetimerange" |
| | | start-placeholder="å¼å§" |
| | | end-placeholder="ç»æ" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | @change="feedDateChange($event)" |
| | | size="mini" |
| | | style="width:100px" |
| | | > |
| | | </el-date-picker> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2" offset="1"> |
| | | <el-button type="primary" @click="getDataList()">æç´¢</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="avue-crud" style="margin: 0px 10px"> |
| | | <el-form :model="paramObject" label-width="100px" label-position="right"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="éå®è®¢å"> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.customerOrderNo" |
| | | placeholder="éå®è®¢å" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="主计åå·"> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.mpsNo" |
| | | placeholder="主计åå·" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="车é´è®¢å"> |
| | | <el-input |
| | | clearable |
| | | @keyup.enter.native="getDataList" |
| | | v-model="paramObject.moNo" |
| | | placeholder="车é´è®¢å" |
| | | @clear="getDataList" |
| | | style="width: 100%" |
| | | > </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="éæ±æ¥æ"> |
| | | <el-date-picker |
| | | style="width:100%" |
| | | clearable |
| | | v-model="paramObject.requiredDate" |
| | | type="datetimerange" |
| | | start-placeholder="å¼å§" |
| | | end-placeholder="ç»æ" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | @change="feedDateChange($event)" |
| | | size="mini" |
| | | > </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="3" :offset="1"> |
| | | <el-button type="primary" @click="getDataList()">æç´¢</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <el-table |
| | | :data="dataList" |
| | | border |
| | |
| | | class="l-mes-table" |
| | | :height="screenHeight" |
| | | > |
| | | <el-table-column type="index" label="åºå·" width="50"> |
| | | <el-table-column type="index" label="åºå·" align="center" width="50"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="customerName" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="客æ·åç§°" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="customerOrderNo" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="éå®è®¢åå·" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="mpsNo" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="主计åå·" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="partNo" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="é¶ä»¶å·" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="partName" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="é¶ä»¶åç§°" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="qtyRequired" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="车é´è®¢åéæ±æ°é" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="unit" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="åä½" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="requiredDate" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="éæ±æ¥æ" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="moNo" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="120" |
| | | show-overflow-tooltip |
| | | label="车é´è®¢åå·" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="name" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åºåç§°" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="operationPartNo" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åºé¶ä»¶å·" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="operationPartName" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åºé¶ä»¶åç§°" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="pda" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åºéæ±æ°é" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="plannedQuantity" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åçè®¡åæ°é" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="completedQuantity" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åç宿æ°é" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="units" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="åä½" |
| | | > |
| | | </el-table-column> |
| | |
| | | prop="count" |
| | | header-align="center" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | label="å·¥åºå®æè¿åº¦" |
| | | > |
| | | </el-table-column> |
| | |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="locationId" label="åºä½" align="center"> |
| | | <!-- <el-table-column prop="locationId" label="åºä½" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-select |
| | | v-model="scope.row.locationId" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | prop="partNo" |
| | | label="é¶ä»¶å·" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="sunit" label="åä½2" align="center"> |
| | | </el-table-column> --> |
| | | <el-table-column prop="reelSpec" label="è½½å
·è§æ ¼" align="center"> |
| | | <!-- <el-table-column prop="reelSpec" label="è½½å
·è§æ ¼" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.reelSpec"></el-input> |
| | | </template> |
| | |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.discNum"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column prop="remark" label="夿³¨" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.remark"></el-input> |
| | |
| | | }, |
| | | watch: { |
| | | currshowlist() { |
| | | console.log('orderId', this.orderId) |
| | | this.innerVisible = this.currshowlist |
| | | if (this.selectionArray && this.selectionArray.length > 0) { |
| | | this.operationTaskType = this.selectionArray[0].workshopTypeCode |
| | |
| | | const resData = response.data |
| | | if (resData.code === 0) { |
| | | const autoTaskList = resData.data |
| | | console.log(this.selectionArray) |
| | | autoTaskList.forEach((item) => { |
| | | this.operationData.push({ |
| | | operationName: item.operationName, |
| | |
| | | ></el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | </el-card> |
| | | <!-- </el-card> --> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="éä»¶" type="card" name="éä»¶"> |
| | | <div style="display: flex;justify-content:flex-end;"> |
| | |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="visible = false">åæ¶</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :disabled="buttonDisable" |
| | | v-thinclick="`dataFormSubmit`" |
| | | v-if="editable" |
| | | >ç¡®å®</el-button |
| | | > |
| | | </span> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </template> |
| | |
| | | fileList: [], |
| | | title: '', |
| | | orderParamList: [], |
| | | progrecessFileLoading: false, |
| | | editable: true, |
| | | isFullScreen: false, |
| | | visible: false, |
| | | buttonDisable: false, |
| | |
| | | //éä»¶çæ¥è¯¢ |
| | | downs(label, e){ |
| | | if(this.activeFileName=='éä»¶'){ |
| | | console.log('1'); |
| | | getProcessConfigFile({ |
| | | orderNumber: this.dataForm.contractNo, |
| | | lineNumber: this.dataForm.customerNo |
| | |
| | | })).then(response => { |
| | | if (response.data.code === 0) { |
| | | this.operationTemplateTypeList = response.data.data |
| | | console.info( this.operationTemplateTypeList ) |
| | | }else{ |
| | | this.operationTemplateTypeList=[]; |
| | | } |
| | |
| | | </el-button> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | :key="index" |
| | | :command="item.command" |
| | | v-for="item in taskTypeArr" |
| | | v-for="(item,index) in taskTypeArr" |
| | | :disabled="canCreateTask" |
| | | >{{ item.label }}</el-dropdown-item |
| | | > |
| | |
| | | </el-button> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | :key="i" |
| | | :command="item.command" |
| | | v-for="item in stateTagArr" |
| | | v-for="(item,i) in stateTagArr" |
| | | :disabled="item.disabled" |
| | | >{{ item.label }}</el-dropdown-item |
| | | > |
| | |
| | | </el-dialog> |
| | | </basic-container> |
| | | <!-- æ ç¾æå° --> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px"> |
| | | <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;width:100%"> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">åºå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">车é´è®¢åå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.moNo2 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">订åäºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="JSON.stringify(item)" :size="80" :margin="2"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | <el-dialog title="æ ç¾å表" :visible.sync="diaPrintTab" width="500px" top="5vh"> |
| | | <div style="width:100%;height: 400px;overflow-y: auto;"> |
| | | <div class="dia_body"> |
| | | <el-checkbox |
| | | style="margin: 10px 5px;" |
| | | :indeterminate="isIndeterminate" |
| | | v-model="checkAll" |
| | | @change="handleCheckAllChange">å
¨é</el-checkbox> |
| | | <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;"> |
| | | <el-checkbox :label="i" :key="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">æ¹æ¬¡å·</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.code.moNo2 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">订åå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.orderNo }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">客æ·åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.cName }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">é¶ä»¶åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.pName }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">车é´è®¢åäºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="JSON.stringify(item.code)" :size="80" :margin="2"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaPrintTab = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="diaPrintTab = false">æ å°</el-button> |
| | | <el-button type="primary" @click="printFun">æ å°</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <div class="el-dialog__body" style="width:448.8px;overflow-y: auto;position: absolute;top:9999px;padding: 0;"> |
| | | <div id="printMOrder"> |
| | | <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="padding-top:0px;margin-bottom:10px;font-size: 16px !important;"> |
| | | <el-row style="font-size:12px;"> |
| | | <el-col :span="10" :offset="3">æ¹æ¬¡å·</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.code.moNo2 }}</el-col> |
| | | </el-row> |
| | | <el-row style="font-size:12px;"> |
| | | <el-col :span="10" :offset="3">订åå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.orderNo }}</el-col> |
| | | </el-row> |
| | | <el-row style="font-size:12px;"> |
| | | <el-col :span="10" :offset="3">客æ·åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.cName }}</el-col> |
| | | </el-row> |
| | | <el-row style="font-size:12px;"> |
| | | <el-col :span="10" :offset="3">é¶ä»¶åç§°ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.pName }}</el-col> |
| | | </el-row> |
| | | <el-row style="font-size:12px;"> |
| | | <el-col :span="10" :offset="3">订åäºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="JSON.stringify(item.code)" :size="80" :margin="2"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { getStore } from '@/util/store.js' |
| | | import { getObj as getSysParam } from '@/api/admin/sys-public-param' |
| | | import vueQr from 'vue-qr' |
| | | import PrintJS from 'print-js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | checkList: [], |
| | | checkAll: false, |
| | | isIndeterminate: true, |
| | | checkDataList: [], |
| | | checkIndexList: [], |
| | | qrData: [], |
| | | orderDatalist:[], |
| | | diaPrintTab:false, |
| | | showCustomerorder: false, |
| | | paramObj: { customerList: null }, |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'printRequirement', |
| | | label: 'å°åè¦æ±', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'scrapQty', |
| | |
| | | searchInfoType: 'text' |
| | | }, |
| | | |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'outerColor', |
| | | label: '夿¤é¢è²', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | |
| | | { |
| | | minWidth: '120', |
| | |
| | | searchInfoType: 'datetimerange', |
| | | formatter: this.formatDutyDate |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'bomConfirmStatus', |
| | | label: 'BOMç¶æ', |
| | |
| | | } |
| | | return formatVal |
| | | } |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '200', |
| | | prop: 'remark', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '100', |
| | | prop: 'oriIfsOrderNo', |
| | | label: 'åIFS订åå·', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | }, */ |
| | | /* { |
| | | minWidth: '100', |
| | | prop: 'qtyApply', |
| | | label: 'ç³è¯·æ°é', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '140', |
| | | width: '120', |
| | |
| | | searchInfoType: 'datetimerange', |
| | | formatter: this.formatDutyDate |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'ifsSync', |
| | | label: '订å忥ERP', |
| | |
| | | } |
| | | return formatVal |
| | | } |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '100', |
| | | prop: 'factoryName', |
| | |
| | | mounted() { |
| | | // this.initQueryParams() |
| | | }, |
| | | watch:{ |
| | | diaPrintTab(newVal){ |
| | | if(!newVal){ |
| | | this.qrData = [] |
| | | this.checkIndexList = [] |
| | | this.checkDataList = [] |
| | | this.isIndeterminate = true; |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | //å
¨é |
| | | handleCheckAllChange(val) { |
| | | if(val){ |
| | | for(var i=0;i<this.qrData.length;i++){ |
| | | this.checkIndexList.push(i) |
| | | } |
| | | this.checkDataList = this.qrData |
| | | }else{ |
| | | this.checkIndexList = [] |
| | | this.checkDataList = [] |
| | | } |
| | | this.isIndeterminate = false; |
| | | }, |
| | | //éæ©è¦æå°çäºç»´ç |
| | | changePrintCode(){ |
| | | let indexList = this.checkIndexList |
| | | let arr = [] |
| | | indexList.forEach(i=>{ |
| | | arr.push(this.qrData[i]) |
| | | }) |
| | | this.checkDataList = arr |
| | | }, |
| | | //æå°æ¹æ³ |
| | | printFun() { |
| | | if(this.checkDataList.length < 1){ |
| | | this.$message.warning("è¯·éæ©è¦æå°çäºç»´ç ") |
| | | return |
| | | } |
| | | this.diaPrintTab = false; |
| | | PrintJS({ |
| | | printable: 'printMOrder',//é¡µé¢ |
| | | type: "html",//ææ¡£ç±»å |
| | | maxWidth:450, |
| | | targetStyles:['*'], |
| | | style: `@page { |
| | | margin:0; |
| | | size: 360px 175px; |
| | | } |
| | | html{ |
| | | zoom:100%; |
| | | } |
| | | @media print{ |
| | | width: 360px; |
| | | height: 175px; |
| | | margin:0; |
| | | }`, |
| | | onPrintDialogClose: this.erexcel=false, |
| | | targetStyles: ["*"], // 使ç¨domçæææ ·å¼ï¼å¾éè¦ |
| | | font_size: '', |
| | | }); |
| | | }, |
| | | //åå§åäºç»´ç æ ç¾æ°æ® |
| | | initQrData(data){ |
| | | this.qrData = [] |
| | | if(data){ |
| | | console.log(data); |
| | | let index = Number(data.qtyRequired) + Number(data.scrapQty) |
| | | if(index>0){ |
| | | for(var i=1;i<= index;i++){ |
| | | let obj = { |
| | | orderNo: data.customerOrderNo, |
| | | cName: data.customerName, |
| | | pName: data.partName, |
| | | code: { |
| | | moNo: data.moNo, |
| | | moNo2: null, |
| | | } |
| | | } |
| | | let no = (i+"").padStart(3,'0') |
| | | obj.code.moNo2 = data.moNo + no |
| | | this.qrData.push(obj) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | //æ ç¾æå°æé® |
| | | labelPrint(){ |
| | | if(this.multipleSelection.length==0){ |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | let selection = this.multipleSelection |
| | | let lastRow = selection[ selection.length - 1 ] |
| | | this.initQrData(lastRow) |
| | | this.diaPrintTab = true |
| | | }, |
| | | getManufactureAttr(row, column, cellValue) { |
| | | this.manufactureAttrs.forEach((obj) => { |
| | | if (obj.value === cellValue) { |
| | |
| | | getByMoIds([this.orderPlan.id]).then((repsonse) => { |
| | | const resData = repsonse.data.data |
| | | const resCode = repsonse.data.code |
| | | console.log("resData-----",repsonse); |
| | | if (resCode === 0) { |
| | | const _that = this |
| | | for (const key in resData) { |
| | |
| | | } |
| | | } |
| | | }, |
| | | //åå§åäºç»´ç æ ç¾æ°æ® |
| | | initQrData(data){ |
| | | if(data){ |
| | | let index = Number(data.qtyRequired) + Number(data.scrapQty) |
| | | if(index>0){ |
| | | for(var i=1;i<= index;i++){ |
| | | let obj = { |
| | | moNo: data.moNo, |
| | | moNo2: null, |
| | | } |
| | | let no = (i+"").padStart(3,'0') |
| | | obj.moNo2 = data.moNo + no |
| | | this.qrData.push(obj) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // tableèªå¸¦äºä»¶ |
| | | handleSelectionChange(val) { |
| | | console.log(val,"ä¸è¡"); |
| | | let orderData = [] |
| | | orderData =val.map( el =>{ |
| | | return{ |
| | | moNo:el.moNo, |
| | | qtyRequired: el.qtyRequired, |
| | | scrapQty: el.scrapQty |
| | | } |
| | | }) |
| | | this.orderDatalist = orderData |
| | | this.initQrData(orderData[0]) |
| | | // æ ¹æ®ç¶æï¼ç¦ç¨è¡¨å¤´æé® |
| | | // çéåºéä¸è®°å½çç¶æ |
| | | var stateArr = val.map(function(value, index) { |
| | |
| | | this.$message.error('ä¸ä¼ 失败') |
| | | } |
| | | }, |
| | | labelPrint(){ |
| | | if(this.multipleSelection.length==0){ |
| | | this.$message.warning('è¯·éæ©ä¸æ¡æ°æ®') |
| | | return |
| | | } |
| | | this.diaPrintTab = true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | }, |
| | | watch: { |
| | | currshowlist() { |
| | | console.log('orderId', this.orderId) |
| | | this.innerVisible = this.currshowlist |
| | | if (this.currshowlist) { |
| | | this.initData() |
| | |
| | | <el-col :span="3"> |
| | | <el-form-item label="宿æ°é" prop="qtyFinished"> |
| | | <el-input-number |
| | | style= "width: 90%" |
| | | v-model="dataForm.qtyFinished" |
| | | placeholder="" |
| | | :controls="false" |
| | |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <!-- <el-col :span="6"> |
| | | <el-form-item label="夿¤é¢è²" prop="outerColor"> |
| | | <el-input |
| | | readonly |
| | |
| | | placeholder="" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="6"> |
| | | </el-col> --> |
| | | <el-col :span="6"> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="dataForm.remark" placeholder=""></el-input> |
| | | </el-form-item> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col |
| | | </el-row> |
| | | <!-- <el-col |
| | | :span="2" |
| | | v-if="permissions.plan_manufacturingorder_bom_sure" |
| | | > |
| | |
| | | <el-switch v-model="dataForm.standardConfirmStatus"> |
| | | </el-switch> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | </el-col> --> |
| | | <!-- <el-col :span="2"> |
| | | <el-form-item |
| | | label="IFS车é´è®¢åæ¥æ¶æ¶æ¥åå·¥åº" |
| | | prop="isReportOperation" |
| | |
| | | <el-switch v-model="dataForm.isReportOperation" disabled> |
| | | </el-switch> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-col> --> |
| | | <!-- <el-col :span="2"> |
| | | <el-form-item label="BOM确认"> |
| | | <el-switch > |
| | |
| | | </el-switch> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | </el-row> |
| | | |
| | | </div> |
| | | <div class="productorder-detail"> |
| | | <el-card class="productorder-list"> |
| | |
| | | <el-option |
| | | v-for="item in dataForm.routingList" |
| | | :key="item.id" |
| | | :label=" |
| | | item.routingNo + |
| | | '-' + |
| | | item.bomTypeDb + |
| | | '-' + |
| | | item.alternativeNo + |
| | | '-' + |
| | | item.alternativeDesc |
| | | " |
| | | :label="item.routingNo " |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | |
| | | this.getBomTypeDbOptions() |
| | | this.getManufactureAttrs('manufacture_attr_type') |
| | | this.getSysParam(sysParam.IS_REPORT_OPERATION) |
| | | // console.log(this.components); |
| | | }, |
| | | watch: { |
| | | 'dataForm.partId'(newValue, oldValue) { |
| | |
| | | } |
| | | }, |
| | | components(newVal,oldVal){ |
| | | console.log("æ°",newVal); |
| | | console.log("è",oldVal); |
| | | console.log(this.components); |
| | | }, |
| | | currentRouting(newValue, oldValue) { |
| | | if (newValue && newValue.id) { |
| | |
| | | if (newValue && newValue.id) { |
| | | // æ¥è¯¢äº§åç»æå¯¹åºçç»ä»¶ |
| | | getBom(newValue.id).then((response) => { |
| | | console.log("æ¥",this.components); |
| | | // this.components = [response.data.data.tree] |
| | | }) |
| | | } |
| | |
| | | }, |
| | | // æ°å¢å·¥åº |
| | | addOperation(operation) { |
| | | console.log('operation', operation) |
| | | }, |
| | | insertOperation(operation) {}, |
| | | structSelectionChange(val) { |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'name', |
| | | label: 'å·¥èºåç§°', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | // { |
| | | // minWidth: '100', |
| | | // prop: 'name', |
| | | // label: 'å·¥èºåç§°', |
| | | // sort: true, |
| | | // isTrue: true, |
| | | // isSearch: true, |
| | | // searchInfoType: 'text' |
| | | // }, |
| | | // å·¥èºç±»å |
| | | { |
| | | minWidth: '120', |
| | |
| | | this.currRow = row |
| | | }, |
| | | getCurrRow() { |
| | | console.log('currRow', this.currRow) |
| | | }, |
| | | filterHandler(value, row, column) { |
| | | const property = column.property |
| | |
| | | }, |
| | | getWorkShopOptions() { |
| | | remote('work_shop').then((response) => { |
| | | console.log("é«å",response); |
| | | if (response.data.code === 0) { |
| | | this.workShopOptions = response.data.data |
| | | } else { |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '140', |
| | | prop: 'inventoryReservedQuantity', |
| | | label: 'åºåé¢çæ°é', |
| | |
| | | isTrue: true, |
| | | isSearch: false, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | }, */ |
| | | /* { |
| | | minWidth: '140', |
| | | prop: 'outsourcingNumber', |
| | | label: 'å§å¤æ°é', |
| | |
| | | isTrue: true, |
| | | isSearch: false, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '140', |
| | | prop: 'manufacturingQuantity', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }/* , |
| | | { |
| | | minWidth: '140', |
| | | prop: 'outerColor', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | } |
| | | } */ |
| | | ], |
| | | toolbar: [], |
| | | operator: [ |
| | |
| | | this.onTaskDbclickEvents.push( |
| | | gantt.attachEvent('onTaskDblClick', (id, e) => { |
| | | const task = gantt.getTask(id) |
| | | console.log(task) |
| | | if (!task.parent) { |
| | | // this.$message.warning('æå±èµæºå±å¼åï¼æå¯è¿è¡ç¼è¾') |
| | | return false |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'splannedQuantity', |
| | | label: 'è®¡åæ°é2', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | minWidth: '120', |
| | | prop: 'completedQuantity', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'discNum', |
| | | label: 'çæ°', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | }, */ |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'reelSpec', |
| | | label: 'è½½å
·è§æ ¼', |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | }, */ |
| | | { |
| | | width: '130', |
| | | prop: 'ratio', |
| | |
| | | |
| | | init(id, param, outPutBatchList, qtyPlaned) { |
| | | if (param) { |
| | | console.log(param); |
| | | this.dataForm.ifsOrderNo = param.ifsOrderNo |
| | | this.qtyRequired = param.qtyRequired |
| | | this.dataForm.moId = param.id |
| | |
| | | // 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 |
| | |
| | | this.showPart = true |
| | | }, |
| | | delMaterial(row, index) { |
| | | console.log('index', index) |
| | | this.operationMaterialData.splice(index, 1) |
| | | }, |
| | | // ç©æéä¸åçåè° |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <div style="height:80vh;padding: 0px 10px;"> |
| | | <avue-crud :data="tableData" ref="crud" :option="option" :span-method="spanMethod" |
| | | <avue-crud |
| | | :data="tableData" |
| | | ref="crud" |
| | | :option="option" |
| | | :span-method="spanMethod" |
| | | @refresh-change="getData" |
| | | @current-change="handleCurrentChange" |
| | | @size-change="handleSizeChange" |
| | | :page="page" |
| | | @selection-change="selectionRow" |
| | | :table-loading="loading"> |
| | | <template #menu="{ row, index }"> |
| | | <el-button type="text" icon="el-icon-edit" size="small" @click="editHandle(row, index)">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-delete" size="small" @click="deleteHandle(row, index)">å é¤</el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | <el-button type="primary" @click="confirmEditSchedul">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="ç¼è¾" |
| | | :visible.sync="editDialogVisible" |
| | | width="50%"> |
| | | <el-form :model="editForm" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="ç产æ
åµ:"> |
| | | <el-input style="width:100%" placeholder="请è¾å
¥ç产æ
åµ" type="textarea" :row="2" v-model="editForm.productionStatus"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="ç产ç¨åº¦:"> |
| | | <el-input style="width:100%" placeholder="请è¾å
¥ç产ç¨åº¦" type="textarea" :row="2" v-model="editForm.productionRoutine"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="editDialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="confirmEdit()">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import { |
| | | fetchScheduleList, |
| | | fetchScheduleById, |
| | | fillTime |
| | | fillTime, |
| | | deleteSchedul, |
| | | updateSchedul |
| | | } from '@/api//plan/productionschedul' |
| | | import TableForm from './template-form' |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { mapGetters } from 'vuex' |
| | | export default { |
| | | data() { |
| | | return { |
| | | editForm:{ |
| | | id: null, |
| | | productionRoutine: null, |
| | | productionStatus: null, |
| | | }, |
| | | editDialogVisible: false, |
| | | dialogVisible: false, |
| | | scheduleList: [], |
| | | scheduleEditList: [], |
| | |
| | | page: { |
| | | total: 10, |
| | | currentPage: 1, |
| | | pageSize: 10 |
| | | pageSize: 10, |
| | | pagerCount: 5 |
| | | }, |
| | | option: { |
| | | height: 400, |
| | | selection: true, |
| | | columnBtn: false, |
| | | index: true, |
| | | rowKey: 'product', |
| | | indexFixed: false, |
| | | selectionFixed: false, |
| | | rowKey: 'mid', |
| | | indexLabel: 'åºå·', |
| | | menuAlign: 'center', |
| | | menuWidth: 100, |
| | | menuWidth: 130, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | addBtn: false, |
| | |
| | | }, |
| | | components: { |
| | | ttable, |
| | | TableForm, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(['permissions']), |
| | |
| | | this.rowCalc() |
| | | }, |
| | | watch:{ |
| | | |
| | | editDialogVisible(newVal){ |
| | | if(!newVal){ |
| | | this.editForm = { |
| | | id: null, |
| | | productionRoutine: null, |
| | | productionStatus: null, |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | |
| | |
| | | beforeDestroy() { |
| | | }, |
| | | methods: { |
| | | confirmEdit(){ |
| | | const _than = this |
| | | updateSchedul(this.editForm).then(res=>{ |
| | | if(res.status===200){ |
| | | _than.$message.success("æ´æ°æå") |
| | | _than.editDialogVisible = false |
| | | _than.getData() |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | }) |
| | | }, |
| | | editHandle(row,index){ |
| | | if(row){ |
| | | this.editForm.id = row.mid |
| | | this.editForm.productionRoutine = row.productionRoutine |
| | | this.editForm.productionStatus = row.productionStatus |
| | | this.editDialogVisible = true |
| | | } |
| | | }, |
| | | openEditDialog(){ |
| | | this.scheduleEditList = JSON.parse(JSON.stringify(this.scheduleList)) |
| | | this.dialogVisible = true |
| | |
| | | confirmEditSchedul(){ |
| | | let data = this.scheduleEditList |
| | | let orderObj = this.multipleSelection[0] |
| | | console.log("data---",data) |
| | | console.log("orderObj-----",orderObj) |
| | | let obj = { |
| | | "documentActualTime": data[0].actualTime, |
| | | "documentPlanTime": data[0].planTime, |
| | |
| | | "productType": orderObj.productType, |
| | | "projectName": orderObj.projectName |
| | | } |
| | | console.log("obj----->>>",obj); |
| | | fillTime(obj).then(res=>{ |
| | | if(res.status===200){ |
| | | this.$message.success("æ´æ°æå") |
| | |
| | | } |
| | | return '' |
| | | }, |
| | | handleSizeChange(val){ |
| | | if(val){ |
| | | this.page.pageSize=val |
| | | this.getData() |
| | | } |
| | | }, |
| | | handleCurrentChange(val){ |
| | | if(val){ |
| | | this.page.currentPage=val |
| | | this.getData() |
| | | } |
| | | }, |
| | | // è·åæ°æ®å表 |
| | | getData() { |
| | | this.loading = true |
| | | let param = { |
| | | size: 20, |
| | | current: 1, |
| | | size: this.page.pageSize, |
| | | current: this.page.currentPage, |
| | | } |
| | | fetchScheduleList(param).then((res) => { |
| | | this.tableData = res.data.data.records |
| | |
| | | }) |
| | | this.loading = false |
| | | }, |
| | | handleCurrentChange(val) { |
| | | this.multipleSelection = val |
| | | }, |
| | | // å é¤ |
| | | deleteHandle(row,index) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤å é¤', 'æç¤º', { |
| | | const _than = this |
| | | _than.$confirm('æ¯å¦ç¡®è®¤å é¤', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(function() { |
| | | |
| | | deleteSchedul(row.mid).then(res=>{ |
| | | if(res.status===200){ |
| | | _than.$message.success("å 餿å") |
| | | _than.getData() |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error) |
| | | }) |
| | | }) |
| | | }, |
| | | //卿åå¹¶æ¹æ³ |
| | |
| | | } |
| | | </script> |
| | | <style> |
| | | .el-tag--small{ |
| | | display: none; |
| | | } |
| | | .basic-template-table .el-table__body .el-table__row td:first-child .cell { |
| | | padding-left: 0px; |
| | | padding-right: 0px; |
| | |
| | | gantt.refreshData() |
| | | }, |
| | | parseData() { |
| | | console.log(this.$props.tasks) |
| | | gantt.parse(this.$props.tasks) |
| | | }, |
| | | clearAll() { |
| | |
| | | return false |
| | | } |
| | | const parentTask = gantt.getTask(task.parent) |
| | | console.log(parentTask) |
| | | if (parentTask.$open == true) { |
| | | // ä»»å¡å±å¼çæ
åµä¸ï¼æè½ç¼è¾ |
| | | this.$emit('task-dbclick', task) |
| | |
| | | this.taskIds.push(item.id) |
| | | }) |
| | | getOperationsByTaskIds({ ids: this.taskIds }).then((response) => { |
| | | console.log('response', response.data) |
| | | const resData = response.data.data |
| | | resData.forEach((item) => { |
| | | this.$set(item, 'commonChecked', false) |
| | |
| | | ids.push(item.id) |
| | | }) |
| | | getOperationsByTaskIds(ids).then((response) => { |
| | | console.log('data', response.data) |
| | | }) */ |
| | | }, |
| | | taskDetailHandleSelectionChange(val) { |
| | |
| | | }, |
| | | getSegmentOperateData() { |
| | | getOperationsByTaskIds({ ids: this.taskIds }).then((response) => { |
| | | console.log('response', response.data) |
| | | const resData = response.data.data |
| | | resData.forEach((item) => { |
| | | this.$set(item, 'commonChecked', false) |
| | |
| | | }) |
| | | } |
| | | }) |
| | | console.log('resultList', resultList) |
| | | if (resultList.length > 0 && resultList[0].routingList.length > 0) { |
| | | let flag = true |
| | | resultList.forEach((ele) => { |
| | |
| | | salarySummaryList() { |
| | | let r = JSON.parse(JSON.stringify(this.salarySummaryListRes)) |
| | | const Heji = this.getHeji_tab4(r) |
| | | console.log(Heji) |
| | | Heji.forEach((e) => { |
| | | const idx = r.findLastIndex((x) => e.staffId === x.staffId) |
| | | r = [...r.slice(0, idx + 1), e, ...r.slice(idx + 1)] |
| | |
| | | _that.selectedProductSystemNo = nodeData.key.split('_')[0] |
| | | // const query = { systemNo: 'XT000131' } |
| | | const query = { systemNo: nodeData.key.split('_')[0] } |
| | | console.log(query) |
| | | queryOperationTask(query) |
| | | .then((response) => { |
| | | var data = response.data |
| | |
| | | _that.paramTabs = [] |
| | | } else { |
| | | // å·¥æ¥ä¿¡æ¯ |
| | | console.log('nodeData', nodeData.batchNo) |
| | | _that.getStepRecords({ |
| | | id: _that.currOperateTask.id, |
| | | sn: nodeData.batchNo.split('SNå·:')[1] |
| | |
| | | }) |
| | | } |
| | | }) |
| | | console.log(param.diagram.selection) |
| | | }, |
| | | // æ ¹æ®å·¥åidï¼æ¥è¯¢å¯¹åºçå·¥èºåæ°ä¿¡æ¯ |
| | | queryTechnologyInfo(taskId) { |
| | |
| | | }, |
| | | // åæ¢è¿½æº¯æ¨¡å¼ |
| | | changeTraceType() { |
| | | console.log('traceType', this.traceType) |
| | | this.changePart() |
| | | }, |
| | | paramsTableHeaderStyle({ row, column, rowIndex, columnIndex }) { |
| | |
| | | updateModel: function(val) { |
| | | // No GoJS transaction permitted when replacing Diagram.model. |
| | | if (val instanceof go.Model) { |
| | | console.log('ssss') |
| | | this.diagram.model = val |
| | | } else { |
| | | var m = new go.GraphLinksModel() |
| | |
| | | // this.saveDisabled = false |
| | | // }) |
| | | // .catch((error) => { |
| | | // console.log('失败' + new Date().getTime()) |
| | | // this.saveDisabled = false |
| | | // }) |
| | | } else { |
| | |
| | | // this.saveDisabled = false |
| | | // }) |
| | | // .catch((error) => { |
| | | // console.log('失败' + new Date().getTime()) |
| | | // this.saveDisabled = false |
| | | // }) |
| | | }) |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } else { |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } |
| | |
| | | spinner: 'el-icon-loading', |
| | | background: 'rgba(0, 0, 0, 0.7)' |
| | | }) |
| | | // console.log('==========') |
| | | // console.log(nowListIndex) |
| | | // console.log(oriList[nowListIndex]) |
| | | const list = [] |
| | | list.push(oriList[nowListIndex]) |
| | | // å°æ°æ®ççæ° åææ®µå æ´æ°æ¤æ¬¡çæ° |
| | |
| | | } |
| | | } |
| | | |
| | | // console.log(idx) |
| | | // console.log(submitCount) |
| | | // console.log(list) |
| | | // console.log(listDisNumber) |
| | | // |
| | | // setTimeout(() => { |
| | | // loading.close() |
| | |
| | | if (data.code == 0) { |
| | | // è¿åæ¥å·¥ä¸»è¡¨idï¼ç¨äºå·æ°é¡µé¢ |
| | | var productMainId = data.data |
| | | // console.log(idx) |
| | | // console.log(submitCount) |
| | | // console.log(listDisNumber) |
| | | loading.close() |
| | | // å·²å®ææ°æ® æ¶æ¯è®°å½ |
| | | this.messageMap['' + nowListIndex] = |
| | |
| | | } else { |
| | | // æ¹éæäº¤å®æï¼å·æ°æ¥å·¥é¡µé¢æ°æ® |
| | | this.$emit('refreshProductOutputList', productMainId) |
| | | console.log(this.messageMap) |
| | | this.$message.success('æ°å¢æå') |
| | | this.innerVisible = false |
| | | } |
| | |
| | | }) |
| | | .catch((error) => { |
| | | loading.close() |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | this.showError() |
| | | }) |
| | |
| | | // this.saveDisabled = false |
| | | // }) |
| | | // .catch((error) => { |
| | | // console.log('失败' + new Date().getTime()) |
| | | // this.saveDisabled = false |
| | | // }) |
| | | } else { |
| | |
| | | // this.saveDisabled = false |
| | | // }) |
| | | // .catch((error) => { |
| | | // console.log('失败' + new Date().getTime()) |
| | | // this.saveDisabled = false |
| | | // }) |
| | | }) |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } |
| | |
| | | productOuts.push(productOut) |
| | | } |
| | | productVo.productOutputList = productOuts |
| | | console.log('dasdad', productVo) |
| | | batchSaveProductOutput(productVo) |
| | | .then((response) => { |
| | | var data = response.data |
| | |
| | | this.saveDisabled = false |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } |
| | |
| | | pullFeed() { |
| | | var partNoList = [] |
| | | var partNoLists |
| | | console.log('this.dataList', this.dataList) |
| | | for (var i = 0; i < this.dataList.length; i++) { |
| | | partNoLists = this.dataList[i].partNo |
| | | partNoList.push(partNoLists) |
| | |
| | | } |
| | | }, |
| | | inputHandle(){ |
| | | console.log(this.currOperateTask); |
| | | if (this.selectFeeds.length > 0) { |
| | | var list = [] |
| | | this.selectFeeds.forEach(a=>{ |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | console.log('asdasdasdad') |
| | | this.loadStockByWorkstation() |
| | | this.loadFeedByWorkstation(this.workstationId) |
| | | }, |
| | |
| | | watch: { |
| | | workstationId() { |
| | | if (this.workstationId) { |
| | | console.log('sssssssss') |
| | | |
| | | this.loadStockByWorkstation() |
| | | this.loadFeedByWorkstation(this.workstationId) |
| | | } |
| | |
| | | workstationId: { |
| | | handler: function(newVal, oldVal) { |
| | | if (this.workstationId) { |
| | | console.log(`output->this.workstationId`,this.workstationId) |
| | | getAllHandymanTemplate( |
| | | Object.assign({ workstationId: this.workstationId }) |
| | | ).then((response) => { |
| | |
| | | |
| | | .warning-info { |
| | | margin-left: 20px; |
| | | font-size: 16px; |
| | | font-size: 13px; |
| | | font-weight: bold; |
| | | color: red; |
| | | letter-spacing: 3px; |
| | | } |
| | |
| | | customerOrderNo: this.operateTaskForm.orderNumber |
| | | }).then((res) => { |
| | | const result = res.data.data |
| | | console.log(result) |
| | | result.forEach(function(item) { |
| | | const obj = { |
| | | key: item, |
| | |
| | | } |
| | | that.partNames.push(obj) |
| | | }) |
| | | console.log(that.partNames) |
| | | }) |
| | | }, 500) |
| | | } else { |
| | |
| | | (e) => e.id === this.dutyForm.workstationId |
| | | ).workCenter |
| | | } |
| | | console.log(this.paramObj_StationSave) |
| | | this.visible_StationSave = true |
| | | }, |
| | | Select_StationSave() { |
| | |
| | | fetchList(query) |
| | | .then((response) => { |
| | | var data = response.data |
| | | console.info(data) |
| | | if (data.code === 0) { |
| | | this.materialList = data.data.records |
| | | } else { |
| | |
| | | <img class="selectedImg" src="/img/workbench/icon_selected.png" /> |
| | | <div class="header"> |
| | | <div>å·¥åå·ï¼{{ item.taskNo }}</div> |
| | | <!-- <div class="tag" :style="{ backgroundColor: getTagColor(item.planFinishDay) }"> |
| | | {{ getTagText(item.planFinishDay) }} |
| | | </div> --> |
| | | <el-alert |
| | | center |
| | | style="width: 80px;height:30px;line-height: 30px;" |
| | | style="width: 80px;height:28px;line-height: 100%;font-size:10px" |
| | | :title="getTagText(item.planFinishDay)" |
| | | :type="getTagColor(item.planFinishDay)" |
| | | effect="dark" |
| | |
| | | } |
| | | .status-change-div { |
| | | width: 20%; |
| | | max-width: 100px; |
| | | max-width: 160px; |
| | | } |
| | | .status-change-div >>> .el-select { |
| | | width: 100%; |
| | |
| | | .then((res) => { |
| | | if (!res.data.data) { |
| | | changeSubmitState(taskId, true).then((res) => { |
| | | console.log(res) |
| | | }) |
| | | getDraftProductOut(taskId).then((response) => { |
| | | console.log(response) |
| | | const list = response.data.data || [] |
| | | if (list.length > 0) { |
| | | this.batchChangeSubmit(list, 0, currItem) |
| | | } else { |
| | | changeSubmitState(taskId, false).then((res) => { |
| | | console.log(res) |
| | | }) |
| | | currItem.statusAction = null |
| | | this.$message.warning('没æå¯æäº¤çæ°æ®') |
| | |
| | | .catch((error) => { |
| | | console.log(error) |
| | | changeSubmitState(taskId, false).then((res) => { |
| | | console.log(res) |
| | | }) |
| | | }) |
| | | } |
| | |
| | | this.batchChangeSubmit(list, i, currItem) |
| | | } else { |
| | | changeSubmitState(this.taskID, false).then((res) => { |
| | | console.log(res) |
| | | }) |
| | | // æ¹éæäº¤å®æï¼å·æ°æ¥å·¥é¡µé¢æ°æ® |
| | | this.$emit('refreshReport') |
| | |
| | | console.log(error) |
| | | loading.close() |
| | | changeSubmitState(this.taskID, false).then((res) => { |
| | | console.log(res) |
| | | }) |
| | | const errorMsg = 'æ¥å·¥åå·' + list[i].productNo + 'ï¼' |
| | | this.$message.error(errorMsg + 'å¤ç失败') |
| | |
| | | endTime: this.endTime |
| | | // criteria: JSON.stringify(obj) |
| | | }).then((res) => { |
| | | console.log(res.data.data.length) |
| | | if (res.data.data.length) { |
| | | const arr = [] |
| | | arr.push(res.data.data[0]) |
| | |
| | | this.scanArr.push(res.data.data[0].id) |
| | | this.idList = [...new Set(this.scanArr)] |
| | | this.part = null |
| | | console.log(this.idList) |
| | | } |
| | | }) |
| | | } |
| | |
| | | templateType: this.currTemplateType |
| | | }) |
| | | ).then((response) => { |
| | | console.log(response) |
| | | this.paramTemplatesList = response.data.data.records |
| | | }) |
| | | }, |
| | |
| | | this.params = JSON.parse(JSON.stringify(list)) |
| | | } |
| | | }) |
| | | console.log(this.selectedTemplateId) |
| | | }, |
| | | getParamValuesi() { |
| | | this.params = [] |
| | |
| | | this.params = JSON.parse(JSON.stringify(list)) |
| | | } |
| | | }) |
| | | console.log(this.selectedTemplateIds) |
| | | }, |
| | | saveProductRecord() { |
| | | this.saveDisabled = true |
| | |
| | | // this.part = val.systemNo + ' ' + val.outBatchNo |
| | | this.part = val.outBatchNo |
| | | this.productOutId = val.id |
| | | console.log(this.part) |
| | | const forData = [] |
| | | console.log(val) |
| | | forData.push(val) |
| | | console.log(forData) |
| | | for (let i = 0; i < forData.length; i++) { |
| | | if (!this.produceList.some((e) => e.id === forData[i].id)) |
| | | this.produceList.push(forData[i]) |
| | |
| | | } |
| | | } |
| | | // this.idList = [...new Set(arr)] |
| | | console.log(this.outputPartsList) |
| | | console.log(this.idList) |
| | | } |
| | | }, |
| | | selectProductOutPuts(val) { |
| | |
| | | // this.part = val.systemNo + ' ' + val.outBatchNo |
| | | this.parts = val.partBatchNo |
| | | this.productOutId = val.id |
| | | console.log(this.parts) |
| | | const forData = [] |
| | | console.log(val) |
| | | forData.push(val) |
| | | console.log(forData) |
| | | for (let i = 0; i < forData.length; i++) { |
| | | if (!this.cutApartList.some((e) => e.id === forData[i].id)) |
| | | this.cutApartList.push(forData[i]) |
| | |
| | | } |
| | | } |
| | | // this.idLists = [...new Set(arr)] |
| | | console.log(this.outputPartsList) |
| | | console.log(this.idLists) |
| | | } |
| | | }, |
| | | handleDelete(index, row) { |
| | | console.log(index, row) |
| | | this.outputPartsList = this.outputPartsList.filter( |
| | | (item) => item.id !== row.id |
| | | ) |
| | |
| | | this.produceList = this.produceList.filter((item) => item.id !== row.id) |
| | | this.cutApartList = this.cutApartList.filter((item) => item.id !== row.id) |
| | | |
| | | console.log(this.idList) |
| | | console.log(this.outputPartsList) |
| | | }, |
| | | // å车æ¢è¡ |
| | | nextFocus(index) { |
| | |
| | | this.paramObj.endTime = this.getNowFormatDate() |
| | | this.paramObjs.startTime = this.getNowFormatDate() |
| | | this.paramObjs.endTime = this.getNowFormatDate() |
| | | console.log(123456) |
| | | } else if (this.createDateRangeArr.length !== 0) { |
| | | console.log(123456) |
| | | this.paramObj.startTime = this.createDateRangeArr[0] |
| | | .split('-') |
| | | .join('') |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } else { |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } |
| | |
| | | if (data.code == 0) { |
| | | // è¿åæ¥å·¥ä¸»è¡¨idï¼ç¨äºå·æ°é¡µé¢ |
| | | var productMainId = data.data |
| | | // console.log(idx) |
| | | // console.log(submitCount) |
| | | // console.log(listDisNumber) |
| | | loading.close() |
| | | // å·²å®ææ°æ® æ¶æ¯è®°å½ |
| | | this.messageMap['' + nowListIndex] = |
| | |
| | | } else { |
| | | // æ¹éæäº¤å®æï¼å·æ°æ¥å·¥é¡µé¢æ°æ® |
| | | this.$emit('refreshTaskDetailInfoList') |
| | | console.log(this.messageMap) |
| | | this.$message.success('æ°å¢æå') |
| | | this.innerVisible = false |
| | | } |
| | |
| | | }) |
| | | .catch((error) => { |
| | | loading.close() |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | this.showError() |
| | | }) |
| | |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } |
| | |
| | | productOuts.push(productOut) |
| | | } |
| | | productVo.productOutputList = productOuts |
| | | console.log('dasdad', productVo) |
| | | saveProductOutput(productVo) |
| | | .then((response) => { |
| | | var data = response.data |
| | |
| | | this.saveDisabled = false |
| | | }) |
| | | .catch((error) => { |
| | | console.log('失败' + new Date().getTime()) |
| | | this.saveDisabled = false |
| | | }) |
| | | } else { |
| | |
| | | // dutyRecordId: this.isDutyFilter ? this.currentDutyRecord.id : null, |
| | | // workstationId: this.isWorkstationFilter ? this.workstationId : null |
| | | // }) |
| | | // console.log(val, res) |
| | | // this.productRecords = res.data.data |
| | | }, |
| | | // å¤éå é¤ |
| | | select(selection, row) { |
| | | console.log(selection, row) |
| | | const arr = [] |
| | | // this.idList = [] |
| | | selection.forEach((item) => { |
| | | arr.push(item.id) |
| | | }) |
| | | this.idList = [...new Set(arr)] |
| | | console.log(this.idList) |
| | | }, |
| | | // å
¨éå é¤ |
| | | selectAll(selection) { |
| | | console.log(selection) |
| | | const arr = [] |
| | | // this.idList = [] |
| | | selection.forEach((item) => { |
| | | arr.push(item.id) |
| | | }) |
| | | this.idList = [...new Set(arr)] |
| | | console.log(this.idList) |
| | | }, |
| | | async delAlls() { |
| | | let isContinue = true |
| | |
| | | isContinue = true |
| | | // this.idList = [] |
| | | const res = await delAll(this.idList) |
| | | console.log(res) |
| | | this.getProductRecords() |
| | | this.$message.success('å 餿åï¼') |
| | | this.idList = [] |
| | |
| | | }, |
| | | // è·åç产记å½å表 |
| | | getProductRecords() { |
| | | console.log(this.createDateRange) |
| | | let templateJson |
| | | if (this.createDateRange != null && this.createDateRange !== '') { |
| | | templateJson = { |
| | |
| | | item.toggleRowSelection(row) |
| | | }) |
| | | const index = this.idList.indexOf(row.id) |
| | | console.log(index) |
| | | if (index >= 0) { |
| | | this.idList.splice(index, 1) |
| | | } else { |
| | | this.idList.push(row.id) |
| | | } |
| | | console.log(this.idList) |
| | | this.currProductRecordId = row.id |
| | | this.paramValues = [] |
| | | var productRecordJson = { |
| | |
| | | nextFocus(index) { |
| | | index++ |
| | | this.$refs['reference_' + index].focus() |
| | | // console.log(this.i) |
| | | }, |
| | | // å 餿æ¡çäº§è®°å½ |
| | | delProductrecord(index, row) { |
| | |
| | | // JSON.stringify(paramValueArray) |
| | | // ) |
| | | updateProductRecord(obj).then((response) => { |
| | | console.log(this.idList) |
| | | if (response.data.code === 0) { |
| | | this.$message.success('ä¿®æ¹æå') |
| | | console.log(this.$refs.productRecordTable) |
| | | this.$refs.productRecordTable.forEach((item) => { |
| | | item.clearSelection() |
| | | }) |
| | |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | console.info(this.multipleSelection) |
| | | }, |
| | | // é䏿¥å |
| | | changeProductMain() { |
| | |
| | | productOuts.push(productOut) |
| | | } |
| | | productVo.productOutputList = productOuts |
| | | console.log('dasdad', productVo) |
| | | saveProductOutput(productVo) |
| | | .then((response) => { |
| | | var data = response.data |
| | |
| | | const exsitMan = this.personBoardList.find((item) => { |
| | | return item.staffId == this.userInfo.staffId |
| | | }) |
| | | console.log('exsitMan', exsitMan) |
| | | if (exsitMan) { |
| | | const flag = this.checkProductQuality() |
| | | if (flag) { |
| | |
| | | } |
| | | }, |
| | | taskTypeChange() { |
| | | // console.log('sadasd') |
| | | // this.$refs.sn_seach_input.focus() |
| | | this.stockFieldInfo = null |
| | | this.stockList = [] |
| | | this.splitResultList = [] |
| | |
| | | }, |
| | | // æ¾å¤§å¾ç |
| | | openImg() { |
| | | console.log('æ¾å¤§ç
§ç') |
| | | }, |
| | | downloadProcessConfigFile(row) { |
| | | downloadProcessConfigFile( |
| | |
| | | > |
| | | <el-table-column label="æ¥å·¥åå·" prop="productNo" align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | label="åºåå·" |
| | | prop="partBatchNo" |
| | | align="center" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | label="é¶ä»¶ç¼å·" |
| | | prop="partNo" |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="IFSæ¹æ¬¡å·" |
| | | label="æ¹æ¬¡å·" |
| | | prop="ifsBatchNo" |
| | | align="center" |
| | | :show-overflow-tooltip="true" |
| | |
| | | this.$message.success('æ´æ°æå
¥æå') |
| | | // å·æ°ææä¿¡æ¯ |
| | | this.$emit('refreshFeedsForDel') |
| | | this.$emit('refreshTable') |
| | | } else { |
| | | this.$message.error('æ´æ°æå
¥å¤±è´¥') |
| | | } |
| | |
| | | // currRow.id = data.data |
| | | // å·æ°ææä¿¡æ¯ |
| | | this.$emit('refreshFeedsForDel') |
| | | this.$emit('refreshTable') |
| | | } else { |
| | | this.$message.error('æ·»å æå
¥å¤±è´¥') |
| | | } |
| | |
| | | this.$message.success('å 餿å
¥æå') |
| | | // å·æ°ææä¿¡æ¯ |
| | | this.$emit('refreshFeedsForDel') |
| | | this.$emit('refreshTable') |
| | | } else { |
| | | this.$message.error('å 餿å
¥å¤±è´¥') |
| | | } |
| | |
| | | currRow.inputQuantity = currRow.availableStockQuantity |
| | | currRow.availableStockQuantity = 0 |
| | | } |
| | | this.$emit("refreshTable") |
| | | } |
| | | } |
| | | } |
| | |
| | | </el-table-column> |
| | | <el-table-column label="é¶ä»¶åç§°" prop="partName" align="center" :show-overflow-tooltip="true"> |
| | | </el-table-column> |
| | | <el-table-column label="åºåå·" prop="outBatchNo" align="center" width="120" :show-overflow-tooltip="true"> |
| | | <el-table-column label="æ¹æ¬¡å·" prop="outBatchNo" align="center" width="120" :show-overflow-tooltip="true"> |
| | | <template slot-scope="scope"> |
| | | <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit" |
| | | v-model="scope.row.outBatchNo" placeholder="åºåå·"></el-input> |
| | | v-model="scope.row.outBatchNo" placeholder="æ¹æ¬¡å·"></el-input> |
| | | <template v-if="!scope.row.isEdit">{{ |
| | | scope.row.outBatchNo |
| | | }}</template> |
| | |
| | | <shiftProductoutFormDialog :currshowlist.sync="showShiftProductForm" :productList="productList" |
| | | :parentInfo="parentInfo" :currentDutyRecord="currentDutyRecord" :personBoardList="personBoardList" |
| | | @refreshProductOutputList="refreshProductOutputList" /> |
| | | <workReportFeed v-if="searchFeed" ref="searchFeed" @refreshFeedsForDel="refreshFeedsForDel"></workReportFeed> |
| | | <workReportFeed v-if="searchFeed" ref="searchFeed" @refreshTable="getBatchReport(5)" @refreshFeedsForDel="refreshFeedsForDel"></workReportFeed> |
| | | |
| | | <productOutFormDialog :currshowlist.sync="showProductForm" :productList="productList" :parentInfo="parentInfo" |
| | | :currentDutyRecord="currentDutyRecord" :personBoardList="personBoardList" |
| | |
| | | <div> |
| | | <iframe id="frame" style="width:2480px;overflow:hidden;margin-top: 200px;" :src="jimusrc"></iframe> |
| | | </div> |
| | | <el-dialog title="产åºåæ ¼åºä½" :visible.sync="dialogVisible" width="30%"> |
| | | <span>åæ ¼åºä½ï¼</span> |
| | | <el-dialog title="äº§åºæ¾å
¥çº¿è¾¹ä»åºä½" :visible.sync="dialogVisible" width="30%"> |
| | | <span>ç§»å
¥çº¿è¾¹ä»åºä½ï¼</span> |
| | | <el-select v-model="locationIdValue" placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in options" :key="item.index" :label="`${item.locNo}+${item.locName}`" :value="item.id"> |
| | | </el-option> |
| | |
| | | this.$message.error('æå¤åªè½éæ©1æ¡è®°å½è¿è¡æäº¤ï¼') |
| | | return false |
| | | } else { |
| | | qualifiedLocation(this.multipleSelection[0].workstationId).then(res => { |
| | | qualifiedLocation({ |
| | | workstationId: this.multipleSelection[0].workstationId, |
| | | operationTaskId: this.currOperateTask.id |
| | | }).then(res => { |
| | | this.options = res.data.data |
| | | if (this.options.length > 1) { |
| | | this.dialogVisible = true |
| | |
| | | <el-table-column |
| | | label="产å" |
| | | prop="product" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | /> |
| | | <el-table-column |
| | | label="产åç¼å·" |
| | | prop="productNo" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æ¹æ¬¡å·" |
| | | prop="outBatchNo" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="è§æ ¼åå·" |
| | | prop="specs" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="åä½" |
| | | prop="unit" |
| | | show-overflow-tooltip |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | |
| | | label="æ°é" |
| | | prop="number" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | width="80" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.number"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | ></el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="æä½" |
| | | align="center" |
| | | width="80"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="deleteadd(scope.row)" size="small">å é¤</el-button> |
| | | <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete" size="small">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </packfromadd> |
| | | </basic-container> |
| | | <el-dialog title="æ ç¾å表" top="5vh" :visible.sync="diaPrintTab" width="500px"> |
| | | <div id="qrCard" class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;"> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">åºå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">å
è£
ç¼å·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.packageNo }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">äºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="JSON.stringify(item)" :size="120" :margin="1"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | <div style="width:100%;height: 400px;overflow-y: auto;"> |
| | | <div id="qrCard" class="dia_body"> |
| | | <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 10px;"> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">åºå·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">å
è£
ç¼å·ï¼</el-col> |
| | | <el-col :span="10" style="font-weight: bold;">{{ item.packageNo }}</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="10" :offset="3">å
è£
å°è´¦äºç»´ç ï¼</el-col> |
| | | <el-col :span="10"> |
| | | <vueQr :text="JSON.stringify(item)" :size="110" :margin="1"></vueQr> |
| | | </el-col> |
| | | </el-row> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="diaPrintTab = false">å æ¶</el-button> |
| | |
| | | printFun() { |
| | | this.diaPrintTab = false; |
| | | PrintJS({ |
| | | printable: "qrCard", |
| | | type: "html", |
| | | // header: "åæææ£æµæ¥å", |
| | | targetStyles: ["*"], |
| | | style: `@page {margin: 0mm 5mm;} |
| | | html {zoom:100%;} |
| | | @media print { |
| | | html,body{ |
| | | width:60mm; |
| | | height:40mm; |
| | | } |
| | | }`, |
| | | ignoreElements: ["no-ignore"], |
| | | orientation: 'portrait' |
| | | printable: 'qrCard',//é¡µé¢ |
| | | type: "html",//ææ¡£ç±»å |
| | | maxWidth:450, |
| | | targetStyles:['*'], |
| | | style: `@page { |
| | | margin:0; |
| | | padding: 0; |
| | | size: 360px 170px; |
| | | } |
| | | html{ |
| | | zoom:100%; |
| | | } |
| | | @media print{ |
| | | width: 360px; |
| | | height: 170px; |
| | | margin:0; |
| | | padding: 0; |
| | | }`, |
| | | onPrintDialogClose: this.erexcel=false, |
| | | targetStyles: ["*"], // 使ç¨domçæææ ·å¼ï¼å¾éè¦ |
| | | font_size: '', |
| | | }); |
| | | }, |
| | | handleSelectionChange(val){ |
| | |
| | | return |
| | | } |
| | | this.diaPrintTab = true |
| | | console.log(this.multipleSelection); |
| | | this.multipleSelection.forEach(item=>{ |
| | | let obj = { |
| | | packageNo: item.packageNo, |
| | | contractNo: item.contractNo, |
| | | boxInfo: [] |
| | | packageBoxId:item.id |
| | | } |
| | | list({packageBoxId:item.id}).then((res) =>{ |
| | | res.data.data.forEach(ele=>{ |
| | | obj.boxInfo.push({ |
| | | product: ele.product, |
| | | productNo: ele.productNo, |
| | | specs: ele.specs, |
| | | unit: ele.unit, |
| | | number: ele.number |
| | | }) |
| | | }) |
| | | }) |
| | | this.qrData.push(obj) |
| | | }) |
| | | }, |
| | |
| | | this.testStandardParams.forEach(el => { |
| | | el.packageBoxId =this.goid |
| | | }); |
| | | console.log(this.testStandardParams); |
| | | // return |
| | | saveList(this.testStandardParams).then((res) =>{ |
| | | this.$message.success('ä¿åæå') |
| | | this.rightquery() |
| | | if(res.status===200){ |
| | | this.$message.success('ä¿åæå') |
| | | this.rightquery() |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | }) |
| | | }, |
| | | //å é¤ |
| | |
| | | }, |
| | | watch: { |
| | | currshowlist() { |
| | | console.log(22211); |
| | | this.innerVisible = this.currshowlist |
| | | if (this.currshowlist) { |
| | | this.$nextTick(() => { |
| | |
| | | // this.$refs.paramTable.getDataList() |
| | | // }, |
| | | Getdata(val){ |
| | | console.log(val); |
| | | this.datalistid = val |
| | | }, |
| | | saveSelectRow() { |
| | |
| | | <template> |
| | | <el-dialog |
| | | width="60%" |
| | | title="åæ°" |
| | | title="产ååºåæç»" |
| | | top="5vh" |
| | | :visible.sync="innerVisible" |
| | | :show="currshowlist" |
| | |
| | | data() { |
| | | return { |
| | | datalist:[], |
| | | datalistid:"", |
| | | ajaxFun: dataadd, |
| | | currentRow: false, |
| | | typeOptions: [], |
| | |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'datetimerange' |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'outBatchNo', |
| | | label: 'æ¹æ¬¡å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'number', |
| | | label: 'æ°é', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'locNo', |
| | | label: 'åºä½ç¼å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'locName', |
| | | label: 'åºä½åç§°', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | }, |
| | | watch: { |
| | | currshowlist() { |
| | | console.log(22211); |
| | | this.innerVisible = this.currshowlist |
| | | } |
| | | }, |
| | |
| | | this.getParamType() |
| | | }, |
| | | methods: { |
| | | // è·åæ°æ®å表 |
| | | getData() { |
| | | // è·åæ°æ®å表 |
| | | getData() { |
| | | this.$refs.paramTable.getDataList() |
| | | }, |
| | | handleSelectionChange(val){ |
| | | let data = val |
| | | data.forEach(el => { |
| | | this.datalistid = el |
| | | }); |
| | | }, |
| | | saveSelectRow() { |
| | | console.log(this.packageBoxIddata,"123"); |
| | | // saveList ({customerId:this.datalistid.id,contractNo:this.datalistid.contractNo}).then((res =>{ |
| | | // console.log(res); |
| | | // if (res.status === 200) { |
| | | // this.$message.success('æ°å¢æå') |
| | | // }else{ |
| | | // this.$message.error('å建失败') |
| | | // } |
| | | // })) |
| | | this.innerVisible = false |
| | | // this.$emit('handleSelectionChange',this.innerVisible ) |
| | | }, |
| | | handleSelectionChange(val){ |
| | | this.datalist = val |
| | | console.log(this.datalist,"æ°æ®"); |
| | | }, |
| | | saveSelectRow(){ |
| | | this.$emit('handleSelectionChange',this.datalist ) |
| | |
| | | if (this.currentApplyId) { |
| | | getStock().then((data) => { |
| | | if (data.data.data.code === 1) { |
| | | console.info(sysParam.SHOW_STEP_BUSINESS) |
| | | this.stockList = data.data.data.data.listInfo |
| | | this.showErpStock = true |
| | | } |
| | |
| | | }, |
| | | submitUpload(file) { |
| | | console.info(this.currentRow && this.currentRow.id) |
| | | console.log(file); |
| | | if (this.currentRow && this.currentRow.id) { |
| | | const maxSize = 5 * 1024 *1024 |
| | | let jpgType = 'image/jpeg' |
| | |
| | | } |
| | | }, |
| | | submitUpload() { |
| | | console.info(this.currentRow && this.currentRow.id) |
| | | if (this.currentRow && this.currentRow.id) { |
| | | this.paramData.exceptionId = this.currentRow.id |
| | | } else { |
| | |
| | | </div> |
| | | <div class="page-main"> |
| | | <div class="finishedProduct-basic"> |
| | | <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" |
| | | <el-form :model="processInspectVo" :rules="processInspectRules" ref="addInspectionform" class="l-mes" |
| | | label-position="right" label-width="120px" style="width: 100%" size="small"> |
| | | <div class="formwrapper"> |
| | | <el-row> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ¥å·¥åå·ï¼"> |
| | | <el-input disabled v-model="processInspectVo.productNo" |
| | | placeholder="请è¾å
¥æ¥å·¥åå·ï¼" 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-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-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="产ååç§°ï¼"> |
| | | <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null" |
| | |
| | | placeholder="请è¾å
¥è§æ ¼åå·" 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.unit" |
| | | placeholder="请è¾å
¥åä½" autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6"> |
| | | <el-form-item label="æ°éï¼"> |
| | | <el-input v-model="processInspectVo.quantity" placeholder="请è¾å
¥æ°é" |
| | | autocomplete="off" :disabled="processInspectVo.id != null" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6" v-if="processInspectVo.id != null"> |
| | | <el-form-item label="æ¹æ¬¡å·ï¼"> |
| | | <el-input v-model="processInspectVo.outBatchNo" autocomplete="off" disabled /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6" v-if="processInspectVo.id != null"> |
| | | <el-form-item label="产ååæ ¼åºä½ï¼" prop="locationId"> |
| | | <el-select @change="changeLocation" clearable style="width:100%" |
| | | v-model="processInspectVo.locationId" placeholder="è¯·éæ©åæ ¼åºä½" |
| | | :disabled="resultVal!=null && processInspectVo.id!=null" autocomplete="off"> |
| | | <el-option v-for="(item,i) in locationList" :key="i" |
| | | :label="item.locName+'-'+item.locNo" :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-table-column prop="required" label="æ åå¼" width="240" ></el-table-column> |
| | | <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="æ£æµå¼" |
| | | width="240" style="text-align: center;"> |
| | | |
| | | <template slot-scope="scope"> |
| | | <el-col v-if="scope.row.itype === '1'"> |
| | | <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> |
| | | @blur="changeState(scope.row)" placeholder="请è¾å
¥æ£æµå¼"></el-input> |
| | | <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></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-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> |
| | |
| | | <template slot-scope="scope"> |
| | | <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span> |
| | | <div v-else> |
| | | <!-- <el-input v-model="scope.row.eId" v-if="scope.row.iname != null" placeholder="请è¾å
¥è®¾å¤å·"></el-input> --> |
| | | <el-select style="width:100%" v-model="scope.row.eId" |
| | | v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)"> |
| | | v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)"> |
| | | <el-option v-for="(item,index) in deviceList" |
| | | :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> |
| | | :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="inspectionValue" :key="index" |
| | | <el-table-column prop="inspectionValue"> |
| | | label="æ£éªæè¿°" width="240" style="text-align: center;"> |
| | | <template slot-scope="scope"> |
| | | <el-col v-if="scope.row.itype === '1'"> |
| | |
| | | |
| | | <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.inote" |
| | | @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.inote"></span> |
| | |
| | | class="item" effect="dark" content="请å
éæ©è®¾å¤ï¼" placement="top-start"> |
| | | <el-input :disabled="scope.row.eId == null" |
| | | v-model="scope.row.inote" |
| | | @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.inote" placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in dataVal" :key="item.value" :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> --> |
| | | @blur="changeState(scope.row)" placeholder="请è¾å
¥æ£æµå¼"></el-input> |
| | | <span v-if="resultVal != null && processInspectVo.id != null" |
| | | v-text="scope.row.inote"></span> |
| | | </el-tooltip> |
| | |
| | | updateFinishedInsProduct, |
| | | updateFinishedInspectById, |
| | | selectDeviceAPI, |
| | | updateLocationIdById, |
| | | } from '@/api/quality/finishedProduct' |
| | | import { selectDevice } from '@/api/quality/rawMaterial' |
| | | import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location' |
| | | import { remote } from '@/api/admin/dict' |
| | | export default { |
| | | data() { |
| | | return { |
| | | locationList: [], |
| | | dataVal: [{ |
| | | label: 'æ¯', |
| | | value: 'æ¯' |
| | |
| | | empiricalValueAdd: 1, |
| | | // ç¼è¾æ¶å卿é¿çåæ°åï¼åå é¤å¤æ |
| | | empiricalValueAddMaxNumber: 0, |
| | | processInspectRules: { |
| | | locationId: [{required: true,message:'è¯·éæ©åºä½å·',trigger:'blur'}] |
| | | }, |
| | | processInspectVo: { |
| | | id: null, |
| | | finInsNo: null, |
| | |
| | | specificationsModel: null, |
| | | unit: null, |
| | | technologyId: null, |
| | | documentId: null |
| | | documentId: null, |
| | | outBatchNo: null, |
| | | locationId: null, |
| | | }, |
| | | inspectionItems: [], // æ°å¢æ£éªé¡¹ç®è¡¨æ ¼ |
| | | inspectionResultForm: [], |
| | |
| | | mounted() { |
| | | this.getDeviceList() |
| | | this.processInspectVo.id = this.$route.query.id |
| | | this.resultVal = this.$route.query.resultVal |
| | | this.resultVal = this.$route.params.resultVal |
| | | if(this.resultVal == null){ |
| | | let val = sessionStorage.getItem("finished-resultVal-"+this.processInspectVo.id); |
| | | val == undefined ? this.resultVal=null : this.resultVal = val |
| | | } |
| | | this.getIfsLocation() |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | |
| | | changeLocation(val){ |
| | | if(val){ |
| | | let obj = { |
| | | id: this.processInspectVo.id, |
| | | locationId: val |
| | | } |
| | | updateLocationIdById(obj).then(res=>{ |
| | | if(res.status===200){ |
| | | this.$message.success("æ´æ°åæ ¼åºä½æå") |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | getIfsLocation(){ |
| | | getIfsLocationByGroupCopyAll({locationGroup: '1'}).then(res=>{ |
| | | if(res.status===200){ |
| | | this.locationList = res.data.data |
| | | } |
| | | }).catch(error=>{ |
| | | console.error(error); |
| | | }) |
| | | }, |
| | | submitSave(){ |
| | | let locationId = this.processInspectVo.locationId |
| | | if(locationId==null){ |
| | | this.$message.error("è¯·éæ©äº§ååæ ¼åºä½") |
| | | return |
| | | } |
| | | let pro = 0 |
| | | this.inspectionItems.forEach(item => { |
| | | if(item.children){ |
| | |
| | | this.processInspectVo.unit = result.punit |
| | | this.processInspectVo.quantity = result.quantity |
| | | this.processInspectVo.documentId = result.documentId |
| | | this.processInspectVo.outBatchNo = result.outBatchNo |
| | | this.processInspectVo.locationId = result.locationId |
| | | let userList = [] |
| | | result.children.forEach(item=>{ |
| | | item.iid = Math.random() |
| | |
| | | }, |
| | | getDeviceList(){ |
| | | selectDeviceAPI(null).then(res=>{ |
| | | // this.deviceList = res.data.data |
| | | console.log(res); |
| | | this.deviceList = res.data.data |
| | | |
| | | }) |
| | | }, |
| | | updateDevice(row,index){ |
| | | updateDevice(row){ |
| | | let rowId=JSON.stringify(row.iid) |
| | | console.log(row); |
| | | updateDeviceById({deviceId:row.eId,fpid:row.iid}).then(res=>{ |
| | | this.inspectionItems.forEach(obj=>{ |
| | | obj.children.forEach(c=>{ |
| | |
| | | c.inote='' |
| | | } |
| | | }) |
| | | |
| | | // if(obj.children){ |
| | | // obj.children[index-1].inspectionValue = '' |
| | | // obj.children[index-1].iresult = null |
| | | // obj.children[index-1].empiricalValueAddss = [] |
| | | // obj.children[index-1].inote='' |
| | | |
| | | // } |
| | | }) |
| | | }).catch(error=>{ |
| | | console.log(error) |
| | |
| | | this.processInspectVo.unit = sample.unit |
| | | this.processInspectVo.documentId = sample.documentId |
| | | }, |
| | | changeState(row, index) { |
| | | changeState(row) { |
| | | if (row.iid != null && row.iid != '') { |
| | | let str = "" |
| | | row.empiricalValueAddss.forEach(e => { |
| | |
| | | let id = res.data.data |
| | | if(id != null){ |
| | | queryById(id).then(response=>{ |
| | | console.log(response.data.data.children) |
| | | let proList = response.data.data.children |
| | | proList.forEach(item=>{ |
| | | item.iid = Math.random(); |
| | |
| | | }, |
| | | created(){ |
| | | this.tableData = this.formData |
| | | console.log("============",this.tableData) |
| | | this.initData() |
| | | // this.initProjectList(this.projectList) |
| | | }, |
| | | methods:{ |
| | | initData(){ |
| | |
| | | formData(newVal){ |
| | | if(newVal){ |
| | | this.projectList = [] |
| | | console.log(newVal) |
| | | this.tableData = newVal |
| | | this.initData() |
| | | // this.initProjectList(this.projectList) |
| | | } |
| | | } |
| | | }, |
| | |
| | | initData(){ |
| | | let ii = [] |
| | | let pp = [] |
| | | console.log("<-------------------->"); |
| | | this.deviceStr = this.tableData.projectName |
| | | this.product = this.tableData.material |
| | | this.number = this.tableData.quantity |
| | |
| | | this.material = this.tableData.material |
| | | this.materialCode = this.tableData.materialCode |
| | | this.quantity = this.tableData.quantity |
| | | console.log(this.tableData,"-----------11111"); |
| | | this.tableData.children.forEach(el =>{ |
| | | this.prjdata.push(el) |
| | | el.children.forEach(kl =>{ |
| | |
| | | this.iname = Array.from(new Set(pp)).join(",") |
| | | }, |
| | | initprjdata(list){ |
| | | console.log(list,"uuuuuuuuuuuuuuuuu"); |
| | | const data = { |
| | | eId: '', |
| | | ename: '', |
| | |
| | | formData(newVal){ |
| | | if(newVal){ |
| | | this.prjdata = [] |
| | | console.log("formDataåå--",newVal) |
| | | this.tableData = newVal |
| | | this.initData() |
| | | this.initprjdata(this.prjdata) |
| | |
| | | import { transform } from '@/util/fileTransform' |
| | | import printTemplate from './finishedProducter-print.vue' |
| | | import PrintJS from 'print-js' |
| | | import { title } from 'process' |
| | | import { title } from 'process' |
| | | export default { |
| | | components: { |
| | | finishedProductInspectionAdd, |
| | |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'productNo', |
| | | label: 'æ¥å·¥åå·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'orderNumber', |
| | | label: '订åå·', |
| | | isTrue: true, |
| | |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'outBatchNo', |
| | | label: 'æ¹æ¬¡å·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | |
| | | }, |
| | | ], |
| | | toolbar: [ |
| | | { |
| | | /* { |
| | | text: 'æ°å¢', |
| | | type: 'primary', |
| | | fun: this.addOrUpdateHandle |
| | | }, |
| | | }, |
| | | { |
| | | text: '导åº', |
| | | type: 'primary', |
| | | fun: this.exportExcel |
| | | } |
| | | }*/ |
| | | ], |
| | | operator: [{ |
| | | text: 'æå°', |
| | |
| | | watch:{ |
| | | printFormData(newVal){ |
| | | if(newVal){ |
| | | // console.log("pDataåå--",newVal); |
| | | this.printFormData = newVal |
| | | } |
| | | } |
| | |
| | | exportExcel(){ |
| | | let queryParam=this.$refs.finishedProduct.getQueryParam(); |
| | | delete queryParam.criteria |
| | | // console.log(queryParam); |
| | | exportExaminationProducts(queryParam).then((res)=>{ |
| | | transform(res) |
| | | }) |
| | | }, |
| | | deleteHandle(row){ |
| | | // console.log(row.id) |
| | | this.$confirm('确认å é¤è¯¥æ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | |
| | | name: 'finishedProductForm', |
| | | query: { |
| | | id: row == null ? null : row.id, |
| | | }, |
| | | params: { |
| | | resultVal: row == null ? null : row.result |
| | | } |
| | | }) |
| | |
| | | judgmentQuality() { |
| | | judgmentSampleCheck(this.reportInfo.reportSampleList[0]).then( |
| | | (response) => { |
| | | console.log('response', response) |
| | | const checkResult = response.data.data.success |
| | | const checkMessage = response.data.data.message |
| | | if (checkResult) { |
| | |
| | | this.dataForm.sampleCheckLength == null |
| | | ? null |
| | | : this.dataForm.sampleCheckLength |
| | | console.log('cd', cd) |
| | | if (cd && cd != null) { |
| | | if (temperature && temperature != null) { |
| | | this.dataList['éé项'].forEach((item) => { |
| | |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | title="æç¤º" |
| | | :visible.sync="dialogVisible" |
| | | width="30%"> |
| | | <el-form :model="submitData" ref="form" label-width="100px" > |
| | | <el-form-item label="请è¾å
¥è¡å·" prop="lineNo" :rules="{required:true,message:'è¡å·ä¸è½ä¸ºç©º',trigger:'blur'}"> |
| | | <el-input v-model="submitData.lineNo" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="confirmSubmit(submitData,false)">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | fetchListById, |
| | | updatePackageInsProduct, |
| | | updatePackageInspectById, |
| | | getCustomer, |
| | | } from '@/api/quality/packageInspect' |
| | | export default { |
| | | computed:{}, |
| | |
| | | }, |
| | | data(){ |
| | | return{ |
| | | submitData: { |
| | | id:null, |
| | | result: null, |
| | | lineNo: null, |
| | | }, |
| | | dialogVisible: false, |
| | | loading: false, |
| | | resultVal: null, |
| | | dataForm:{ |
| | |
| | | this.init() |
| | | }, |
| | | watch:{ |
| | | dialogVisible(newVal){ |
| | | if(!newVal){ |
| | | this.$refs.form.resetFields(); |
| | | } |
| | | } |
| | | }, |
| | | methods:{ |
| | | changeResult(){ |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | let data = { |
| | | id: _than.dataForm.id, |
| | | result: _than.conclusionTable[0].result, |
| | | } |
| | | updatePackageInspectById(data).then(res => { |
| | | if(res.data.code === 0){ |
| | | _than.resultVal = res.data.data |
| | | sessionStorage.setItem("packIns-resultVal-"+_than.dataForm.id,res.data.data) |
| | | _than.$message.success("䏿¥æå"); |
| | | }else{ |
| | | _than.$message.error("䏿¥å¤±è´¥",res.data.data); |
| | | } |
| | | }) |
| | | _than.submitData.id = _than.dataForm.id, |
| | | _than.submitData.result = _than.conclusionTable[0].result, |
| | | getCustomer(_than.dataForm.id).then(res=>{ |
| | | if(res.status===200){ |
| | | _than.confirmSubmit(_than.submitData,true) |
| | | } |
| | | }).catch(error=>{ |
| | | console.log("è¾å
¥è¡å·"); |
| | | _than.dialogVisible = true |
| | | }) |
| | | |
| | | }).catch(() => {}) |
| | | }, |
| | | confirmSubmit(data,isOtc){ |
| | | const _than = this |
| | | let isSubmit = false |
| | | if(isOtc){ |
| | | isSubmit = true |
| | | }else{ |
| | | _than.$refs.form.validate(valid=>{ |
| | | if(valid){ |
| | | isSubmit = true |
| | | _than.dialogVisible = false |
| | | } |
| | | }) |
| | | } |
| | | if(isSubmit){ |
| | | updatePackageInspectById(data).then(res => { |
| | | if(res.data.code === 0){ |
| | | _than.resultVal = res.data.data |
| | | sessionStorage.setItem("packIns-resultVal-"+_than.dataForm.id,res.data.data) |
| | | _than.$message.success("䏿¥æå"); |
| | | }else{ |
| | | _than.$message.error("䏿¥å¤±è´¥",res.data.data); |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | // æ·»å è¡ |
| | | clickAddLine() { |
| | | this.list.push({ |
| | |
| | | type: 'primary', |
| | | fun: this.addOrUpdateHandle |
| | | }, |
| | | { |
| | | text: '导åº', |
| | | fun: this.exportExcel |
| | | } |
| | | // { |
| | | // text: '导åº', |
| | | // fun: this.exportExcel |
| | | // } |
| | | ], |
| | | operator: [{ |
| | | text: 'ä½åº', |
| | |
| | | exportExcel(){ |
| | | let queryParam=this.$refs.processInspect.getQueryParam(); |
| | | delete queryParam.criteria |
| | | console.log(queryParam); |
| | | exportProcessInsProduct(queryParam).then((res)=>{ |
| | | transform(res) |
| | | }) |
| | |
| | | methods: { |
| | | submitSave() { |
| | | let pro = 0 |
| | | console.log(this.inspectionItems); |
| | | this.inspectionItems.forEach(item => { |
| | | if (item.children) { |
| | | let arr = item.children.filter(obj => { |
| | |
| | | } |
| | | }) |
| | | this.inspectionItems = result.children |
| | | console.log(this.inspectionItems); |
| | | this.inspectionResultForm = [{ |
| | | materialCode: result.materialCode, |
| | | material: result.material, |
| | |
| | | this.technologyList = sample.children |
| | | }, |
| | | changeState(row, index) { |
| | | console.log(row) |
| | | if (row.iid != null && row.iid != '') { |
| | | let str = "" |
| | | row.empiricalValueAddss.forEach(e => { |
| | | str += e + "," |
| | | }) |
| | | |
| | | // if (note === undefined || note === '' || note === null) { |
| | | // return |
| | | // } |
| | | console.log(str) |
| | | str = str.slice(0, -1); |
| | | if (str === undefined || str === '' || str === null) { |
| | | return |
| | | } |
| | | |
| | | |
| | | let obj = { |
| | | devideId: row.eId, |
| | | ppid: row.iid, |
| | |
| | | note : row.inote |
| | | |
| | | } |
| | | console.log(obj) |
| | | updateProcessInsProduct(obj).then(res => { |
| | | if (res.data.code == 0) { |
| | | this.$message.success("æ´æ°æå") |
| | |
| | | let id = res.data.data |
| | | if (id != null) { |
| | | queryById(id).then(response => { |
| | | console.log(response.data.data.children) |
| | | let proList = response.data.data.children |
| | | proList.forEach(item => { |
| | | item.iid = Math.random(); |
| | |
| | | |
| | | ], |
| | | toolbar: [ |
| | | { |
| | | text: '导åº', |
| | | type: 'primary', |
| | | fun: this.handleExport |
| | | }, |
| | | // { |
| | | // text: '导åº', |
| | | // type: 'primary', |
| | | // fun: this.handleExport |
| | | // }, |
| | | ], |
| | | operator: [ |
| | | // { |
| | |
| | | }, |
| | | handleExport(){ |
| | | exportData(this.queryParam).then(res=>{ |
| | | console.log(res) |
| | | this.downloadFun(res) |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | |
| | | }, |
| | | //æäº¤å®¡æ ¸ |
| | | Submitreview(row){ |
| | | console.log(row.id); |
| | | pullInsUnapi({id:row.id}).then(res =>{ |
| | | console.log(res); |
| | | this.$refs.processconfiguration.refreshData() |
| | | }) |
| | | }, |
| | |
| | | }) |
| | | }, |
| | | selectStaffCallback(param, paramName) { |
| | | console.log(paramName) |
| | | if (param) { |
| | | if (paramName == 'originator') { |
| | | this.dataForm.originator = '' |
| | |
| | | remote('work_shop').then((response) => { |
| | | if (response.data.code === 0) { |
| | | this.dataTypeList = response.data.data |
| | | console.log(this.dataTypeList) |
| | | } else { |
| | | this.dataTypeList = [] |
| | | } |
| | |
| | | return {} |
| | | }, |
| | | created() { |
| | | console.log(222222222222224564646); |
| | | }, |
| | | |
| | | components: { |
| | |
| | | @queryParam="getQueryParam($event)" |
| | | ref="rawMaterialTable"> |
| | | <template #toolbar> |
| | | <el-button @click="exportRawMaterial" type="primary" >导åº</el-button> |
| | | <!-- <el-button @click="exportRawMaterial" type="primary" >导åº</el-button> --> |
| | | </template> |
| | | </ttable> |
| | | </basic-container> |
| | |
| | | }, |
| | | exportRawMaterial(){ |
| | | exportRawMaterial(this.queryParam).then(res=>{ |
| | | console.log(res) |
| | | this.downloadFun(res) |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | |
| | | Turnonthecamera() { |
| | | this.qrcode = true |
| | | this.camera = 'rear' |
| | | console.log(2222222); |
| | | }, |
| | | // æ«ç ç»æåè° |
| | | // onDecode(result) { |
| | |
| | | let flagMsg = '' |
| | | const cd = |
| | | this.currentSample == null ? null : this.currentSample.stockQuantity |
| | | console.log('cd', cd) |
| | | if (cd && cd != null) { |
| | | this.paramValues.forEach((item) => { |
| | | if ( |
| | |
| | | }, |
| | | 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 |
| | |
| | | }, |
| | | // éä»¶é¢è§ |
| | | handlePictureCardPreview(file) { |
| | | console.log(file) |
| | | this.dialogImageUrl = file.url |
| | | this.dialogImageVisible = true |
| | | }, |
| | |
| | | this.showTestStandard = true |
| | | }, |
| | | selectPart(param, nodePart, index) { |
| | | console.log(param) |
| | | if (param) { |
| | | this.dataForm.partId = param.id |
| | | this.dataForm.partNo = param.partNo |
| | |
| | | } |
| | | }, |
| | | selectOperate(operate) { |
| | | console.log(operate) |
| | | if (operate) { |
| | | this.dataForm.operationId = operate.id |
| | | this.dataForm.operationNo = operate.operationNo |
| | |
| | | } |
| | | }, |
| | | selectTestStandard(param) { |
| | | console.log(param) |
| | | if (param) { |
| | | this.dataForm.standardId = param.id |
| | | this.dataForm.standardNo = param.standardNo |
| | |
| | | } |
| | | } |
| | | }) |
| | | console.log(this.allGX) |
| | | if (this.xAxisList.length < 4) { |
| | | this.options.dataZoom[0].show = false |
| | | this.options.dataZoom[0].end = 100 |
| | |
| | | }, |
| | | // æäº¤çæçå¸å±json |
| | | submitJson() { |
| | | console.log('this.layOutItems', this.layOutItems) |
| | | }, |
| | | // å¼¹åºå¸å±ç»æé¢è§çªå£ |
| | | previewLayOut() { |
| | |
| | | }, |
| | | // å é¤å表 |
| | | delStandard(row) { |
| | | console.log(row) |
| | | delStandard(row.id).then((res) => { |
| | | if (res.data.code === 0) { |
| | | this.getTestPlanInfo(this.dataForm.id) |
| | |
| | | }) |
| | | }, |
| | | init(row) { |
| | | console.log(row) |
| | | this.getCauseType() |
| | | this.getProcessMode() |
| | | this.getType() |
| | |
| | | if (this.dataForm.id) { |
| | | getUnqualifiedProcess(this.dataForm.id).then((response) => { |
| | | const resData = response.data.data |
| | | console.log(resData) |
| | | this.dataForm.id = resData.id |
| | | this.dataForm.processNo = resData.processNo |
| | | this.dataForm.reason = resData.reason |
| | |
| | | } |
| | | }, |
| | | selectPart(part) { |
| | | console.log(part) |
| | | if (part) { |
| | | partDegrade(this.multipleSelection[0].id, part.id).then((res) => { |
| | | console.log(res) |
| | | this.$message.success('é¶ä»¶é级æåï¼') |
| | | }) |
| | | } |
| | |
| | | this.innerVisible = true |
| | | }, |
| | | dataFormSubmit() { |
| | | console.log(this.mulLocation) |
| | | if (this.mulLocation) { |
| | | this.$emit('refreshDataList', this.mulLocation) |
| | | this.innerVisible = false |
| | |
| | | // éä¸åºä½è¡ |
| | | handleCurrentChange(val) { |
| | | this.mulLocation = val |
| | | console.log(val) |
| | | }, |
| | | getWarehouseLocGroupList() { |
| | | const warehouseList = [] |
| | |
| | | if (this.dataForm.id) { |
| | | getUnqualifiedProcess(this.dataForm.id).then((response) => { |
| | | const resData = response.data.data |
| | | console.log(resData) |
| | | this.dataForm.id = resData.id |
| | | this.dataForm.processNo = resData.processNo |
| | | this.dataForm.reason = resData.reason |
| | |
| | | }, |
| | | computed: { |
| | | editable: function() { |
| | | console.log() |
| | | if (!this.dataForm.id) { |
| | | return true |
| | | } |
| | |
| | | if (this.dataForm.id) { |
| | | getObj(this.dataForm.id).then((response) => { |
| | | var resultData = response.data.data |
| | | console.log(resultData) |
| | | this.treeForm = resultData |
| | | // this.treeForm.id = resultData.id |
| | | // this.treeForm.partId = resultData.partId |
| | | // this.treeForm.partNo = resultData.partNo |
| | | // this.treeForm.partName = resultData.partName |
| | | // this.treeForm.number = resultData.number |
| | | // this.treeForm.insulationColor = resultData.insulationColor |
| | | // this.treeForm.sheathColor = resultData.sheathColor |
| | | // this.treeForm.characteristicOne = resultData.characteristicOne |
| | | // this.treeForm.version = resultData.version |
| | | // this.treeForm.alternativeNo = resultData.alternativeNo |
| | | // this.treeForm.alternativeDesc = resultData.alternativeDesc |
| | | // this.treeForm.bomTypeDb = resultData.bomTypeDb |
| | | // this.treeForm.state = resultData.state |
| | | // this.treeForm.remark = resultData.remark |
| | | this.dataForm.state = resultData.state |
| | | this.preViewData = [] |
| | | this.preViewData.push(resultData.tree) |
| | | this.tableData = resultData.bomComponentVOS |
| | | // getPartAllStructureExt(this.treeForm).then((res) => { |
| | | // const result = res.data |
| | | // if (result.code === 0) { |
| | | // this.tableData.push(result.data) |
| | | // } |
| | | // }) |
| | | }) |
| | | } else { |
| | | this.initDefaultForm() |
| | |
| | | multipleSelection: [], |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: 'mes/bom/uploadExcel', |
| | | }, |
| | | prelang: 'completeProductStructure', |
| | |
| | | align="center" |
| | | width="50" |
| | | /> |
| | | <el-table-column label="线è¯" prop="wireCore" align="center" /> |
| | | <el-table-column |
| | | <!-- <el-table-column label="线è¯" prop="wireCore" align="center" /> --> |
| | | <!-- <el-table-column |
| | | prop="isCheck" |
| | | label="æ½æ£" |
| | | align="center" |
| | | :formatter="isCheckFormatter" |
| | | /> |
| | | /> --> |
| | | <el-table-column label="åæ°ç¼å·" prop="code" align="center" /> |
| | | <el-table-column |
| | | label="忰项" |
| | |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="éé" prop="aisle" align="center"> |
| | | <!-- <el-table-column label="éé" prop="aisle" align="center"> |
| | | </el-table-column> |
| | | <el-table-column label="é¨ä½" prop="position" align="center"> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column label="åä½" prop="unit" align="center" /> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | width="150" |
| | | label="ç»§æ¿æ£æµé¶ä»¶" |
| | | prop="extendsPartNo" |
| | |
| | | ></el-button> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | width="150" |
| | | label="ç»§æ¿æ£æµå·¥åº" |
| | | prop="extendsPartNo" |
| | |
| | | ></el-button> |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column label="æä½" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | return |
| | | } |
| | | } |
| | | console.log(this.operationTestStandardParamList) |
| | | updDocTestStandardDetails(this.operationTestStandardParamList).then( |
| | | (response) => { |
| | | this.$message.success('æ£æµæ ååæ°ä¿åæå') |
| | |
| | | } |
| | | }, |
| | | openExtendsTestStandard(row) { |
| | | console.log(row) |
| | | if (row.extendsOperationId) { |
| | | this.showExtendsTestStandard = true |
| | | this.selectRow = row |
| | |
| | | </div> |
| | | </div> |
| | | <div class="page-main"> |
| | | <div class="document-basic"> |
| | | <div class="document-basic" style="height: 28%;"> |
| | | <el-form |
| | | :model="dataForm" |
| | | :rules="dataRule" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="项ç®å·" prop="projectNo"> |
| | | <el-input |
| | | v-model="dataForm.projectNo" |
| | | placeholder="项ç®å·" |
| | | style="width:100%" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input |
| | |
| | | { required: true, message: 'çæ¬å·ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | projectNo: [ |
| | | { required: true, message: '项ç®å·ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | // { required: true, message: '项ç®å·ä¸è½ä¸ºç©º', trigger: 'blur' } |
| | | ], |
| | | projectType: [ |
| | | { required: true, message: '项ç®ç±»å«ä¸è½ä¸ºç©º', trigger: 'change' } |
| | |
| | | if (this.currTechnologyName != null && this.currTechnologyName !== '') { |
| | | // å½ç¨æ·å é¤å·¥èºæä»¶ä¸å
³èçå·¥èºè·¯çº¿æ¶ï¼è¥è¯¥æä»¶å¯¹åºBOM䏿éåæåçå·¥èºè·¯çº¿ä¹å·²ä¸å½åå·¥èºæä»¶å
³è |
| | | routingChildCheck(this.currTechnologyBomPartName).then((res) => { |
| | | console.log('res', res.data) |
| | | const resData = res.data |
| | | let num = 0 |
| | | if (resData.code === 0) { |
| | |
| | | if (this.dataForm.id) { |
| | | this.getDocumentInfo(this.dataForm.id) |
| | | } |
| | | console.log('ä¸ä¼ æå') |
| | | }, |
| | | handleStructureExceed(files, fileList) { |
| | | // this.$message.warning( |
| | |
| | | this.dialogFlowVisible = true |
| | | }, |
| | | handleFlowSuccess(response, file, fileList) { |
| | | console.log('ä¸ä¼ æå') |
| | | }, |
| | | handleFlowExceed(files, fileList) { |
| | | this.$message.warning( |
| | |
| | | }, |
| | | getSummaries(param) { |
| | | const { columns, data } = param |
| | | // console.log(columns, 'A') |
| | | // console.log(data, 'B') |
| | | const sums = [] |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | |
| | | const res = response.data |
| | | if (res.code === 0) { |
| | | this.dataList = res.data.operations |
| | | console.log(this.dataList) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | } |
| | | qryDocTestStandard(obj).then((res) => { |
| | | this.dataList = res.data.data |
| | | console.log(this.dataList) |
| | | }) |
| | | }, |
| | | doubleClick() { |
| | |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | console.log(this.dataFormId) |
| | | qryDocTestStandardDetailsByStandardId({ |
| | | standardId: this.dataFormId |
| | | }).then((response) => { |
| | | this.dataList = response.data.data |
| | | console.log(this.dataList) |
| | | }) |
| | | }, |
| | | doubleClick() { |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | /* { |
| | | minWidth: '120', |
| | | prop: 'projectType', |
| | | label: '项ç®ç±»å«', |
| | |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | |
| | | */ |
| | | // æè¿° |
| | | { |
| | | minWidth: '120', |
| | |
| | | deleteTestStandard, |
| | | getTestStand, |
| | | saveTestStandard |
| | | } from '../../../api/technology/document' |
| | | } from '@/api/technology/document' |
| | | import qualityStandardDialog from '@/views/common/teststandardradio.vue' |
| | | |
| | | export default { |
| | |
| | | computed: { |
| | | ...mapGetters(['permissions']) |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | getTestStand(this.paramObj) |
| | | }, |
| | | mounted(){ |
| | | getTestStand(this.paramObj) |
| | | }, |
| | | methods: { |
| | | // è·åæ°æ®å表 |
| | | getData() { |
| | | this.$refs.selectTestStandardTable.getDataList() |
| | | }, |
| | | addOrUpdateHandle() { |
| | | console.info(this.documentId) |
| | | if (this.documentId) { |
| | | if (this.editable) { |
| | | this.qualityStandardParamObj = { |
| | |
| | | customUpload: true, |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/routing/uploadExcel' |
| | | }, |
| | | prelang: 'routing', |
| | |
| | | customUpload: true, |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: true, |
| | | isShow: false, |
| | | url: '/mes/structure/uploadExt' |
| | | }, |
| | | prelang: 'structure', |
| | |
| | | this.$set(nodePart, 'unit', param.unit) |
| | | this.$set(nodePart, 'drawingNumber', param.drawingNumber) |
| | | this.$set(nodePart, 'planningMethod', param.planningMethod) |
| | | console.info(index) |
| | | this.clearClass(index) |
| | | } |
| | | } else { |
| | |
| | | <ttable |
| | | :table="table" |
| | | :isShowHide="true" |
| | | :ajaxFun="ajaxFun" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | ref="processconfiguration" |
| | |
| | | |
| | | <script> |
| | | import ttable from '@/views/common/ztt-table.vue' |
| | | import { fetchList, } from '@/api/quality/finishedDelivery' |
| | | |
| | | export default { |
| | | data(){ |
| | | return { |
| | | ajaxFun: fetchList, |
| | | prelang: 'operation', |
| | | dataListLoading: false, |
| | | options: { |
| | |
| | | column: [ |
| | | { |
| | | minWidth: '140', |
| | | prop: 'oo', |
| | | label: '订åç¼å·', |
| | | prop: 'packageNo', |
| | | label: 'å
è£
ç¼å·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | },{ |
| | | minWidth: '140', |
| | | prop: 'materhhooial', |
| | | label: 'è´¨é追溯å·', |
| | | prop: 'outBatchNo', |
| | | label: 'æ¹æ¬¡å·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | { |
| | | minWidth: '140', |
| | | prop: 'mateuurial', |
| | | prop: 'partNo', |
| | | label: '产åç¼å·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | { |
| | | minWidth: '140', |
| | | prop: 'partName', |
| | | label: '产ååç§°', |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | }, |
| | | { |
| | | minWidth: '140', |
| | | prop: 'materoiial', |
| | | prop: 'specs', |
| | | label: 'è§æ ¼åå·', |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | }, |
| | | { |
| | | minWidth: '140', |
| | | prop: 'matperoial', |
| | | prop: 'unit', |
| | | label: 'åä½', |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | }, |
| | | { |
| | | minWidth: '140', |
| | | prop: 'materpial', |
| | | prop: 'number', |
| | | label: 'æ°é', |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | }, |
| | | { |
| | | minWidth: '130', |
| | | width: '150', |
| | | prop: 'dealTime', |
| | | prop: 'createTime', |
| | | label: 'å
¥åºæ¶é´', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'datetimerange', |
| | | // formatter: this.formatDateTime, |
| | | }, |
| | | ], |
| | | toolbar: [ |
| | | formatter: this.formatDateTime, |
| | | }, |
| | | { |
| | | text: 'xxx', |
| | | type: 'primary', |
| | | // fun: this.addOrUpdateHandle |
| | | minWidth: '130', |
| | | prop: 'createUser', |
| | | label: 'å建人', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text', |
| | | }, |
| | | ], |
| | | toolbar: [], |
| | | // operator: [], |
| | | // operatorConfig: {} |
| | | }, |
| | | } |
| | | }, |
| | | medthods: {}, |
| | | // computed: { |
| | | // ...mapGetters(['permissions']) |
| | | // }, |
| | | // computed: { |
| | | // ...mapGetters(['permissions']) |
| | | // }, |
| | | components: { |
| | | ttable |
| | | ttable |
| | | }, |
| | | medthods: { |
| | | formatDateTime(row, column, cellValue) { |
| | | return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : '' |
| | | }, |
| | | }, |
| | | } |
| | | </script> |
| | |
| | | searchInfoType: 'text', |
| | | }, |
| | | ], |
| | | toolbar: [ |
| | | { |
| | | text: 'xx', |
| | | type: 'primary', |
| | | // fun: this.addOrUpdateHandle |
| | | }, |
| | | ], |
| | | toolbar: [], |
| | | // operator: [], |
| | | // operatorConfig: {} |
| | | }, |
| | |
| | | for (let i = 0; i < this.dataForm.dataList.length; i++) { |
| | | this.dataForm.dataList[i].synIfs = true |
| | | } |
| | | console.log(this.dataForm.dataList) |
| | | checkWdr(this.dataForm.dataList).then((res1) => { |
| | | addStockNumber(this.dataForm.dataList).then((res) => { |
| | | this.$message.success('å
¥åºæå') |
| | |
| | | // å é¤ |
| | | goDel() { |
| | | if (this.multipleSelection && this.multipleSelection.length > 0) { |
| | | console.log(this.multipleSelection) |
| | | this.$confirm( |
| | | `æ¯å¦ç¡®è®¤å é¤ï¼å
±${this.multipleSelection.length}æ¡`, |
| | | 'æç¤º', |
| | |
| | | if (response.data.code === 0) { |
| | | this.locTypeOption = response.data.data |
| | | } |
| | | console.log(response); |
| | | }) |
| | | }, |
| | | // åè¡éä¸ |
| | |
| | | saveSelectRow() { |
| | | this.isSubmit = true |
| | | const transportsMaterials = [] |
| | | console.log(`output->this.transportsList`,this.transportsList) |
| | | this.transportsList.forEach((item) => { |
| | | transportsMaterials.push({ |
| | | id: item.id, |
| | |
| | | flagMsg = |
| | | flagMsg + '第' + (i + 1) + 'è¡ï¼è®¡åç§»åºæ°éæå¤å
ä½å°æ°ï¼' |
| | | } else { |
| | | // console.log( |
| | | // 'this.ifsStockData[i].planMoveQuality', |
| | | // this.ifsStockData[i].planMoveQuality |
| | | // ) |
| | | // console.log( |
| | | // 'this.ifsStockData[i].available', |
| | | // this.ifsStockData[i].available |
| | | // ) |
| | | // console.log( |
| | | // this.ifsStockData[i].planMoveQuality > |
| | | // this.ifsStockData[i].available |
| | | // ) |
| | | if ( |
| | | this.ifsStockData[i].planMoveQuality > |
| | | this.ifsStockData[i].available |
| | |
| | | } |
| | | } |
| | | }) |
| | | console.log(`output->this.ifsStockData`,this.ifsStockData) |
| | | }) |
| | | } |
| | | } |
| | |
| | | } |
| | | }) |
| | | this.palletTransportsMaterialSelectionChange([row]) |
| | | console.log(row); |
| | | }, |
| | | // å·¥èºç±»åä¸ææ ¼å¼å |
| | | formatStateType(row, column, cellValue) { |
| | |
| | | openLocationDialog() { |
| | | if (this.palletTransportsMaterialMultipleSelection.length > 0) { |
| | | let flag = true |
| | | console.log(this.palletTransportsMaterialMultipleSelection) |
| | | this.palletTransportsMaterialMultipleSelection.forEach((item) => { |
| | | if (item.detailExistState) { |
| | | flag = false |
| | | } |
| | | console.log(item.detailExistState) |
| | | }) |
| | | if (flag) { |
| | | this.showLocation = true |
| | |
| | | }, |
| | | // è·åç§»åºæç»æ°æ®å表 |
| | | getPalletTransportsDetailData() { |
| | | // console.log("对åºå·¥å",this.WorkOrder); |
| | | // console.log("éä¸ç©æéæ±",this.palletTransportsMaterialMultipleSelection); |
| | | let transportsDetails =[] |
| | | transportsDetails = this.palletTransportsMaterialMultipleSelection.map(el =>{ |
| | | return{ |
| | |
| | | this.innerVisible = false |
| | | this.$message.success('æ·»å ç§»åºæç»æå') |
| | | let materialRow = selectionList[selectionList.length - 1] |
| | | console.log("materialRow-----",materialRow); |
| | | this.palletTransportsMaterialData.forEach(ele=>{ |
| | | if(ele.id==materialRow.id){ |
| | | console.log("ele-------",ele); |
| | | ele.transferQuantity = materialRow.surplusQuantity |
| | | ele.surplusQuantity = 0 |
| | | } |
| | |
| | | }, |
| | | // æå¼å个æç»æ¹éæ´æ°åºä½å¼¹æ¡ |
| | | openSingleLocationDialog(row) { |
| | | console.log(row); |
| | | if (row.state === '01initial') { |
| | | this.detailList = [] |
| | | this.detailList.push(row) |
| | |
| | | }, |
| | | // å é¤ç§»åºæç» |
| | | delDetail(row) { |
| | | /* const delRow = this.palletTransportsDetailData.find((item) => { |
| | | const delRow = this.palletTransportsDetailData.find((item) => { |
| | | return item.id === row.id |
| | | }) */ |
| | | |
| | | }) |
| | | delPalletTransportsDetailObj(row.id).then((response) => { |
| | | const resData = response.data |
| | | if (resData.code === 0) { |
| | | // const findRowIndex = this.palletTransportsDetailData.indexOf(delRow) |
| | | // this.palletTransportsDetailData.splice(findRowIndex, 1) |
| | | const findRowIndex = this.palletTransportsDetailData.indexOf(delRow) |
| | | this.palletTransportsDetailData.splice(findRowIndex, 1) |
| | | this.$message.success('ç§»åºæç»å 餿å') |
| | | // this.getPalletTransportsMaterialData() |
| | | const currRow = this.currPalletTransportsRow |
| | | this.getPallettransportsData().then(() => { |
| | | if (currRow) { |
| | |
| | | if (resData.code === 0) { |
| | | this.$message.success('æ§è¡æå') |
| | | // this.getPalletTransportsMaterialData() |
| | | this.palletTransportsDetailData=[] |
| | | const currRow = this.currPalletTransportsRow |
| | | this.getPallettransportsData().then(() => { |
| | | if (currRow) { |
| | |
| | | }, |
| | | palletTransportsMaterialSelectionChange(val) { |
| | | this.palletTransportsMaterialMultipleSelection = val |
| | | console.log(this.palletTransportsMaterialMultipleSelection); |
| | | if(val && val.length>0){ |
| | | let ids =[] |
| | | this.palletTransportsMaterialMultipleSelection.forEach(el =>{ids.push(el.id)}) |
| | | let pId = ids[ids.length - 1]; |
| | | console.log(pId); |
| | | if(pId!=null){ |
| | | selectAll({ |
| | | transportsId:this.currPalletTransportsRow.id, |
| | |
| | | ifsToLocationNo: this.currLocationRow.locationNo |
| | | }) |
| | | }) |
| | | console.log(transportsMaterials) |
| | | IFSUpdate(transportsMaterials) |
| | | .then((response) => { |
| | | const resData = response.data |
| | |
| | | idList: ids |
| | | } |
| | | delObj(ids).then((response) => { |
| | | console.log(response) |
| | | this.getData() |
| | | }) |
| | | } |
| | |
| | | ) |
| | | this.dataList = [] |
| | | detailPage(queryParam, this.returnStockId).then((response) => { |
| | | console.log(response) |
| | | const resData = response.data |
| | | if (resData.code === 0) { |
| | | this.dataList = resData.data.records |
| | |
| | | }, |
| | | // åºåç©æéä¸åçåè° |
| | | selectPartCallback(rows) { |
| | | console.log(rows) |
| | | if (rows && rows.length > 0) { |
| | | const detailList = [] |
| | | for (let i = 0; i < rows.length; i++) { |
| | |
| | | }) |
| | | ) |
| | | } |
| | | // console.log(detailList) |
| | | addDetail(detailList).then((response) => { |
| | | const resData = response.data |
| | | if (resData.code === 0) { |
| | |
| | | // è·åä¸å¯éä¸çæ°æ® |
| | | queryUsingApplyDetail().then((response) => { |
| | | const resData = response.data |
| | | console.log(resData) |
| | | this.paramTemplateSelArr = resData.data |
| | | if (this.$refs.commonPartTable !== undefined) { |
| | | // é»è®¤çè¿æ»¤æ¡ä»¶ |
| | |
| | | { |
| | | minWidth: '100', |
| | | prop: 'ifsBatchNo', |
| | | label: 'IFSæ¹æ¬¡å·', |
| | | label: 'æ¹æ¬¡å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | |
| | | startMeterMark: this.printLabelInfo.startMeterMark, |
| | | endMeterMark: this.printLabelInfo.endMeterMark |
| | | } |
| | | console.log('this.dataForm', this.dataForm) |
| | | }) |
| | | } |
| | | } |
| | |
| | | beginPrint(isCheck) { |
| | | this.LODOP = getLodop() |
| | | this.dataForm.lotTrackingIfs = this.partInfo.lotTrackingIfs |
| | | console.log(this.dataForm) |
| | | const qr = { |
| | | part_no: this.dataForm.partNo, |
| | | lot_batch_no: this.dataForm.ifsBatchNo, |
| | |
| | | productionPerson: this.printLabelInfo.productionPerson, |
| | | remark: this.printLabelInfo.remark |
| | | } |
| | | console.log('this.dataForm', this.dataForm) |
| | | }) |
| | | } |
| | | } |
| | |
| | | lotTrackingIfs: this.printLabelInfo.lotTrackingIfs, |
| | | unit: this.printLabelInfo.unit |
| | | } |
| | | console.log('this.dataForm', this.dataForm) |
| | | }) |
| | | } |
| | | } |
| | |
| | | beginPrint(isCheck) { |
| | | this.LODOP = getLodop() |
| | | this.dataForm.lotTrackingIfs = this.partInfo.lotTrackingIfs |
| | | console.log(this.dataForm) |
| | | const qr = { |
| | | part_no: this.dataForm.partNo, |
| | | lot_batch_no: this.dataForm.ifsBatchNo, |
| | |
| | | for (let i = 0; i < this.dataForm.stock.length; i++) { |
| | | this.dataForm.stock[i].manualInput = true |
| | | } |
| | | // console.log(this.dataForm.stock) |
| | | moveStockNumber(this.dataForm.stock) |
| | | .then((res) => { |
| | | this.$message.success('ç§»åºæå') |
| | |
| | | cusMaterialCode: this.printLabelInfo.cusMaterialCode, |
| | | productionTime: this.printLabelInfo.productionTime |
| | | } |
| | | console.log('this.dataForm', this.dataForm) |
| | | }) |
| | | } |
| | | } |
| | |
| | | beginPrint(isCheck) { |
| | | this.LODOP = getLodop() |
| | | this.dataForm.lotTrackingIfs = this.partInfo.lotTrackingIfs |
| | | console.log(this.dataForm) |
| | | const qr = { |
| | | part_no: this.dataForm.partNo, |
| | | lot_batch_no: this.dataForm.ifsBatchNo, |
| | |
| | | this.mesNo = null |
| | | this.ceNo = null |
| | | this.pkgNo = null |
| | | console.log('2') |
| | | this.clearFocus = false |
| | | this.bindFocus = false |
| | | this.$refs.mes_no_input.focus() |
| | |
| | | |
| | | const url = 'http://192.168.2.7:9999' |
| | | // const url = 'http://192.168.32.45:9999' |
| | | //const url = 'http://192.168.2.7:9999' |
| | | //const url = 'http://192.168.32.45:9999' |
| | | // const url = 'http://192.168.0.23:9999' |
| | | |
| | | // const url = 'http://localhost:9999' |
| | | const url = 'http://localhost:9999' |
| | | |
| | | // const url = 'http://ztt-gateway:9999' |
| | | |
| | | const localUrl = 'http://localhost:8089' |
| | | //const localUrl = 'http://10.88.15.95:8089' |
| | | const CompressionWebpackPlugin = require('compression-webpack-plugin') |
| | |
| | | }, |
| | | // eslint-disable-next-line |
| | | configureWebpack: (config) => { |
| | | // if (process.env.NODE_ENV === 'production') { |
| | | // // ä»
å¨ç产ç¯å¢ä¸å¯ç¨è¯¥é
ç½® |
| | | // return { |
| | | // plugins: [ |
| | | // /*new MonacoWebpackPlugin({ |
| | | // languages: ['javascript', 'css', 'html', 'json'] |
| | | // }),*/ |
| | | // new CompressionWebpackPlugin({ |
| | | // filename: '[path].gz[query]', |
| | | // algorithm: 'gzip', |
| | | // test: new RegExp( |
| | | // '\\.(' + productionGzipExtensions.join('|') + ')$' |
| | | // ), |
| | | // threshold: 1024, // åªæå¤§å°å¤§äºè¯¥å¼çèµæºä¼è¢«å¤ç,å½åé
置为对äºè¶
è¿1kçæ°æ®è¿è¡å¤çï¼ä¸è¶³1kçå¯è½ä¼è¶å缩è¶å¤§ |
| | | // minRatio: 0.99, // åªæå缩çå°äºè¿ä¸ªå¼çèµæºæä¼è¢«å¤ç |
| | | // deleteOriginalAssets: true // å é¤åæä»¶ |
| | | // }) |
| | | // ] |
| | | // } |
| | | // } |
| | | if (process.env.NODE_ENV === 'production') { |
| | | // ä»
å¨ç产ç¯å¢ä¸å¯ç¨è¯¥é
ç½® |
| | | return { |
| | | plugins: [ |
| | | /*new MonacoWebpackPlugin({ |
| | | languages: ['javascript', 'css', 'html', 'json'] |
| | | }),*/ |
| | | new CompressionWebpackPlugin({ |
| | | filename: '[path].gz[query]', |
| | | algorithm: 'gzip', |
| | | test: new RegExp( |
| | | '\\.(' + productionGzipExtensions.join('|') + ')$' |
| | | ), |
| | | threshold: 1024, // åªæå¤§å°å¤§äºè¯¥å¼çèµæºä¼è¢«å¤ç,å½åé
置为对äºè¶
è¿1kçæ°æ®è¿è¡å¤çï¼ä¸è¶³1kçå¯è½ä¼è¶å缩è¶å¤§ |
| | | minRatio: 0.99, // åªæå缩çå°äºè¿ä¸ªå¼çèµæºæä¼è¢«å¤ç |
| | | deleteOriginalAssets: true // å é¤åæä»¶ |
| | | }) |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | // é
置转å代ç |
| | | devServer: { |