10 changed files with 226 additions and 32 deletions
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 8.5 KiB |
@ -0,0 +1,207 @@ |
|||||
|
<template> |
||||
|
<div class="g-main"> |
||||
|
<div> |
||||
|
<div class="m-table"> |
||||
|
<div class="div_btn_left"> |
||||
|
<el-button size="small" type="primary" @click="submit" |
||||
|
>保存设置</el-button |
||||
|
> |
||||
|
<el-button style="margin-left: 10px" size="small" @click="resetSearch" |
||||
|
>重置</el-button |
||||
|
> |
||||
|
</div> |
||||
|
<el-table |
||||
|
:data="tableData" |
||||
|
border |
||||
|
v-loading="tableLoading" |
||||
|
class="m-table-item" |
||||
|
style="width: 100%" |
||||
|
:height="maxTableHeight" |
||||
|
> |
||||
|
<el-table-column |
||||
|
prop="residentCategoryName" |
||||
|
align="center" |
||||
|
label="居民分类" |
||||
|
:show-overflow-tooltip="true" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
align="center" |
||||
|
label="更新周期" |
||||
|
:show-overflow-tooltip="true" |
||||
|
> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-select |
||||
|
v-model="scope.row.updatePeriod" |
||||
|
clearable |
||||
|
placeholder="请选择" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in updatePeriodOptions" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
></el-option> |
||||
|
</el-select> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<!-- --> |
||||
|
<el-table-column |
||||
|
prop="staffId" |
||||
|
align="center" |
||||
|
label="更新负责人" |
||||
|
:show-overflow-tooltip="true" |
||||
|
> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-select |
||||
|
v-model="scope.row.userId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in dicts.stafflist" |
||||
|
:key="item.value" |
||||
|
:label="item.name" |
||||
|
:value="item.staffId" |
||||
|
></el-option> |
||||
|
</el-select> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { requestPost } from "@/js/dai/request"; |
||||
|
import nextTick from "dai-js/tools/nextTick"; |
||||
|
import { mapGetters } from "vuex"; |
||||
|
|
||||
|
export default { |
||||
|
components: {}, |
||||
|
data() { |
||||
|
return { |
||||
|
tableLoading: false, |
||||
|
user: {}, |
||||
|
tableData: [], |
||||
|
updatePeriodOptions: [ |
||||
|
{ |
||||
|
label: "每周", |
||||
|
value: "week", |
||||
|
}, |
||||
|
{ |
||||
|
label: "每自然月", |
||||
|
value: "month", |
||||
|
}, |
||||
|
], |
||||
|
dicts: { |
||||
|
stafflist: [], |
||||
|
}, //字典对象 |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
maxTableHeight() { |
||||
|
const h = this.clientHeight - 250 + this.iframeHeight; |
||||
|
const _h = this.clientHeight - 250; |
||||
|
return this.$store.state.inIframe ? h : _h; |
||||
|
}, |
||||
|
...mapGetters(["clientHeight", "iframeHeight"]), |
||||
|
}, |
||||
|
watch: {}, |
||||
|
created() {}, |
||||
|
mounted() { |
||||
|
this.user = this.$store.state.user; |
||||
|
this.agencyId = this.user.agencyId; |
||||
|
this.getStafflist(); |
||||
|
this.getTableData(); |
||||
|
}, |
||||
|
methods: { |
||||
|
// --------------------------------------字典------------------------------------------ |
||||
|
getStafflist() { |
||||
|
let parms = { |
||||
|
orgId: this.user.agencyId, |
||||
|
orgType: "agency", |
||||
|
pageNo: 1, |
||||
|
pageSize: 100, |
||||
|
}; |
||||
|
this.$http.post("data/aggregator/org/stafflist", parms).then((resp) => { |
||||
|
this.dicts.stafflist = resp.data.data.staffList; |
||||
|
console.log("stafflist", resp.data); |
||||
|
}); |
||||
|
}, |
||||
|
// ------------------------------------事件------------------------------------------ |
||||
|
|
||||
|
// 获取列表 |
||||
|
async getTableData() { |
||||
|
this.tableLoading = true; |
||||
|
const url = "/actual/base/residentCategoryUpdateInfo/upadteSettingList"; |
||||
|
|
||||
|
const { data, code, msg } = await requestPost(url, { |
||||
|
orgId: this.user.agencyId, |
||||
|
orgType: this.user.level, |
||||
|
pageNo: 1, |
||||
|
pageSize: 1000, |
||||
|
}); |
||||
|
this.tableLoading = false; |
||||
|
if (code === 0) { |
||||
|
this.tableData = data; |
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
}, |
||||
|
async submit() { |
||||
|
let url = "/actual/base/residentCategoryUpdateInfo/updateList"; |
||||
|
let params = this.tableData.map((item) => { |
||||
|
return { |
||||
|
id: item.id, |
||||
|
updatePeriod: item.updatePeriod, |
||||
|
userId: item.userId, |
||||
|
}; |
||||
|
}); |
||||
|
const { data, code, msg } = await requestPost(url, params); |
||||
|
if (code === 0) { |
||||
|
this.$message.success("操作成功"); |
||||
|
this.getTableData(); |
||||
|
} else { |
||||
|
this.$message.error(msg); |
||||
|
} |
||||
|
}, |
||||
|
// 重置 |
||||
|
resetSearch() { |
||||
|
this.$confirm("重置之后无法恢复,确认重置?", "提示", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning", |
||||
|
}) |
||||
|
.then(() => { |
||||
|
this.tableData = this.tableData.map((item) => { |
||||
|
return { |
||||
|
...item, |
||||
|
updatePeriod: '', |
||||
|
userId: '', |
||||
|
}; |
||||
|
}); |
||||
|
this.submit(); |
||||
|
this.getTableData(); |
||||
|
}) |
||||
|
.catch((err) => { |
||||
|
console.error(err); |
||||
|
// this.$message.error("删除失败"); |
||||
|
}); |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
props: {}, |
||||
|
}; |
||||
|
</script> |
||||
|
<style lang="scss" scoped> |
||||
|
@import "@/assets/scss/buttonstyle.scss"; |
||||
|
@import "@/assets/scss/modules/management/list-main.scss"; |
||||
|
@import "@/assets/scss/modules/shequzhili/event-info.scss"; |
||||
|
.div_btn_left > * { |
||||
|
margin-right: 10px; |
||||
|
} |
||||
|
</style> |
||||
|
|
||||
|
|
Loading…
Reference in new issue