| | |
| | | <div style="display: flex"> |
| | | <el-button |
| | | v-waves |
| | | icon="el-icon-switch-button" |
| | | @click="orderClose" |
| | | >关闭订单 |
| | | </el-button> |
| | | <el-button |
| | | v-waves |
| | | icon="el-icon-delete" |
| | | @click="orderDel" |
| | | >删除订单 |
| | | type="primary" |
| | | icon="el-icon-bottom" |
| | | @click="batchHandle" |
| | | >批量下达 |
| | | </el-button> |
| | | </div> |
| | | |
| | |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label="车间名称" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.wkshopcode" |
| | | filterable |
| | | :popper-append-to-body="false" |
| | | style="width: 200px" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in wkshopcodeArr" |
| | | :key="item.torg_code" |
| | | :label="item.torg_name" |
| | | :value="item.torg_code" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="订单状态" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.erporderstus" |
| | |
| | | <el-input v-model="form.saleordercode" 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.partcode" style="width: 200px" placeholder="请输入" /> |
| | | </el-form-item> |
| | | |
| | |
| | | :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" |
| | | /> |
| | | <el-table-column |
| | | prop="clerkuser" |
| | | label="销售业务员" |
| | | show-tooltip-when-overflow |
| | | width="150" |
| | | sortable="custom" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.clerkuser">{{ row.clerkuser }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | | show-tooltip-when-overflow |
| | |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | width="80" |
| | | width="120" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | |
| | | :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> |
| | |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="销售业务员" prop=""> |
| | | <el-input |
| | | v-model="dialogForm.clerkuser" |
| | | disabled |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="预计交付日期" prop="saleOrderDeliveryDate"> |
| | | <el-date-picker |
| | | v-model="dialogForm.saleOrderDeliveryDate" |
| | |
| | | :disabled="dialogForm.saleOrderDeliveryDateIsDisabled" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | |
| | | import { handleDatetime } from '@/utils/global' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | import waves from '@/directive/waves' |
| | | import { ClosedErpOrder, DeleteErpOrder, ErpOrderSearch, MarkSaveErpOrder } from '@/api/WorkOrder' |
| | | import { |
| | | ClosedErpOrder, |
| | | DeleteErpOrder, |
| | | ErpOrderSearch, |
| | | MarkBatchSaveErpOrder, |
| | | MarkSaveErpOrder |
| | | } from '@/api/WorkOrder' |
| | | import { SeaveSearchErpOrder } from '@/api/ErpSyncMes' |
| | | import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' |
| | | |
| | | const SER_HZ = /^[\u4e00-\u9fa5]+$/ |
| | | export default { |
| | |
| | | mainHeight: 0, |
| | | tableHeight: 0, |
| | | form: { |
| | | wkshopcode: '', // 车间编码 |
| | | erporderstus: '', // 订单状态码 |
| | | erpordercode: '', // 订单编号 |
| | | partcode: '', // 产品编码 |
| | |
| | | { code: 'CREATED', name: '全部下达' }, |
| | | { code: 'CLOSED', name: '已关闭' } |
| | | ], |
| | | wkshopcodeArr: [], |
| | | total: 10, |
| | | radioSelectedId: '', |
| | | tableData: [], |
| | |
| | | markqty: '', // 下单数量 |
| | | ordernum: '', // 下单单数 |
| | | relse_qty: '', // 已下单数量 |
| | | |
| | | clerkuser: '', // 销售业务员 |
| | | |
| | | saleOrderDeliveryDate: '' // 预计交付日期 |
| | | }, |
| | |
| | | disabledDate(time) { |
| | | return time.getTime() < Date.now() - 8.64e7 |
| | | } |
| | | } |
| | | }, |
| | | multipleSelection: [] |
| | | |
| | | // expireTimeOption: { |
| | | // disabledDate(time) { |
| | |
| | | created() { |
| | | this.getErpOrderSearch() |
| | | // this.getPartSelect()// 获取产品编码信息 |
| | | |
| | | this.getPrentOrganizationNoCompany() |
| | | }, |
| | | mounted() { |
| | | window.addEventListener('resize', this.getHeight) |
| | | this.getHeight() |
| | | }, |
| | | methods: { |
| | | async getPrentOrganizationNoCompany() { |
| | | const { data: res } = await PrentOrganizationNoCompany() |
| | | this.wkshopcodeArr = res |
| | | }, |
| | | async getErpOrderSearch() { |
| | | console.log(this.form, 1) |
| | | let tempDate2 = this.form.paystartdate |
| | |
| | | } |
| | | |
| | | const data = { |
| | | wkshopcode: this.form.wkshopcode, |
| | | erporderstus: this.form.erporderstus, // 订单状态码 |
| | | erpordercode: this.form.erpordercode, // 订单编号 |
| | | partcode: this.form.partcode, // 产品编码 |
| | |
| | | }, |
| | | // 重置 |
| | | reset() { |
| | | this.form.wkshopcode = '' |
| | | this.form.erporderstus = '' |
| | | this.form.erpordercode = '' |
| | | this.form.partcode = '' |
| | |
| | | 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() { |
| | | if (this.radioSelectedId.length < 1) { |
| | | return this.$message.info('请先选择订单!') |
| | | } |
| | | orderDel(id) { |
| | | this.tableData.forEach(item => { |
| | | if (item.id === this.radioSelectedId) { |
| | | if (item.id === id) { |
| | | if (item.status === 'CLOSED') { |
| | | return this.$message.info('此订单已关闭,无法删除!') |
| | | } else { |
| | |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | DeleteErpOrder({ erpordercode: item.wo, erporderid: this.radioSelectedId }).then(res => { |
| | | DeleteErpOrder({ erpordercode: item.wo, erporderid: id }).then(res => { |
| | | if (res.code === '200') { |
| | | this.$message.success('订单删除成功!') |
| | | this.getErpOrderSearch() |
| | |
| | | }) |
| | | }, |
| | | // 订单关闭 |
| | | 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() |
| | |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | 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, |
| | | 'sbid': i.sbid, |
| | | 'erpordercode': i.wo, |
| | | 'partcode': i.partcode, |
| | | 'wkshopcode': i.wkshp_code, |
| | | 'warehousecode': i.stck_code, |
| | | 'erpqty': i.qty, |
| | | 'markqty': i.qty, |
| | | 'ordernum': 1, |
| | | 'clerkuser': i.clerkuser, |
| | | 'relse_qty': i.qty, |
| | | 'saleordercode': i.saleOrderCode, |
| | | // 'saleOrderDeliveryDate': i.saleOrderDeliveryDate |
| | | 'saleOrderDeliveryDate': handleDatetime(new Date()) + ' 00:00:00' |
| | | }) |
| | | }) |
| | | // console.log(JSON.parse(JSON.stringify(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' |
| | | }, |
| | | handleSelectionChange(val) { |
| | | this.multipleSelection = val |
| | | }, |
| | | // 新增按钮 |
| | | add(operation) { |
| | |
| | | this.dialogForm.markqty = parseFloat(row.qty) - parseFloat(row.relse_qty) |
| | | this.dialogForm.ordernum = 1 |
| | | this.dialogForm.relse_qty = row.relse_qty |
| | | this.dialogForm.clerkuser = row.clerkuser |
| | | }) |
| | | }, |
| | | // 对话框关闭事件 |
| | |
| | | 'partcode': this.dialogForm.partcode, |
| | | 'wkshopcode': this.dialogForm.wkshopcode, |
| | | 'warehousecode': this.dialogForm.warehousecode, |
| | | |
| | | 'clerkuser': this.dialogForm.clerkuser, |
| | | 'erpqty': this.dialogForm.erpqty, |
| | | 'markqty': this.dialogForm.markqty, |
| | | 'ordernum': this.dialogForm.ordernum, |