Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
@ -0,0 +1,165 @@ |
|||
<template> |
|||
<div style="margin-top:10px"> |
|||
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> |
|||
<el-form-item label="不满意类目" prop="startTime"> |
|||
<el-select v-model="formData.satisfactionCategory" placeholder="请输入" size="small" |
|||
class="u-item-width-normal" clearable> |
|||
<el-option v-for="item in dicts.satisfaction_category" :key="item.value" :label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="不满意等级" prop="startTime"> |
|||
<el-select v-model="formData.satisfactionLevel" placeholder="请输入" size="small" class="u-item-width-normal" |
|||
clearable> |
|||
<el-option v-for="item in dicts.satisfaction_level" :key="item.value" :label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-table class="m-table-item" :data="tableData" style="width: 100%"> |
|||
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column> |
|||
<el-table-column label="填写时间" prop="createdTime" header-align="center" align="center" type="index" |
|||
width="100"></el-table-column> |
|||
<el-table-column label="姓名" prop="reporterName" header-align="center" align="center" type="index" |
|||
width="50"></el-table-column> |
|||
<el-table-column label="联系电话" prop="reporterMobile" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="回访方式" prop="followUpWay" header-align="center" align="center" type="index" |
|||
width="100"></el-table-column> |
|||
<el-table-column label="文化设施" prop="evaCulturalFacility" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="体育设施" prop="evaSportsFacility" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="生态环境" prop="evaEcologicalEnv" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="社会治安" prop="evaSocialSecurity" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="社会救助" prop="evaSocialAssistance" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="老有所养" prop="evaOldPeopleProvid" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="基础教育" prop="evaBasicEducation" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="病有所医" prop="evaMedical" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column label="回访状态" prop="followUpStatus" header-align="center" align="center" type="index" |
|||
width="80"></el-table-column> |
|||
<el-table-column fixed="right" label="操作" align="center" width="220"> |
|||
<template slot-scope="scope"> |
|||
<el-button @click="handleDetail(scope.row)" type="text" size="small">查看</el-button> |
|||
<el-button @click="handleEdit(scope.row)" type="text" size="small">回访记录</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div> |
|||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" |
|||
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" |
|||
:total="total"></el-pagination> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { requestPost, requestGet } from "@/js/dai/request"; |
|||
|
|||
export default { |
|||
//数据 |
|||
data() { |
|||
return { |
|||
formData: { |
|||
inspRecordId: '', |
|||
satisfactionCategory: '', |
|||
satisfactionLevel: '' |
|||
}, |
|||
pageNo: 1, |
|||
pageSize: 20, |
|||
total: 0, |
|||
tableData: [], |
|||
dicts: { |
|||
satisfaction_category: [], |
|||
satisfaction_level: [] |
|||
} |
|||
}; |
|||
}, |
|||
//创建前 |
|||
created() {}, |
|||
async mounted() { |
|||
await this.getDicts() |
|||
await this.getTableData() |
|||
if (this.satisfactionCategoryStr) { |
|||
this.formData.satisfactionCategory = this.satisfactionCategoryStr |
|||
} |
|||
}, |
|||
//方法 |
|||
methods: { |
|||
async getDicts() { |
|||
try { |
|||
const requests = [ |
|||
this.$http.post("sys/dict/data/dictlist", { |
|||
dictType: "satisfaction_category", |
|||
}), |
|||
|
|||
this.$http.post("sys/dict/data/dictlist", { |
|||
dictType: "satisfaction_level", |
|||
}), |
|||
]; |
|||
const dictKeys = ['satisfaction_category', 'satisfaction_level']; // 对应的键名 |
|||
const results = await Promise.all(requests); |
|||
results.forEach((result, index) => { |
|||
if (result.data.code === 0) { |
|||
this.dicts[dictKeys[index]].push(...result.data.data); |
|||
} else { |
|||
console.log(`获取${dictKeys[index]}失败: ${result.data.msg}`); |
|||
} |
|||
}); |
|||
} catch (error) { |
|||
console.log("获取字典失败: ", error); |
|||
} |
|||
}, |
|||
handleSizeChange(val) { |
|||
console.log(`每页 ${val} 条`); |
|||
this.pageSize = val; |
|||
this.getTableData(); |
|||
}, |
|||
handleCurrentChange(val) { |
|||
console.log(`当前页: ${val}`); |
|||
this.pageNo = val; |
|||
this.getTableData(); |
|||
}, |
|||
async getTableData() { |
|||
try { |
|||
let params = { |
|||
...this.formData, |
|||
pageNo: this.currentPage, |
|||
pageSize: this.pageSize, |
|||
}; |
|||
let url = '/governance/satisfaction/communitySelfInsp/inspResult/list' |
|||
const { data, code, msg } = await requestGet(url, params) |
|||
if (code == 0) { |
|||
this.tableData = data.data; |
|||
this.total = data.total; |
|||
} else { |
|||
console.log(err); |
|||
} |
|||
} catch (err) { |
|||
console.log(err); |
|||
} |
|||
}, |
|||
}, |
|||
//子组件注册 |
|||
components: {}, |
|||
//计算 |
|||
computed: {}, |
|||
props: { |
|||
satisfactionCategoryStr: { |
|||
type: String, |
|||
default: ' ' |
|||
} |
|||
}, |
|||
//监听 |
|||
watch: {}, |
|||
} |
|||
</script> |
|||
<style lang="scss"></style> |