Commit d5ea5dd558b6aded1057ad6a9b31ee281d8cba6e

Authored by gesilong
1 parent c64a7984

commit: 修复Bug3

... ... @@ -12,6 +12,7 @@ export default {
12 12 typeText: '方案类型',
13 13 inspectionText: '巡检方案',
14 14 maintenanceText: '保养方案',
  15 + DRAFT: '草稿',
15 16 SCHEDULING: '排期中',
16 17 REPAIRFINISH: '维修完成',
17 18 ACCEPTANCEPASSED: '验收通过',
... ...
... ... @@ -14,8 +14,10 @@
14 14 record.status == 'NOT_START'
15 15 ? 'yellow'
16 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 22 class="ml-2"
21 23 >
... ... @@ -66,7 +68,7 @@
66 68 ifShow: () => record.status === 'NOT_START' || record.status === 'UNDERWAY',
67 69 popConfirm: {
68 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 95 </div>
94 96 </template>
95 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 119 form: {
238 120 code: '',
239 121 name: '',
... ... @@ -244,22 +126,137 @@ const handleCreate = () => {
244 126 remark: '',
245 127 },
246 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 262 </script>
... ...
... ... @@ -9,11 +9,8 @@
9 9 </Authority>
10 10 </template>
11 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 14 </Tag>
18 15 </template>
19 16 <template #action="{ record }">
... ... @@ -55,18 +52,19 @@
55 52 </div>
56 53 </template>
57 54 <script setup lang="ts">
58   - import {ref} from "vue";
  55 + import { ref } from 'vue';
59 56 import { BasicTable, useTable, TableAction } from '/@/components/Table';
60 57 import {
61 58 getInspectionRecordList,
62 59 deleteInsRecord,
63   - saveInsRecord, getInsRecordDetail
  60 + saveInsRecord,
  61 + getInsRecordDetail,
64 62 } from '/@/api/inspection/inspectionRecord';
65 63 import { columns, searchFormSchema } from './index';
66 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 68 const { t } = useI18n();
71 69 const { createMessage } = useMessage();
72 70 const modalVisible = ref(false);
... ... @@ -84,10 +82,7 @@
84 82 },
85 83 tableData: [],
86 84 });
87   - const [
88   - registerTable,
89   - { reload, setLoading, setSelectedRowKeys, },
90   - ] = useTable({
  85 + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({
91 86 title: t('inspection.inspectionRecord.listText'),
92 87 api: getInspectionRecordList,
93 88 columns,
... ... @@ -136,9 +131,9 @@
136 131 orgId: '',
137 132 },
138 133 tableData: [],
139   - }
  134 + };
140 135 modalVisible.value = true;
141   - }
  136 + };
142 137
143 138 const handleReload = () => {
144 139 setSelectedRowKeys([]);
... ... @@ -150,11 +145,11 @@
150 145 modalVisible.value = false;
151 146 const _data = {
152 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 151 message.success('提交成功');
157   - handleReload()
  152 + handleReload();
158 153 };
159 154
160 155 const handleViewDetail = async (record?: any) => {
... ... @@ -163,32 +158,31 @@
163 158 modalVisible.value = true; // 打开弹框
164 159 isViewMode.value = true;
165 160 try {
166   - const response = await getInsRecordDetail({id})
  161 + const response = await getInsRecordDetail({ id });
167 162 initialData.value = {
168 163 form: response, // 表单数据
169 164 tableData: response.tkInspectionDetailsDTOList, // 表格数据
170 165 };
171   - }catch (error) {
  166 + } catch (error) {
172 167 throw error;
173   - }finally {
174   -
  168 + } finally {
175 169 }
176   - }
  170 + };
177 171
178 172 const handleEdit = async (record?: any) => {
179 173 let id = record.id;
180 174 modalTitle.value = '修改';
181 175 try {
182   - const response = await getInsRecordDetail({id})
  176 + const response = await getInsRecordDetail({ id });
183 177 initialData.value = {
184 178 form: response, // 表单数据
185 179 tableData: response.tkInspectionDetailsDTOList, // 表格数据
186 180 };
187 181 modalVisible.value = true; // 打开弹框
188   - }catch (error) {
  182 + isViewMode.value = false;
  183 + } catch (error) {
189 184 throw error;
190   - }finally {
  185 + } finally {
191 186 }
192   - }
193   -
  187 + };
194 188 </script>
... ...
... ... @@ -14,8 +14,10 @@
14 14 record.status == 'NOTSTART'
15 15 ? 'red'
16 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 22 class="ml-2"
21 23 >
... ... @@ -66,7 +68,7 @@
66 68 ifShow: () => record.status === 'NOTSTART' || record.status === 'UNDERWAY',
67 69 popConfirm: {
68 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 92 @submit="handleSubmit"
91 93 :title="modalTitle"
92 94 />
93   -
94 95 </div>
95 96 </template>
96 97 <script setup lang="ts">
97 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 107 import { columns, searchFormSchema } from './index';
101 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 111 const { t } = useI18n();
105   - import { ref } from "vue"
  112 + import { ref } from 'vue';
106 113 const { createMessage } = useMessage();
107 114 const modalVisible = ref(false);
108 115 const isViewMode = ref(false);
... ... @@ -117,10 +124,7 @@
117 124 },
118 125 tableData: [],
119 126 });
120   - const [
121   - registerTable,
122   - { reload, setLoading, setSelectedRowKeys, },
123   - ] = useTable({
  127 + const [registerTable, { reload, setLoading, setSelectedRowKeys }] = useTable({
124 128 title: t('inspection.servicePlan.listText'),
125 129 api: getServicePlanList,
126 130 columns,
... ... @@ -155,15 +159,15 @@
155 159 frequency: '',
156 160 },
157 161 tableData: [],
158   - }
  162 + };
159 163 modalVisible.value = true;
160 164 };
161 165
162 166 const handleSubmit = async (data) => {
163 167 modalVisible.value = false;
164   - await savePreservePlan(data)
  168 + await savePreservePlan(data);
165 169 createMessage.success('提交成功');
166   - handleReload()
  170 + handleReload();
167 171 };
168 172
169 173 const handleReload = () => {
... ... @@ -175,36 +179,35 @@
175 179 let id = record.id;
176 180 modalTitle.value = '查看';
177 181 try {
178   - const response = await getPreserveDetail({id})
  182 + const response = await getPreserveDetail({ id });
179 183 initialData.value = {
180 184 form: response, // 表单数据
181 185 tableData: response.preserveDetailList, // 表格数据
182 186 };
183 187 modalVisible.value = true; // 打开弹框
184 188 isViewMode.value = true;
185   - }catch (error) {
  189 + } catch (error) {
186 190 throw error;
187   - }finally {
188   -
  191 + } finally {
189 192 }
190   - }
191   -
  193 + };
  194 +
192 195 const handleEdit = async (record?: any) => {
193 196 let id = record.id;
194 197 modalTitle.value = '修改';
195 198 try {
196   - const response = await getPreserveDetail({id})
  199 + const response = await getPreserveDetail({ id });
197 200 initialData.value = {
198 201 form: response, // 表单数据
199 202 tableData: response.preserveDetailList, // 表格数据
200 203 };
201 204 modalVisible.value = true; // 打开弹框
202   - }catch (error) {
  205 + isViewMode.value = false;
  206 + } catch (error) {
203 207 throw error;
204   - }finally {
205   -
  208 + } finally {
206 209 }
207   - }
  210 + };
208 211
209 212 const handleDelete = async (record?: any) => {
210 213 let id = record.id;
... ... @@ -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 227 let id = record.id;
225 228 let status = '';
226 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 236 if (value === 'STOP') {
234   - status = 'STOP'
  237 + status = 'STOP';
235 238 }
236 239 try {
237 240 setLoading(true);
238   - await updateServiceStatus({ id,status });
  241 + await updateServiceStatus({ id, status });
239 242 createMessage.success(t('common.editSuccessText'));
240 243 handleReload();
241 244 } catch (error) {
... ... @@ -243,6 +246,5 @@
243 246 } finally {
244 247 setLoading(false);
245 248 }
246   - }
247   -
  249 + };
248 250 </script>
... ...
1 1 import { FormSchema } from '/@/components/Form';
2 2 import { useI18n } from '/@/hooks/web/useI18n';
3 3 import { BasicColumn } from '/@/components/Table';
4   -import {getServicePlanList} from "/@/api/inspection/servicePlan";
  4 +import { getServicePlanList } from '/@/api/inspection/servicePlan';
5 5 const { t } = useI18n();
6 6
7   -
8 7 const statusOptions = [
9 8 { label: t('inspection.serviceRecord.INCOMPLETE'), value: 'INCOMPLETE' },
10 9 { label: t('inspection.serviceRecord.COMPLETE'), value: 'COMPLETE' },
... ... @@ -60,9 +59,7 @@ export const columns: BasicColumn[] = [
60 59 dataIndex: 'preserveDate',
61 60 },
62 61 {
63   - title: t('inspection.serviceRecord.preserveByName'),
64 62 dataIndex: 'preserveByName',
65   -
66 63 },
67 64 {
68 65 title: t('inspection.serviceRecord.preserveNameText'),
... ...
... ... @@ -12,8 +12,10 @@
12 12 <Tag
13 13 :color="
14 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 20 class="ml-2"
19 21 >
... ... @@ -59,85 +61,26 @@
59 61 </div>
60 62 </template>
61 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 84 form: {
142 85 recordCode: '',
143 86 preservePlanId: '',
... ... @@ -148,55 +91,110 @@ const handleCreate = () => {
148 91 orgId: '',
149 92 },
150 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 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 200 </script>
... ...
... ... @@ -9,6 +9,7 @@ import { createImgPreview } from '/@/components/Preview';
9 9 useComponentRegister('OrgTreeSelect', OrgTreeSelect);
10 10
11 11 const statusOptions = [
  12 + { label: t('repair.order.DRAFT'), value: 'DRAFT' },
12 13 { label: t('repair.order.SCHEDULING'), value: 'SCHEDULING' },
13 14 { label: t('repair.order.REPAIRFINISH'), value: 'REPAIRFINISH' },
14 15 { label: t('repair.order.ACCEPTANCEPASSED'), value: 'ACCEPTANCEPASSED' },
... ...