将这个页面的功能只保留从接口获取数据和通过下拉框筛选数据,并给出完整修改后的代码
时间: 2024-12-01 10:29:02 浏览: 10
为了简化该页面的功能,仅保留从接口获取数据和通过下拉框筛选数据的功能,我们需要移除不必要的模板内容和方法。以下是修改后的完整代码:
### 修改后的代码
```html
<template>
<view class="container">
<!-- 下拉框 -->
<select v-model="selectedArea" @change="filterByArea">
<option value="">请选择检查区域</option>
<option v-for="area in areas" :value="area" :key="area">{{ area }}</option>
</select>
<!-- 检查内容列表 -->
<view class="text-wrapper">
<view v-for="(item, index) in filteredData" :key="index" class="text-item">
<span class="input-prefix">检查内容: </span>
<input type="text" readonly v-model="item.Main_task_Nopri" class="input-field" />
<br />
<span class="input-prefix">危险源: </span>
<input type="text" readonly v-model="item.dangerous" class="input-field" />
<br />
<span class="input-prefix">工程技术措施: </span>
<input type="text" readonly v-model="item.Engineering_measures" class="input-field" />
<br />
<span class="input-prefix">管理措施: </span>
<input type="text" readonly v-model="item.management_measure" class="input-field" />
<br />
</view>
</view>
</view>
</template>
<script>
import request from '@/utils/request';
import { getToken } from '@/utils/auth';
export default {
data() {
return {
selectedArea: '',
areas: [],
originalData: [],
filteredData: []
};
},
methods: {
fetchData() {
request({
url: '/api/check_carryout_record_daily/getPageData',
method: 'POST',
header: {
'content-type': 'application/json',
'Authorization': `Bearer ${getToken()}`
},
data: {},
dataType: 'json'
}).then(response => {
this.originalData = response.rows;
this.filteredData = this.originalData;
this.areas = [...new Set(response.rows.map(item => item.AREA_NAME))];
}).catch(error => {
console.error(error);
uni.showToast({ title: '请求失败', icon: 'none' });
});
},
filterByArea() {
this.filteredData = this.originalData.filter(item => !this.selectedArea || item.AREA_NAME === this.selectedArea);
}
},
onLoad() {
this.fetchData();
}
};
</script>
<style lang="scss">
.container {
padding: 10px;
background-color: #f9f9f9;
}
.input-prefix {
display: inline-block;
vertical-align: middle;
width: 105px;
padding: 0px;
background-color: #ffffff;
text-align: left;
font-size: 16px;
}
.input-field {
border: 1px solid #ccc;
border-radius: 4px;
height: 30px;
margin-bottom: -20px;
}
.text-item {
margin-bottom: 30px;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
.input-prefix + .input-field {
margin-top: 5px;
}
}
</style>
```
### 主要修改点
1. **移除了多余的模板内容**:只保留了下拉框和检查内容列表。
2. **简化了数据结构**:合并了 `tab1Data` 和 `tab2Data`,使用单一的数据结构 `originalData` 和 `filteredData`。
3. **移除了不必要的方法**:例如 `showDetail`, `closeModal`, `updateItem` 等。
4. **简化了样式**:只保留了必要的样式。
这样,页面的主要功能就是从接口获取数据并通过下拉框进行筛选。希望这能满足你的需求。
阅读全文