5 changed files with 364 additions and 72 deletions
@ -0,0 +1,207 @@ |
|||||
|
import Cookies from "js-cookie"; |
||||
|
import qs from "qs"; |
||||
|
export default { |
||||
|
data() { |
||||
|
/* eslint-disable */ |
||||
|
return { |
||||
|
// 设置属性
|
||||
|
mixinViewModuleOptions: { |
||||
|
createdIsNeed: true, // 此页面是否在创建时,调用查询数据列表接口?
|
||||
|
activatedIsNeed: false, // 此页面是否在激活(进入)时,调用查询数据列表接口?
|
||||
|
getDataListURL: "", // 数据列表接口,API地址
|
||||
|
getDataListIsPage: false, // 数据列表接口,是否需要分页?
|
||||
|
deleteURL: "", // 删除接口,API地址
|
||||
|
deleteIsBatch: false, // 删除接口,是否需要批量?
|
||||
|
deleteIsBatchKey: "id", // 删除接口,批量状态下由那个key进行标记操作?比如:pid,uid...
|
||||
|
exportURL: "", // 导出接口,API地址
|
||||
|
}, |
||||
|
// 默认属性
|
||||
|
dataForm: {}, // 查询条件
|
||||
|
dataList: [], // 数据列表
|
||||
|
order: "", // 排序,asc/desc
|
||||
|
orderField: "", // 排序,字段
|
||||
|
pageNo: 1, // 当前页码
|
||||
|
pageSize: 10, // 每页数
|
||||
|
total: 0, // 总条数
|
||||
|
dataListLoading: false, // 数据列表,loading状态
|
||||
|
dataListSelections: [], // 数据列表,多选项
|
||||
|
addOrUpdateVisible: false, // 新增/更新,弹窗visible状态
|
||||
|
}; |
||||
|
/* eslint-enable */ |
||||
|
}, |
||||
|
created() { |
||||
|
if (this.mixinViewModuleOptions.createdIsNeed) { |
||||
|
this.query(); |
||||
|
} |
||||
|
}, |
||||
|
activated() { |
||||
|
if (this.mixinViewModuleOptions.activatedIsNeed) { |
||||
|
this.query(); |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表
|
||||
|
query() { |
||||
|
this.dataListLoading = true; |
||||
|
this.$http |
||||
|
.post(this.mixinViewModuleOptions.getDataListURL, { |
||||
|
order: this.order, |
||||
|
orderField: this.orderField, |
||||
|
pageNo: this.mixinViewModuleOptions.getDataListIsPage |
||||
|
? this.pageNo |
||||
|
: null, |
||||
|
pageSize: this.mixinViewModuleOptions.getDataListIsPage |
||||
|
? this.pageSize |
||||
|
: null, |
||||
|
...this.dataForm, |
||||
|
}) |
||||
|
.then(({ data: res }) => { |
||||
|
this.dataListLoading = false; |
||||
|
if (res.code !== 0) { |
||||
|
this.dataList = []; |
||||
|
this.total = 0; |
||||
|
return this.$message.error(res.msg); |
||||
|
} |
||||
|
this.dataList = this.mixinViewModuleOptions.getDataListIsPage |
||||
|
? res.data.list |
||||
|
: res.data; |
||||
|
this.total = this.mixinViewModuleOptions.getDataListIsPage |
||||
|
? res.data.total |
||||
|
: 0; |
||||
|
this.dataList.forEach((item) => { |
||||
|
if (item.gender) { |
||||
|
item.gender = |
||||
|
item.gender == "0" |
||||
|
? "女" |
||||
|
: item.gender == "1" |
||||
|
? "男" |
||||
|
: item.gender; |
||||
|
} |
||||
|
}); |
||||
|
}) |
||||
|
.catch(() => { |
||||
|
this.dataListLoading = false; |
||||
|
}); |
||||
|
}, |
||||
|
// 多选
|
||||
|
dataListSelectionChangeHandle(val) { |
||||
|
this.dataListSelections = val; |
||||
|
}, |
||||
|
// 排序
|
||||
|
dataListSortChangeHandle(data) { |
||||
|
if (!data.order || !data.prop) { |
||||
|
this.order = ""; |
||||
|
this.orderField = ""; |
||||
|
return false; |
||||
|
} |
||||
|
this.order = data.order.replace(/ending$/, ""); |
||||
|
this.orderField = data.prop.replace(/([A-Z])/g, "_$1").toLowerCase(); |
||||
|
this.query(); |
||||
|
}, |
||||
|
// 分页, 每页条数
|
||||
|
pageSizeChangeHandle(val) { |
||||
|
this.pageNo = 1; |
||||
|
this.pageSize = val; |
||||
|
this.query(); |
||||
|
}, |
||||
|
// 分页, 当前页
|
||||
|
pageCurrentChangeHandle(val) { |
||||
|
this.pageNo = val; |
||||
|
this.query(); |
||||
|
}, |
||||
|
getDataList: function () { |
||||
|
this.pageNo = 1; |
||||
|
this.query(); |
||||
|
}, |
||||
|
// 新增 / 修改
|
||||
|
addOrUpdateHandle(id) { |
||||
|
this.addOrUpdateVisible = true; |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs.addOrUpdate.dataForm.id = id; |
||||
|
this.$refs.addOrUpdate.init(); |
||||
|
}); |
||||
|
}, |
||||
|
// 删除
|
||||
|
deleteHandle(id) { |
||||
|
if ( |
||||
|
this.mixinViewModuleOptions.deleteIsBatch && |
||||
|
!id && |
||||
|
this.dataListSelections.length <= 0 |
||||
|
) { |
||||
|
return this.$message({ |
||||
|
message: this.$t("prompt.deleteBatch"), |
||||
|
type: "warning", |
||||
|
duration: 500, |
||||
|
}); |
||||
|
} |
||||
|
this.$confirm( |
||||
|
this.$t("prompt.info", { handle: this.$t("delete") }), |
||||
|
this.$t("prompt.title"), |
||||
|
{ |
||||
|
confirmButtonText: this.$t("confirm"), |
||||
|
cancelButtonText: this.$t("cancel"), |
||||
|
type: "warning", |
||||
|
} |
||||
|
) |
||||
|
.then(() => { |
||||
|
this.$http |
||||
|
.delete( |
||||
|
`${this.mixinViewModuleOptions.deleteURL}${ |
||||
|
this.mixinViewModuleOptions.deleteIsBatch ? "" : "/" + id |
||||
|
}`,
|
||||
|
this.mixinViewModuleOptions.deleteIsBatch |
||||
|
? { |
||||
|
data: id |
||||
|
? [id] |
||||
|
: this.dataListSelections.map( |
||||
|
(item) => |
||||
|
item[this.mixinViewModuleOptions.deleteIsBatchKey] |
||||
|
), |
||||
|
} |
||||
|
: {} |
||||
|
) |
||||
|
.then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg); |
||||
|
} |
||||
|
this.$message({ |
||||
|
message: this.$t("prompt.success"), |
||||
|
type: "success", |
||||
|
duration: 500, |
||||
|
onClose: () => { |
||||
|
this.query(); |
||||
|
}, |
||||
|
}); |
||||
|
}) |
||||
|
.catch(() => {}); |
||||
|
}) |
||||
|
.catch(() => {}); |
||||
|
}, |
||||
|
// 导出
|
||||
|
exportHandle() { |
||||
|
var params = qs.stringify({ |
||||
|
token: localStorage.getItem("token"), |
||||
|
...this.dataForm, |
||||
|
}); |
||||
|
window.location.href = `${window.SITE_CONFIG["apiURL"]}${this.mixinViewModuleOptions.exportURL}?${params}`; |
||||
|
}, |
||||
|
// 时间段控件取值变化事件-清空一个其他都清空
|
||||
|
changeTime(dateValue) { |
||||
|
var startTimeIsNull = |
||||
|
this.dataForm.startTime === "" || |
||||
|
this.dataForm.startTime === "null" || |
||||
|
this.dataForm.startTime === null; |
||||
|
var endTimeIsNull = |
||||
|
this.dataForm.endTime === "" || |
||||
|
this.dataForm.endTime === "null" || |
||||
|
this.dataForm.endTime === null; |
||||
|
if (dateValue === null || dateValue === "" || dateValue === "null") { |
||||
|
this.dataForm.startTime = ""; |
||||
|
this.dataForm.endTime = ""; |
||||
|
} else if (startTimeIsNull || endTimeIsNull) { |
||||
|
this.dataForm.startTime = dateValue; |
||||
|
this.dataForm.endTime = dateValue; |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
@ -0,0 +1,23 @@ |
|||||
|
export default { |
||||
|
PARTY_FLAG: "党员", |
||||
|
SUBSISTENCE_ALLOWANCE_FLAG: "低保户", |
||||
|
ENSURE_HOUSE_FLAG: "保障房", |
||||
|
UNEMPLOYED_FLAG: "失业", |
||||
|
FERTILE_WOMAN_FLAG: "育龄妇女", |
||||
|
VETERAN_FLAG: "退役军人", |
||||
|
UNITED_FRONT_FLAG: "统战人员", |
||||
|
PETITION_OFFICER_FLAG: "信访人员", |
||||
|
VOLUNTEER_FLAG: "志愿者", |
||||
|
OLD_PEOPLE_FLAG: "老年人", |
||||
|
EMPTY_NESTER_FLAG: "空巢老人", |
||||
|
BEREAVED_PERSON_FLAG: "失独人员", |
||||
|
DISABLED_FLAG: "失能老人", |
||||
|
DEMENTED_FLAG: "失智老人", |
||||
|
DISABILITY_FLAG: "残疾", |
||||
|
SERIOUS_ILLNESS_FLAG: "大病", |
||||
|
CHRONIC_DISEASE_FLAG: "慢病", |
||||
|
SPECIAL_CROWD_FLAG: "特殊人群", |
||||
|
TENANT_FLAG: "租户", |
||||
|
FLOATING_FLAG: "是流动人口", |
||||
|
LIVE_ALONE_FLAG: "独居老人", |
||||
|
}; |
Loading…
Reference in new issue