Showing
7 changed files
with
344 additions
and
354 deletions
@@ -12,6 +12,7 @@ export default { | @@ -12,6 +12,7 @@ export default { | ||
12 | typeText: '方案类型', | 12 | typeText: '方案类型', |
13 | inspectionText: '巡检方案', | 13 | inspectionText: '巡检方案', |
14 | maintenanceText: '保养方案', | 14 | maintenanceText: '保养方案', |
15 | + DRAFT: '草稿', | ||
15 | SCHEDULING: '排期中', | 16 | SCHEDULING: '排期中', |
16 | REPAIRFINISH: '维修完成', | 17 | REPAIRFINISH: '维修完成', |
17 | ACCEPTANCEPASSED: '验收通过', | 18 | ACCEPTANCEPASSED: '验收通过', |
@@ -14,8 +14,10 @@ | @@ -14,8 +14,10 @@ | ||
14 | record.status == 'NOT_START' | 14 | record.status == 'NOT_START' |
15 | ? 'yellow' | 15 | ? 'yellow' |
16 | : record.status == 'UNDERWAY' | 16 | : record.status == 'UNDERWAY' |
17 | - ? 'blue': record.status == 'FINISH' | ||
18 | - ? 'green': 'red' | 17 | + ? 'blue' |
18 | + : record.status == 'FINISH' | ||
19 | + ? 'green' | ||
20 | + : 'red' | ||
19 | " | 21 | " |
20 | class="ml-2" | 22 | class="ml-2" |
21 | > | 23 | > |
@@ -66,7 +68,7 @@ | @@ -66,7 +68,7 @@ | ||
66 | ifShow: () => record.status === 'NOT_START' || record.status === 'UNDERWAY', | 68 | ifShow: () => record.status === 'NOT_START' || record.status === 'UNDERWAY', |
67 | popConfirm: { | 69 | popConfirm: { |
68 | title: t('common.stopConfirmText'), | 70 | title: t('common.stopConfirmText'), |
69 | - confirm: handleUpdateStatus.bind(null, record,'STOP'), | 71 | + confirm: handleUpdateStatus.bind(null, record, 'STOP'), |
70 | }, | 72 | }, |
71 | }, | 73 | }, |
72 | { | 74 | { |
@@ -93,147 +95,27 @@ | @@ -93,147 +95,27 @@ | ||
93 | </div> | 95 | </div> |
94 | </template> | 96 | </template> |
95 | <script setup lang="ts"> | 97 | <script setup lang="ts"> |
96 | -import { BasicTable, useTable, TableAction } from '/@/components/Table'; | ||
97 | -import { | ||
98 | - deleteInspectionPlan, | ||
99 | - getInspectionPlanList, | ||
100 | - getInsPlanDetail, | ||
101 | - updateInspectionStatus, updateInsStatus | ||
102 | -} from '/@/api/inspection/inspectionPlan'; | ||
103 | -import { columns, searchFormSchema } from './index'; | ||
104 | -import { useI18n } from '/@/hooks/web/useI18n'; | ||
105 | -import {Button, message, Tag} from 'ant-design-vue'; | ||
106 | -import {useMessage} from "/@/hooks/web/useMessage"; | ||
107 | -import { insPlanModal } from "./components/index" | ||
108 | -import {ref} from "vue"; | ||
109 | -import {dateFormat} from "/@/utils/common/compUtils"; | ||
110 | -const { t } = useI18n(); | ||
111 | -const { createMessage } = useMessage(); | ||
112 | -const modalVisible = ref(false); | ||
113 | -const isViewMode = ref(false); | ||
114 | -const modalTitle = ref(''); | ||
115 | -const initialData = ref({ | ||
116 | - form: { | ||
117 | - code: '', | ||
118 | - name: '', | ||
119 | - status: '', | ||
120 | - enabled: '', | ||
121 | - startTime: '', | ||
122 | - endTime: '', | ||
123 | - remark: '', | ||
124 | - }, | ||
125 | - tableData: [], | ||
126 | -}); | ||
127 | - | ||
128 | -const [ | ||
129 | - registerTable, | ||
130 | - { reload, setLoading, setSelectedRowKeys }, | ||
131 | -] = useTable({ | ||
132 | - title: t('inspection.inspectionPlan.listText'), | ||
133 | - api: getInspectionPlanList, | ||
134 | - columns, | ||
135 | - formConfig: { | ||
136 | - labelWidth: 100, | ||
137 | - schemas: searchFormSchema, | ||
138 | - }, | ||
139 | - immediate: true, | ||
140 | - useSearchForm: true, | ||
141 | - showTableSetting: true, | ||
142 | - bordered: true, | ||
143 | - showIndexColumn: false, | ||
144 | - clickToRowSelect: false, | ||
145 | - rowKey: 'id', | ||
146 | - actionColumn: { | ||
147 | - width: 360, | ||
148 | - title: t('common.actionText'), | ||
149 | - slots: { customRender: 'action' }, | ||
150 | - fixed: 'right', | ||
151 | - }, | ||
152 | -}); | ||
153 | - | ||
154 | -const handleDelete = async (record?: any) => { | ||
155 | - let id = record.id; | ||
156 | - try { | ||
157 | - setLoading(true); | ||
158 | - await deleteInspectionPlan({ id }); | ||
159 | - createMessage.success(t('common.deleteSuccessText')); | ||
160 | - handleReload(); | ||
161 | - } catch (error) { | ||
162 | - throw error; | ||
163 | - } finally { | ||
164 | - setLoading(false); | ||
165 | - } | ||
166 | -}; | ||
167 | - | ||
168 | -const handleReload = () => { | ||
169 | - setSelectedRowKeys([]); | ||
170 | - reload(); | ||
171 | -}; | ||
172 | - | ||
173 | -const handleUpdateStatus = async (record?: any,value?: string) => { | ||
174 | - let id = record.id; | ||
175 | - let status = ''; | ||
176 | - if (record.status === 'NOT_START') { | ||
177 | - status = 'UNDERWAY' | ||
178 | - }else if(record.status === 'UNDERWAY'){ | ||
179 | - status = 'FINISH' | ||
180 | - }else if(record.status === 'FINISH'){ | ||
181 | - status = 'STOP' | ||
182 | - } | ||
183 | - if (value === 'STOP') { | ||
184 | - status = 'STOP' | ||
185 | - } | ||
186 | - try { | ||
187 | - setLoading(true); | ||
188 | - await updateInsStatus({ id,status }); | ||
189 | - createMessage.success(t('common.editSuccessText')); | ||
190 | - handleReload(); | ||
191 | - } catch (error) { | ||
192 | - throw error; | ||
193 | - } finally { | ||
194 | - setLoading(false); | ||
195 | - } | ||
196 | -} | ||
197 | - | ||
198 | -const handleViewDetail = async (record?: any) => { | ||
199 | - let id = record.id; | ||
200 | - modalTitle.value = '查看'; | ||
201 | - try { | ||
202 | - const response = await getInsPlanDetail({id}) | ||
203 | - initialData.value = { | ||
204 | - form: response, // 表单数据 | ||
205 | - tableData: response.tkCheckDetailsDTOList, // 表格数据 | ||
206 | - }; | ||
207 | - modalVisible.value = true; // 打开弹框 | ||
208 | - isViewMode.value = true; | ||
209 | - }catch (error) { | ||
210 | - throw error; | ||
211 | - }finally { | ||
212 | - | ||
213 | - } | ||
214 | -} | ||
215 | - | ||
216 | -const handleEdit = async (record?: any) => { | ||
217 | - let id = record.id; | ||
218 | - modalTitle.value = '修改'; | ||
219 | - try { | ||
220 | - const response = await getInsPlanDetail({id}) | ||
221 | - initialData.value = { | ||
222 | - form: response, // 表单数据 | ||
223 | - tableData: response.tkCheckDetailsDTOList, // 表格数据 | ||
224 | - }; | ||
225 | - modalVisible.value = true; // 打开弹框 | ||
226 | - }catch (error) { | ||
227 | - throw error; | ||
228 | - }finally { | ||
229 | - | ||
230 | - } | ||
231 | -} | ||
232 | - | ||
233 | -// 新增 | ||
234 | -const handleCreate = () => { | ||
235 | - modalTitle.value = '新增'; | ||
236 | - initialData.value = { | 98 | + import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
99 | + import { | ||
100 | + deleteInspectionPlan, | ||
101 | + getInspectionPlanList, | ||
102 | + getInsPlanDetail, | ||
103 | + updateInspectionStatus, | ||
104 | + updateInsStatus, | ||
105 | + } from '/@/api/inspection/inspectionPlan'; | ||
106 | + import { columns, searchFormSchema } from './index'; | ||
107 | + import { useI18n } from '/@/hooks/web/useI18n'; | ||
108 | + import { Button, message, Tag } from 'ant-design-vue'; | ||
109 | + import { useMessage } from '/@/hooks/web/useMessage'; | ||
110 | + import { insPlanModal } from './components/index'; | ||
111 | + import { ref } from 'vue'; | ||
112 | + import { dateFormat } from '/@/utils/common/compUtils'; | ||
113 | + const { t } = useI18n(); | ||
114 | + const { createMessage } = useMessage(); | ||
115 | + const modalVisible = ref(false); | ||
116 | + const isViewMode = ref(false); | ||
117 | + const modalTitle = ref(''); | ||
118 | + const initialData = ref({ | ||
237 | form: { | 119 | form: { |
238 | code: '', | 120 | code: '', |
239 | name: '', | 121 | name: '', |
@@ -244,22 +126,137 @@ const handleCreate = () => { | @@ -244,22 +126,137 @@ const handleCreate = () => { | ||
244 | remark: '', | 126 | remark: '', |
245 | }, | 127 | }, |
246 | tableData: [], | 128 | tableData: [], |
247 | - } | ||
248 | - modalVisible.value = true; | ||
249 | -}; | 129 | + }); |
130 | + | ||
131 | + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({ | ||
132 | + title: t('inspection.inspectionPlan.listText'), | ||
133 | + api: getInspectionPlanList, | ||
134 | + columns, | ||
135 | + formConfig: { | ||
136 | + labelWidth: 100, | ||
137 | + schemas: searchFormSchema, | ||
138 | + }, | ||
139 | + immediate: true, | ||
140 | + useSearchForm: true, | ||
141 | + showTableSetting: true, | ||
142 | + bordered: true, | ||
143 | + showIndexColumn: false, | ||
144 | + clickToRowSelect: false, | ||
145 | + rowKey: 'id', | ||
146 | + actionColumn: { | ||
147 | + width: 360, | ||
148 | + title: t('common.actionText'), | ||
149 | + slots: { customRender: 'action' }, | ||
150 | + fixed: 'right', | ||
151 | + }, | ||
152 | + }); | ||
153 | + | ||
154 | + const handleDelete = async (record?: any) => { | ||
155 | + let id = record.id; | ||
156 | + try { | ||
157 | + setLoading(true); | ||
158 | + await deleteInspectionPlan({ id }); | ||
159 | + createMessage.success(t('common.deleteSuccessText')); | ||
160 | + handleReload(); | ||
161 | + } catch (error) { | ||
162 | + throw error; | ||
163 | + } finally { | ||
164 | + setLoading(false); | ||
165 | + } | ||
166 | + }; | ||
167 | + | ||
168 | + const handleReload = () => { | ||
169 | + setSelectedRowKeys([]); | ||
170 | + reload(); | ||
171 | + }; | ||
250 | 172 | ||
251 | -const handleSubmit = async (data) => { | ||
252 | - const format = 'yyyy-MM-dd hh:mm:ss'; | ||
253 | - const _data = { | ||
254 | - ...data, | ||
255 | - startTime: dateFormat(data?.startTime, format), | ||
256 | - endTime: dateFormat(data?.endTime, format), | ||
257 | - } | ||
258 | - modalVisible.value = false; | ||
259 | - await updateInspectionStatus(_data) | ||
260 | - message.success('提交成功'); | ||
261 | - handleReload() | ||
262 | -}; | 173 | + const handleUpdateStatus = async (record?: any, value?: string) => { |
174 | + let id = record.id; | ||
175 | + let status = ''; | ||
176 | + if (record.status === 'NOT_START') { | ||
177 | + status = 'UNDERWAY'; | ||
178 | + } else if (record.status === 'UNDERWAY') { | ||
179 | + status = 'FINISH'; | ||
180 | + } else if (record.status === 'FINISH') { | ||
181 | + status = 'STOP'; | ||
182 | + } | ||
183 | + if (value === 'STOP') { | ||
184 | + status = 'STOP'; | ||
185 | + } | ||
186 | + try { | ||
187 | + setLoading(true); | ||
188 | + await updateInsStatus({ id, status }); | ||
189 | + createMessage.success(t('common.editSuccessText')); | ||
190 | + handleReload(); | ||
191 | + } catch (error) { | ||
192 | + throw error; | ||
193 | + } finally { | ||
194 | + setLoading(false); | ||
195 | + } | ||
196 | + }; | ||
263 | 197 | ||
198 | + const handleViewDetail = async (record?: any) => { | ||
199 | + let id = record.id; | ||
200 | + modalTitle.value = '查看'; | ||
201 | + try { | ||
202 | + const response = await getInsPlanDetail({ id }); | ||
203 | + initialData.value = { | ||
204 | + form: response, // 表单数据 | ||
205 | + tableData: response.tkCheckDetailsDTOList, // 表格数据 | ||
206 | + }; | ||
207 | + modalVisible.value = true; // 打开弹框 | ||
208 | + isViewMode.value = true; | ||
209 | + } catch (error) { | ||
210 | + throw error; | ||
211 | + } finally { | ||
212 | + } | ||
213 | + }; | ||
264 | 214 | ||
215 | + const handleEdit = async (record?: any) => { | ||
216 | + let id = record.id; | ||
217 | + modalTitle.value = '修改'; | ||
218 | + try { | ||
219 | + const response = await getInsPlanDetail({ id }); | ||
220 | + initialData.value = { | ||
221 | + form: response, // 表单数据 | ||
222 | + tableData: response.tkCheckDetailsDTOList, // 表格数据 | ||
223 | + }; | ||
224 | + modalVisible.value = true; // 打开弹框 | ||
225 | + isViewMode.value = false; | ||
226 | + } catch (error) { | ||
227 | + throw error; | ||
228 | + } finally { | ||
229 | + } | ||
230 | + }; | ||
231 | + | ||
232 | + // 新增 | ||
233 | + const handleCreate = () => { | ||
234 | + modalTitle.value = '新增'; | ||
235 | + initialData.value = { | ||
236 | + form: { | ||
237 | + code: '', | ||
238 | + name: '', | ||
239 | + status: '', | ||
240 | + enabled: '', | ||
241 | + startTime: '', | ||
242 | + endTime: '', | ||
243 | + remark: '', | ||
244 | + }, | ||
245 | + tableData: [], | ||
246 | + }; | ||
247 | + modalVisible.value = true; | ||
248 | + }; | ||
249 | + | ||
250 | + const handleSubmit = async (data) => { | ||
251 | + const format = 'yyyy-MM-dd hh:mm:ss'; | ||
252 | + const _data = { | ||
253 | + ...data, | ||
254 | + startTime: dateFormat(data?.startTime, format), | ||
255 | + endTime: dateFormat(data?.endTime, format), | ||
256 | + }; | ||
257 | + modalVisible.value = false; | ||
258 | + await updateInspectionStatus(_data); | ||
259 | + message.success('提交成功'); | ||
260 | + handleReload(); | ||
261 | + }; | ||
265 | </script> | 262 | </script> |
@@ -9,11 +9,8 @@ | @@ -9,11 +9,8 @@ | ||
9 | </Authority> | 9 | </Authority> |
10 | </template> | 10 | </template> |
11 | <template #recordResult="{ record }"> | 11 | <template #recordResult="{ record }"> |
12 | - <Tag | ||
13 | - :color="record.recordResult ? 'green' : 'red'" | ||
14 | - class="ml-2" | ||
15 | - > | ||
16 | - {{record.recordResult ? '正常' : '异常'}} | 12 | + <Tag :color="record.recordResult ? 'green' : 'red'" class="ml-2"> |
13 | + {{ record.recordResult ? '正常' : '异常' }} | ||
17 | </Tag> | 14 | </Tag> |
18 | </template> | 15 | </template> |
19 | <template #action="{ record }"> | 16 | <template #action="{ record }"> |
@@ -55,18 +52,19 @@ | @@ -55,18 +52,19 @@ | ||
55 | </div> | 52 | </div> |
56 | </template> | 53 | </template> |
57 | <script setup lang="ts"> | 54 | <script setup lang="ts"> |
58 | - import {ref} from "vue"; | 55 | + import { ref } from 'vue'; |
59 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; | 56 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
60 | import { | 57 | import { |
61 | getInspectionRecordList, | 58 | getInspectionRecordList, |
62 | deleteInsRecord, | 59 | deleteInsRecord, |
63 | - saveInsRecord, getInsRecordDetail | 60 | + saveInsRecord, |
61 | + getInsRecordDetail, | ||
64 | } from '/@/api/inspection/inspectionRecord'; | 62 | } from '/@/api/inspection/inspectionRecord'; |
65 | import { columns, searchFormSchema } from './index'; | 63 | import { columns, searchFormSchema } from './index'; |
66 | import { useI18n } from '/@/hooks/web/useI18n'; | 64 | import { useI18n } from '/@/hooks/web/useI18n'; |
67 | - import {Button, message, Tag} from 'ant-design-vue'; | ||
68 | - import {useMessage} from "/@/hooks/web/useMessage"; | ||
69 | - import { insRecordModal } from "./components/index" | 65 | + import { Button, message, Tag } from 'ant-design-vue'; |
66 | + import { useMessage } from '/@/hooks/web/useMessage'; | ||
67 | + import { insRecordModal } from './components/index'; | ||
70 | const { t } = useI18n(); | 68 | const { t } = useI18n(); |
71 | const { createMessage } = useMessage(); | 69 | const { createMessage } = useMessage(); |
72 | const modalVisible = ref(false); | 70 | const modalVisible = ref(false); |
@@ -84,10 +82,7 @@ | @@ -84,10 +82,7 @@ | ||
84 | }, | 82 | }, |
85 | tableData: [], | 83 | tableData: [], |
86 | }); | 84 | }); |
87 | - const [ | ||
88 | - registerTable, | ||
89 | - { reload, setLoading, setSelectedRowKeys, }, | ||
90 | - ] = useTable({ | 85 | + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({ |
91 | title: t('inspection.inspectionRecord.listText'), | 86 | title: t('inspection.inspectionRecord.listText'), |
92 | api: getInspectionRecordList, | 87 | api: getInspectionRecordList, |
93 | columns, | 88 | columns, |
@@ -136,9 +131,9 @@ | @@ -136,9 +131,9 @@ | ||
136 | orgId: '', | 131 | orgId: '', |
137 | }, | 132 | }, |
138 | tableData: [], | 133 | tableData: [], |
139 | - } | 134 | + }; |
140 | modalVisible.value = true; | 135 | modalVisible.value = true; |
141 | - } | 136 | + }; |
142 | 137 | ||
143 | const handleReload = () => { | 138 | const handleReload = () => { |
144 | setSelectedRowKeys([]); | 139 | setSelectedRowKeys([]); |
@@ -150,11 +145,11 @@ | @@ -150,11 +145,11 @@ | ||
150 | modalVisible.value = false; | 145 | modalVisible.value = false; |
151 | const _data = { | 146 | const _data = { |
152 | ...data, | 147 | ...data, |
153 | - checkDate: dateFormat(data?.checkDate, format) | ||
154 | - } | ||
155 | - await saveInsRecord(_data) | 148 | + checkDate: dateFormat(data?.checkDate, format), |
149 | + }; | ||
150 | + await saveInsRecord(_data); | ||
156 | message.success('提交成功'); | 151 | message.success('提交成功'); |
157 | - handleReload() | 152 | + handleReload(); |
158 | }; | 153 | }; |
159 | 154 | ||
160 | const handleViewDetail = async (record?: any) => { | 155 | const handleViewDetail = async (record?: any) => { |
@@ -163,32 +158,31 @@ | @@ -163,32 +158,31 @@ | ||
163 | modalVisible.value = true; // 打开弹框 | 158 | modalVisible.value = true; // 打开弹框 |
164 | isViewMode.value = true; | 159 | isViewMode.value = true; |
165 | try { | 160 | try { |
166 | - const response = await getInsRecordDetail({id}) | 161 | + const response = await getInsRecordDetail({ id }); |
167 | initialData.value = { | 162 | initialData.value = { |
168 | form: response, // 表单数据 | 163 | form: response, // 表单数据 |
169 | tableData: response.tkInspectionDetailsDTOList, // 表格数据 | 164 | tableData: response.tkInspectionDetailsDTOList, // 表格数据 |
170 | }; | 165 | }; |
171 | - }catch (error) { | 166 | + } catch (error) { |
172 | throw error; | 167 | throw error; |
173 | - }finally { | ||
174 | - | 168 | + } finally { |
175 | } | 169 | } |
176 | - } | 170 | + }; |
177 | 171 | ||
178 | const handleEdit = async (record?: any) => { | 172 | const handleEdit = async (record?: any) => { |
179 | let id = record.id; | 173 | let id = record.id; |
180 | modalTitle.value = '修改'; | 174 | modalTitle.value = '修改'; |
181 | try { | 175 | try { |
182 | - const response = await getInsRecordDetail({id}) | 176 | + const response = await getInsRecordDetail({ id }); |
183 | initialData.value = { | 177 | initialData.value = { |
184 | form: response, // 表单数据 | 178 | form: response, // 表单数据 |
185 | tableData: response.tkInspectionDetailsDTOList, // 表格数据 | 179 | tableData: response.tkInspectionDetailsDTOList, // 表格数据 |
186 | }; | 180 | }; |
187 | modalVisible.value = true; // 打开弹框 | 181 | modalVisible.value = true; // 打开弹框 |
188 | - }catch (error) { | 182 | + isViewMode.value = false; |
183 | + } catch (error) { | ||
189 | throw error; | 184 | throw error; |
190 | - }finally { | 185 | + } finally { |
191 | } | 186 | } |
192 | - } | ||
193 | - | 187 | + }; |
194 | </script> | 188 | </script> |
@@ -14,8 +14,10 @@ | @@ -14,8 +14,10 @@ | ||
14 | record.status == 'NOTSTART' | 14 | record.status == 'NOTSTART' |
15 | ? 'red' | 15 | ? 'red' |
16 | : record.status == 'UNDERWAY' | 16 | : record.status == 'UNDERWAY' |
17 | - ? 'blue': record.status == 'COMPLETED' | ||
18 | - ? 'green': 'yellow' | 17 | + ? 'blue' |
18 | + : record.status == 'COMPLETED' | ||
19 | + ? 'green' | ||
20 | + : 'yellow' | ||
19 | " | 21 | " |
20 | class="ml-2" | 22 | class="ml-2" |
21 | > | 23 | > |
@@ -66,7 +68,7 @@ | @@ -66,7 +68,7 @@ | ||
66 | ifShow: () => record.status === 'NOTSTART' || record.status === 'UNDERWAY', | 68 | ifShow: () => record.status === 'NOTSTART' || record.status === 'UNDERWAY', |
67 | popConfirm: { | 69 | popConfirm: { |
68 | title: t('common.stopConfirmText'), | 70 | title: t('common.stopConfirmText'), |
69 | - confirm: handleUpdateStatus.bind(null, record,'STOP'), | 71 | + confirm: handleUpdateStatus.bind(null, record, 'STOP'), |
70 | }, | 72 | }, |
71 | }, | 73 | }, |
72 | { | 74 | { |
@@ -90,19 +92,24 @@ | @@ -90,19 +92,24 @@ | ||
90 | @submit="handleSubmit" | 92 | @submit="handleSubmit" |
91 | :title="modalTitle" | 93 | :title="modalTitle" |
92 | /> | 94 | /> |
93 | - | ||
94 | </div> | 95 | </div> |
95 | </template> | 96 | </template> |
96 | <script setup lang="ts"> | 97 | <script setup lang="ts"> |
97 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; | 98 | import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
98 | - import {deleteServePlan, getServicePlanList, updateServiceStatus, savePreservePlan, getPreserveDetail} from '/@/api/inspection/servicePlan'; | ||
99 | - import { servicePlanModal } from "./components/index" | 99 | + import { |
100 | + deleteServePlan, | ||
101 | + getServicePlanList, | ||
102 | + updateServiceStatus, | ||
103 | + savePreservePlan, | ||
104 | + getPreserveDetail, | ||
105 | + } from '/@/api/inspection/servicePlan'; | ||
106 | + import { servicePlanModal } from './components/index'; | ||
100 | import { columns, searchFormSchema } from './index'; | 107 | import { columns, searchFormSchema } from './index'; |
101 | import { useI18n } from '/@/hooks/web/useI18n'; | 108 | import { useI18n } from '/@/hooks/web/useI18n'; |
102 | - import {Button, Tag} from 'ant-design-vue'; | ||
103 | - import {useMessage} from "/@/hooks/web/useMessage"; | 109 | + import { Button, Tag } from 'ant-design-vue'; |
110 | + import { useMessage } from '/@/hooks/web/useMessage'; | ||
104 | const { t } = useI18n(); | 111 | const { t } = useI18n(); |
105 | - import { ref } from "vue" | 112 | + import { ref } from 'vue'; |
106 | const { createMessage } = useMessage(); | 113 | const { createMessage } = useMessage(); |
107 | const modalVisible = ref(false); | 114 | const modalVisible = ref(false); |
108 | const isViewMode = ref(false); | 115 | const isViewMode = ref(false); |
@@ -117,10 +124,7 @@ | @@ -117,10 +124,7 @@ | ||
117 | }, | 124 | }, |
118 | tableData: [], | 125 | tableData: [], |
119 | }); | 126 | }); |
120 | - const [ | ||
121 | - registerTable, | ||
122 | - { reload, setLoading, setSelectedRowKeys, }, | ||
123 | - ] = useTable({ | 127 | + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({ |
124 | title: t('inspection.servicePlan.listText'), | 128 | title: t('inspection.servicePlan.listText'), |
125 | api: getServicePlanList, | 129 | api: getServicePlanList, |
126 | columns, | 130 | columns, |
@@ -155,15 +159,15 @@ | @@ -155,15 +159,15 @@ | ||
155 | frequency: '', | 159 | frequency: '', |
156 | }, | 160 | }, |
157 | tableData: [], | 161 | tableData: [], |
158 | - } | 162 | + }; |
159 | modalVisible.value = true; | 163 | modalVisible.value = true; |
160 | }; | 164 | }; |
161 | 165 | ||
162 | const handleSubmit = async (data) => { | 166 | const handleSubmit = async (data) => { |
163 | modalVisible.value = false; | 167 | modalVisible.value = false; |
164 | - await savePreservePlan(data) | 168 | + await savePreservePlan(data); |
165 | createMessage.success('提交成功'); | 169 | createMessage.success('提交成功'); |
166 | - handleReload() | 170 | + handleReload(); |
167 | }; | 171 | }; |
168 | 172 | ||
169 | const handleReload = () => { | 173 | const handleReload = () => { |
@@ -175,36 +179,35 @@ | @@ -175,36 +179,35 @@ | ||
175 | let id = record.id; | 179 | let id = record.id; |
176 | modalTitle.value = '查看'; | 180 | modalTitle.value = '查看'; |
177 | try { | 181 | try { |
178 | - const response = await getPreserveDetail({id}) | 182 | + const response = await getPreserveDetail({ id }); |
179 | initialData.value = { | 183 | initialData.value = { |
180 | form: response, // 表单数据 | 184 | form: response, // 表单数据 |
181 | tableData: response.preserveDetailList, // 表格数据 | 185 | tableData: response.preserveDetailList, // 表格数据 |
182 | }; | 186 | }; |
183 | modalVisible.value = true; // 打开弹框 | 187 | modalVisible.value = true; // 打开弹框 |
184 | isViewMode.value = true; | 188 | isViewMode.value = true; |
185 | - }catch (error) { | 189 | + } catch (error) { |
186 | throw error; | 190 | throw error; |
187 | - }finally { | ||
188 | - | 191 | + } finally { |
189 | } | 192 | } |
190 | - } | ||
191 | - | 193 | + }; |
194 | + | ||
192 | const handleEdit = async (record?: any) => { | 195 | const handleEdit = async (record?: any) => { |
193 | let id = record.id; | 196 | let id = record.id; |
194 | modalTitle.value = '修改'; | 197 | modalTitle.value = '修改'; |
195 | try { | 198 | try { |
196 | - const response = await getPreserveDetail({id}) | 199 | + const response = await getPreserveDetail({ id }); |
197 | initialData.value = { | 200 | initialData.value = { |
198 | form: response, // 表单数据 | 201 | form: response, // 表单数据 |
199 | tableData: response.preserveDetailList, // 表格数据 | 202 | tableData: response.preserveDetailList, // 表格数据 |
200 | }; | 203 | }; |
201 | modalVisible.value = true; // 打开弹框 | 204 | modalVisible.value = true; // 打开弹框 |
202 | - }catch (error) { | 205 | + isViewMode.value = false; |
206 | + } catch (error) { | ||
203 | throw error; | 207 | throw error; |
204 | - }finally { | ||
205 | - | 208 | + } finally { |
206 | } | 209 | } |
207 | - } | 210 | + }; |
208 | 211 | ||
209 | const handleDelete = async (record?: any) => { | 212 | const handleDelete = async (record?: any) => { |
210 | let id = record.id; | 213 | let id = record.id; |
@@ -220,22 +223,22 @@ | @@ -220,22 +223,22 @@ | ||
220 | } | 223 | } |
221 | }; | 224 | }; |
222 | 225 | ||
223 | - const handleUpdateStatus = async (record?: any,value?: string) => { | 226 | + const handleUpdateStatus = async (record?: any, value?: string) => { |
224 | let id = record.id; | 227 | let id = record.id; |
225 | let status = ''; | 228 | let status = ''; |
226 | if (record.status === 'NOTSTART') { | 229 | if (record.status === 'NOTSTART') { |
227 | - status = 'UNDERWAY' | ||
228 | - }else if(record.status === 'UNDERWAY'){ | ||
229 | - status = 'COMPLETED' | ||
230 | - }else if(record.status === 'COMPLETED'){ | ||
231 | - status = 'STOP' | 230 | + status = 'UNDERWAY'; |
231 | + } else if (record.status === 'UNDERWAY') { | ||
232 | + status = 'COMPLETED'; | ||
233 | + } else if (record.status === 'COMPLETED') { | ||
234 | + status = 'STOP'; | ||
232 | } | 235 | } |
233 | if (value === 'STOP') { | 236 | if (value === 'STOP') { |
234 | - status = 'STOP' | 237 | + status = 'STOP'; |
235 | } | 238 | } |
236 | try { | 239 | try { |
237 | setLoading(true); | 240 | setLoading(true); |
238 | - await updateServiceStatus({ id,status }); | 241 | + await updateServiceStatus({ id, status }); |
239 | createMessage.success(t('common.editSuccessText')); | 242 | createMessage.success(t('common.editSuccessText')); |
240 | handleReload(); | 243 | handleReload(); |
241 | } catch (error) { | 244 | } catch (error) { |
@@ -243,6 +246,5 @@ | @@ -243,6 +246,5 @@ | ||
243 | } finally { | 246 | } finally { |
244 | setLoading(false); | 247 | setLoading(false); |
245 | } | 248 | } |
246 | - } | ||
247 | - | 249 | + }; |
248 | </script> | 250 | </script> |
1 | import { FormSchema } from '/@/components/Form'; | 1 | import { FormSchema } from '/@/components/Form'; |
2 | import { useI18n } from '/@/hooks/web/useI18n'; | 2 | import { useI18n } from '/@/hooks/web/useI18n'; |
3 | import { BasicColumn } from '/@/components/Table'; | 3 | import { BasicColumn } from '/@/components/Table'; |
4 | -import {getServicePlanList} from "/@/api/inspection/servicePlan"; | 4 | +import { getServicePlanList } from '/@/api/inspection/servicePlan'; |
5 | const { t } = useI18n(); | 5 | const { t } = useI18n(); |
6 | 6 | ||
7 | - | ||
8 | const statusOptions = [ | 7 | const statusOptions = [ |
9 | { label: t('inspection.serviceRecord.INCOMPLETE'), value: 'INCOMPLETE' }, | 8 | { label: t('inspection.serviceRecord.INCOMPLETE'), value: 'INCOMPLETE' }, |
10 | { label: t('inspection.serviceRecord.COMPLETE'), value: 'COMPLETE' }, | 9 | { label: t('inspection.serviceRecord.COMPLETE'), value: 'COMPLETE' }, |
@@ -60,9 +59,7 @@ export const columns: BasicColumn[] = [ | @@ -60,9 +59,7 @@ export const columns: BasicColumn[] = [ | ||
60 | dataIndex: 'preserveDate', | 59 | dataIndex: 'preserveDate', |
61 | }, | 60 | }, |
62 | { | 61 | { |
63 | - title: t('inspection.serviceRecord.preserveByName'), | ||
64 | dataIndex: 'preserveByName', | 62 | dataIndex: 'preserveByName', |
65 | - | ||
66 | }, | 63 | }, |
67 | { | 64 | { |
68 | title: t('inspection.serviceRecord.preserveNameText'), | 65 | title: t('inspection.serviceRecord.preserveNameText'), |
@@ -12,8 +12,10 @@ | @@ -12,8 +12,10 @@ | ||
12 | <Tag | 12 | <Tag |
13 | :color=" | 13 | :color=" |
14 | record.status == 'INCOMPLETE' | 14 | record.status == 'INCOMPLETE' |
15 | - ? 'red': record.status == 'COMPLETED' | ||
16 | - ? 'green': 'yellow' | 15 | + ? 'red' |
16 | + : record.status == 'COMPLETED' | ||
17 | + ? 'green' | ||
18 | + : 'yellow' | ||
17 | " | 19 | " |
18 | class="ml-2" | 20 | class="ml-2" |
19 | > | 21 | > |
@@ -59,85 +61,26 @@ | @@ -59,85 +61,26 @@ | ||
59 | </div> | 61 | </div> |
60 | </template> | 62 | </template> |
61 | <script setup lang="ts"> | 63 | <script setup lang="ts"> |
62 | -import { BasicTable, useTable, TableAction } from '/@/components/Table'; | ||
63 | -import { | ||
64 | - getServiceRecordList, | ||
65 | - deleteServeRecord, | ||
66 | - savePreserveRecord, getRecordDetail | ||
67 | -} from '/@/api/inspection/serviceRecord'; | ||
68 | -import { columns, searchFormSchema } from './index'; | ||
69 | -import { useI18n } from '/@/hooks/web/useI18n'; | ||
70 | -import {Button, message, Tag} from 'ant-design-vue'; | ||
71 | -import {useMessage} from "/@/hooks/web/useMessage"; | ||
72 | -import { serviceRecordModal } from "./components/index" | ||
73 | -import {ref} from "vue"; | ||
74 | -const { t } = useI18n(); | ||
75 | -const { createMessage } = useMessage(); | ||
76 | -const modalVisible = ref(false); | ||
77 | -const isViewMode = ref(false); | ||
78 | -const modalTitle = ref(''); | ||
79 | -import { dateFormat } from '/@/utils/common/compUtils'; | ||
80 | -const initialData = ref({ | ||
81 | - form: { | ||
82 | - recordCode: '', | ||
83 | - preservePlanId: '', | ||
84 | - preserveStatus: '', | ||
85 | - preserveBy: '', | ||
86 | - preserveByName: '', | ||
87 | - preserveDate: '', | ||
88 | - orgId: '', | ||
89 | - }, | ||
90 | - tableData: [], | ||
91 | -}); | ||
92 | - | ||
93 | -const [ | ||
94 | - registerTable, | ||
95 | - { reload, setLoading, setSelectedRowKeys, }, | ||
96 | -] = useTable({ | ||
97 | - title: t('inspection.serviceRecord.listText'), | ||
98 | - api: getServiceRecordList, | ||
99 | - columns, | ||
100 | - formConfig: { | ||
101 | - labelWidth: 100, | ||
102 | - schemas: searchFormSchema, | ||
103 | - }, | ||
104 | - immediate: true, | ||
105 | - useSearchForm: true, | ||
106 | - showTableSetting: true, | ||
107 | - bordered: true, | ||
108 | - showIndexColumn: false, | ||
109 | - clickToRowSelect: false, | ||
110 | - rowKey: 'id', | ||
111 | - actionColumn: { | ||
112 | - width: 230, | ||
113 | - title: t('common.actionText'), | ||
114 | - slots: { customRender: 'action' }, | ||
115 | - fixed: 'right', | ||
116 | - }, | ||
117 | -}); | ||
118 | - | ||
119 | -const handleDelete = async (record?: any) => { | ||
120 | - let id = record.id; | ||
121 | - try { | ||
122 | - setLoading(true); | ||
123 | - await deleteServeRecord({ id }); | ||
124 | - createMessage.success(t('common.deleteSuccessText')); | ||
125 | - handleReload(); | ||
126 | - } catch (error) { | ||
127 | - throw error; | ||
128 | - } finally { | ||
129 | - setLoading(false); | ||
130 | - } | ||
131 | -}; | ||
132 | - | ||
133 | -const handleReload = () => { | ||
134 | - setSelectedRowKeys([]); | ||
135 | - reload(); | ||
136 | -}; | ||
137 | - | ||
138 | -const handleCreate = () => { | ||
139 | - modalTitle.value = '新增'; | ||
140 | - initialData.value = { | 64 | + import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
65 | + import { | ||
66 | + getServiceRecordList, | ||
67 | + deleteServeRecord, | ||
68 | + savePreserveRecord, | ||
69 | + getRecordDetail, | ||
70 | + } from '/@/api/inspection/serviceRecord'; | ||
71 | + import { columns, searchFormSchema } from './index'; | ||
72 | + import { useI18n } from '/@/hooks/web/useI18n'; | ||
73 | + import { Button, message, Tag } from 'ant-design-vue'; | ||
74 | + import { useMessage } from '/@/hooks/web/useMessage'; | ||
75 | + import { serviceRecordModal } from './components/index'; | ||
76 | + import { ref } from 'vue'; | ||
77 | + const { t } = useI18n(); | ||
78 | + const { createMessage } = useMessage(); | ||
79 | + const modalVisible = ref(false); | ||
80 | + const isViewMode = ref(false); | ||
81 | + const modalTitle = ref(''); | ||
82 | + import { dateFormat } from '/@/utils/common/compUtils'; | ||
83 | + const initialData = ref({ | ||
141 | form: { | 84 | form: { |
142 | recordCode: '', | 85 | recordCode: '', |
143 | preservePlanId: '', | 86 | preservePlanId: '', |
@@ -148,55 +91,110 @@ const handleCreate = () => { | @@ -148,55 +91,110 @@ const handleCreate = () => { | ||
148 | orgId: '', | 91 | orgId: '', |
149 | }, | 92 | }, |
150 | tableData: [], | 93 | tableData: [], |
151 | - } | ||
152 | - modalVisible.value = true; | ||
153 | -} | 94 | + }); |
95 | + | ||
96 | + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({ | ||
97 | + title: t('inspection.serviceRecord.listText'), | ||
98 | + api: getServiceRecordList, | ||
99 | + columns, | ||
100 | + formConfig: { | ||
101 | + labelWidth: 100, | ||
102 | + schemas: searchFormSchema, | ||
103 | + }, | ||
104 | + immediate: true, | ||
105 | + useSearchForm: true, | ||
106 | + showTableSetting: true, | ||
107 | + bordered: true, | ||
108 | + showIndexColumn: false, | ||
109 | + clickToRowSelect: false, | ||
110 | + rowKey: 'id', | ||
111 | + actionColumn: { | ||
112 | + width: 230, | ||
113 | + title: t('common.actionText'), | ||
114 | + slots: { customRender: 'action' }, | ||
115 | + fixed: 'right', | ||
116 | + }, | ||
117 | + }); | ||
118 | + | ||
119 | + const handleDelete = async (record?: any) => { | ||
120 | + let id = record.id; | ||
121 | + try { | ||
122 | + setLoading(true); | ||
123 | + await deleteServeRecord({ id }); | ||
124 | + createMessage.success(t('common.deleteSuccessText')); | ||
125 | + handleReload(); | ||
126 | + } catch (error) { | ||
127 | + throw error; | ||
128 | + } finally { | ||
129 | + setLoading(false); | ||
130 | + } | ||
131 | + }; | ||
154 | 132 | ||
155 | -const handleSubmit = async (data) => { | ||
156 | - const format = 'yyyy-MM-dd hh:mm:ss'; | ||
157 | - modalVisible.value = false; | ||
158 | - const _data = { | ||
159 | - ...data, | ||
160 | - preserveDate: dateFormat(data?.preserveDate, format) | ||
161 | - } | ||
162 | - await savePreserveRecord(_data) | ||
163 | - message.success('提交成功'); | ||
164 | - handleReload() | ||
165 | -}; | 133 | + const handleReload = () => { |
134 | + setSelectedRowKeys([]); | ||
135 | + reload(); | ||
136 | + }; | ||
166 | 137 | ||
167 | -const handleEdit = async (record?: any) => { | ||
168 | - let id = record.id; | ||
169 | - modalTitle.value = '修改'; | ||
170 | - try { | ||
171 | - const response = await getRecordDetail({id}) | 138 | + const handleCreate = () => { |
139 | + modalTitle.value = '新增'; | ||
172 | initialData.value = { | 140 | initialData.value = { |
173 | - form: response, // 表单数据 | ||
174 | - tableData: response.preserveDetailStatusList, // 表格数据 | 141 | + form: { |
142 | + recordCode: '', | ||
143 | + preservePlanId: '', | ||
144 | + preserveStatus: '', | ||
145 | + preserveBy: '', | ||
146 | + preserveByName: '', | ||
147 | + preserveDate: '', | ||
148 | + orgId: '', | ||
149 | + }, | ||
150 | + tableData: [], | ||
175 | }; | 151 | }; |
176 | - modalVisible.value = true; // 打开弹框 | ||
177 | - }catch (error) { | ||
178 | - throw error; | ||
179 | - }finally { | 152 | + modalVisible.value = true; |
153 | + }; | ||
180 | 154 | ||
181 | - } | ||
182 | -} | ||
183 | - | ||
184 | -const handleViewDetail = async (record?: any) => { | ||
185 | - let id = record.id; | ||
186 | - modalTitle.value = '查看'; | ||
187 | - try { | ||
188 | - const response = await getRecordDetail({id}) | ||
189 | - initialData.value = { | ||
190 | - form: response, // 表单数据 | ||
191 | - tableData: response.preserveDetailStatusList, // 表格数据 | 155 | + const handleSubmit = async (data) => { |
156 | + const format = 'yyyy-MM-dd hh:mm:ss'; | ||
157 | + modalVisible.value = false; | ||
158 | + const _data = { | ||
159 | + ...data, | ||
160 | + preserveDate: dateFormat(data?.preserveDate, format), | ||
192 | }; | 161 | }; |
193 | - modalVisible.value = true; // 打开弹框 | ||
194 | - isViewMode.value = true; | ||
195 | - }catch (error) { | ||
196 | - throw error; | ||
197 | - }finally { | 162 | + await savePreserveRecord(_data); |
163 | + message.success('提交成功'); | ||
164 | + handleReload(); | ||
165 | + }; | ||
198 | 166 | ||
199 | - } | ||
200 | -} | 167 | + const handleEdit = async (record?: any) => { |
168 | + let id = record.id; | ||
169 | + modalTitle.value = '修改'; | ||
170 | + try { | ||
171 | + const response = await getRecordDetail({ id }); | ||
172 | + initialData.value = { | ||
173 | + form: response, // 表单数据 | ||
174 | + tableData: response.preserveDetailStatusList, // 表格数据 | ||
175 | + }; | ||
176 | + modalVisible.value = true; // 打开弹框 | ||
177 | + isViewMode.value = false; | ||
178 | + } catch (error) { | ||
179 | + throw error; | ||
180 | + } finally { | ||
181 | + } | ||
182 | + }; | ||
201 | 183 | ||
184 | + const handleViewDetail = async (record?: any) => { | ||
185 | + let id = record.id; | ||
186 | + modalTitle.value = '查看'; | ||
187 | + try { | ||
188 | + const response = await getRecordDetail({ id }); | ||
189 | + initialData.value = { | ||
190 | + form: response, // 表单数据 | ||
191 | + tableData: response.preserveDetailStatusList, // 表格数据 | ||
192 | + }; | ||
193 | + modalVisible.value = true; // 打开弹框 | ||
194 | + isViewMode.value = true; | ||
195 | + } catch (error) { | ||
196 | + throw error; | ||
197 | + } finally { | ||
198 | + } | ||
199 | + }; | ||
202 | </script> | 200 | </script> |
@@ -9,6 +9,7 @@ import { createImgPreview } from '/@/components/Preview'; | @@ -9,6 +9,7 @@ import { createImgPreview } from '/@/components/Preview'; | ||
9 | useComponentRegister('OrgTreeSelect', OrgTreeSelect); | 9 | useComponentRegister('OrgTreeSelect', OrgTreeSelect); |
10 | 10 | ||
11 | const statusOptions = [ | 11 | const statusOptions = [ |
12 | + { label: t('repair.order.DRAFT'), value: 'DRAFT' }, | ||
12 | { label: t('repair.order.SCHEDULING'), value: 'SCHEDULING' }, | 13 | { label: t('repair.order.SCHEDULING'), value: 'SCHEDULING' }, |
13 | { label: t('repair.order.REPAIRFINISH'), value: 'REPAIRFINISH' }, | 14 | { label: t('repair.order.REPAIRFINISH'), value: 'REPAIRFINISH' }, |
14 | { label: t('repair.order.ACCEPTANCEPASSED'), value: 'ACCEPTANCEPASSED' }, | 15 | { label: t('repair.order.ACCEPTANCEPASSED'), value: 'ACCEPTANCEPASSED' }, |