From 7a6dc6d28d36e4c3558391bac52d188d5075543f Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 22 四月 2025 16:27:27 +0800
Subject: [PATCH] 1.完成移动端点检汇总和点检明细
---
eims-ui-mobile/src/service/maint.d.ts | 44 +++++
eims-ui/apps/web-antd/src/views/eims/spare-inoutdt/index.vue | 11 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java | 2
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java | 39 +++-
eims-ui-mobile/src/service/inspect.ts | 15 +
eims-ui-mobile/src/service/maint.ts | 9 +
eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx | 19 ++
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml | 2
eims-ui-mobile/src/pages/inspect/insp-st.vue | 21 ++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java | 5
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/InspectRecordBo.java | 13 +
eims-ui-mobile/src/pages/maint/maint-st.vue | 178 ++++++++++++++++++++++
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java | 17 ++
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml | 2
eims-ui-mobile/src/utils/http.ts | 2
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java | 1
eims-ui-mobile/src/pages.json | 8 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java | 4
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java | 10 +
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java | 7
eims-ui-mobile/src/pages/home/index.vue | 10
eims-ui-mobile/src/pages/inspect/insp-record.vue | 42 ++++
eims-ui-mobile/src/types/uni-pages.d.ts | 1
eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue | 13
24 files changed, 436 insertions(+), 39 deletions(-)
diff --git a/eims-ui-mobile/src/pages.json b/eims-ui-mobile/src/pages.json
index 5cfa519..df35397 100644
--- a/eims-ui-mobile/src/pages.json
+++ b/eims-ui-mobile/src/pages.json
@@ -114,6 +114,14 @@
}
},
{
+ "path": "pages/maint/maint-st",
+ "type": "page",
+ "layout": "default",
+ "style": {
+ "navigationBarTitleText": "淇濆吇姹囨��"
+ }
+ },
+ {
"path": "pages/my/index",
"type": "page",
"layout": "tabbar",
diff --git a/eims-ui-mobile/src/pages/home/index.vue b/eims-ui-mobile/src/pages/home/index.vue
index bd131e7..3351c06 100644
--- a/eims-ui-mobile/src/pages/home/index.vue
+++ b/eims-ui-mobile/src/pages/home/index.vue
@@ -157,15 +157,15 @@
}, */
{
id: 1,
- name: '鐐规姒傝',
- icon: '/static/menu/menu1.png',
+ name: '鐐规姹囨��',
+ icon: '/static/menu/menu2.png',
path: 'pages/inspect/insp-st',
},
{
id: 2,
- name: '鐐规姹囨��',
- icon: '/static/menu/menu2.png',
- path: 'pages/inspect/insp-st',
+ name: '淇濆吇姹囨��',
+ icon: '/static/menu/menu1.png',
+ path: 'pages/maint/maint-st',
},
{
id: 3,
diff --git a/eims-ui-mobile/src/pages/inspect/insp-record.vue b/eims-ui-mobile/src/pages/inspect/insp-record.vue
index f176fda..f0b128d 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-record.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-record.vue
@@ -109,6 +109,18 @@
</view>
</wd-collapse-item>
</wd-collapse>
+ <view class="w-full h-[1rpx] bg-base"></view>
+ <wd-textarea
+ label="鐗硅浜嬮」"
+ label-width="200rpx"
+ type="textarea"
+ v-model="inspSt.specialNote"
+ auto-height
+ :maxlength="200"
+ show-word-limit
+ placeholder="璇疯緭鍏ョ壒璁颁簨椤�"
+ clearable
+ />
</view>
</z-paging>
</template>
@@ -116,7 +128,7 @@
<script setup lang="ts">
import { ref } from 'vue'
import { useUserStore, useAccessStore, useSystemConfigStore } from '@/store'
-import { getInspStRecordList, updateInspRecord, updateInspRecordBatch } from '@/service/inspect'
+import { getInspStRecordList, updateInspectSt, updateInspRecordBatch } from '@/service/inspect'
import { useToast, useMessage } from 'wot-design-uni'
import type { CollapseInstance } from 'wot-design-uni/components/wd-collapse/types'
const message = useMessage()
@@ -134,10 +146,14 @@
}
interface InspSt {
+ id: string
inspCode: string
equName: string
assetNo: string
planTimeStr?: string
+ status: string
+ inspUser: number | string
+ specialNote: string
}
const dataChange = ref(false)
@@ -148,10 +164,14 @@
// 鐐规姹囨�绘暟鎹�(涓婁釜椤甸潰浼犲��)
const inspSt = reactive<InspSt>({
+ id: '',
inspCode: '',
equName: '',
assetNo: '',
planTimeStr: '',
+ status: '',
+ inspUser: '',
+ specialNote: '',
})
const paging = ref(null)
@@ -180,7 +200,7 @@
}
function inspResultClick(item: any) {
- // userStore?.userInfo?.realName
+ // userStore?.userInfo?.userId
}
const goBack = () => {
@@ -191,7 +211,7 @@
}
const toggleCollapse = () => {
- isAllExpanded.value = !isAllExpanded.value
+ isAllExpanded.value = !isAllExpanded.value
collapseRef.value.toggleAll(isAllExpanded.value)
}
@@ -218,9 +238,22 @@
const params = {
inspRecordList: dataList.value,
}
+ // 鏇存柊鐐规璁板綍
updateInspRecordBatch(params)
.then((res: any) => {
+ updateInspSt(resolve)
+ })
+ .catch((res) => {
+ console.error(res)
+ })
+}
+function updateInspSt(resolve: any) {
+ // 鏇存柊鐐规姹囨��
+ inspSt.status = '1'
+ updateInspectSt(inspSt)
+ .then((res: any) => {
paging.value.reload()
+ uni.$emit('insp-st-refresh')
resolve(true)
})
.catch((res) => {
@@ -244,10 +277,13 @@
{ deep: true },
)
onLoad((options) => {
+ inspSt.id = options.id
inspSt.inspCode = options.inspCode
inspSt.equName = options.equName
inspSt.assetNo = options.assetNo
inspSt.planTimeStr = options.planTimeStr
+ inspSt.specialNote = options?.specialNote
+ inspSt.inspUser = userStore?.userInfo?.userId
})
const dataCount = computed(() => dataList.value.length)
diff --git a/eims-ui-mobile/src/pages/inspect/insp-st.vue b/eims-ui-mobile/src/pages/inspect/insp-st.vue
index d380724..2499379 100644
--- a/eims-ui-mobile/src/pages/inspect/insp-st.vue
+++ b/eims-ui-mobile/src/pages/inspect/insp-st.vue
@@ -28,7 +28,11 @@
</view>
<view class="flex items-center">
- <text class="text-color-gray text-mini">{{ item.planTimeStr }}</text>
+ <text class="text-color-gray text-mini">
+ {{
+ viewMode === 'Day' ? item.planTimeStr : item?.planTimeStr?.substring(0, 7) || ''
+ }}
+ </text>
</view>
</view>
</template>
@@ -69,6 +73,7 @@
<script setup lang="ts">
import { ref } from 'vue'
import { getInspStList } from '@/service/inspect'
+import { onShow } from '@dcloudio/uni-app'
const viewMode = ref<string>('Day')
const equName = ref<string>('鎵�鏈夎澶�')
@@ -79,7 +84,7 @@
])
const equList = ref<Record<string, any>[]>([{ label: '鎵�鏈夎澶�', value: '鎵�鏈夎澶�' }])
function handleViewMode({ value }) {
- console.log(value)
+ reloadData()
}
function handleEquName({ value }) {
console.log(value)
@@ -91,10 +96,9 @@
const queryList = (pageNum?: number, pageSize?: number) => {
// 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
// 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging
- getInspStList({ pageNum, pageSize })
+ getInspStList({ pageNum, pageSize, viewMode: viewMode.value })
.then((res: any) => {
// 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
- console.log(res)
paging.value.complete(res.rows)
})
.catch((res) => {
@@ -108,12 +112,19 @@
function itemClick(item) {
const inspCode = `${item.equId}_${item.planTime}_${viewMode.value}`
uni.navigateTo({
- url: `/pages/inspect/insp-record?inspCode=${inspCode}&equName=${item.equName}&assetNo=${item.assetNo}&planTimeStr=${item.planTimeStr}`,
+ url: `/pages/inspect/insp-record?id=${item.id}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
})
}
+function reloadData() {
+ paging.value.reload()
+}
onLoad(() => {
queryList()
+ uni.$on('insp-st-refresh', reloadData)
+})
+onUnload(() => {
+ uni.$off('insp-st-refres', reloadData)
})
</script>
diff --git a/eims-ui-mobile/src/pages/maint/maint-st.vue b/eims-ui-mobile/src/pages/maint/maint-st.vue
new file mode 100644
index 0000000..4104498
--- /dev/null
+++ b/eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -0,0 +1,178 @@
+<route lang="json5" type="page">
+{
+ layout: 'default',
+ style: {
+ navigationBarTitleText: '淇濆吇姹囨��',
+ },
+}
+</route>
+
+<template>
+ <z-paging ref="paging" v-model="dataList" @query="queryList" show-refresher-update-time>
+ <template #top>
+ <wd-drop-menu>
+ <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
+ <wd-drop-menu-item v-model="status" :options="statusList" @change="handleStatus" />
+ </wd-drop-menu>
+ <wd-divider></wd-divider>
+ </template>
+ <view class="bg-base">
+ <view class="w-full h-[24rpx]"></view>
+ <wd-card type="rectangle" v-for="(item, index) in dataList" :key="item.id">
+ <template #title>
+ <view class="flex justify-between">
+ <view class="flex items-center menu-title-box">
+ <view class="menu-indicator"></view>
+ <view class="ml-1 text-sm align-center">{{ item.equName }}</view>
+ <view class="text-color-gray ml-2 text-mini">{{ item.assetNo }}</view>
+ </view>
+
+ <view class="flex items-center">
+ <text class="text-color-gray text-mini">
+ {{ status === 'Day' ? item?.planTimeStr : item?.planTimeStr?.substring(0, 7) || '' }}
+ </text>
+ </view>
+ </view>
+ </template>
+ <view class="flex h-[100rpx]" items-center>
+ <image class="slot-img text-center" src="/static/images/camera.png" />
+ <view class="flex-1">
+ <view class="text-color-gray text-xs mt-1 flex">
+ <text class="mr-3">鐐规鎬绘暟: {{ item.recordCount }}</text>
+ |
+ <text class="mx-3">宸茬偣妫�: {{ item.checkCount }}</text>
+ |
+ <text class="ml-3">鏈偣妫�: {{ item.unCheckCount }}</text>
+ </view>
+ <view class="text-color-gray text-xs mt-2 flex">
+ <text class="mr-3">姝e父: {{ item.normalNum }}</text>
+ |
+ <text class="mx-3">寮傚父: {{ item.abNormalNum }}</text>
+ </view>
+ <view class="text-color-gray text-xs mt-2 flex">
+ <text>鐘舵�侊細</text>
+ <template v-if="item.recordCount === item.checkCount">
+ <wd-icon class="icon-color-success" name="check-outline" size="40rpx"></wd-icon>
+ <text class="ml-1">宸插畬鎴�</text>
+ </template>
+ <template v-else>
+ <wd-icon class="icon-color-base" name="detection" size="40rpx"></wd-icon>
+ <text class="ml-1">杩涜涓�</text>
+ </template>
+ </view>
+ </view>
+ <wd-button size="small" icon="edit-outline" @click.stop="itemClick(item)">鏄庣粏</wd-button>
+ </view>
+ </wd-card>
+ </view>
+ </z-paging>
+</template>
+
+<script setup lang="ts">
+import { ref } from 'vue'
+import { getMaintStList } from '@/service/maint'
+
+interface QueryParams {
+ pageNum: number
+ pageSize: number
+ equName?: string
+ status?: string
+}
+
+const status = ref<string>('-1')
+const equName = ref<string>('-1')
+
+const statusList = ref<Record<string, any>[]>([
+ { label: '鍏ㄩ儴', value: '-1' },
+ { label: '寰呬繚鍏�', value: '0' },
+ { label: '淇濆吇涓�', value: '1' },
+ { label: '寰呴獙璇�', value: '2' },
+ { label: '宸插畬鎴�', value: '3' },
+])
+const equList = ref<Record<string, any>[]>([{ label: '鎵�鏈夎澶�', value: '-1' }])
+function handleStatus({ value }) {}
+function handleEquName({ value }) {
+ console.log(value)
+}
+
+const paging = ref(null)
+const dataList = ref([])
+
+const queryList = (pageNum?: number, pageSize?: number) => {
+ // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲
+ // 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging
+ const params: QueryParams = {
+ pageNum,
+ pageSize,
+ equName: equName.value,
+ status: status.value,
+ }
+ if (equName.value === '-1') {
+ delete params.equName
+ }
+ if (status.value === '-1') {
+ delete params.status
+ }
+
+ getMaintStList(params)
+ .then((res: any) => {
+ // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡
+ paging.value.complete(res.rows)
+ })
+ .catch((res) => {
+ // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰
+ // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊
+ // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲
+ paging.value.complete(false)
+ })
+}
+
+function itemClick(item) {
+ const inspCode = `${item.equId}_${item.planTime}_${status.value}`
+ uni.navigateTo({
+ url: `/pages/inspect/insp-record?id=${item.id}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
+ })
+}
+
+function reloadData() {
+ paging.value.reload()
+}
+onLoad(() => {
+ queryList()
+ uni.$on('maint-st-refresh', reloadData)
+})
+onUnload(() => {
+ uni.$off('maint-st-refres', reloadData)
+})
+</script>
+
+<style scoped lang="scss">
+.menu-title-box {
+}
+
+.slot-img {
+ width: 72rpx;
+ height: 72rpx;
+ margin-right: 24rpx;
+}
+.statu-img {
+ width: 60rpx;
+ height: 40rpx;
+}
+.text-mini {
+ font-size: 22rpx;
+}
+
+.menu-indicator {
+ width: 6rpx;
+ height: 26rpx;
+ border-radius: 10rpx;
+ background-color: $uni-color-primary;
+}
+:deep(.wd-card__footer) {
+ padding: 10rpx !important;
+}
+:deep(.wd-card__title-content) {
+ padding: 24rpx 0 !important;
+}
+</style>
diff --git a/eims-ui-mobile/src/service/inspect.ts b/eims-ui-mobile/src/service/inspect.ts
index 55da5d3..adf4fa6 100644
--- a/eims-ui-mobile/src/service/inspect.ts
+++ b/eims-ui-mobile/src/service/inspect.ts
@@ -5,7 +5,6 @@
* 鐐规姹囨�诲垪琛�
*/
export const getInspStList = (params: any) => {
- params.viewMode = 'Day'
return http.get<InspectStVO[]>('/eims/inspectSt/list', params)
}
@@ -21,9 +20,21 @@
* @param data
*/
export const updateInspRecord = (data: any) => {
- return http.post<void>('/eims/inspRecord', data)
+ return http.put<void>('/eims/inspRecord', data)
}
+/**
+ * 鎵归噺鏇存柊鐐规璁板綍
+ * @param data
+ */
export const updateInspRecordBatch = (data: any) => {
return http.put<void>('/eims/inspRecord/editBatch', data)
}
+
+/**
+ * 鏇存柊鐐规姹囨��
+ * @param data
+ */
+export const updateInspectSt = (data: any) => {
+ return http.put<void>('/eims/inspectSt', data)
+}
diff --git a/eims-ui-mobile/src/service/maint.d.ts b/eims-ui-mobile/src/service/maint.d.ts
new file mode 100644
index 0000000..92e3994
--- /dev/null
+++ b/eims-ui-mobile/src/service/maint.d.ts
@@ -0,0 +1,44 @@
+export interface MaintStVO {
+ /**
+ *
+ */
+ id: number | string;
+
+ /**
+ *
+ */
+ title: string;
+
+ /**
+ *
+ */
+ equId: number | string;
+ status: string;
+
+ /**
+ *
+ */
+ planTime: string;
+
+ /**
+ * 淇濆吇浜�
+ */
+ maintUser: number;
+
+ /**
+ * 楠岃瘉浜�
+ */
+ verifyUser: number;
+ verifyTime: string;
+
+ /**
+ * 鐗硅浜嬮」
+ */
+ specialNote: string;
+
+ /**
+ * 澶囨敞
+ */
+ remark: string;
+}
+
diff --git a/eims-ui-mobile/src/service/maint.ts b/eims-ui-mobile/src/service/maint.ts
new file mode 100644
index 0000000..42197c2
--- /dev/null
+++ b/eims-ui-mobile/src/service/maint.ts
@@ -0,0 +1,9 @@
+import { http } from '@/utils/http'
+import type { MaintStVO } from './maint.d'
+
+/**
+ * 淇濆吇姹囨�诲垪琛�
+ */
+export const getMaintStList = (params: any) => {
+ return http.get<MaintStVO[]>('/eims/maintSt/list', params)
+}
diff --git a/eims-ui-mobile/src/types/uni-pages.d.ts b/eims-ui-mobile/src/types/uni-pages.d.ts
index 7b066d0..fefb929 100644
--- a/eims-ui-mobile/src/types/uni-pages.d.ts
+++ b/eims-ui-mobile/src/types/uni-pages.d.ts
@@ -11,6 +11,7 @@
"/pages/inspect/insp-record" |
"/pages/inspect/insp-st" |
"/pages/login/index" |
+ "/pages/maint/maint-st" |
"/pages/my/index" |
"/pages/spare/index";
}
diff --git a/eims-ui-mobile/src/utils/http.ts b/eims-ui-mobile/src/utils/http.ts
index f1d74ce..7314ccd 100644
--- a/eims-ui-mobile/src/utils/http.ts
+++ b/eims-ui-mobile/src/utils/http.ts
@@ -36,10 +36,12 @@
uni.navigateTo({ url: redirectRoute })
reject(res)
} else {
+ // 鍏朵粬閿欒 -> 鏍规嵁鍚庣閿欒淇℃伅杞绘彁绀�
uni.showToast({
icon: 'none',
title: (res.data as IResData<T>).msg || '璇锋眰閿欒',
})
+ reject(res)
}
} else if (res.statusCode === 401) {
// 401閿欒 -> 娓呯悊鐢ㄦ埛淇℃伅锛岃烦杞埌鐧诲綍椤�
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
index 7fd40eb..fee6672 100644
--- a/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/data.tsx
@@ -46,7 +46,24 @@
{
title: '淇濆吇鏃堕棿',
field: 'planTimeStr',
- minWidth: 200
+ minWidth: 200,
+ slots: {
+ default: ({ row }) => {
+ // 鍒ゆ柇鏄惁闇�瑕佹樉绀烘椂闂�
+ if (!row.type) return '';
+
+ // 鑾峰彇鍘熷鏃堕棿瀛楃涓�
+ const fullDate = row.planTimeStr;
+
+ // 鏍规嵁鏉′欢鍐冲畾鏄剧ず鏍煎紡
+ // 绀轰緥鏉′欢锛氬鏋� status 鏄煇涓壒瀹氬�硷紙渚嬪 'monthly'锛夛紝鍒欐樉绀� YYYY-MM
+ if (row.type === 'Month') {
+ return fullDate.slice(0, 7); // 鎴彇鍓� 7 涓瓧绗︼紝寰楀埌 YYYY-MM
+ }
+ // 榛樿鏄剧ず瀹屾暣鏃ユ湡 YYYY-MM-DD
+ return fullDate;
+ }
+ }
},
{
title: '鐘舵��',
diff --git a/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
index 0319a0b..9f7a6cf 100644
--- a/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
+++ b/eims-ui/apps/web-antd/src/views/eims/insp-st/index.vue
@@ -255,16 +255,17 @@
const monBtn = ref<any>('primary');
function queryData(type: ViewMode) {
+ // TODO 鏃ヨ鍥惧拰鏈堣鍥惧悗绔凡缁熶竴鏂规硶 鍓嶇鍙垹闄ゆ棩瑙嗗浘澶氫綑閰嶇疆
if (type === ViewMode.Day) {
dayBtn.value = 'primary';
monBtn.value = 'default';
curViewMode.value = ViewMode.Day;
- tableApi.setGridOptions(gridOptions2);
+ // tableApi.setGridOptions(gridOptions2);
} else if (type === ViewMode.Month) {
dayBtn.value = 'default';
monBtn.value = 'primary';
curViewMode.value = ViewMode.Month;
- tableApi.setGridOptions(gridOptions);
+ // tableApi.setGridOptions(gridOptions);
}
tableApi.query();
}
@@ -273,7 +274,7 @@
<template>
<Page :auto-content-height="true">
<div class="flex h-full gap-[8px] flex-col">
- <BasicTable class="h-2/3" table-title="鐐规璁板綍鍒楄〃">
+ <BasicTable class="h-2/3" table-title="鐐规姹囨�诲垪琛�">
<template #toolbar-tools>
<Space>
<Button :type="dayBtn" @click.stop="queryData(ViewMode.Day)">鏃ヨ鍥�</Button>
@@ -300,8 +301,7 @@
<ghost-button v-access:code="['eims:inspectSt:edit']" @click.stop="handleEdit(row)">
{{ $t('pages.common.edit') }}
</ghost-button>
- <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�"
- @confirm="handleDelete(row)">
+ <Popconfirm :get-popup-container="getVxePopupContainer" placement="left" title="纭鍒犻櫎锛�" @confirm="handleDelete(row)">
<ghost-button danger v-access:code="['eims:inspectSt:remove']" @click.stop="">
{{ $t('pages.common.delete') }}
</ghost-button>
@@ -309,8 +309,7 @@
</Space>
</template>
</BasicTable>
- <BasisSubTable :columns="recordCol" :list-api="listInspStRecord" :req-value="recordId" class="h-1/3"
- req-key="inspCode" title="鐐规璁板綍" />
+ <BasisSubTable :columns="recordCol" :list-api="listInspStRecord" :req-value="recordId" class="h-1/3" req-key="inspCode" title="鐐规璁板綍" />
</div>
<InspStDrawer @reload="tableApi.query()" />
</Page>
diff --git a/eims-ui/apps/web-antd/src/views/eims/spare-inoutdt/index.vue b/eims-ui/apps/web-antd/src/views/eims/spare-inoutdt/index.vue
new file mode 100644
index 0000000..85af715
--- /dev/null
+++ b/eims-ui/apps/web-antd/src/views/eims/spare-inoutdt/index.vue
@@ -0,0 +1,11 @@
+<script setup lang="ts">
+
+</script>
+
+<template>
+
+</template>
+
+<style scoped>
+
+</style>
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java
index 11f84f6..106896e 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsInspectRecordController.java
@@ -15,6 +15,7 @@
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.eims.domain.bo.EimsMaintOrderBo;
+import org.dromara.eims.domain.bo.InspectRecordBo;
import org.dromara.eims.domain.vo.EimsMaintOrderVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@@ -80,6 +81,7 @@
Map<String, Object> params = bo.getParams();
params.put("beginPlanTime",startOfMonth);
params.put("endPlanTime",endOfMonth);
+ params.put("type","Month");
}
return eimsInspectRecordService.queryPageListCustom(bo, pageQuery);
}
@@ -130,6 +132,14 @@
return toAjax(eimsInspectRecordService.updateByBo(bo));
}
+ @SaCheckPermission("eims:inspectRecord:edit")
+ @Log(title = "鐐规璁板綍-鎵归噺淇敼", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping("editBatch")
+ public R<Void> editBatch(@Validated(EditGroup.class) @RequestBody InspectRecordBo bo) {
+ return toAjax(eimsInspectRecordService.updateBatchByBo(bo));
+ }
+
/**
* 鍒犻櫎鐐规璁板綍
*
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
index a0a0c3b..aa8a890 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/EimsInspectSt.java
@@ -28,6 +28,10 @@
*/
@TableId(value = "id")
private Long id;
+ /**
+ * 姹囨�荤被鍨� Day-鏃ユ眹鎬� Month-鏈堟眹鎬�
+ */
+ private String type;
/**
* 鏍囬
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
index 82d3ea9..fefd0ef 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/EimsInspectStBo.java
@@ -28,17 +28,19 @@
*/
@NotNull(message = "涓嶈兘涓虹┖", groups = { EditGroup.class })
private Long id;
+ /**
+ * 姹囨�荤被鍨� Day-鏃ユ眹鎬� Month-鏈堟眹鎬�
+ */
+ private String type;
/**
* 鏍囬
*/
- @NotBlank(message = "鏍囬涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
private String title;
/**
* 璁惧id
*/
- @NotNull(message = "璁惧id涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
private Long equId;
private String equName;
private String assetNo;
@@ -46,7 +48,6 @@
/**
* 璁″垝鏃堕棿
*/
- @NotNull(message = "璁″垝鏃堕棿涓嶈兘涓虹┖", groups = { AddGroup.class, EditGroup.class })
private Date planTime;
/**
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/InspectRecordBo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/InspectRecordBo.java
new file mode 100644
index 0000000..4e74891
--- /dev/null
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/bo/InspectRecordBo.java
@@ -0,0 +1,13 @@
+package org.dromara.eims.domain.bo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class InspectRecordBo {
+ /**
+ * 绉诲姩绔壒閲忔洿鏂�
+ */
+ private List<EimsInspectRecordBo> inspRecordList;
+}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
index 021d71b..8dee5d2 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/domain/vo/EimsInspectStVo.java
@@ -41,7 +41,10 @@
*/
@ExcelProperty(value = "鏍囬")
private String title;
-
+ /**
+ * 姹囨�荤被鍨� Day-鏃ユ眹鎬� Month-鏈堟眹鎬�
+ */
+ private String type;
/**
* 璁惧id
*/
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java
index a71d578..4d0c20b 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/mapper/EimsInspectRecordMapper.java
@@ -18,6 +18,7 @@
*/
public interface EimsInspectRecordMapper extends BaseMapperPlus<EimsInspectRecord, EimsInspectRecordVo> {
Page<EimsInspectRecordVo> selectInspRecordList(@Param("page") Page<EimsInspectRecordVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectRecord> queryWrapper);
+ // TODO 鏃ヨ鍥惧拰鏈堣鍥剧粺涓�鎺ュ彛锛屽緟鍒犻櫎
Page<EimsInspectStVo> selectInspRecordDayList(@Param("page") Page<EimsInspectStVo> page, @Param(Constants.WRAPPER) Wrapper<EimsInspectSt> queryWrapper);
}
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java
index ebd61d3..4afedb1 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/IEimsInspectRecordService.java
@@ -1,6 +1,7 @@
package org.dromara.eims.service;
import org.dromara.eims.domain.bo.EimsInspectStBo;
+import org.dromara.eims.domain.bo.InspectRecordBo;
import org.dromara.eims.domain.vo.EimsInspectRecordVo;
import org.dromara.eims.domain.bo.EimsInspectRecordBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -58,6 +59,7 @@
* @return 鏄惁淇敼鎴愬姛
*/
Boolean updateByBo(EimsInspectRecordBo bo);
+ Boolean updateBatchByBo(InspectRecordBo bo);
/**
* 鏍¢獙骞舵壒閲忓垹闄ょ偣妫�璁板綍淇℃伅
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java
index 55c65ff..de21a3f 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectRecordServiceImpl.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.SneakyThrows;
+import org.dromara.common.core.constant.DictConstants;
+import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@@ -11,10 +13,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
+import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.eims.domain.EimsInspectPlan;
import org.dromara.eims.domain.EimsInspectSt;
import org.dromara.eims.domain.EimsMaintPlan;
import org.dromara.eims.domain.bo.EimsInspectStBo;
+import org.dromara.eims.domain.bo.InspectRecordBo;
import org.dromara.eims.domain.vo.EimsInspectStVo;
import org.dromara.eims.domain.vo.EimsMaintOrderVo;
import org.dromara.eims.mapper.EimsInspectPlanMapper;
@@ -236,6 +240,19 @@
return baseMapper.updateById(update) > 0;
}
+ @Override
+ public Boolean updateBatchByBo(InspectRecordBo bo) {
+ LoginUser loginUser = LoginHelper.getLoginUser();
+ List<EimsInspectRecord> inspRecordList = MapstructUtils.convert(bo.getInspRecordList(), EimsInspectRecord.class);
+ inspRecordList.forEach(item->{
+ // 鏇存柊涓哄凡鐐规
+ item.setStatus(DictConstants.EIMS_INSPECT_STATUS_DETAIL.Y);
+ item.setInspTime(new Date());
+ item.setInspUser(loginUser.getUserId());
+ });
+ return baseMapper.updateBatchById(inspRecordList);
+ }
+
/**
* 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
*/
diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
index dc31019..6db24c0 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -21,6 +21,8 @@
import org.dromara.eims.service.IEimsInspectStService;
import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
@@ -59,23 +61,29 @@
*/
@Override
public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) {
+ bo.setType(bo.getViewMode());
// 鏈堣鍥�
- if(bo.getViewMode().equals("Month")){
+// if(bo.getViewMode().equals("Month")){
QueryWrapper<EimsInspectSt> qw = buildWrapper(bo);
Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw);
// 濉厖鏁版嵁
- fillStData(result);
+ fillStData(result,bo.getViewMode());
return TableDataInfo.build(result);
// 鏃ヨ鍥�
- }else if(bo.getViewMode().equals("Day")){
- Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
- return TableDataInfo.build(result);
- }
+// }else if(bo.getViewMode().equals("Day")){
+// Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
+// return TableDataInfo.build(result);
+// }
- return null;
+// return null;
}
- private void fillStData(Page<EimsInspectStVo> result) {
+ /**
+ *
+ * @param result
+ * @param type Day-鏃ヨ鍥� Month-鏈堣鍥�
+ */
+ private void fillStData(Page<EimsInspectStVo> result,String type) {
List<EimsInspectStVo> records = result.getRecords();
for (int i = 0; i < records.size(); i++) {
EimsInspectStVo stVo = records.get(i);
@@ -84,9 +92,19 @@
LambdaQueryWrapper<EimsInspectRecord> recordLqw = Wrappers.lambdaQuery();
recordLqw.eq(EimsInspectRecord::getEquId, stVo.getEquId());
LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ // 鏈堣鍥炬煡璇㈣寖鍥�
LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
- recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
+
+ // 鏃ヨ鍥炬煡璇㈣寖鍥�
+ if(type.equals("Day")){
+ recordLqw.between(EimsInspectRecord::getPlanTime, planTime, planTime);
+ }else {
+ // 鏈堣鍥炬煡璇㈣寖鍥�
+ recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
+ }
+
+
// 鎵ц鏌ヨ
List<EimsInspectRecordVo> recordList = recordMapper.selectVoList(recordLqw);
// TODO 鏍规嵁瀛楀吀eims_inspect_status
@@ -96,7 +114,7 @@
// TODO 鏍规嵁瀛楀吀eims_inspect_result
Map<String, Long> rMap = recordList.stream()
.filter(order ->order.getInspResult()!=null && List.of("1", "2").contains(order.getInspResult()))
- .collect(Collectors.groupingBy(EimsInspectRecordVo::getStatus, Collectors.counting()));
+ .collect(Collectors.groupingBy(EimsInspectRecordVo::getInspResult, Collectors.counting()));
stVo.setRecordCount(recordList.size());
stVo.setUnCheckCount(cMap.getOrDefault("0", 0L).intValue());
@@ -157,6 +175,7 @@
qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+ qw.eq( "st.type", bo.getType());
qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
"st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
qw.eq(bo.getInspUser() != null, "st.maint_user", bo.getInspUser());
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml
index bf14d6a..b37e221 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectRecordMapper.xml
@@ -21,7 +21,7 @@
${ew.getCustomSqlSegment}
</select>
-
+ <!--TODO 鏃ヨ鍥惧拰鏈堣鍥剧粺涓�鎺ュ彛锛屽緟鍒犻櫎-->
<select id="selectInspRecordDayList" resultMap="EimsInspectStVoResult">
SELECT
MAX(ir.id) id,
diff --git a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml
index b9540eb..ec07300 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml
+++ b/eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsInspectStMapper.xml
@@ -6,7 +6,7 @@
<resultMap type="org.dromara.eims.domain.vo.EimsInspectStVo" id="MaintInspStVoResult">
</resultMap>
<select id="selectInspStList" resultMap="MaintInspStVoResult">
- SELECT st.*,equ.equ_name equName,equ.asset_no assetNo, DATE_FORMAT(st.plan_time, '%Y-%m') as planTimeStr FROM eims_inspect_st st
+ SELECT st.*,equ.equ_name equName,equ.asset_no assetNo, DATE_FORMAT(st.plan_time, '%Y-%m-%d') as planTimeStr FROM eims_inspect_st st
LEFT JOIN eims_equ equ on st.equ_id = equ.equ_id
${ew.getCustomSqlSegment}
</select>
--
Gitblit v1.9.3