| | |
| | | <view class="tab-item" :class="{ active: currentTab === 0 }" @click="changeTab(0)"> |
| | | 主界面 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 2 }" @click="changeTab(2)"> |
| | | 上刀下刀 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 3 }" @click="changeTab(3)"> |
| | | 调机送检 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 2 }" @click="changeTab(2)"> |
| | | 刀具管理 |
| | | </view> |
| | | <view class="tab-item" :class="{ active: currentTab === 4 }" @click="changeTab(4)"> |
| | | 生产报工 |
| | | </view> |
| | | <!-- <view class="tab-item" :class="{ active: currentTab === 1 }" @click="changeTab(1)"> |
| | | 开工完工 |
| | | </view> --> |
| | | <view class="tab-item" :class="{ active: currentTab === 1 }" @click="changeTab(1)"> |
| | | 开工完工 |
| | | </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> |
| | |
| | | <view class="top-right"> |
| | | <button class="refresh-btn" @click="refresh">刷新</button> |
| | | </view> |
| | | <!--<view> |
| | | <view> |
| | | <h4>一台机台只能选择一条工单(多选默认为最后一条)</h4> |
| | | </view>--> |
| | | </view> |
| | | <view class="section top-section"> |
| | | <view class="form-row"> |
| | | <view> |
| | |
| | | <view v-if="isShow" class="overlay"> |
| | | <view class="popup"> |
| | | <view class="form-row"> |
| | | <view> |
| | | <view style="display: flex; align-items: center;"> |
| | | <label style="float: left;margin-top: 18px;">点击按钮筛选工单状态:</label> |
| | | <superwei-combox :candidates="engineeringNoMapList" placeholder="请选择" v-model="engineeringNo" |
| | | @select="onEngineeringNoChange" class="picker" |
| | | style="padding: 7px 46px;width: 650px;"></superwei-combox> |
| | | <span style="margin-left: 20px; color: #ff6600; font-size: 18px;">多选时只保留最后一条工单</span> |
| | | </view> |
| | | </view> |
| | | |
| | | <div style="height: 400px; overflow: auto;"> |
| | | <table> |
| | | |
| | | <view class="section card"> |
| | | <uni-table ref="table" border stripe emptyText="暂无更多数据"> |
| | | <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: 60px;">选择</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item, index) in tableData" :key="index"> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa001" /><!--工单号--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa002" /><!--产品编码--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" /><!--未生产数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <!-- 单选框,只能选中一条 --> |
| | | <input type="radio" |
| | | name="orderRadio" |
| | | :checked="selectedIndexs[0] === index" |
| | | @change="onRadioChange(index)" |
| | | style="width: 22px; height: 22px;" /><!--单选选择--> |
| | | </uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </view> |
| | | <view class="section card"> |
| | | <uni-table ref="table" type="selection" border stripe emptyText="暂无更多数据" |
| | | @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-tr> |
| | | <uni-tr v-for="(item, index) in tableData" :key="index"> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa001" /> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa002" /> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" /><!--未生产数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态--> |
| | | </uni-td> |
| | | <uni-td align="center"> |
| | | <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人--> |
| | | </uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </view> |
| | | |
| | | </table> |
| | | </div> |
| | |
| | | this.refresh(); |
| | | }, |
| | | methods: { |
| | | onRadioChange(index) { |
| | | this.selectedIndexs = [index]; |
| | | }, |
| | | checkForUpdate() { |
| | | this.$post({ |
| | | url: "/DevMachine/getAppUpgradeInfo", |
| | |
| | | } |
| | | return str; |
| | | }, |
| | | cancel() { |
| | | |
| | | if (!this.machineNo) { |
| | | return; |
| | | } |
| | | cancel() { |
| | | if (!this.machineNo) { |
| | | return; |
| | | } |
| | | |
| | | let editDate = this.formatDate(new Date()); |
| | | // 直接用 flag 判断 |
| | | if (this.hasBindedCutterFlag) { |
| | | uni.showToast({ |
| | | title: '当前工单已绑定刀具,不能清空重选', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | this.selectedIndexs = []; |
| | | let editDate = this.formatDate(new Date()); |
| | | 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) { |
| | |
| | | margin-top: 7px; |
| | | margin-left: 10px; |
| | | text-align: center; |
| | | font-size: 100%; |
| | | font-size: 32px !important; // 强制大字体,适配低密度 |
| | | min-height: 60px; // 让选择框高度也变大 |
| | | line-height: 60px; |
| | | padding: 5.5px 1px; |
| | | background-color: #fff; // 这里改为蓝色 |
| | | border: 2px solid #007aff; // 边框也改为蓝色 |