| | |
| | | @click="syncERP" |
| | | >同步ERP |
| | | </el-button> |
| | | <el-button |
| | | v-waves |
| | | icon="el-icon-switch-button" |
| | | @click="orderClose" |
| | | >关闭订单 |
| | | </el-button> |
| | | <div style="display: flex"> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | icon="el-icon-bottom" |
| | | @click="batchHandle" |
| | | >批量下达 |
| | | </el-button> |
| | | <!-- <el-button--> |
| | | <!-- v-waves--> |
| | | <!-- icon="el-icon-switch-button"--> |
| | | <!-- @click="orderClose"--> |
| | | <!-- >关闭订单--> |
| | | <!-- </el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- v-waves--> |
| | | <!-- icon="el-icon-delete"--> |
| | | <!-- @click="orderDel"--> |
| | | <!-- >删除订单--> |
| | | <!-- </el-button>--> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div class="bodyTopFormGroup"> |
| | |
| | | <el-form-item label="订单编号" style=" display: flex;"> |
| | | <el-input v-model="form.erpordercode" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="销售订单" style=" display: flex;"> |
| | | <el-input v-model="form.saleordercode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="form.partcode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品名称" style=" display: flex;"> |
| | | |
| | | <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;"> |
| | | <el-input v-model="form.partname" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="产品规格" style=" display: flex;"> |
| | | <el-input v-model="form.partspec" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="创建人员" style=" display: flex;"> |
| | | <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | <!-- <el-form-item v-show="isExpandForm" label="创建人员" style=" display: flex;">--> |
| | | <!-- <el-input v-model="form.creatuser" style="width: 200px" placeholder="请输入" />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item |
| | | v-show="isExpandForm" |
| | | label="预计开工时间" |
| | |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | | @sort-change="sortChange" |
| | | @row-click="rowClick" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <!-- <el-table-column--> |
| | | <!-- type="selection"--> |
| | | <!-- width="50"--> |
| | | <!-- />--> |
| | | <!-- @row-click="rowClick"--> |
| | | <el-table-column |
| | | type="selection" |
| | | width="50" |
| | | fixed |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-radio |
| | | v-model="radioSelectedId" |
| | | :label="row.id" |
| | | style="color: transparent;padding-left: 10px;" |
| | | /> |
| | | <!-- @change.native="getCurrentRow(row.id)"--> |
| | | </template> |
| | | </el-table-column> |
| | | :selectable="selected" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- width="50"--> |
| | | <!-- fixed--> |
| | | <!-- >--> |
| | | <!-- <template slot-scope="{row}">--> |
| | | <!-- <el-radio--> |
| | | <!-- v-model="radioSelectedId"--> |
| | | <!-- :label="row.id"--> |
| | | <!-- style="color: transparent;padding-left: 10px;"--> |
| | | <!-- />--> |
| | | <!-- <!– @change.native="getCurrentRow(row.id)"–>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column |
| | | prop="RowNum" |
| | | width="50" |
| | |
| | | sortable="custom" |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | show-tooltip-when-overflow |
| | | prop="saleOrderCode" |
| | | label="销售订单" |
| | | sortable="custom" |
| | | width="150" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.saleOrderCode">{{ row.saleOrderCode }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | width="80" |
| | | width="120" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="下达" placement="top"> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="订单下达" placement="top"> |
| | | <!-- <el-button v-waves type="text" @click="edit('edit',row)">下达</el-button>--> |
| | | <i |
| | | class="el-icon-bottom" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-left: 5px" |
| | | @click="edit('edit',row)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="订单关闭" placement="top"> |
| | | <i |
| | | class="el-icon-switch-button" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-left: 15px" |
| | | @click="orderClose(row.id)" |
| | | /> |
| | | </el-tooltip> |
| | | |
| | | <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="cursor: pointer;margin-left: 15px" |
| | | @click="orderDel(row.id)" |
| | | /> |
| | | </el-tooltip> |
| | | </div> |
| | |
| | | :page.sync="form.page" |
| | | :limit.sync="form.rows" |
| | | align="right" |
| | | layout="total,prev, pager, next,sizes" |
| | | layout="total,prev, pager, next,sizes,jumper" |
| | | popper-class="select_bottom" |
| | | @pagination="getErpOrderSearch" |
| | | /> |
| | |
| | | |
| | | <script> |
| | | import Pagination from '@/components/Pagination' |
| | | import { ClosedErpOrder, ErpOrderSearch, MarkSaveErpOrder } from '@/api/produceManager' |
| | | import { |
| | | ClosedErpOrder, |
| | | DeleteErpOrder, |
| | | ErpOrderSearch, |
| | | MarkBatchSaveErpOrder, |
| | | MarkSaveErpOrder |
| | | } from '@/api/produceManager' |
| | | import { handleDatetime } from '@/utils/global' |
| | | import { SeaveSearchErpOrder } from '@/api/ErpSyncMes' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | |
| | | |
| | | const SER_HZ = /^[\u4e00-\u9fa5]+$/ |
| | | export default { |
| | | name: 'SCDD', |
| | | name: 'ProduceOrder', |
| | | components: { |
| | | Pagination |
| | | }, |
| | |
| | | partname: '', // 产品名称 |
| | | partspec: '', // 产品规格 |
| | | creatuser: '', // 创建人员 |
| | | saleordercode: '', // 销售订单 |
| | | // paystartdate: '', // 交付时间 |
| | | paystartdate: '', // 预计开工时间 |
| | | payenddate: '', // 预计完工时间 |
| | |
| | | relse_qty: '', // 已下单数量 |
| | | saleOrderDeliveryDate: '', // 预计交付日期 |
| | | |
| | | saleordercode: '', // 销售订单 |
| | | |
| | | saleOrderDeliveryDateIsDisabled: false// 预计交付日期字段是否可修改 |
| | | }, |
| | | operation: '', |
| | |
| | | disabledDate(time) { |
| | | return time.getTime() < Date.now() - 8.64e7 |
| | | } |
| | | } |
| | | }, |
| | | multipleSelection: [] |
| | | |
| | | // expireTimeOption: { |
| | | // disabledDate(time) { |
| | |
| | | partspec: this.form.partspec, // 产品规格 |
| | | paystartdate: tempDate2, // 交付时间 |
| | | payenddate: tempDate, // 交付时间 |
| | | saleordercode: this.form.saleordercode, |
| | | creatuser: this.form.creatuser, // 创建人员 |
| | | // createdate: this.form.createdate.toString().length > 0 ? handleDatetime(this.form.createdate) : '', // 创建时间 |
| | | |
| | |
| | | // this.$message.error('同步失败!') |
| | | // }, 10000) |
| | | // } |
| | | }).catch(e => { |
| | | loading.close() |
| | | }) |
| | | }, |
| | | // 查询 |
| | |
| | | this.form.paystartdate = '' |
| | | this.form.payenddate = '' |
| | | this.form.creatuser = '' |
| | | this.form.erpordercode = '' |
| | | this.form.createdate = '' |
| | | this.getErpOrderSearch() |
| | | }, |
| | | // 单选框选中获取当前行信息 |
| | | getCurrentRow(id) { |
| | | this.radioSelectedId = id |
| | | }, |
| | | rowClick(row) { |
| | | this.radioSelectedId = row.id |
| | | // getCurrentRow(id) { |
| | | // this.radioSelectedId = id |
| | | // }, |
| | | // rowClick(row) { |
| | | // this.radioSelectedId = row.id |
| | | // }, |
| | | |
| | | // 订单删除 |
| | | orderDel(id) { |
| | | this.tableData.forEach(item => { |
| | | if (item.id === id) { |
| | | if (item.status === 'CLOSED') { |
| | | return this.$message.info('此订单已关闭,无法删除!') |
| | | } else { |
| | | this.$confirm('是否确认关闭订单?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => { |
| | | if (res.code === '200') { |
| | | this.$message.success('订单删除成功!') |
| | | this.getErpOrderSearch() |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message.info('已取消删除!') |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 订单关闭 |
| | | async orderClose() { |
| | | if (this.radioSelectedId.length < 1) { |
| | | return this.$message.info('请先选择订单!') |
| | | } |
| | | async orderClose(id) { |
| | | this.tableData.forEach(item => { |
| | | if (item.id === this.radioSelectedId) { |
| | | if (item.id === id) { |
| | | if (item.status !== 'NEW') { |
| | | return this.$message.info('此订单非新订单,无法关闭!') |
| | | } else { |
| | |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | ClosedErpOrder({ erpordercode: item.wo, erporderid: this.radioSelectedId }).then(res => { |
| | | ClosedErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => { |
| | | if (res.code === '200') { |
| | | this.$message.success('订单关闭成功!') |
| | | this.getErpOrderSearch() |
| | |
| | | }, |
| | | // 修改按钮 |
| | | edit(operation, row) { |
| | | if (parseFloat(row.qty) === parseFloat(row.relse_qty)) { |
| | | if (parseFloat(row.qty) === parseFloat(row.relse_qty) || row.status === 'CLOSED') { |
| | | return this.$message.info('此工单已全部下达!') |
| | | } |
| | | |
| | |
| | | this.dialogForm.wkshopname = row.wkshp_name |
| | | this.dialogForm.warehousecode = row.stck_code |
| | | this.dialogForm.warehousename = row.stck_name |
| | | |
| | | this.dialogForm.saleordercode = row.saleOrderCode |
| | | |
| | | this.dialogForm.saleOrderDeliveryDate = row.saleOrderDeliveryDate |
| | | |
| | |
| | | this.dialogForm.warehousename = '' |
| | | |
| | | this.dialogForm.saleOrderDeliveryDate = '' |
| | | |
| | | this.dialogForm.saleordercode = '' |
| | | |
| | | this.dialogForm.erpqty = '' |
| | | this.dialogForm.markqty = '' |
| | |
| | | 'markqty': this.dialogForm.markqty, |
| | | 'ordernum': this.dialogForm.ordernum, |
| | | 'relse_qty': this.dialogForm.relse_qty, |
| | | 'saleordercode': this.dialogForm.saleordercode, |
| | | 'saleOrderDeliveryDate': handleDatetime(this.dialogForm.saleOrderDeliveryDate) + ' 00:00:00' |
| | | } |
| | | |
| | |
| | | } |
| | | }) |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | }, |
| | | batchHandle() { |
| | | this.$confirm('是否批量下达?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | if (this.multipleSelection.length === 0) { |
| | | return this.$message.info('请先选择订单!') |
| | | } |
| | | // console.log(JSON.parse(JSON.stringify(this.multipleSelection))) |
| | | const data = [] |
| | | this.multipleSelection.forEach(i => { |
| | | data.push({ |
| | | 'erporderid': i.id, |
| | | 'erpordercode': i.wo, |
| | | 'partcode': i.partcode, |
| | | 'wkshopcode': i.wkshp_code, |
| | | 'warehousecode': i.stck_code, |
| | | 'erpqty': i.qty, |
| | | 'markqty': i.qty, |
| | | 'ordernum': 1, |
| | | 'relse_qty': i.qty, |
| | | 'saleordercode': i.saleOrderCode, |
| | | // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate |
| | | 'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00' |
| | | }) |
| | | }) |
| | | // console.log(data) |
| | | MarkBatchSaveErpOrder(data).then(res => { |
| | | if (res.code === '200') { |
| | | this.multipleSelection = [] |
| | | this.$message.success('批量下达成功!') |
| | | this.getErpOrderSearch() |
| | | } else { |
| | | this.$message.error('批量下达失败!') |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message.info('已取消下达!') |
| | | }) |
| | | }, |
| | | selected(row, index) { |
| | | return row.status === 'NEW' |
| | | }, |
| | | // 获取页面高度 |
| | | getHeight() { |
| | | this.$nextTick(() => { |