| | |
| | | </view> |
| | | <view class="item"> |
| | | <!-- 送检呼叫按钮,maShoutTime有值时禁用 --> |
| | | <!-- 新增逻辑: 只有已填写调机开始时间且送检呼叫时间为空时才允许点击 --> |
| | | <button :class="canShout ? 'btn-blue' : 'btn-disabled'" |
| | | :disabled="!canShout" |
| | | <button :class="maShoutTime ? 'btn-disabled' : 'btn-blue'" |
| | | :disabled="!!maShoutTime" |
| | | @click="handleMaShoutTime"> |
| | | 送检呼叫 |
| | | </button> |
| | |
| | | <input class="txt-inp" v-model="maShoutTime" placeholder="点击按钮带出时间" disabled="true" /> |
| | | </view> |
| | | <!--<view class="item">--> |
| | | <!-- 调机完成按钮,maEndTime有值时禁用 --> |
| | | <!--<button :class="maEndTime ? 'btn-disabled' : 'btn-blue'" |
| | | :disabled="!!maEndTime" |
| | | @click="handleMaEndTime"> |
| | | 调机完成(=检验通过) |
| | | </button>--> |
| | | <!-- 显示调机完成时间 --> |
| | | <!--<input class="txt-inp" v-model="maEndTime" placeholder="首次首检确认通过写入" disabled="true" /> |
| | | <!-- 调机完成按钮,maEndTime有值时禁用 --> |
| | | <!--<button :class="maEndTime ? 'btn-disabled' : 'btn-blue'" |
| | | :disabled="!!maEndTime" |
| | | @click="handleMaEndTime"> |
| | | 调机完成(=检验通过) |
| | | </button>--> |
| | | <!-- 显示调机完成时间 --> |
| | | <!--<input class="txt-inp" v-model="maEndTime" placeholder="首次首检确认通过写入" disabled="true" /> |
| | | </view>--> |
| | | <view class="item"> |
| | | <button class="btn-disabled" disabled> |
| | |
| | | flag: -1, // 操作标记 |
| | | } |
| | | }, |
| | | computed: { |
| | | // 只有调机开始时间已填写且送检呼叫时间为空时允许呼叫 |
| | | canShout() { |
| | | return !!this.maStartTime && !this.maShoutTime; |
| | | } |
| | | }, |
| | | created() { |
| | | // 组件创建时自动加载工单数据 |
| | | if (!this.orderId && !this.orderNo) { |
| | |
| | | }, |
| | | methods: { |
| | | // 处理调机开始按钮点击 |
| | | handleMaStartTime() { |
| | | if (!this.maStartTime) { |
| | | this.setMaStartTime(); |
| | | this.flag = -1; // 调机开始按钮按下时回传的flag=-1 |
| | | } |
| | | }, |
| | | handleMaStartTime() { |
| | | if (!this.maStartTime) { |
| | | this.setMaStartTime(); |
| | | this.flag = -1; // 调机开始按钮按下时回传的flag=-1 |
| | | } |
| | | }, |
| | | // 处理送检呼叫按钮点击 |
| | | handleMaShoutTime() { |
| | | // 增加前置校验:必须先有调机开始时间 |
| | | if (!this.maStartTime) { |
| | | this.$showMessage("请先点击调机开始"); |
| | | return; |
| | | } |
| | | if (!this.maShoutTime) { |
| | | this.stateCheck(1); |
| | | } |
| | |
| | | refresh() { |
| | | this.findByOrderId(); |
| | | }, |
| | | // 全界面刷新:清空本地状态后重新拉取(不删除任何原有注释) |
| | | fullReload() { |
| | | // 清空当前显示数据,避免旧数据短暂闪烁 |
| | | this.maShoutTime = ''; |
| | | this.maStartTime = ''; |
| | | this.maEndTime = ''; |
| | | this.statusForm = {}; |
| | | this.flag = -1; |
| | | // 下一帧重新获取 |
| | | this.$nextTick(() => { |
| | | this.findByOrderId(); |
| | | }); |
| | | }, |
| | | // 保存并生效,将时间等信息提交到后端 |
| | | save() { |
| | | if (!this.statusForm.id) { |
| | |
| | | }).then(res => { |
| | | if (res.data.tbBillList) { |
| | | this.$showMessage("呼叫成功"); |
| | | // 呼叫成功后刷新整个界面 |
| | | this.fullReload(); |
| | | this.findByOrderId(); |
| | | } else { |
| | | this.$showMessage("呼叫失败"); |
| | | this.cancel(); |