| | |
| | | :model="form" |
| | | label-width="100px" |
| | | inline |
| | | style="display: flex;justify-content: space-between" |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm"> |
| | | <el-form-item label-width="70px" label="订单状态" style=" display: flex;"> |
| | | <el-form-item label="订单状态" style=" display: flex;"> |
| | | <el-select |
| | | v-model="form.mesorderstus" |
| | | :popper-append-to-body="false" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label-width="70px" 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> |
| | | <el-form-item v-show="isExpandForm" label="产品名称" style=" display: flex;"> |
| | |
| | | <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-width="70px" label="创建时间" style=" display: flex;"> |
| | | <el-form-item v-show="isExpandForm" label="创建时间" style=" display: flex;"> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="form.createdate"--> |
| | | <!-- type="daterange"--> |
| | |
| | | </el-form-item> |
| | | </div> |
| | | |
| | | <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened?'5%':'10%'}"> |
| | | <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}"> |
| | | <el-button type="primary" icon="el-icon-search" @click="search">查询</el-button> |
| | | <el-button type="info" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | </div> |
| | |
| | | label="订单状态" |
| | | sortable="custom" |
| | | width="110" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.status==='NEW'">新工单</div> |
| | |
| | | <div v-if="row.status==='ALLO'">已派发</div> |
| | | <div v-if="row.status==='START'">开工</div> |
| | | <div v-if="row.status==='CLOSED'">完工</div> |
| | | <div v-if="row.status==='NOSCHED'">待排程</div> |
| | | <div v-if="row.status==='SCHED'">已排程</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="工单编号" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="160" |
| | | /> |
| | |
| | | prop="m_po" |
| | | label="源单单号" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="160" |
| | | /> |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.m_po">{{ row.m_po }}</div> |
| | | <div v-else>/</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wotype" |
| | | label="单据类型" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="120" |
| | | > |
| | | <template slot-scope="{row}"> |
| | |
| | | <el-table-column |
| | | prop="partcode" |
| | | label="产品编码" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="120" |
| | | /> |
| | |
| | | prop="plan_qty" |
| | | label="工单数" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="120" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="plan_startdate" |
| | | label="计划开始时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="160" |
| | | > |
| | |
| | | label="计划结束时间" |
| | | sortable="custom" |
| | | width="160" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.plan_enddate">{{ row.plan_enddate }}</div> |
| | |
| | | <el-table-column |
| | | prop="piroque" |
| | | label="工单等级" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="120" |
| | | > |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="lm_user" |
| | | show-tooltip-when-overflow |
| | | label="创建人员" |
| | | sortable="custom" |
| | | width="120" |
| | |
| | | <el-table-column |
| | | prop="lm_date" |
| | | label="创建时间" |
| | | show-tooltip-when-overflow |
| | | width="160" |
| | | sortable="custom" |
| | | /> |
| | |
| | | <!-- @click="check(row)"--> |
| | | <!-- />--> |
| | | <i |
| | | class="el-icon-tickets" |
| | | style="cursor: pointer;color: #42b983;margin-right: 15px" |
| | | :style="{color:$store.state.settings.theme}" |
| | | class="el-icon-printer" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="handlePrint(row.wo_code)" |
| | | /> |
| | | </el-tooltip> |
| | | <el-tooltip v-del-tab-index class="item" effect="dark" content="删除" placement="top"> |
| | | <i class="el-icon-delete" @click="del(row)" /> |
| | | <i class="el-icon-delete" :style="{color:$store.state.settings.theme}" @click="del(row)" /> |
| | | </el-tooltip> |
| | | </div> |
| | | </template> |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | show-tooltip-when-overflow |
| | | label="工单编号" |
| | | width="160" |
| | | /> |
| | |
| | | prop="partcode" |
| | | label="产品编码" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | width="200" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="工序编码" |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | width="150" |
| | | /> |
| | | <el-table-column |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | prop="stepname" |
| | | width="150" |
| | | /> |
| | | <el-table-column |
| | | label="任务数量" |
| | | show-tooltip-when-overflow |
| | | prop="plan_qty" |
| | | /> |
| | | <el-table-column |
| | | label="合格数量" |
| | | show-tooltip-when-overflow |
| | | prop="good_qty" |
| | | /> |
| | | <el-table-column |
| | | label="不良数量" |
| | | show-tooltip-when-overflow |
| | | prop="ng_qty" |
| | | /> |
| | | <el-table-column |
| | |
| | | <div class="operationClass"> |
| | | <el-tooltip class="item" effect="dark" content="打印工序" placement="top"> |
| | | <i |
| | | class="el-icon-tickets" |
| | | style="cursor: pointer;color: #42b983;margin-right: 15px" |
| | | class="el-icon-printer" |
| | | :style="{color:$store.state.settings.theme}" |
| | | style="cursor: pointer;margin-right: 15px" |
| | | @click="supplementSmallClick(row)" |
| | | /> |
| | | </el-tooltip> |
| | |
| | | </div> |
| | | <!--新增派发对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :title="operation==='add'?'新增':'派发'" |
| | | :visible.sync="dialogVisible" |
| | | width="840px" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="物料清单" prop="bomId"> |
| | | <el-form-item label="是否排程" prop="isAps"> |
| | | <el-radio-group v-model="dialogForm.isAps" style="width:200px" @change="changeIsAps"> |
| | | <el-radio key="Y" label="Y" value="Y">是</el-radio> |
| | | <el-radio key="N" label="N" value="N">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="物料清单" :prop="dialogForm.isAps==='Y'?'bomId':''"> |
| | | <el-select |
| | | v-model="dialogForm.bomId" |
| | | filterable |
| | | :disabled="dialogForm.isAps==='N'" |
| | | :popper-append-to-body="false" |
| | | style="width: 200px;" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in bomIdArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | :key="item.id" |
| | | :label="item.version" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | type="date" |
| | | :clearable="false" |
| | | value-format="yyyy-MM-dd" |
| | | :picker-options="pickerOptions" |
| | | style="width: 200px" |
| | | placeholder="选择日期" |
| | | /> |
| | |
| | | value-format="yyyy-MM-dd" |
| | | style="width: 200px" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="工单等级" prop="orderlev"> |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否排程" prop="isAps"> |
| | | <el-radio-group v-model="dialogForm.isAps"> |
| | | <el-radio key="Y" label="Y" value="Y">是</el-radio> |
| | | <el-radio key="N" label="N" value="N">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | |
| | | <!-- 工艺路线放大镜对话框--> |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | label="工序编码" |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="flwtype" |
| | | label="工序类型" |
| | | show-tooltip-when-overflow |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.flwtype==='W'">外协</div> |
| | |
| | | <el-table-column |
| | | prop="descr" |
| | | label="工序描述" |
| | | show-tooltip-when-overflow |
| | | fixed="right" |
| | | /> |
| | | </el-table> |
| | |
| | | |
| | | <!-- 工序任务对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="工序任务" |
| | | :visible.sync="dialogVisibleTask" |
| | | width="840px" |
| | |
| | | /> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | show-tooltip-when-overflow |
| | | label="工单编号" |
| | | width="200" |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | label="工序编码" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | show-tooltip-when-overflow |
| | | label="工序名称" |
| | | /> |
| | | <!-- <el-table-column--> |
| | |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="plan_qty" |
| | | show-tooltip-when-overflow |
| | | label="任务数量" |
| | | /> |
| | | <el-table-column |
| | | prop="good_qty" |
| | | show-tooltip-when-overflow |
| | | label="合格数量" |
| | | /> |
| | | <el-table-column |
| | | prop="ng_qty" |
| | | show-tooltip-when-overflow |
| | | label="不良数量" |
| | | /> |
| | | <el-table-column |
| | |
| | | |
| | | <!-- 源单单号对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="源单单号" |
| | | :visible.sync="dialogVisibleSource" |
| | | width="1200px" |
| | |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | | @sort-change="sourceSortChange" |
| | | @row-click="getCurrentRowSource" |
| | | > |
| | | <!-- <el-table-column--> |
| | | <!-- type="selection"--> |
| | |
| | | v-model="radioSelectedId" |
| | | :label="row.id" |
| | | style="color: transparent;padding-left: 10px;" |
| | | @change.native="getCurrentRowSource(row.id)" |
| | | /> |
| | | <!-- @change.native="getCurrentRowSource(row.id)"--> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | <el-table-column |
| | | prop="status" |
| | | label="订单状态" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="110" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="wo" |
| | | label="订单编号" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="150" |
| | | /> |
| | |
| | | prop="partcode" |
| | | label="产品编码" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | sortable="custom" |
| | | show-tooltip-when-overflow |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | prop="partspec" |
| | | label="产品规格" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | min-width="110" |
| | | > |
| | |
| | | prop="qty" |
| | | label="订单数量" |
| | | width="150" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="relse_qty" |
| | | show-tooltip-when-overflow |
| | | label="已下单数量" |
| | | width="150" |
| | | sortable="custom" |
| | |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="生产车间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="150" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="planstartdate" |
| | | label="预计开工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="planenddate" |
| | | label="预计完工时间" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="130" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="createuser" |
| | | label="创建人员" |
| | | show-tooltip-when-overflow |
| | | sortable="custom" |
| | | width="150" |
| | | > |
| | |
| | | <el-table-column |
| | | prop="createdate" |
| | | label="创建时间" |
| | | show-tooltip-when-overflow |
| | | width="130" |
| | | sortable="custom" |
| | | > |
| | |
| | | |
| | | <!--打印预览对话框 大标签--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="" |
| | | :visible.sync="dialogVisibleApprove" |
| | | width="812px" |
| | |
| | | |
| | | <!--打印预览页面 小标签--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="预览" |
| | | :visible.sync="dialogVisible2" |
| | | width="1140" |
| | |
| | | |
| | | <!-- 工艺路线对话框--> |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | :close-on-click-modal="false" |
| | | title="关联工艺路线" |
| | | :visible.sync="dialogVisibleRoute" |
| | |
| | | <el-table-column |
| | | prop="stepcode" |
| | | label="工序编码" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序名称" |
| | | show-tooltip-when-overflow |
| | | /> |
| | | <el-table-column |
| | | prop="enable" |
| | |
| | | import { |
| | | AddUpdateMesOrder, |
| | | ClosedMesOrder, |
| | | DeleteMesOrder, ErpOrderSearch, |
| | | DeleteMesOrder, ErpOrderSearch, JobCreationSonAddVison, |
| | | MesOrderSearch, PartSelectRoute, RouteSelectWkshop, SearchWorkStep, |
| | | SelectRouteStep |
| | | } from '@/api/scgl' |
| | |
| | | import { urlAddRandomNo, webapp_ws_ajax_run, webapp_ws_autoupdate } from '@/utils/grwebapp' |
| | | import QRCode from 'qrcodejs2' |
| | | import $ from 'jquery' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | |
| | | export default { |
| | | name: 'GD', |
| | | components: { |
| | | Pagination |
| | | }, |
| | | directives: { elDragDialog }, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | |
| | | // { code: 'CREATED', name: '已关闭' } |
| | | { code: 'ALLO', name: '已派发' }, |
| | | { code: 'START', name: '开工' }, |
| | | { code: 'CLOSED', name: '完工' } |
| | | { code: 'CLOSED', name: '完工' }, |
| | | { code: 'NOSCHED', name: '待排程' }, |
| | | { code: 'SCHED', name: '已排程' } |
| | | ], |
| | | total: 10, |
| | | radioSelected: '', |
| | |
| | | bomId: '', // 物料清单id |
| | | OperType: '' // 操作类型 |
| | | }, |
| | | bomIdArr: [// 物料清单下拉 因为接口还没写,暂时用写死的值 |
| | | { code: 15, name: 'V5' }, |
| | | { code: 14, name: 'V1' }, |
| | | { code: 17, name: 'V7' }, |
| | | { code: 16, name: 'V6' } |
| | | ], |
| | | bomIdArr: [], // 物料清单下拉 |
| | | ordertypeArr: [// 工单类型 |
| | | { code: 'PO', name: '标准工单' }, |
| | | { code: 'FO', name: '报废补单' } |
| | |
| | | // { code: 3, name: '50*40' }, |
| | | // { code: 4, name: '50*80' }, |
| | | // { code: 5, name: '40*30' } |
| | | ] |
| | | ], |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() < Date.now() - 8.64e7 |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.dialogForm.planstartdate = handleDatetime(new Date()) |
| | | this.dialogForm.planenddate = handleDatetime(new Date()) |
| | | this.dialogForm.orderlev = 3 |
| | | |
| | | this.dialogForm.bomId = this.getMaxBomId() |
| | | }, |
| | | // 查找物料清单里面版本最大的值 |
| | | getMaxBomId() { |
| | | let max = 0// 最大值 |
| | | let code = ''// 最大值对应的code |
| | | this.bomIdArr.forEach(item => { |
| | | if (parseFloat(item.name.substring(1)) > max) { |
| | | max = parseFloat(item.name.substring(1)) |
| | | code = item.code |
| | | } |
| | | }) |
| | | return code |
| | | }, |
| | | // 产品信息值改变 |
| | | async partcodeChange(val) { |
| | | console.log(val, 22) |
| | | const { data: res } = await PartSelectRoute({ partcode: val }) |
| | | this.routeArr = res |
| | | |
| | |
| | | const { data: res2 } = await RouteSelectWkshop(data) |
| | | this.wkshopArr = res2 |
| | | this.dialogForm.wkshopcode = '' |
| | | }, |
| | | // 是否排程值改变时 |
| | | changeIsAps(val) { |
| | | if (val === 'N') { |
| | | this.dialogForm.bomId = '' |
| | | } |
| | | if (val === 'Y') { |
| | | JobCreationSonAddVison({ partnumber: this.dialogForm.partcode }).then(res => { |
| | | this.bomIdArr = res.data |
| | | this.dialogForm.bomId = this.bomIdArr[0].id |
| | | }) |
| | | } |
| | | }, |
| | | // 工序任务 |
| | | async check(row) { |
| | |
| | | this.dialogForm.planstartdate = row.plan_startdate !== null ? row.plan_startdate : handleDatetime(new Date()) |
| | | this.dialogForm.planenddate = row.plan_enddate !== null ? row.plan_enddate : handleDatetime(new Date()) |
| | | this.dialogForm.orderlev = row.piroque !== null ? row.piroque : 3 // 等级 |
| | | |
| | | this.dialogForm.bomId = this.getMaxBomId() // 暂时写死 |
| | | }) |
| | | }, |
| | | // 删除按钮 |
| | | async del(row) { |
| | | if (row.status === 'START' || row.status === 'CLOSED') { |
| | | if (row.status === 'START' || row.status === 'CLOSED' || row.status === 'SCHED') { |
| | | return this.$message.info('此工单不可删除!') |
| | | } |
| | | this.$confirm('是否确认删除?', '提示', { |
| | |
| | | // const { data: res } = await PartSelectRpute({ partcode: val }) |
| | | // this.routeArr = res |
| | | // this.dialogForm.routecode = '' |
| | | this.dialogForm.isAps = 'N' |
| | | this.dialogForm.bomId = '' |
| | | this.partcodeChange(val) |
| | | }, |
| | | // 对话框关闭事件 |
| | |
| | | this.dialogForm.planenddate = '' // 计划完成时间 |
| | | this.dialogForm.orderlev = '' // 工单等级 |
| | | this.dialogForm.isAps = 'N' // 是否排程 |
| | | this.dialogForm.bomId = this.getMaxBomId() |
| | | this.dialogForm.bomId = '' |
| | | |
| | | this.bomIdArr = [] |
| | | this.$refs.dialogForm.clearValidate() |
| | | }, |
| | | // 对话框取消 |
| | |
| | | planenddate: this.dialogForm.planenddate, // 计划完成时间 |
| | | orderlev: this.dialogForm.orderlev, // 工单等级 |
| | | is_aps: this.dialogForm.isAps, // 是否排程 |
| | | bom_id: this.dialogForm.bomId, // 是否排程 |
| | | bom_id: this.dialogForm.bomId, // 物料清单id |
| | | OperType: this.operation === 'add' ? 'Add' : 'Update' |
| | | } |
| | | this.$store.state.app.buttonIsDisabled = true |
| | |
| | | // div.scrollTop = div.scrollHeight // 滚动条位于最底部 |
| | | div.scrollTop = 0 // 滚动条位于最顶部 |
| | | }) |
| | | this.dialogVisibleApprove = true |
| | | } |
| | | }) |
| | | this.dialogVisibleApprove = true |
| | | }, |
| | | dialogVisibleTaskClose() { |
| | | this.dialogForm.mesordercode = '' |
| | |
| | | this.sourceFormTotal = res.count |
| | | }, |
| | | // 单选框选中获取当前行信息 |
| | | getCurrentRowSource(id) { |
| | | this.radioSelectedId = id |
| | | // getCurrentRowSource2(id) { |
| | | // this.radioSelectedId = id |
| | | // }, |
| | | // 单选框选中获取当前行信息 |
| | | getCurrentRowSource(row, event, column) { |
| | | this.radioSelectedId = row.id |
| | | }, |
| | | sourceSearch() { |
| | | this.getErpOrderSearch() |
| | |
| | | }, |
| | | // 行点击事件 |
| | | async rowClick(row, event, column) { |
| | | console.log(row, event, column) |
| | | console.log(row.wo_code, event, column) |
| | | this.radioSelected = row.wo_code |
| | | const { data: res } = await SearchWorkStep({ wo_code: row.wo_code }) |
| | | this.tableDataDetail = res |