qa-prevention-xgf-app/hiddenManageSubPackages/pages/hidden_rectification/index.vue

191 lines
4.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!-- 隐患整改组件 -->
<template>
<view class="container">
<!-- 吸顶搜索框 start -->
<key-word-search-input :inputSearchValue="searchForm.HIDDENDESCR" @search="handleSearch" />
<!-- 吸顶搜索框 end -->
<!-- 列表渲染 start -->
<list :list="list" @scrollToLower="scrollToLower">
<template #default="{ item }">
<view class="flex-between main-title">
<view class="u-line-1">{{ item.HIDDENDESCR || "暂无" }}</view>
<view :class="hiddenLevelColor[item.HIDDENLEVEL]">
{{ item.HIDDENLEVELNAME }}
</view>
</view>
<view class="flex-between subtitle mt-5">
<view>来源{{ hiddenSource[item.SOURCE] }}</view>
</view>
<view class="flex-between subtitle mt-5">
<view>隐患发现人{{ item.findUserNames || "暂无" }}</view>
<view>
隐患发现时间{{
item.DISCOVERYTIME
? formatTime(item.DISCOVERYTIME)
: "暂无"
}}
</view>
</view>
<view class="flex-between subtitle mt-5">
<view>隐患确认人{{ item.confirmUserName || "暂无" }}</view>
<view>
隐患确认时间{{
item.CONFIRM_TIME
? formatTime(item.CONFIRM_TIME)
: "暂无"
}}
</view>
</view>
<view class="flex-between subtitle mt-5">
<view>隐患确认状态待整改</view>
<view class="flex-between">
<view>
<u-button type="primary" size="mini" shape="circle" @click="handleClickRectify(item)">
</u-button>
</view>
<view v-if="item.exaCount === 0" class="ml-10">
<u-button type="primary" size="mini" shape="circle" @click="handleClickExtensionApplication(item)">
</u-button>
</view>
</view>
</view>
</template>
</list>
<!-- 列表渲染 end -->
</view>
</template>
<script>
import keyWordSearchInput from "@/components/keyWordSearchInput/index.vue";
import List from "@/components/list/list.vue";
import * as HiddenRectificationApi from "../../api/index";
import dayjs from "dayjs";
import { HIDDEN_LEVEL_COlOR, HIDDEN_SOURCE } from "@/utils/constant";
import { hidden_rectification_list } from "@/Mock/responseData.js";
export default {
components: { keyWordSearchInput, List },
onShow() {
this.resetPagination()
},
data() {
return {
store: this.$store, // 全局store
searchForm: {
HIDDENDESCR: "",
},
isRequestEnd: false, // 请求是否已结束
pagination: {
showCount: 10,
currentPage: 1,
stateConfirm: "0",
total: 0,
},
list: [],
}
},
created() { },
mounted() { },
// 页面展示后立刻触发
onShow() {
this.getList();
},
computed: {
hiddenLevelColor() {
return HIDDEN_LEVEL_COlOR;
},
hiddenSource() {
return HIDDEN_SOURCE;
},
},
methods: {
/** 处理搜索事件 */
async handleSearch(val) {
this.pagination = {
...this.pagination,
currentPage: 1,
showCount: 10,
total: 0,
};
await this.getList(val);
},
async resetPagination(params) {
this.list = [];
this.pagination = {
showCount: 10,
currentPage: 1,
stateConfirm: "0",
total: 0,
};
await this.getList(params);
},
getList() {
if (this.isRequestEnd) return null;
uni.showLoading({
title: "加载中",
});
let { USER_ID, CORPINFO_ID, DEPARTMENT_ID } = this.store.state.userInfo;
// HiddenRectificationApi.getHiddenList({
// USER_ID: USER_ID,
// CORPINFO_ID,
// currentPage: this.pagination.currentPage,
// showCount: this.pagination.showCount,
// DISPOSESTATE: 2,
// stateConfirm: this.pagination.stateConfirm,
// USERDEPT: DEPARTMENT_ID,
// SELFUSERID: USER_ID,
// corpinfoId: CORPINFO_ID,
// loginUserId: USER_ID,
// }).then((response) => {
// console.log('response :>> ', response);
// })
// 虚拟 mock 数据渲染
setTimeout(() => {
this.list = hidden_rectification_list;
this.pagination.total = 0;
uni.hideLoading();
}, 400);
},
/** 格式化日期时间 */
formatTime(val) {
return dayjs(val).format("YYYY-MM-DD");
},
/** 向下滚动加载数据 */
async scrollToLower() {
this.pagination.currentPage = this.pagination.currentPage++;
if (this.total >= this.pagination.currentPage) await this.getList();
},
/** 整改按钮事件 */
handleClickRectify(ext) {
uni.$u.route(
'/hiddenManageSubPackages/pages/hidden_rectification/rectification',
{
HIDDEN_ID: ext.HIDDEN_ID
}
)
},
/** 处理延期申请按钮事件 */
handleClickExtensionApplication(ext) {
uni.$u.route(
'/hiddenManageSubPackages/pages/hidden_rectification/delay',
{
HIDDEN_ID: ext.HIDDEN_ID
}
)
}
}
}
</script>
<style lang="scss" scoped></style>