| | |
| | | 生产报工 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 1 }" @click="changeTab(1)"> |
| | | 开工完工 |
| | | </view> |
| | | 开工完工 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 5 }" @click="changeTab(5)"> |
| | | e-SOP |
| | | </view> |
| | |
| | | 设备点检 |
| | | </view> |
| | | <!-- <view class="tab-item" :class="{ active: currentTab === 8 }" @click="changeTab(8)"> |
| | | 打印机设置 |
| | | </view> --> |
| | | 打印机设置 |
| | | </view> --> |
| | | |
| | | </view> |
| | | <view class="font"></view> |
| | |
| | | <h4>一台机台只能选择一条工单(多选默认为最后一条)</h4> |
| | | </view> |
| | | <view class="section top-section"> |
| | | <!--显示当前机台--> |
| | | <view class="form-row"> |
| | | <view> |
| | | <!-- <label style="float: left;font-family: fantasy;font-size: 33px;margin-top: 20px">第一步选择机台:</label> --> |
| | | <!-- <superwei-combox :candidates="machineList" placeholder="请选择" v-model="machineName" |
| | | @select="onMachineChange" class="picker"></superwei-combox> --> |
| | | <input v-model="machineName" disabled="true" type="text" style="float: left;font-family: fantasy;font-size: 33px;margin-top: 20px" /> |
| | | <input v-model="machineName" |
| | | disabled="true" |
| | | type="text" |
| | | class="machine-name-box" /> |
| | | </view> |
| | | </view> |
| | | |
| | |
| | | |
| | | <view> |
| | | <!--<text style="color: red;"> |
| | | 说明:只能同时开工一个工单。选择完成,点击保存选择。系统保留选中的工单。 |
| | | 如果要重选,点击清空重选功能。 |
| | | </text>--> |
| | | 说明:只能同时开工一个工单。选择完成,点击保存选择。系统保留选中的工单。 |
| | | 如果要重选,点击清空重选功能。 |
| | | </text>--> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | |
| | | <view class="section card"> |
| | | <uni-table ref="table" type="selection" border stripe emptyText="暂无更多数据" |
| | | @selection-change="selectionChange"> |
| | | class="large-selection-table" @selection-change="selectionChange"> |
| | | <uni-tr> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF">工序</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF">工单号</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF">产品编码</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF">产品名称</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF">规格</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">已生产数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">未生产数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">派工数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单状态</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">报工人</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">工序</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 120px;">工单号</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 120px;">产品编码</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 260px;">产品名称</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 260px;">规格</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">已生产数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">未生产数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">派工数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">工单数量</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">工单状态</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">报工人</uni-th> |
| | | <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">选择</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item, index) in tableData" :key="index"> |
| | | <uni-tr v-for="(item, index) in tableData" |
| | | :key="index" |
| | | :class="{'row-selected': selectedIndexs.includes(index)}" |
| | | @click="onRowClick(index)" |
| | | style="cursor: pointer;"> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序--> |
| | | </uni-td> |
| | |
| | | this.refresh(); |
| | | }, |
| | | methods: { |
| | | onRowClick(index) { |
| | | this.selectedIndexs = [index]; // 单选 |
| | | }, |
| | | checkForUpdate() { |
| | | this.$post({ |
| | | url: "/DevMachine/getAppUpgradeInfo", |
| | |
| | | } |
| | | return str; |
| | | }, |
| | | cancel() { |
| | | |
| | | if (!this.machineNo) { |
| | | return; |
| | | } |
| | | cancel() { |
| | | if (!this.machineNo) { |
| | | return; |
| | | } |
| | | |
| | | // 只判断当前绑定工单(第一条)是否有刀具 |
| | | const currentOrder = this.isShowTableData[0]; |
| | | if (currentOrder && currentOrder.outToolName && currentOrder.outToolName.trim() !== '') { |
| | | // 直接用 flag 判断 |
| | | if (this.hasBindedCutterFlag) { |
| | | uni.showToast({ |
| | | title: '当前工单已绑定刀具,不能清空重选', |
| | | icon: 'error', |
| | |
| | | return; |
| | | } |
| | | |
| | | let editDate = this.formatDate(new Date()); |
| | | let editDate = this.formatDate(new Date()); |
| | | this.selectedIndexs = []; |
| | | |
| | | this.selectedIndexs = []; |
| | | this.$post({ |
| | | url: "/MesOrderSelect/Remove", |
| | | data: { |
| | | machineNo: this.machineNo, |
| | | editDate: editDate |
| | | }, |
| | | }).then(res => { |
| | | if (res.data.tbBillList > 0) { |
| | | this.isShowTableData = []; |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | this.$post({ |
| | | url: "/MesOrderSelect/Remove", |
| | | data: { |
| | | machineNo: this.machineNo, |
| | | editDate: editDate |
| | | }, |
| | | }).then(res => { |
| | | if (res.data.tbBillList > 0) { |
| | | this.isShowTableData = []; |
| | | } |
| | | }); |
| | | }, |
| | | formatDate(date) { |
| | | let year = date.getFullYear(); // 获取年份 |
| | | let month = String(date.getMonth() + 1).padStart(2, '0'); // 获取月份并补零 |
| | |
| | | }) |
| | | }, |
| | | //获取表格的数据源 |
| | | getWomdaaIsShow() { |
| | | this.$post({ |
| | | url: "/Womdaa/GetWomdaasByShow", |
| | | data: { |
| | | machineNo: this.machineNo, |
| | | } |
| | | }).then(res => { |
| | | this.isShowTableData = res.data.tbBillList; |
| | | getWomdaaIsShow() { |
| | | this.$post({ |
| | | url: "/Womdaa/GetWomdaasByShow", |
| | | data: { |
| | | machineNo: this.machineNo, |
| | | } |
| | | }).then(res => { |
| | | this.isShowTableData = res.data.tbBillList; |
| | | |
| | | if (this.isShowTableData.length == 1) { |
| | | uni.setStorageSync('daa001', this.isShowTableData[0].daa001); |
| | | uni.setStorageSync('id', this.isShowTableData[0].id); |
| | | //this.toDetail(this.isShowTableData[0]); |
| | | } |
| | | }); |
| | | }, |
| | | // 只判断第一条(只允许一条工单) |
| | | const order = this.isShowTableData[0]; |
| | | let hasBindedCutter = false; |
| | | if (order) { |
| | | hasBindedCutter = |
| | | (order.outToolId && order.outToolId.toString().trim() !== '') || |
| | | (order.outToolCode && order.outToolCode.trim() !== '') || |
| | | (order.outToolName && order.outToolName.trim() !== ''); |
| | | } |
| | | // 存储到 data 变量 |
| | | this.hasBindedCutterFlag = hasBindedCutter; |
| | | |
| | | if (this.isShowTableData.length == 1) { |
| | | uni.setStorageSync('daa001', this.isShowTableData[0].daa001); |
| | | uni.setStorageSync('id', this.isShowTableData[0].id); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | isShowTab() { |
| | | if (this.isShowTableData.length > 0) { |
| | |
| | | |
| | | this.isShow = true; |
| | | // 默认选中“待开工” |
| | | this.engineeringNo = '待开工'; |
| | | this.engineeringNo = '待开工、未开工、暂停'; |
| | | this.tableData = []; |
| | | // 下拉框只显示工单状态 |
| | | this.engineeringNoMapList = ['待开工', '未开工', '开工', '暂停', '完工']; |
| | | // 下拉框只显示合并后的状态和其它状态 |
| | | this.engineeringNoMapList = [ |
| | | '待开工、未开工、暂停', |
| | | '开工', |
| | | '完工' |
| | | ]; |
| | | // 默认显示“待开工”工单 |
| | | this.getWomdaaByStatus(); |
| | | }, |
| | |
| | | // 按工单状态筛选工单 |
| | | getWomdaaByStatus() { |
| | | let editDate = this.formatDate(new Date()); |
| | | let statusArr = []; |
| | | if (this.engineeringNo === '待开工、未开工、暂停') { |
| | | statusArr = ['待开工', '未开工', '暂停']; |
| | | } else { |
| | | statusArr = [this.engineeringNo]; |
| | | } |
| | | this.$post({ |
| | | url: "/Womdaa/GetWomdaasByEngineeringNo", |
| | | data: { |
| | | machineNo: this.machineNo, |
| | | orderStatus: [this.engineeringNo], // 只传选中的状态 |
| | | orderStatus: statusArr, |
| | | editDate: editDate |
| | | } |
| | | }).then(res => { |
| | |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | :deep(.checkbox), |
| | | :deep(.checkbox__inner) { |
| | | padding: 10px !important; |
| | | width: 44px !important; |
| | | min-width: 44px !important; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .row-selected { |
| | | background-color: #e0f3ff !important; |
| | | } |
| | | |
| | | .font { |
| | | background-color: #666666; |
| | | height: 30px; |
| | |
| | | border-radius: 0.8vw; |
| | | } |
| | | |
| | | .machine-name-box { |
| | | border: 2px solid #e53935; /* 红色边框 */ |
| | | border-radius: 8px; |
| | | font-family: fantasy; |
| | | font-size: 33px; |
| | | margin-top: 20px; |
| | | padding: 15px 48px; /* 上下20px,左右48px,增加内边距 */ |
| | | width: 500px; /* 更宽,保证内容完整显示 */ |
| | | height: 70px; /* 增加高度 */ |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | color: #222; |
| | | font-weight: bold; |
| | | text-align: left; |
| | | display: block; |
| | | } |
| | | |
| | | |
| | | @media screen and (max-width: 1920px) { |
| | | .tab-item { |
| | | font-size: 1.6vw; |
| | |
| | | } |
| | | } |
| | | |
| | | .uni-td, .uni-th, td, th { |
| | | word-break: break-all; |
| | | white-space: normal; |
| | | /* 可选:设置最大宽度,防止撑破表格 */ |
| | | max-width: 180px; |
| | | overflow-wrap: break-word; |
| | | } |
| | | |
| | | /* 针对1280x800的平板使用媒体查询进行适配 */ |
| | | @media screen and (min-width: 1280px) and (max-width: 1920px) { |
| | | .right-side { |