| | |
| | | <el-button v-waves type="success" icon="el-icon-connection" @click="send">æ´¾å</el-button> |
| | | </div> |
| | | |
| | | <!-- <el-button v-waves icon="el-icon-switch-button" @click="orderClose">å
³éå·¥å</el-button>--> |
| | | <el-button v-waves type="primary" @click="batchUpdate"><i |
| | | class="el-icon-edit-outline" |
| | | style="margin-right: 0;" |
| | | /> æ¹éä¿®æ¹ |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="bodyTopFormGroup"> |
| | |
| | | <div v-if="row.status==='SCHED'">å·²æç¨</div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="isstep" |
| | | label="å·¥èºç¶æ" |
| | | sortable="custom" |
| | | width="110" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-tag v-if="row.isstep==='Y'" type="success" size="mini">å·²ç»å®</el-tag> |
| | | <el-tag v-if="row.isstep==='N'" type="danger" size="mini">æªç»å®</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="å·¥åç¼å·" |
| | |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="è¯·éæ©è½¦é´" |
| | | @change="getMesOrderNewStepContent" |
| | | > |
| | | <!-- @change="getMesOrderNewStepContent"--> |
| | | <!-- @change="sourceType? getMesOrderNewStepContent():routecodeChange()"--> |
| | | <el-option |
| | | v-for="item in wkshopArr" |
| | |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- æ¹éä¿®æ¹--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="æ¹éä¿®æ¹" |
| | | :visible.sync="dialogVisibleBatchUpdate" |
| | | width="1200px" |
| | | top="8vh" |
| | | :close-on-click-modal="false" |
| | | @closed="handleCloseBatchUpdate" |
| | | @close="handleCloseBatchUpdate" |
| | | > |
| | | |
| | | <div |
| | | v-if="formData3.filter(i => !i.routecode).length>0&&mesSetting.route" |
| | | style="display: flex;align-items: center" |
| | | > |
| | | <div style="height: 34px;width: 80%;margin-bottom: 10px;"> |
| | | <el-alert |
| | | :title="'å½åéä¸'+multipleSelection.length+'个工åï¼æ'+(formData3.filter(i => !i.routecode).length)+'ä¸ªå·¥åæªæå®å·¥èºè·¯çº¿ï¼è¯·å
æå®ï¼'" |
| | | type="error" |
| | | :closable="false" |
| | | /> |
| | | </div> |
| | | <el-button |
| | | v-waves |
| | | type="text" |
| | | style="margin-left: 20px;" |
| | | @click="dialogVisibleBatchUpdate=false;$router.push('../materialManager/inventoryList')" |
| | | >ç¹å»è·³è½¬åè´§ç»å®å·¥èº |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div v-for="(i,index) in formData3" :key="index" class="customDiv"> |
| | | |
| | | <el-form |
| | | ref="dialogForm" |
| | | inline |
| | | :model="i" |
| | | label-width="110px" |
| | | > |
| | | |
| | | <el-divider content-position="left">åºæ¬ä¿¡æ¯ {{ index + 1 }}</el-divider> |
| | | |
| | | <el-form-item |
| | | label="å·¥åç¶æ" |
| | | prop="mesorderstus" |
| | | > |
| | | <div style="width: 200px;">{{ erporderstusArr.find(item => item.code === i.mesorderstus).name }}</div> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åç¼å·" prop="mesordercode"> |
| | | <div style="width: 200px;">{{ i.mesordercode }}</div> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åç±»å" prop="mesorderstus"> |
| | | <div style="width: 200px;">{{ ordertypeArr.find(item => item.code === i.ordertype).name }}</div> |
| | | </el-form-item> |
| | | <el-form-item label="æºååå·"> |
| | | <div style="width: 200px;">{{ i.sourceorder }}</div> |
| | | </el-form-item> |
| | | <el-form-item label="工忰é" prop="mesqty"> |
| | | <div style="width: 200px;">{{ i.mesqty }}</div> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="æå±è½¦é´" prop="wkshopcode"> |
| | | <el-select |
| | | v-model="i.wkshopcode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="è¯·éæ©è½¦é´" |
| | | > |
| | | <!-- @change="val=>getMesOrderNewStepContentBatchUpdate(val,index)"--> |
| | | <el-option |
| | | v-for="item in wkshopArr" |
| | | :key="item.torg_code" |
| | | :label="item.torg_name" |
| | | :value="item.torg_code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | label="产ååç§°" |
| | | prop="partcode" |
| | | > |
| | | <div style="width: 200px;">{{ partArr.find(item => item.partcode === i.partcode).partname }}</div> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="产åç¼ç " |
| | | prop="partcode" |
| | | > |
| | | <div style="width: 200px;">{{ i.partcode }}</div> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="产åè§æ ¼" prop="partspec"> |
| | | <div style="width: 200px;">{{ |
| | | partArr.find(item => item.partcode === i.partcode).partspec ? partArr.find(item => item.partcode === i.partcode).partspec : '/' |
| | | }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item v-if="mesSetting.route" label="å·¥èºè·¯çº¿" prop="wkshopcode"> |
| | | <el-select |
| | | v-model="i.routecode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="è¯·éæ©å·¥èºè·¯çº¿" |
| | | @change="val=>routecodeChangeBatchUpdate(val,index)" |
| | | > |
| | | <el-option |
| | | v-for="item in i.routecodeArr" |
| | | :key="item.route_code" |
| | | :label="item.route_name" |
| | | :value="item.route_code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="é¢è®¡äº¤ä»æ¥æ" prop="deliverydate"> |
| | | <el-date-picker |
| | | v-model="i.deliverydate" |
| | | type="date" |
| | | size="mini" |
| | | :clearable="false" |
| | | class="dateMini" |
| | | :picker-options="pickerOptions" |
| | | format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="å·¥åºæ¥æº" required> |
| | | <el-switch |
| | | v-model="i.sourceType" |
| | | style="width: 200px;" |
| | | inactive-text="åºç¡è®¾ç½®" |
| | | active-text="å岿æ°" |
| | | :disabled="!i.wkshopcode" |
| | | @change="val=>sourceTypeChangeBatchUpdate(val,index)" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-divider content-position="left">å·¥åºä¿¡æ¯ {{ index + 1 }}</el-divider> |
| | | |
| | | <div style="display: flex;align-items: center"> |
| | | <div style="font-weight: bolder">å·¥åºéæ©ï¼</div> |
| | | |
| | | <el-select |
| | | v-model="i.stepSelectedValue" |
| | | class="stepSelectedValueClass" |
| | | style="width: 930px;" |
| | | multiple |
| | | placeholder="è¯·éæ©ç¸å¯¹åºå·¥åº" |
| | | @change="val=>stepSelectedValueChangeBatchUpdate(val,index)" |
| | | > |
| | | <el-option |
| | | v-for="item in stepSelectArr" |
| | | :key="item.stepcode" |
| | | :label="item.stepname" |
| | | :value="item.stepcode" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <el-table |
| | | :ref="'stepTableDataRef'+index" |
| | | :key="index" |
| | | :data="i.stepTableData" |
| | | border |
| | | :row-class-name="tableRowClassName" |
| | | height="300" |
| | | :header-cell-style="{ |
| | | background: '#f8f8fa', padding: '0', color: '#000', fontWeight: 500 |
| | | }" |
| | | :cell-style="{padding: '5px 0'}" |
| | | style="width: 100%;margin-top: 15px;" |
| | | highlight-current-row |
| | | row-key="stepcode" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="åºå·" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | label="å·¥åºç¼ç " |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="å·¥åºåç§°" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="stepprice" |
| | | label="ç产åä»·" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input |
| | | v-model="row.stepprice" |
| | | placeholder="请è¾å
¥å·¥åºåä»·" |
| | | oninput="value=value.replace(/[^0-9.]/g,'')" |
| | | style="width: 100%" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="æä½" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div class="operationClass"> |
| | | <!-- <i--> |
| | | <!-- class="el-icon-rank"--> |
| | | <!-- :style="{color:$store.state.settings.theme}"--> |
| | | <!-- style="cursor: move"--> |
| | | <!-- />--> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="å é¤" placement="top"> |
| | | <i |
| | | class="el-icon-delete" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="margin-left: 15px;" |
| | | @click="stepDelBatchUpdate(index,scope.$index)" |
| | | /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | </el-form> |
| | | |
| | | </div> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button v-waves @click="dialogVisibleCancelBatchUpdate">å æ¶</el-button> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | | :disabled="$store.state.app.buttonIsDisabled" |
| | | @click="dialogVisibleConfirmBatchUpdate" |
| | | >ç¡® å®</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import waves from '@/directive/waves' |
| | | import { |
| | | AddMesOrderCodeSearch, |
| | | AddUpdateMesOrder, DeleteMesOrder, |
| | | AddUpdateMesOrder, AddUpdateMesOrderList, DeleteMesOrder, |
| | | MesBadOrderSearch, MesOrderDistribution, MesOrderNewStepContent, MesOrderProcessSopSearch, |
| | | MesOrderSearch, MesOrderSopSearch, |
| | | MesOrderSearch, MesOrderSopSearch, UpdateMesOrderStepListSearch, |
| | | UpdateMesOrderStepSearch |
| | | } from '@/api/WorkOrder' |
| | | import { PartSelect } from '@/api/ProductModel' |
| | |
| | | import ElDragSelect from '@/components/DragSelect' |
| | | import { MesOrderPrintSearch } from '@/api/GridReport' // base on element-ui |
| | | import DateType from '@/components/DateType' |
| | | import { PartSelectRpute, RouteSelectStep } from '@/api/basicSettings' |
| | | import { PartSelectRpute, PartSelectRputeList, RouteSelectStep, RouteSelectStepList } from '@/api/basicSettings' |
| | | import { DeviceSopSearch } from '@/api/DeviceManager' |
| | | |
| | | export default { |
| | |
| | | }, |
| | | sopArr: [], |
| | | routeCode: '', // å·¥èºè·¯çº¿code |
| | | partCode: '' |
| | | partCode: '', |
| | | |
| | | dialogVisibleBatchUpdate: false, // æ¹éä¿®æ¹ |
| | | formData3: [] |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | // }) |
| | | }, |
| | | methods: { |
| | | stepDelBatchUpdate(index, ind) { |
| | | this.formData3[index].stepTableData.splice(ind, 1) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | }, |
| | | // æ¹éä¿®æ¹ |
| | | async batchUpdate() { |
| | | if (this.multipleSelection.length === 0) { |
| | | return this.$message.info('请å
å¾éç¸å¯¹åºçå·¥åï¼') |
| | | } |
| | | const loading = this.$loading({ |
| | | lock: true, |
| | | text: 'æ£å¨å è½½æ°æ®ï¼è¯·ç¨ç...', |
| | | spinner: 'el-icon-loading', |
| | | customClass: 'osloading', |
| | | background: 'rgba(0, 0, 0, 0.7)' |
| | | }) |
| | | |
| | | const data2 = [] |
| | | const data3 = [] |
| | | this.formData3 = [] |
| | | |
| | | const partcodeArr = [] |
| | | |
| | | this.multipleSelection.forEach(i => { |
| | | partcodeArr.push({ |
| | | partcode: i.partcode |
| | | }) |
| | | |
| | | if (this.mesSetting.route) { |
| | | data2.push( |
| | | { partcode: i.partcode, routecode: i.route_code ? i.route_code : i.default_route } |
| | | ) |
| | | } |
| | | |
| | | data3.push({ |
| | | sourceid: i.sourceid, |
| | | sourcewo: i.m_po, |
| | | wocode: i.wo_code, |
| | | data_sources: i.data_sources |
| | | }) |
| | | |
| | | this.formData3.push({ |
| | | mesorderstus: i.status, // å·¥åç¶æç |
| | | mesordercode: i.wo_code, // å·¥åç¼å· |
| | | ordertype: i.wotype, // å·¥åç±»å |
| | | sourceorderid: i.sourceid, // æºåid |
| | | sourceorder: i.m_po, // æºååå· |
| | | partcode: i.partcode, // 产åç¼ç |
| | | partname: i.partname, // 产ååç§° |
| | | partspec: i.partspec, // 产åè§æ ¼ |
| | | mesqty: i.plan_qty, // 工忰é |
| | | wkshopcode: i.wkshp_code, // ç产车é´ç¼ç |
| | | wkshopname: i.wkshp_name, // ç产车é´åç§° |
| | | deliverydate: i.saleOrderDeliveryDate.substring(0, 11), // äº¤ä»æ¶é´ |
| | | data_sources: i.data_sources, // æ°æ®æ¥æº |
| | | sourceType: this.sourceType, // å·¥åºæ¥æº |
| | | routecode: i.route_code ? i.route_code : i.default_route, // å·¥èºè·¯çº¿ |
| | | routecodeArr: [], // å·¥èºè·¯çº¿æ°ç» |
| | | stepSelectedValue: [], // 䏿éä¸å¼ |
| | | stepTableData: []// å·¥åºè¡¨å¼ |
| | | }) |
| | | }) |
| | | const { data: res3 } = await UpdateMesOrderStepListSearch(data3) |
| | | res3.forEach((i, index) => { |
| | | if (i.stepdata.length > 0) { |
| | | this.formData3[index].stepTableData = i.stepdata |
| | | this.formData3[index].stepSelectedValue = i.stepdata.map(j => j.stepcode) |
| | | } |
| | | }) |
| | | |
| | | const { data: res } = await PartSelectRputeList(partcodeArr) |
| | | if (this.mesSetting.route) { |
| | | res.forEach((i, index) => { |
| | | if (i.routedata.length > 0) { |
| | | this.formData3[index].routecodeArr = i.routedata |
| | | } |
| | | }) |
| | | } else { |
| | | this.formData3.forEach((i, index) => { |
| | | if (i.stepTableData.length === 0) { |
| | | i.stepTableData = res[index].stepdata |
| | | i.stepSelectedValue = res[index].stepdata.length > 0 ? res[index].stepdata.map(j => j.stepcode) : [] |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (this.mesSetting.route) { |
| | | const { data: res2 } = await RouteSelectStepList(data2) |
| | | this.formData3.forEach((i, index) => { |
| | | if (i.stepTableData.length === 0) { |
| | | i.stepTableData = res2[index].stepdata |
| | | i.stepSelectedValue = res2[index].stepdata.length > 0 ? res2[index].stepdata.map(j => j.stepcode) : [] |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // this.formData3 = this.multipleSelection |
| | | this.dialogVisibleBatchUpdate = true |
| | | loading.close() |
| | | }, |
| | | // å¯¹è¯æ¡å
³é |
| | | handleCloseBatchUpdate() { |
| | | this.multipleSelection = [] |
| | | this.formData3 = [] |
| | | this.$refs.tableDataRef.clearSelection() |
| | | }, |
| | | dialogVisibleCancelBatchUpdate() { |
| | | this.dialogVisibleBatchUpdate = false |
| | | }, |
| | | async dialogVisibleConfirmBatchUpdate() { |
| | | this.$store.state.app.buttonIsDisabled = true |
| | | let flag = false |
| | | const data = [] |
| | | this.formData3.forEach((i, index) => { |
| | | const workListSub = [] |
| | | if (i.stepTableData.length > 0) { |
| | | i.stepTableData.forEach((it, j) => { |
| | | workListSub.push( |
| | | { |
| | | stepseq: j + 1, |
| | | stepcode: it.stepcode, |
| | | stepprice: it.stepprice, |
| | | isbott: j === 0 ? 'Y' : 'N', |
| | | isend: j === i.stepTableData.length - 1 ? 'Y' : 'N' |
| | | } |
| | | ) |
| | | }) |
| | | } else { |
| | | flag = true |
| | | } |
| | | |
| | | data.push({ |
| | | wostatus: i.mesorderstus, // å·¥åç¶æ |
| | | wocode: i.mesordercode, // å·¥åå· |
| | | wotype: i.ordertype, // å·¥åç±»å |
| | | sourceid: i.sourceorderid, // æºåid |
| | | sourcewo: i.sourceorder, // æºååå· |
| | | partcode: i.partcode, // 产åç¼å· |
| | | wkshopcode: i.wkshopcode, |
| | | woqty: i.mesqty, // 工忰é |
| | | deliverydate: i.deliverydate, // äº¤ä»æ¶é´ |
| | | data_sources: i.data_sources, // æ°æ®æ¥æº |
| | | isstep: workListSub.length > 0 ? 'Y' : 'N', // |
| | | difference: 0, // æ°æ®å·®å¼ |
| | | routecode: i.routecode, |
| | | workListSub |
| | | }) |
| | | }) |
| | | if (flag) { |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | return this.$message.error('æ°æ®æªç»´æ¤å¥½ï¼è¯·å
æ£æ¥ï¼') |
| | | } |
| | | |
| | | const res = await AddUpdateMesOrderList(data) |
| | | if (res.code === '200') { |
| | | this.$message.success('ä¿®æ¹æä½æåï¼') |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | } |
| | | await this.getMesOrderSearch() |
| | | this.dialogVisibleBatchUpdate = false |
| | | }, |
| | | async sourceTypeChangeBatchUpdate(val, index) { |
| | | if (val) { |
| | | const data = { |
| | | routecode: this.formData3[index].routecode, |
| | | wkshopcode: this.formData3[index].wkshopcode, |
| | | partcode: this.formData3[index].partcode |
| | | } |
| | | const { data: res } = await MesOrderNewStepContent(data) |
| | | this.formData3[index].stepSelectedValue = [] |
| | | this.formData3[index].stepTableData = [] |
| | | |
| | | if (res.length > 0) { |
| | | res.forEach(i => { |
| | | this.formData3[index].stepTableData.push( |
| | | { |
| | | stepcode: i.step_code, |
| | | stepname: i.step_name, |
| | | stepprice: i.stepprice |
| | | } |
| | | ) |
| | | }) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | } |
| | | } else { |
| | | if (this.mesSetting.route) { |
| | | // this.routecodeChange() |
| | | const data = { |
| | | partcode: this.formData3[index].partcode, |
| | | routecode: this.formData3[index].routecode |
| | | } |
| | | const { data: res } = await RouteSelectStep(data) |
| | | this.formData3[index].stepSelectedValue = [] |
| | | this.formData3[index].stepTableData = [] |
| | | if (res.length > 0) { |
| | | res.sort((a, b) => a.step_seq - b.step_seq) |
| | | res.forEach(i => { |
| | | this.formData3[index].stepTableData.push( |
| | | { |
| | | stepcode: i.step_code, |
| | | stepname: i.step_name, |
| | | stepprice: i.unprice |
| | | } |
| | | ) |
| | | }) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | } |
| | | } else { |
| | | // this.getBasicProcessData() |
| | | const { data: res } = await PartSelectRpute({ partcode: this.formData3[index].partcode }) |
| | | res.sort((a, b) => a.step_seq - b.step_seq) |
| | | this.formData3[index].stepSelectedValue = [] |
| | | this.formData3[index].stepTableData = [] |
| | | res.forEach(i => { |
| | | this.formData3[index].stepTableData.push( |
| | | { |
| | | stepcode: i.step_code, |
| | | stepname: i.step_name, |
| | | stepprice: i.unprice |
| | | } |
| | | ) |
| | | }) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | } |
| | | } |
| | | }, |
| | | async getMesOrderNewStepContentBatchUpdate(val, index) { |
| | | const data = { |
| | | routecode: this.formData3[index].routecode, |
| | | wkshopcode: this.formData3[index].wkshopcode, |
| | | partcode: this.formData3[index].partcode |
| | | } |
| | | const { data: res } = await MesOrderNewStepContent(data) |
| | | this.formData3[index].stepSelectedValue = [] |
| | | this.formData3[index].stepTableData = [] |
| | | if (res.length > 0) { |
| | | res.forEach(i => { |
| | | this.formData3[index].stepTableData.push( |
| | | { |
| | | stepcode: i.step_code, |
| | | // stepname: i.stepname, |
| | | stepprice: i.stepprice |
| | | } |
| | | ) |
| | | }) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | } |
| | | }, |
| | | async routecodeChangeBatchUpdate(val, index) { |
| | | // this.sourceType |
| | | |
| | | const data = { |
| | | partcode: this.formData3[index].partcode, |
| | | routecode: this.formData3[index].routecode |
| | | } |
| | | const { data: res } = await RouteSelectStep(data) |
| | | |
| | | this.formData3[index].stepSelectedValue = [] |
| | | this.formData3[index].stepTableData = [] |
| | | if (res.length > 0) { |
| | | res.sort((a, b) => a.step_seq - b.step_seq) |
| | | res.forEach(i => { |
| | | this.formData3[index].stepTableData.push( |
| | | { |
| | | stepcode: i.step_code, |
| | | stepname: i.step_name, |
| | | stepprice: i.unprice |
| | | } |
| | | ) |
| | | }) |
| | | this.formData3[index].stepSelectedValue = this.formData3[index].stepTableData.map(i => i.stepcode) |
| | | } |
| | | }, |
| | | // å¼¹åºæ¡å
³é |
| | | handleSopClose() { |
| | | this.SopDialogVisible = false |
| | |
| | | this.dialogVisibleTask = false |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val.map(i => i.wo_code) |
| | | this.multipleSelection = val |
| | | }, |
| | | |
| | | selected(row, index) { |
| | | return row.status === 'NEW' && row.isstep === 'Y' |
| | | return row.status === 'NEW' |
| | | // return row.status === 'NEW' && row.isstep === 'Y' |
| | | }, |
| | | // æ´¾å |
| | | send() { |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | MesOrderDistribution(this.multipleSelection).then(res => { |
| | | MesOrderDistribution(this.multipleSelection.map(i => i.wo_code)).then(res => { |
| | | if (res.code === '200') { |
| | | this.$notify.success('æ´¾åæå!') |
| | | this.getMesOrderSearch() |
| | |
| | | } |
| | | const { data: res } = await UpdateMesOrderStepSearch(data) |
| | | this.dialogForm.mesmaxqty = res.canupdate_qty |
| | | |
| | | if (this.mesSetting.route) { // æå·¥èºè·¯çº¿èµ°æ¨¡å¼ |
| | | if (!this.dialogForm.routecode) { |
| | | await this.getPartcodeChangeDialog() |
| | | } else { |
| | | const { data: res } = await PartSelectRpute({ partcode: this.dialogForm.partcode }) |
| | | this.routecodeArr = res |
| | | } |
| | | |
| | | if (res.stepdata.length > 0) { |
| | | this.stepTableData = [] |
| | | this.stepSelectedValue = [] |
| | | res.stepdata.forEach(i => { |
| | | this.stepTableData.push( |
| | | { |
| | |
| | | stepSelectedValueChange(val) { |
| | | // console.log(val, 123) |
| | | }, |
| | | stepSelectedValueChangeBatchUpdate(val, index) { |
| | | console.log(val, index) |
| | | this.formData3[index].stepTableData = [] |
| | | |
| | | val.forEach(i => { |
| | | this.formData3[index].stepTableData.push({ |
| | | stepcode: i, |
| | | stepname: this.stepSelectArr.find(j => j.stepcode === i).stepname, |
| | | stepprice: 0 |
| | | }) |
| | | }) |
| | | }, |
| | | getSummaries(param) { |
| | | const { columns, data } = param |
| | | const sums = [] |
| | |
| | | <style lang="scss" scoped> |
| | | $main_color: #42b983; |
| | | |
| | | .stepSelectedValueClass{ |
| | | ::v-deep input{ |
| | | .stepSelectedValueClass { |
| | | ::v-deep input { |
| | | //min-height: 34px !important; |
| | | height: 68px !important; |
| | | } |
| | |
| | | height: 100% !important; |
| | | } |
| | | } |
| | | |
| | | .customDiv { |
| | | ::v-deep .el-divider:first-child { |
| | | width: 120%; |
| | | margin-left: -10%; |
| | | } |
| | | } |
| | | |
| | | </style> |
| | | <style> |
| | | |
| | |
| | | color: #fff !important; |
| | | background: #42b983 !important; |
| | | } |
| | | </style> |