|
|
@@ -336,7 +336,7 @@
|
|
|
v-hasPermi="['gxt:repairOrder:finalize']"
|
|
|
><i class="fa fa-check"></i>结单</el-button>
|
|
|
<el-button
|
|
|
- v-if="scope.row.workOrderStatus === 'to_finish' && (scope.row.teamLeaderId == userStore.id || userStore.roles.includes('admin'))"
|
|
|
+ v-if="scope.row.workOrderStatus === 'to_finish'"
|
|
|
type="primary"
|
|
|
link
|
|
|
@click="handleReset(scope.row)"
|
|
|
@@ -463,24 +463,110 @@
|
|
|
<el-form-item label="故障代码" prop="faultCode">
|
|
|
<el-input
|
|
|
v-model="form.faultCode"
|
|
|
- placeholder="请输入故障代码"
|
|
|
+ placeholder="请输入故障代码或点击选择"
|
|
|
maxlength="20"
|
|
|
show-word-limit
|
|
|
+ clearable
|
|
|
+ @focus="handleFaultCodeInputFocus"
|
|
|
+ @blur="handleFaultCodeInputBlur"
|
|
|
+ @input="handleFaultCodeInput"
|
|
|
+ @clear="handleFaultCodeClear"
|
|
|
/>
|
|
|
+ <!-- 故障代码快速检索下拉框 -->
|
|
|
+ <div class="quick-select-dropdown" v-show="showFaultCodeQuickSelect && quickFaultInfoList.length > 0">
|
|
|
+ <div
|
|
|
+ v-for="item in quickFaultInfoList"
|
|
|
+ :key="item.id"
|
|
|
+ class="quick-select-item"
|
|
|
+ @click="handleFaultCodeQuickSelect(item)">
|
|
|
+ <span class="user-name">{{ item.faultCode }}</span>
|
|
|
+ <span class="user-name">{{ item.faultBarcode }} | {{ item.faultDescription }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultCodeQuickSelect && quickFaultInfoList.length === 0 && form.faultCode && !faultInfoLoading">
|
|
|
+ <div>未找到匹配的故障代码</div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultCodeQuickSelect && faultInfoLoading">
|
|
|
+ <div>
|
|
|
+ <i class="el-icon-loading"></i>
|
|
|
+ 搜索中...
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="故障信息" prop="faultBarcode">
|
|
|
+ <el-form-item label="故障条纹" prop="faultBarcode">
|
|
|
<el-input
|
|
|
v-model="form.faultBarcode"
|
|
|
+ placeholder="请输入故障条纹或点击选择"
|
|
|
+ show-word-limit
|
|
|
+ clearable
|
|
|
+ @focus="handleFaultBarcodeInputFocus"
|
|
|
+ @blur="handleFaultBarcodeInputBlur"
|
|
|
+ @input="handleFaultBarcodeInput"
|
|
|
+ @clear="handleFaultBarcodeClear"
|
|
|
+ />
|
|
|
+ <!-- 故障条纹快速检索下拉框 -->
|
|
|
+ <div class="quick-select-dropdown" v-show="showFaultBarcodeQuickSelect && quickFaultBarcodeList.length > 0">
|
|
|
+ <div
|
|
|
+ v-for="item in quickFaultBarcodeList"
|
|
|
+ :key="item.id"
|
|
|
+ class="quick-select-item"
|
|
|
+ @click="handleFaultBarcodeQuickSelect(item)">
|
|
|
+ <span class="user-name">{{ item.faultBarcode }}</span>
|
|
|
+ <span class="user-name">{{ item.faultCode }} | {{ item.faultDescription }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultBarcodeQuickSelect && quickFaultBarcodeList.length === 0 && form.faultBarcode && !faultBarcodeLoading">
|
|
|
+ <div>未找到匹配的故障条纹</div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultBarcodeQuickSelect && faultBarcodeLoading">
|
|
|
+ <div>
|
|
|
+ <i class="el-icon-loading"></i>
|
|
|
+ 搜索中...
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="故障描述" prop="faultDesc">
|
|
|
+ <el-input
|
|
|
+ v-model="form.faultDesc"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
+ placeholder="请输入故障描述或点击选择"
|
|
|
maxlength="100"
|
|
|
show-word-limit
|
|
|
:rows="3"
|
|
|
+ clearable
|
|
|
+ @focus="handleFaultDescInputFocus"
|
|
|
+ @blur="handleFaultDescInputBlur"
|
|
|
+ @input="handleFaultDescInput"
|
|
|
+ @clear="handleFaultDescClear"
|
|
|
/>
|
|
|
+ <!-- 故障描述快速检索下拉框 -->
|
|
|
+ <div class="quick-select-dropdown" v-show="showFaultDescQuickSelect && quickFaultDescList.length > 0">
|
|
|
+ <div
|
|
|
+ v-for="item in quickFaultDescList"
|
|
|
+ :key="item.id"
|
|
|
+ class="quick-select-item"
|
|
|
+ @click="handleFaultDescQuickSelect(item)">
|
|
|
+ <span class="user-name">{{ item.faultDescription }}</span>
|
|
|
+ <span class="user-name">{{ item.faultCode }} | {{ item.faultBarcode }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultDescQuickSelect && quickFaultDescList.length === 0 && form.faultDesc && !faultDescLoading">
|
|
|
+ <div>未找到匹配的故障描述</div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showFaultDescQuickSelect && faultDescLoading">
|
|
|
+ <div>
|
|
|
+ <i class="el-icon-loading"></i>
|
|
|
+ 搜索中...
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -561,11 +647,11 @@
|
|
|
<el-form-item label="故障代码"><el-input v-model="assignForm.faultCode" disabled /></el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="故障信息">
|
|
|
+ <el-form-item label="故障条纹">
|
|
|
<el-input
|
|
|
v-model="assignForm.faultBarcode"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
+ placeholder="请输入故障条纹"
|
|
|
maxlength="100"
|
|
|
show-word-limit
|
|
|
:rows="3"
|
|
|
@@ -681,11 +767,11 @@
|
|
|
<el-form-item label="故障代码"><el-input v-model="acceptForm.faultCode" disabled /></el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="故障信息">
|
|
|
+ <el-form-item label="故障条纹">
|
|
|
<el-input
|
|
|
v-model="acceptForm.faultBarcode"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
+ placeholder="请输入故障条纹"
|
|
|
maxlength="100"
|
|
|
show-word-limit
|
|
|
:rows="3"
|
|
|
@@ -830,11 +916,11 @@
|
|
|
<el-form-item label="故障代码"><el-input v-model="ratingForm.faultCode" disabled /> </el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="故障信息">
|
|
|
+ <el-form-item label="故障条纹">
|
|
|
<el-input
|
|
|
v-model="ratingForm.faultBarcode"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
+ placeholder="请输入故障条纹"
|
|
|
maxlength="100"
|
|
|
show-word-limit
|
|
|
:rows="3"
|
|
|
@@ -1068,11 +1154,11 @@
|
|
|
<el-form-item label="故障代码"><el-input v-model="invalidateForm.faultCode" disabled /></el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="故障信息">
|
|
|
+ <el-form-item label="故障条纹">
|
|
|
<el-input
|
|
|
v-model="invalidateForm.faultBarcode"
|
|
|
type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
+ placeholder="请输入故障条纹"
|
|
|
maxlength="100"
|
|
|
show-word-limit
|
|
|
:rows="3"
|
|
|
@@ -1351,6 +1437,21 @@ const teamLeaderSearchTimer = ref(null)
|
|
|
const allUserList = ref([]) // 存储所有设备数据用于快速检索
|
|
|
const lastLoadedCenterId = ref(null) // Track last loaded maintenance center ID
|
|
|
|
|
|
+// 故障代码快速检索相关响应式数据
|
|
|
+const showFaultCodeQuickSelect = ref(false)
|
|
|
+const showFaultBarcodeQuickSelect = ref(false)
|
|
|
+const showFaultDescQuickSelect = ref(false)
|
|
|
+const quickFaultInfoList = ref([])
|
|
|
+const quickFaultBarcodeList = ref([])
|
|
|
+const quickFaultDescList = ref([])
|
|
|
+const faultInfoLoading = ref(false)
|
|
|
+const faultBarcodeLoading = ref(false)
|
|
|
+const faultDescLoading = ref(false)
|
|
|
+const faultInfoSearchTimer = ref(null)
|
|
|
+const faultBarcodeSearchTimer = ref(null)
|
|
|
+const faultDescSearchTimer = ref(null)
|
|
|
+const allFaultInfoList = ref([]) // 存储所有故障数据用于快速检索
|
|
|
+
|
|
|
const forceKey = ref(0)
|
|
|
|
|
|
const userStore = useUserStore();
|
|
|
@@ -1626,6 +1727,252 @@ const handleMisNoInput = (value) => {
|
|
|
}, 500)
|
|
|
}
|
|
|
|
|
|
+/** 加载所有故障信息列表 */
|
|
|
+const loadAllFaultInfoList = async () => {
|
|
|
+ try {
|
|
|
+ // 构建查询参数,包含风机编号和场站信息
|
|
|
+ const queryParams = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 1000, // 获取所有故障代码
|
|
|
+ isActive: 0
|
|
|
+ };
|
|
|
+
|
|
|
+ // 如果表单中有风机编号和场站信息,则添加到查询参数中
|
|
|
+ if (form.value.pcsDeviceName) {
|
|
|
+ queryParams.model = form.value.model;
|
|
|
+ }
|
|
|
+ if (form.value.pcsStationName) {
|
|
|
+ queryParams.station = form.value.pcsStationName;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 加载故障代码数据
|
|
|
+ const response = await listFaultCodes(queryParams);
|
|
|
+ allFaultInfoList.value = response.rows || [];
|
|
|
+ } catch (error) {
|
|
|
+ console.error('加载故障信息列表失败:', error);
|
|
|
+ allFaultInfoList.value = [];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 故障代码快速检索方法
|
|
|
+/** 故障代码输入框获取焦点 */
|
|
|
+const handleFaultCodeInputFocus = async () => {
|
|
|
+ showFaultCodeQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 加载所有故障信息
|
|
|
+ await loadAllFaultInfoList();
|
|
|
+
|
|
|
+ // 如果已有输入内容,立即搜索
|
|
|
+ if (form.value.faultCode && form.value.faultCode.trim()) {
|
|
|
+ handleFaultCodeInput(form.value.faultCode);
|
|
|
+ } else {
|
|
|
+ // 如果没有输入内容,显示所有故障信息
|
|
|
+ quickFaultInfoList.value = allFaultInfoList.value;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障代码输入框失去焦点 */
|
|
|
+const handleFaultCodeInputBlur = () => {
|
|
|
+ // 延迟隐藏下拉框,确保点击选项能触发
|
|
|
+ setTimeout(() => {
|
|
|
+ showFaultCodeQuickSelect.value = false;
|
|
|
+ }, 200);
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障代码输入事件 - 实时搜索 */
|
|
|
+const handleFaultCodeInput = (value) => {
|
|
|
+ const searchText = value.trim();
|
|
|
+
|
|
|
+ if (!searchText) {
|
|
|
+ quickFaultInfoList.value = [];
|
|
|
+ showFaultCodeQuickSelect.value = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ showFaultCodeQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 清除之前的定时器
|
|
|
+ if (faultInfoSearchTimer.value) {
|
|
|
+ clearTimeout(faultInfoSearchTimer.value);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 过滤故障信息列表
|
|
|
+ const lowerKeyword = searchText.toLowerCase();
|
|
|
+ quickFaultInfoList.value = allFaultInfoList.value.filter(item =>
|
|
|
+ (item.faultCode && item.faultCode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultBarcode && item.faultBarcode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultDescription && item.faultDescription.toLowerCase().includes(lowerKeyword))
|
|
|
+ );
|
|
|
+
|
|
|
+ // 设置新的定时器,防抖处理(500ms)
|
|
|
+ faultInfoSearchTimer.value = setTimeout(() => {
|
|
|
+ // 由于我们已经在上面过滤了,这里不需要额外的API调用
|
|
|
+ }, 500);
|
|
|
+};
|
|
|
+
|
|
|
+/** 快速选择故障代码 */
|
|
|
+const handleFaultCodeQuickSelect = (item) => {
|
|
|
+ form.value.faultCode = item.faultCode;
|
|
|
+ form.value.faultBarcode = item.faultBarcode;
|
|
|
+ form.value.faultDesc = item.faultDescription;
|
|
|
+ showFaultCodeQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
+/** 清空故障代码 */
|
|
|
+const handleFaultCodeClear = () => {
|
|
|
+ form.value.faultCode = '';
|
|
|
+ form.value.faultBarcode = '';
|
|
|
+ form.value.faultDesc = '';
|
|
|
+ quickFaultInfoList.value = [];
|
|
|
+ showFaultCodeQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
+// 故障条纹快速检索方法
|
|
|
+/** 故障条纹输入框获取焦点 */
|
|
|
+const handleFaultBarcodeInputFocus = async () => {
|
|
|
+ showFaultBarcodeQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 加载所有故障信息
|
|
|
+ await loadAllFaultInfoList();
|
|
|
+
|
|
|
+ // 如果已有输入内容,立即搜索
|
|
|
+ if (form.value.faultBarcode && form.value.faultBarcode.trim()) {
|
|
|
+ handleFaultBarcodeInput(form.value.faultBarcode);
|
|
|
+ } else {
|
|
|
+ // 如果没有输入内容,显示所有故障信息
|
|
|
+ quickFaultBarcodeList.value = allFaultInfoList.value;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障条纹输入框失去焦点 */
|
|
|
+const handleFaultBarcodeInputBlur = () => {
|
|
|
+ // 延迟隐藏下拉框,确保点击选项能触发
|
|
|
+ setTimeout(() => {
|
|
|
+ showFaultBarcodeQuickSelect.value = false;
|
|
|
+ }, 200);
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障条纹输入事件 - 实时搜索 */
|
|
|
+const handleFaultBarcodeInput = (value) => {
|
|
|
+ const searchText = value.trim();
|
|
|
+
|
|
|
+ if (!searchText) {
|
|
|
+ quickFaultBarcodeList.value = [];
|
|
|
+ showFaultBarcodeQuickSelect.value = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ showFaultBarcodeQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 清除之前的定时器
|
|
|
+ if (faultBarcodeSearchTimer.value) {
|
|
|
+ clearTimeout(faultBarcodeSearchTimer.value);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 过滤故障信息列表
|
|
|
+ const lowerKeyword = searchText.toLowerCase();
|
|
|
+ quickFaultBarcodeList.value = allFaultInfoList.value.filter(item =>
|
|
|
+ (item.faultCode && item.faultCode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultBarcode && item.faultBarcode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultDescription && item.faultDescription.toLowerCase().includes(lowerKeyword))
|
|
|
+ );
|
|
|
+
|
|
|
+ // 设置新的定时器,防抖处理(500ms)
|
|
|
+ faultBarcodeSearchTimer.value = setTimeout(() => {
|
|
|
+ // 由于我们已经在上面过滤了,这里不需要额外的API调用
|
|
|
+ }, 500);
|
|
|
+};
|
|
|
+
|
|
|
+/** 快速选择故障条纹 */
|
|
|
+const handleFaultBarcodeQuickSelect = (item) => {
|
|
|
+ form.value.faultCode = item.faultCode;
|
|
|
+ form.value.faultBarcode = item.faultBarcode;
|
|
|
+ form.value.faultDesc = item.faultDescription;
|
|
|
+ showFaultBarcodeQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
+/** 清空故障条纹 */
|
|
|
+const handleFaultBarcodeClear = () => {
|
|
|
+ form.value.faultCode = '';
|
|
|
+ form.value.faultBarcode = '';
|
|
|
+ form.value.faultDesc = '';
|
|
|
+ quickFaultBarcodeList.value = [];
|
|
|
+ showFaultBarcodeQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
+// 故障描述快速检索方法
|
|
|
+/** 故障描述输入框获取焦点 */
|
|
|
+const handleFaultDescInputFocus = async () => {
|
|
|
+ showFaultDescQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 加载所有故障信息
|
|
|
+ await loadAllFaultInfoList();
|
|
|
+
|
|
|
+ // 如果已有输入内容,立即搜索
|
|
|
+ if (form.value.faultDesc && form.value.faultDesc.trim()) {
|
|
|
+ handleFaultDescInput(form.value.faultDesc);
|
|
|
+ } else {
|
|
|
+ // 如果没有输入内容,显示所有故障信息
|
|
|
+ quickFaultDescList.value = allFaultInfoList.value;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障描述输入框失去焦点 */
|
|
|
+const handleFaultDescInputBlur = () => {
|
|
|
+ // 延迟隐藏下拉框,确保点击选项能触发
|
|
|
+ setTimeout(() => {
|
|
|
+ showFaultDescQuickSelect.value = false;
|
|
|
+ }, 200);
|
|
|
+};
|
|
|
+
|
|
|
+/** 故障描述输入事件 - 实时搜索 */
|
|
|
+const handleFaultDescInput = (value) => {
|
|
|
+ const searchText = value.trim();
|
|
|
+
|
|
|
+ if (!searchText) {
|
|
|
+ quickFaultDescList.value = [];
|
|
|
+ showFaultDescQuickSelect.value = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ showFaultDescQuickSelect.value = true;
|
|
|
+
|
|
|
+ // 清除之前的定时器
|
|
|
+ if (faultDescSearchTimer.value) {
|
|
|
+ clearTimeout(faultDescSearchTimer.value);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 过滤故障信息列表
|
|
|
+ const lowerKeyword = searchText.toLowerCase();
|
|
|
+ quickFaultDescList.value = allFaultInfoList.value.filter(item =>
|
|
|
+ (item.faultCode && item.faultCode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultBarcode && item.faultBarcode.toLowerCase().includes(lowerKeyword)) ||
|
|
|
+ (item.faultDescription && item.faultDescription.toLowerCase().includes(lowerKeyword))
|
|
|
+ );
|
|
|
+
|
|
|
+ // 设置新的定时器,防抖处理(500ms)
|
|
|
+ faultDescSearchTimer.value = setTimeout(() => {
|
|
|
+ // 由于我们已经在上面过滤了,这里不需要额外的API调用
|
|
|
+ }, 500);
|
|
|
+};
|
|
|
+
|
|
|
+/** 快速选择故障描述 */
|
|
|
+const handleFaultDescQuickSelect = (item) => {
|
|
|
+ form.value.faultCode = item.faultCode;
|
|
|
+ form.value.faultBarcode = item.faultBarcode;
|
|
|
+ form.value.faultDesc = item.faultDescription;
|
|
|
+ showFaultDescQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
+/** 清空故障描述 */
|
|
|
+const handleFaultDescClear = () => {
|
|
|
+ form.value.faultCode = '';
|
|
|
+ form.value.faultBarcode = '';
|
|
|
+ form.value.faultDesc = '';
|
|
|
+ quickFaultDescList.value = [];
|
|
|
+ showFaultDescQuickSelect.value = false;
|
|
|
+};
|
|
|
+
|
|
|
/** 搜索MIS工单列表 */
|
|
|
const searchMisNoList = async (keyword) => {
|
|
|
if (!keyword) {
|
|
|
@@ -1760,7 +2107,10 @@ const rules = ref({
|
|
|
{ required: true, message: "请选择优先级", trigger: "change" }
|
|
|
],*/
|
|
|
faultBarcode: [
|
|
|
- { required: true, message: "故障信息不能为空", trigger: "change" }
|
|
|
+ { required: true, message: "故障条纹不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ faultCode: [
|
|
|
+ { required: true, message: "故障代码不能为空", trigger: "change" }
|
|
|
],
|
|
|
})
|
|
|
|
|
|
@@ -2103,6 +2453,20 @@ onMounted(() => {
|
|
|
window.addEventListener('resize', handleResize)
|
|
|
})
|
|
|
|
|
|
+// 监听风机编号和场站变化,自动刷新故障信息列表
|
|
|
+// 监听风机编号变化,清空故障相关字段
|
|
|
+watch(() => form.value.pcsDeviceName, (newDeviceName, oldDeviceName) => {
|
|
|
+ if (newDeviceName !== oldDeviceName) {
|
|
|
+ // 清空故障相关字段,因为新设备可能需要选择不同的故障信息
|
|
|
+ form.value.faultCode = '';
|
|
|
+ form.value.faultBarcode = '';
|
|
|
+ form.value.faultDesc = '';
|
|
|
+
|
|
|
+ // 同时清空故障信息列表,以便下次获取焦点时使用新的设备信息重新加载
|
|
|
+ allFaultInfoList.value = [];
|
|
|
+ }
|
|
|
+}, { immediate: false });
|
|
|
+
|
|
|
// 监听路由变化,当从其他路由跳转到当前路由时重新解析参数
|
|
|
const route = useRoute();
|
|
|
watch(() => route.query, (newQuery, oldQuery) => {
|
|
|
@@ -2494,10 +2858,10 @@ function confirmExport() {
|
|
|
/** 故障代码变化处理 */
|
|
|
function handleFaultCodeChange(value) {
|
|
|
if (value === '无') {
|
|
|
- // 当选择"无"时,故障信息设置为"-"并允许手动输入
|
|
|
+ // 当选择"无"时,故障条纹设置为"-"并允许手动输入
|
|
|
form.value.faultBarcode = "-";
|
|
|
} else {
|
|
|
- // 当选择具体的故障代码时,自动填充故障信息并设为只读
|
|
|
+ // 当选择具体的故障代码时,自动填充故障条纹并设为只读
|
|
|
const selectedFaultCode = faultCodeOptions.value.find(item => item.faultCode === value);
|
|
|
if (selectedFaultCode) {
|
|
|
form.value.faultBarcode = selectedFaultCode.faultBarcode || "";
|