modified: src/api/plan/manufacturingorder.js
new file: src/views/common/processinspect-part.vue
modified: src/views/plan/manufacturingorder/productorder-form.vue
modified: src/views/quality/processInspect/processInspect-form.vue
modified: src/views/technology/routing/routing-form.vue
modified: vue.config.js
| | |
| | | data: obj |
| | | }) |
| | | } |
| | | |
| | | export function changeOrder(obj) { |
| | | return request({ |
| | | url: '/mes/plan/manufacturingOrder/changeOrder', |
| | | method: 'post', |
| | | data: obj |
| | | }) |
| | | } |
| | | |
| | | export function refreshIfsOrderNo(obj) { |
| | | return request({ |
| | | url: '/mes/plan/manufacturingOrder/refreshIfsOrderNo', |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="body"> |
| | | <el-dialog |
| | | v-diadrag |
| | | width="60%" |
| | | title="æ¥æ£ä¿¡æ¯" |
| | | top="5vh" |
| | | :visible.sync="innerVisible" |
| | | append-to-body |
| | | @close="$emit('update:currshowlist', false)" |
| | | :show="currshowlist" |
| | | class="part-dialog" |
| | | id="rawMaterial-part-dialog" |
| | | > |
| | | <ttable |
| | | :table="table" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | @currentChange="handleCurrentChange" |
| | | :uploadInfo="uploadInfo" |
| | | :prelang="prelang" |
| | | :options="options" |
| | | :bottomOffset="150" |
| | | :ajaxFun="ajaxFun" |
| | | :paramObj="paramObj" |
| | | :isShowPagination="false" |
| | | ref="rawPartTable" |
| | | > |
| | | <template #toolbar></template> |
| | | </ttable> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="innerVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="saveSelectRow">ç¡® å®</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import ttable from '@/views/common/ztt-table' |
| | | import { chooseIFS } from '@/api/quality/rawMaterial' |
| | | export default { |
| | | props: { |
| | | currshowlist: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | paramObj: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | }, |
| | | multiSelect: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | parentSelectedObj: { |
| | | type: Object, |
| | | default: null |
| | | }, |
| | | parentSelectedIndex: { |
| | | type: Number, |
| | | default: null |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | ajaxFun: chooseIFS, |
| | | innerVisible: false, |
| | | currentRow: null, |
| | | multipleSelection: [], |
| | | uploadInfo: { |
| | | // æ¯å¦å±ç¤ºä¸ä¼ EXCEL以å对åºçurl |
| | | isShow: false, |
| | | url: '' |
| | | }, |
| | | prelang: 'operation', |
| | | options: { |
| | | height: 300, // é»è®¤é«åº¦-为äºè¡¨å¤´åºå® |
| | | stripe: true, // æ¯å¦ä¸ºæé©¬çº¹ table |
| | | highlightCurrentRow: false, // æ¯å¦è¦é«äº®å½åè¡ |
| | | border: true, // æ¯å¦æçºµåè¾¹æ¡ |
| | | lazy: false, // æ¯å¦éè¦æå è½½ |
| | | fit: true, // åç宽度æ¯å¦èªæå¼ |
| | | multiSelect: false, // |
| | | seqNo: true, |
| | | isGeneralSearch: false, |
| | | isRefresh: false, // æ¯å¦æ¾ç¤ºå·æ°æé® |
| | | isShowHide: false, // æ¯å¦æ¾ç¤ºæ¾å½±æé® |
| | | isSearch: false, // é«çº§æ¥è¯¢æé® |
| | | defaultOrderBy: { column: 'formTime', direction: 'desc' } |
| | | }, |
| | | table: { |
| | | total: 0, |
| | | currentPage: 1, |
| | | pageSize: 20, |
| | | data: [], |
| | | // æ é¢ |
| | | column: [ |
| | | { |
| | | minWidth: '100', |
| | | prop: 'message', |
| | | label: 'message', |
| | | isTrue: false, |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'code', |
| | | label: 'é¶ä»¶å·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '120', |
| | | prop: 'projectName', |
| | | label: '项ç®åç§°', |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'name', |
| | | label: 'åææåç§°', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'formTime', |
| | | label: 'æ¥ææ¥æ', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'specs', |
| | | label: 'è§æ ¼åå·', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'unit', |
| | | label: 'åä½', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'supplier', |
| | | label: 'ä¾åºå', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | { |
| | | minWidth: '100', |
| | | prop: 'number', |
| | | label: 'æ°é', |
| | | sort: true, |
| | | isTrue: true, |
| | | isSearch: true, |
| | | searchInfoType: 'text' |
| | | }, |
| | | ], |
| | | }, |
| | | } |
| | | }, |
| | | components: { |
| | | ttable |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | mounted() { |
| | | console.log(this.currshowlist,"å¼"); |
| | | }, |
| | | // props:['currentRow'], |
| | | methods: { |
| | | getData() { |
| | | if (this.$refs.rawPartTable !== undefined) { |
| | | this.$refs.rawPartTable.getDataList() |
| | | } |
| | | }, |
| | | saveSelectRow() { |
| | | if (this.multiSelect) { |
| | | this.$emit('handleSelectionChange', this.multipleSelection) |
| | | } else { |
| | | this.$emit( |
| | | 'listenToPartEvent', |
| | | this.currentRow, |
| | | this.parentSelectedObj, |
| | | this.parentSelectedIndex |
| | | ) |
| | | } |
| | | this.innerVisible = false |
| | | this.$parent.costPlannedAmountChange(this.currentRow) |
| | | }, |
| | | handleCurrentChange(row) { |
| | | this.currentRow = row |
| | | }, |
| | | handleSelectionChange(val) { |
| | | // å¤è¡éä¸ |
| | | this.multipleSelection = val |
| | | }, |
| | | }, |
| | | watch: { |
| | | currshowlist() { |
| | | console.log(this.currshowlist,"å¼ï¼"); |
| | | this.innerVisible = this.currshowlist |
| | | if (this.currshowlist) { |
| | | this.$nextTick(() => { |
| | | // this.table.data=[] |
| | | this.getData() |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | </script> |
| | | <style> |
| | | .part-dialog .el-dialog__header { |
| | | padding: 10px 20px 10px; |
| | | } |
| | | .part-dialog .el-dialog__header .el-dialog__headerbtn { |
| | | top: 10px; |
| | | } |
| | | .part-dialog .el-dialog__body { |
| | | padding: 5px 20px; |
| | | } |
| | | |
| | | .part-dialog .el-dialog__footer { |
| | | padding: 5px 20px 10px; |
| | | } |
| | | |
| | | .part-dialog .el-dialog__body .avue-crud__pagination { |
| | | margin-top: 0px; |
| | | margin-bottom: 5px; |
| | | } |
| | | /* @media screen and (max-width: 800px) { |
| | | .el-dialog { |
| | | height: 600px !important; |
| | | } |
| | | } */ |
| | | </style> |
| | | |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row> |
| | | <el-col :span="24" class="productorder-operates-col"> |
| | | <el-card class="productorder-operates"> |
| | | <el-table |
| | | <el-card class="productorder-operates" > |
| | | <el-row> |
| | | <el-col :span="2" class="frame1">åºå· |
| | | </el-col> |
| | | <el-col :span="4" class="frame1">å·¥åºå· |
| | | </el-col> |
| | | <el-col :span="5" class="frame1">å·¥åºæè¿° |
| | | </el-col> |
| | | <el-col :span="9" class="frame1">é¶ä»¶ |
| | | </el-col> |
| | | <el-col :span="3" class="frame1">æä½ |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-table |
| | | ref="operationTable" |
| | | :data="operations" |
| | | style="width: 100%;" |
| | |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-table> --> |
| | | <zttdraggable |
| | | :forceFallback="true" |
| | | :list="operations" |
| | | :animation="200" |
| | | fallbackClass="fallbackStyle" |
| | | ghostClass="item_ghost" |
| | | @end="dragEnd" |
| | | > |
| | | <div |
| | | :class="{ dragItem: true, active: x.active }" |
| | | v-for="(x, i) in operations" |
| | | :key="i" |
| | | > |
| | | <!-- <div class="dragBody"> |
| | | <div class="info">{{ x.operationNo }}</div> |
| | | <div class="info">{{ x.operationName }}</div> |
| | | <div class="info">{{ x.partName }}</div> |
| | | </div> --> |
| | | <el-row> |
| | | <el-col :span="2" class="frame">{{ i+1 }} |
| | | </el-col> |
| | | <el-col :span="4" class="frame">{{ x.operationNo }} |
| | | </el-col> |
| | | <el-col :span="5" class="frame">{{ x.operationName }} |
| | | </el-col> |
| | | <el-col :span="9" class="frame">{{ x.partName }} |
| | | </el-col> |
| | | <el-col :span="3" class="frame"> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="openOrderOperation(x)" |
| | | >ç¼è¾ |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </zttdraggable> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :span="16"> |
| | | <el-tabs type="card" ref="paramTabs"> |
| | |
| | | /> |
| | | </div> |
| | | </template> |
| | | <style> |
| | | <style lang="scss"> |
| | | .frame{ |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 100px; |
| | | // border-width: 1px; |
| | | // border-color: rgb(129, 129, 129); |
| | | // border-style: solid; |
| | | font-size: 15px; |
| | | } |
| | | .frame1{ |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 50px; |
| | | // border-width: 1px; |
| | | // border-color: rgb(129, 129, 129); |
| | | // border-style: solid; |
| | | font-size: 15px; |
| | | } |
| | | .productorder-basic { |
| | | background-color: #fff; |
| | | height: 150px; |
| | |
| | | .productorder-operates { |
| | | height: 605px; |
| | | border: 1px solid #ddd; |
| | | overflow: auto; |
| | | } |
| | | |
| | | .productorder-params-template { |
| | |
| | | addRoutingTemplateParamLedForOrder, |
| | | updateMoBom, |
| | | delMoBom, |
| | | bomSelectChange |
| | | bomSelectChange, |
| | | changeOrder, |
| | | } from '@/api/plan/manufacturingorder' |
| | | import { qryMoSamplingRule, delMoSamplingRule } from '@/api/plan/mosamplingrule' |
| | | import { |
| | |
| | | import spotCheckRule from './orderSpotCheckRule' |
| | | import spotCheckRuleEdit from './orderSpotCheckRuleEdit' |
| | | import { mapGetters } from 'vuex' |
| | | |
| | | import zttdraggable from 'vuedraggable' |
| | | export default { |
| | | components: { |
| | | CustomerOrder, |
| | |
| | | operationDialog, |
| | | insertOperationDialog, |
| | | spotCheckRule, |
| | | spotCheckRuleEdit |
| | | spotCheckRuleEdit, |
| | | zttdraggable |
| | | }, |
| | | |
| | | data() { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | dragEnd(e){ |
| | | this.operations.forEach((e, i) => { |
| | | e.index = i + 1 |
| | | e.operationOrder = i+1 |
| | | }) |
| | | console.log(this.operations,"ææ½ç»ækk"); |
| | | this.dragEndstart() |
| | | }, |
| | | dragEndstart(){ |
| | | let data = this.operations.map(el =>{ |
| | | return { |
| | | id:el.id, |
| | | operationOrder:el.operationOrder, |
| | | } |
| | | }) |
| | | console.log(data,"id"); |
| | | changeOrder(data).then((res) =>{ |
| | | console.log(res,"åè°"); |
| | | }).catch(error => { |
| | | console.error(error) |
| | | }); |
| | | }, |
| | | getSysParam(paramKey) { |
| | | getSysParam(paramKey).then((response) => { |
| | | var paramVal = response.data.data |
| | |
| | | <el-form-item label="车é´è®¢åå·" prop="moNo"> |
| | | <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null" |
| | | v-model="processInspectVo.moNo" placeholder="请è¾å
¥è½¦é´è®¢åå·" autocomplete="off" > |
| | | <!-- <el-button |
| | | slot="append" |
| | | icon="el-icon-search" |
| | | :disabled="resultVal!=null" |
| | | @click="queryCode"></el-button> --> |
| | | <el-button |
| | | slot="append" |
| | | icon="el-icon-full-screen" |
| | |
| | | <el-button type="primary" @click="deviceCode = false">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <processPart :paramObj="paramObj" :currshowlist.sync="workshop" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | updateProcessInsProduct, |
| | | updateProcessInspectsById, |
| | | } from '@/api/quality/processInspect' |
| | | import processPart from '@/views/common/processinspect-part' |
| | | import { selectDevice } from '@/api/quality/processInspect' |
| | | import qrCodeApp from '@/views/common/qrCodeApp' |
| | | import { validatePositiveInteger } from '@/util/validate' |
| | | export default { |
| | | components:{ |
| | | qrCodeApp |
| | | qrCodeApp,processPart |
| | | }, |
| | | data() { |
| | | return { |
| | | paramObj:{}, |
| | | qrcode: false, |
| | | row: null, |
| | | proIndex: 0, |
| | |
| | | resultVal: null, |
| | | technologyList: [], |
| | | deviceList: [], |
| | | workshop:false,//车é´å¼¹çª |
| | | hasChildren: true, |
| | | optionsSamplename: [], |
| | | // æ·»å å |
| | |
| | | this.init() |
| | | }, |
| | | methods: { |
| | | queryCode(){ |
| | | console.log("llll"); |
| | | this.workshop = true |
| | | console.log(this.workshop); |
| | | // this.paramObj = { |
| | | // code: this.dataForm.code |
| | | // } |
| | | }, |
| | | cancelCodeDialog(){ |
| | | this.qrcode = false |
| | | }, |
| | |
| | | '--dragitemwidth': '250px' |
| | | }" |
| | | > |
| | | <div |
| | | :style="{ |
| | | width: 265 * dataForm.operations.length - 15 + 'px' |
| | | }" |
| | | > |
| | | <div |
| | | class="dragHead" |
| | | v-for="x in dataForm.operations.length" |
| | | :key="x" |
| | | > |
| | | <div :style="{ width: 265 * dataForm.operations.length - 15 + 'px' }"> |
| | | <div class="dragHead" v-for="x in dataForm.operations.length" :key="x" > |
| | | <div class="idx">{{ x }}</div> |
| | | </div> |
| | | <zttdraggable |
| | |
| | | */ |
| | | |
| | | |
| | | // const url = 'http://192.168.2.7:9999' |
| | | //const url = 'https://ztms-mes.chinaztt.cn/' |
| | | const url = 'http://192.168.2.7:9999' |
| | | // const url = 'https://ztms-mes.chinaztt.cn/' |
| | | |
| | | const url = 'http://localhost:9999' |
| | | // const url = 'http://localhost:9999' |
| | | |
| | | |
| | | const localUrl = 'http://localhost:8089' |