Commit 27918d403d7fbf6854dd557d927e3ae81cc425dc

Authored by wuxw
1 parent 050d35a0

v1.9 测试完成设备下的功能

src/components/inspection/maintainanceTaskDetail.vue
1 1 <template>
2   - <el-dialog
3   - :title="$t('maintainanceTaskDetail.title')"
4   - :visible.sync="visible"
5   - width="90%"
6   - top="5vh"
7   - @close="handleClose"
8   - >
9   - <el-table
10   - :data="taskDetails"
11   - border
12   - style="width: 100%"
13   - v-loading="loading"
14   - >
15   - <el-table-column
16   - prop="machineName"
17   - :label="$t('maintainanceTaskDetail.machineName')"
18   - align="center"
19   - />
20   - <el-table-column
21   - prop="planName"
22   - :label="$t('maintainanceTaskDetail.planName')"
23   - align="center"
24   - />
25   - <el-table-column
26   - prop="standardName"
27   - :label="$t('maintainanceTaskDetail.standardName')"
28   - align="center"
29   - />
30   - <el-table-column
31   - prop="planUserName"
32   - :label="$t('maintainanceTaskDetail.planUserName')"
33   - align="center"
34   - />
35   - <el-table-column
36   - :label="$t('maintainanceTaskDetail.timeRange')"
37   - align="center"
38   - >
  2 + <el-dialog :title="$t('maintainanceTaskDetail.title')" :visible.sync="visible" width="90%" top="5vh"
  3 + @close="handleClose">
  4 + <el-table :data="taskDetails" border style="width: 100%" v-loading="loading">
  5 + <el-table-column prop="machineName" :label="$t('maintainanceTaskDetail.machineName')" align="center" />
  6 + <el-table-column prop="planName" :label="$t('maintainanceTaskDetail.planName')" align="center" />
  7 + <el-table-column prop="standardName" :label="$t('maintainanceTaskDetail.standardName')" align="center" />
  8 + <el-table-column prop="planUserName" :label="$t('maintainanceTaskDetail.planUserName')" align="center" />
  9 + <el-table-column :label="$t('maintainanceTaskDetail.timeRange')" align="center">
39 10 <template slot-scope="scope">
40 11 {{ scope.row.planInsTime }}<br />{{ scope.row.planEndTime }}
41 12 </template>
42 13 </el-table-column>
43   - <el-table-column
44   - :label="$t('maintainanceTaskDetail.actInsTime')"
45   - align="center"
46   - >
  14 + <el-table-column :label="$t('maintainanceTaskDetail.actInsTime')" align="center">
47 15 <template slot-scope="scope">
48 16 {{ scope.row.inspectionTime || '-' }}
49 17 </template>
50 18 </el-table-column>
51   - <el-table-column
52   - :label="$t('maintainanceTaskDetail.actUserName')"
53   - align="center"
54   - >
  19 + <el-table-column :label="$t('maintainanceTaskDetail.actUserName')" align="center">
55 20 <template slot-scope="scope">
56 21 {{ scope.row.actUserName || '-' }}
57 22 </template>
58 23 </el-table-column>
59   - <el-table-column
60   - prop="stateName"
61   - :label="$t('maintainanceTaskDetail.stateName')"
62   - align="center"
63   - />
64   - <el-table-column
65   - :label="$t('maintainanceTaskDetail.description')"
66   - align="center"
67   - >
  24 + <el-table-column prop="stateName" :label="$t('maintainanceTaskDetail.stateName')" align="center" />
  25 + <el-table-column :label="$t('maintainanceTaskDetail.description')" align="center">
68 26 <template slot-scope="scope">
69 27 <span class="text-primary">
70 28 {{ scope.row.description || '-' }}
71 29 </span>
72 30 </template>
73 31 </el-table-column>
74   - <el-table-column
75   - :label="$t('maintainanceTaskDetail.photos')"
76   - align="center"
77   - >
  32 + <el-table-column :label="$t('maintainanceTaskDetail.photos')" align="center">
78 33 <template slot-scope="scope">
79 34 <div v-if="scope.row.photos && scope.row.photos.length > 0" class="photo-container">
80   - <el-image
81   - v-for="(photo, index) in scope.row.photos"
82   - :key="index"
83   - :src="photo.url"
84   - :preview-src-list="scope.row.photos.map(p => p.url)"
85   - style="width: 60px; height: 60px; margin-right: 5px;"
86   - fit="cover"
87   - />
  35 + <el-image v-for="(photo, index) in scope.row.photos" :key="index" :src="photo.url"
  36 + :preview-src-list="scope.row.photos.map(p => p.url)" style="width: 60px; height: 60px; margin-right: 5px;"
  37 + fit="cover" />
88 38 </div>
89 39 <span v-else>-</span>
90 40 </template>
91 41 </el-table-column>
92   - <el-table-column
93   - prop="createTime"
94   - :label="$t('maintainanceTaskDetail.createTime')"
95   - align="center"
96   - />
97   - <el-table-column
98   - :label="$t('maintainanceTaskDetail.operation')"
99   - align="center"
100   - width="100"
101   - >
  42 + <el-table-column prop="createTime" :label="$t('maintainanceTaskDetail.createTime')" align="center" />
  43 + <el-table-column :label="$t('common.operation')" align="center" width="100">
102 44 <template slot-scope="scope">
103   - <el-button
104   - type="text"
105   - @click="handleViewDetail(scope.row.taskDetailId)"
106   - >
107   - {{ $t('maintainanceTaskDetail.viewDetail') }}
  45 + <el-button type="text" @click="handleViewDetail(scope.row.taskDetailId)">
  46 + {{ $t('common.detail') }}
108 47 </el-button>
109 48 </template>
110 49 </el-table-column>
111 50 </el-table>
112 51  
113 52 <div class="pagination-wrapper">
114   - <el-pagination
115   - :current-page="pagination.current"
116   - :page-sizes="[10, 20, 30, 50]"
117   - :page-size="pagination.size"
118   - :total="pagination.total"
119   - layout="total, sizes, prev, pager, next, jumper"
120   - @size-change="handleSizeChange"
121   - @current-change="handleCurrentChange"
122   - />
  53 + <el-pagination :current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
  54 + :total="pagination.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
  55 + @current-change="handleCurrentChange" />
123 56 </div>
124 57 </el-dialog>
125 58 </template>
... ... @@ -188,7 +121,7 @@ export default {
188 121 this.loadTaskDetails()
189 122 },
190 123 handleViewDetail(taskDetailId) {
191   - window.open(`/#/pages/property/maintainanceTaskDetailView?taskDetailId=${taskDetailId}`, '_blank')
  124 + window.open(`/#/views/inspection/maintainanceTaskDetailView?taskDetailId=${taskDetailId}`, '_blank')
192 125 }
193 126 }
194 127 }
... ...
src/components/machine/addPrinterRule.vue
... ... @@ -7,11 +7,11 @@
7 7 <el-form-item :label="$t('printerRule.remark')" prop="remark">
8 8 <el-input type="textarea" v-model="form.remark" :placeholder="$t('printerRule.remarkPlaceholder')"></el-input>
9 9 </el-form-item>
10   - <el-form-item :label="$t('printerRule.state')" prop="state">
  10 + <!-- <el-form-item :label="$t('printerRule.state')" prop="state">
11 11 <el-select v-model="form.state" style="width:100%">
12 12 <el-option v-for="item in stateOptions" :key="item.statusCd" :label="item.name" :value="item.statusCd"></el-option>
13 13 </el-select>
14   - </el-form-item>
  14 + </el-form-item> -->
15 15 </el-form>
16 16  
17 17 <span slot="footer" class="dialog-footer">
... ... @@ -51,12 +51,11 @@ export default {
51 51 },
52 52 created() {
53 53 this.form.communityId = getCommunityId()
54   - this.getStateOptions()
55 54 },
56 55 methods: {
57 56 async getStateOptions() {
58 57 try {
59   - const data = await getDict('printer_rule', 'state')
  58 + const {data} = await getDict('printer_rule', 'state')
60 59 this.stateOptions = data
61 60 } catch (error) {
62 61 console.error('获取状态字典失败:', error)
... ... @@ -65,6 +64,8 @@ export default {
65 64 open() {
66 65 this.visible = true
67 66 this.resetForm()
  67 + this.getStateOptions()
  68 +
68 69 },
69 70 handleClose() {
70 71 this.resetForm()
... ...
src/components/machine/printerRuleFees.vue
... ... @@ -2,19 +2,16 @@
2 2 <div class="printer-rule-fees">
3 3  
4 4 <el-form :inline="true" :model="searchForm" class="search-form">
5   - <el-form-item :label="$t('printerRuleFees.id')">
  5 + <el-form-item >
6 6 <el-input v-model="searchForm.prfId" :placeholder="$t('printerRuleFees.idPlaceholder')" clearable />
7 7 </el-form-item>
8   - <el-form-item :label="$t('printerRuleFees.feeName')">
  8 + <el-form-item >
9 9 <el-input v-model="searchForm.feeConfigName" :placeholder="$t('printerRuleFees.feeNamePlaceholder')" clearable />
10 10 </el-form-item>
11 11 <el-form-item>
12 12 <el-button type="primary" @click="handleSearch">
13 13 {{ $t('common.search') }}
14 14 </el-button>
15   - <el-button @click="handleReset">
16   - {{ $t('common.reset') }}
17   - </el-button>
18 15 <el-button type="primary" @click="openAddModal">
19 16 <i class="el-icon-plus"></i>
20 17 {{ $t('common.add') }}
... ...
src/components/machine/printerRuleMachine.vue
... ... @@ -2,10 +2,10 @@
2 2 <div class="printer-rule-machine">
3 3  
4 4 <el-form :inline="true" :model="searchForm" class="search-form">
5   - <el-form-item :label="$t('printerRuleMachine.id')">
  5 + <el-form-item >
6 6 <el-input v-model="searchForm.prmId" :placeholder="$t('printerRuleMachine.idPlaceholder')" clearable />
7 7 </el-form-item>
8   - <el-form-item :label="$t('printerRuleMachine.machineName')">
  8 + <el-form-item >
9 9 <el-input v-model="searchForm.machineName" :placeholder="$t('printerRuleMachine.machineNamePlaceholder')"
10 10 clearable />
11 11 </el-form-item>
... ... @@ -13,9 +13,6 @@
13 13 <el-button type="primary" @click="handleSearch">
14 14 {{ $t('common.search') }}
15 15 </el-button>
16   - <el-button @click="handleReset">
17   - {{ $t('common.reset') }}
18   - </el-button>
19 16 <el-button type="primary" @click="openAddModal">
20 17 <i class="el-icon-plus"></i>
21 18 {{ $t('common.add') }}
... ...
src/components/machine/printerRuleRepair.vue
... ... @@ -2,10 +2,10 @@
2 2 <div class="printer-rule-repair">
3 3  
4 4 <el-form :inline="true" :model="searchForm" class="search-form">
5   - <el-form-item :label="$t('printerRuleRepair.id')">
  5 + <el-form-item >
6 6 <el-input v-model="searchForm.prrId" :placeholder="$t('printerRuleRepair.idPlaceholder')" clearable />
7 7 </el-form-item>
8   - <el-form-item :label="$t('printerRuleRepair.repairType')">
  8 + <el-form-item >
9 9 <el-input v-model="searchForm.repairTypeName" :placeholder="$t('printerRuleRepair.repairTypePlaceholder')"
10 10 clearable />
11 11 </el-form-item>
... ... @@ -13,9 +13,6 @@
13 13 <el-button type="primary" @click="handleSearch">
14 14 {{ $t('common.search') }}
15 15 </el-button>
16   - <el-button @click="handleReset">
17   - {{ $t('common.reset') }}
18   - </el-button>
19 16 <el-button type="primary" @click="openAddModal">
20 17 <i class="el-icon-plus"></i>
21 18 {{ $t('common.add') }}
... ...
src/components/staff/AStaffDetailMaintainance.vue
... ... @@ -69,7 +69,7 @@
69 69 <el-table-column prop="createTime" :label="$t('staffDetailMaintainance.createTime')" align="center" />
70 70 <el-table-column :label="$t('common.operation')" align="center">
71 71 <template slot-scope="scope">
72   - <el-link :href="`/views/property/maintainanceTaskDetailView?taskDetailId=${scope.row.taskDetailId}`">
  72 + <el-link :href="`/views/inspection/maintainanceTaskDetailView?taskDetailId=${scope.row.taskDetailId}`">
73 73 {{ $t('common.detail') }}
74 74 </el-link>
75 75 </template>
... ...
src/i18n/inspectionI18n.js
... ... @@ -7,6 +7,7 @@ import { messages as editMaintainancePlanMessages } from &#39;../views/inspection/ed
7 7 import { messages as maintainancePlanMachineMessages } from '../views/inspection/maintainancePlanMachineLang'
8 8 import { messages as maintainanceTaskDetailsMessages } from '../views/inspection/maintainanceTaskDetailsLang'
9 9 import { messages as maintainanceTaskManageMessages } from '../views/inspection/maintainanceTaskManageLang'
  10 +import { messages as maintainanceTaskDetailViewMessages } from '../views/inspection/maintainanceTaskDetailViewLang'
10 11 import { messages as adminInspectionPlanMessages } from '../views/inspection/adminInspectionPlanLang'
11 12 import { messages as aInspectionPlanDetailMessages } from '../views/inspection/aInspectionPlanDetailLang'
12 13 import { messages as adminInspectionTaskMessages } from '../views/inspection/adminInspectionTaskLang'
... ... @@ -36,6 +37,7 @@ export const messages = {
36 37 ...maintainancePlanMachineMessages.en,
37 38 ...maintainanceTaskDetailsMessages.en,
38 39 ...maintainanceTaskManageMessages.en,
  40 + ...maintainanceTaskDetailViewMessages.en,
39 41 ...inspectionPointMessages.en,
40 42 ...inspectionRouteMessages.en,
41 43 ...inspectionItemManageMessages.en,
... ... @@ -60,6 +62,7 @@ export const messages = {
60 62 ...maintainancePlanMachineMessages.zh,
61 63 ...maintainanceTaskDetailsMessages.zh,
62 64 ...maintainanceTaskManageMessages.zh,
  65 + ...maintainanceTaskDetailViewMessages.zh,
63 66 ...inspectionPointMessages.zh,
64 67 ...inspectionRouteMessages.zh,
65 68 ...inspectionItemManageMessages.zh,
... ...
src/router/inspectionRouter.js
... ... @@ -100,6 +100,11 @@ export default [
100 100 component: () => import('@/views/inspection/maintainanceTaskDetailsList.vue')
101 101 },
102 102 {
  103 + path: '/views/inspection/maintainanceTaskDetailView',
  104 + name: '/views/inspection/maintainanceTaskDetailView',
  105 + component: () => import('@/views/inspection/maintainanceTaskDetailView.vue')
  106 + },
  107 + {
103 108 path: '/pages/property/maintainanceTaskManage',
104 109 name: '/pages/property/maintainanceTaskManage',
105 110 component: () => import('@/views/inspection/maintainanceTaskManageList.vue')
... ...
src/views/dev/cacheList.vue
1 1 <template>
2   - <div class="cache-container padding">
  2 + <div class="cache-container ">
3 3 <div class="list-wrapper">
4 4 <div class="list-header">
5 5 <div class="list-title">{{ $t('cache.list.title') }}</div>
... ... @@ -118,7 +118,7 @@ export default {
118 118  
119 119 <style lang="scss" scoped>
120 120 .cache-container {
121   - padding: 0;
  121 + padding: 20px;
122 122 margin: 0;
123 123  
124 124 .search-wrapper {
... ...
src/views/dev/taskList.vue
1 1 <template>
2   - <div class="task-container">
  2 + <div class="task-container ">
3 3 <!-- 查询条件 -->
4 4 <div class="search-wrapper">
5 5 <div class="search-title">{{ $t('task.search.title') }}</div>
... ... @@ -177,7 +177,7 @@ export default {
177 177  
178 178 <style lang="scss" scoped>
179 179 .task-container {
180   - padding: 0;
  180 + padding: 20px;
181 181 margin: 0;
182 182  
183 183 .search-wrapper {
... ...
src/views/inspection/maintainanceItemList.vue
... ... @@ -32,9 +32,9 @@
32 32 <div slot="header" class="flex justify-between">
33 33 <span>{{ $t('maintainanceItem.list.title') }}</span>
34 34 <div style="float: right;">
35   - <el-button type="primary" size="small" @click="handleGoBack">
  35 + <!-- <el-button type="primary" size="small" @click="handleGoBack">
36 36 {{ $t('common.back') }}
37   - </el-button>
  37 + </el-button> -->
38 38 <!-- <el-button type="primary" size="small" @click="handleShowDocument">
39 39 {{ $t('common.document') }}
40 40 </el-button> -->
... ...
src/views/inspection/maintainanceTaskDetailView.vue 0 → 100644
  1 +<template>
  2 + <div class="maintainance-task-detail-view">
  3 + <el-card class="detail-card">
  4 + <div slot="header" class="flex justify-between">
  5 + <span>{{ $t('maintainanceTaskDetailView.title') }}</span>
  6 + <el-button type="primary" size="mini" @click="goBack">
  7 + <i class="el-icon-back"></i>
  8 + {{ $t('maintainanceTaskDetailView.back') }}
  9 + </el-button>
  10 + </div>
  11 +
  12 + <el-card shadow="never" class="info-card text-left">
  13 + <div slot="header" class="flex justify-between">
  14 + <span>{{ $t('maintainanceTaskDetailView.basicInfo') }}</span>
  15 + </div>
  16 +
  17 + <el-row :gutter="24" class="">
  18 + <el-col :span="8">
  19 + <div class="info-item">
  20 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.taskDetailId') }}:</span>
  21 + <span>{{ detail.taskDetailId || '-' }}</span>
  22 + </div>
  23 + </el-col>
  24 + <el-col :span="8">
  25 + <div class="info-item">
  26 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.machineName') }}:</span>
  27 + <span>{{ detail.machineName || '-' }}</span>
  28 + </div>
  29 + </el-col>
  30 + <el-col :span="8">
  31 + <div class="info-item">
  32 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.planUserName') }}:</span>
  33 + <span>{{ detail.planUserName || '-' }}</span>
  34 + </div>
  35 + </el-col>
  36 + </el-row>
  37 +
  38 + <el-row :gutter="24">
  39 + <el-col :span="8">
  40 + <div class="info-item">
  41 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.planTime') }}:</span>
  42 + <span>{{ formatPlanTime(detail.planInsTime, detail.planEndTime) }}</span>
  43 + </div>
  44 + </el-col>
  45 + <el-col :span="8">
  46 + <div class="info-item">
  47 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.actUserName') }}:</span>
  48 + <span>{{ detail.actUserName || '-' }}</span>
  49 + </div>
  50 + </el-col>
  51 + <el-col :span="8">
  52 + <div class="info-item">
  53 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.inspectionTime') }}:</span>
  54 + <span>{{ detail.inspectionTime || '-' }}</span>
  55 + </div>
  56 + </el-col>
  57 + </el-row>
  58 +
  59 + <el-row :gutter="24">
  60 + <el-col :span="8">
  61 + <div class="info-item">
  62 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.stateName') }}:</span>
  63 + <span>{{ detail.stateName || '-' }}</span>
  64 + </div>
  65 + </el-col>
  66 + <el-col :span="8">
  67 + <div class="info-item">
  68 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.planName') }}:</span>
  69 + <span>{{ detail.planName || '-' }}</span>
  70 + </div>
  71 + </el-col>
  72 + <el-col :span="8">
  73 + <div class="info-item">
  74 + <span class="label">{{ $t('maintainanceTaskDetailView.fields.standardName') }}:</span>
  75 + <span>{{ detail.standardName || '-' }}</span>
  76 + </div>
  77 + </el-col>
  78 + </el-row>
  79 + </el-card>
  80 +
  81 + <el-card shadow="never" class="info-card text-left">
  82 + <div slot="header" class="flex justify-between">
  83 + <span>{{ $t('maintainanceTaskDetailView.photosTitle') }}</span>
  84 + </div>
  85 +
  86 + <div v-if="photoList.length" class="photo-list">
  87 + <el-image
  88 + v-for="(photo, index) in photoList"
  89 + :key="index"
  90 + :src="photo"
  91 + :preview-src-list="photoList"
  92 + fit="cover"
  93 + class="photo-item"
  94 + />
  95 + </div>
  96 + <div v-else class="empty-text">{{ $t('maintainanceTaskDetailView.noPhotos') }}</div>
  97 + </el-card>
  98 +
  99 + <el-card shadow="never" class="info-card text-left">
  100 + <div slot="header" class="flex justify-between">
  101 + <span>{{ $t('maintainanceTaskDetailView.descriptionTitle') }}</span>
  102 + </div>
  103 + <div class="description">
  104 + {{ detail.description || $t('maintainanceTaskDetailView.noDescription') }}
  105 + </div>
  106 + </el-card>
  107 + </el-card>
  108 +
  109 + <view-image ref="viewImage" />
  110 + </div>
  111 +</template>
  112 +
  113 +<script>
  114 +import { getMaintainanceTaskDetailList } from '@/api/inspection/maintainanceTaskDetailsApi'
  115 +import ViewImage from '@/components/system/viewImage'
  116 +import { messages } from './maintainanceTaskDetailViewLang'
  117 +
  118 +export default {
  119 + name: 'MaintainanceTaskDetailView',
  120 + components: {
  121 + ViewImage
  122 + },
  123 + i18n: {
  124 + messages
  125 + },
  126 + data() {
  127 + return {
  128 + detail: {
  129 + taskDetailId: '',
  130 + machineName: '',
  131 + planName: '',
  132 + standardName: '',
  133 + planUserName: '',
  134 + planInsTime: '',
  135 + planEndTime: '',
  136 + actUserName: '',
  137 + inspectionTime: '',
  138 + stateName: '',
  139 + description: '',
  140 + photos: []
  141 + },
  142 + loading: false
  143 + }
  144 + },
  145 + computed: {
  146 + photoList() {
  147 + if (!this.detail.photos || !this.detail.photos.length) {
  148 + return []
  149 + }
  150 + return this.detail.photos.map(photo => photo.url).filter(Boolean)
  151 + }
  152 + },
  153 + created() {
  154 + this.fetchDetail()
  155 + },
  156 + methods: {
  157 + async fetchDetail() {
  158 + const taskDetailId = this.$route.query.taskDetailId
  159 + if (!taskDetailId) {
  160 + return
  161 + }
  162 + try {
  163 + this.loading = true
  164 + const params = {
  165 + page: 1,
  166 + row: 1,
  167 + taskDetailId
  168 + }
  169 + const res = await getMaintainanceTaskDetailList(params)
  170 + if (res && res.data && res.data.length) {
  171 + this.detail = { ...this.detail, ...res.data[0] }
  172 + }
  173 + } catch (error) {
  174 + this.$message.error(this.$t('maintainanceTaskDetailView.fetchError'))
  175 + } finally {
  176 + this.loading = false
  177 + }
  178 + },
  179 + formatPlanTime(start, end) {
  180 + if (!start && !end) {
  181 + return '-'
  182 + }
  183 + if (!start) {
  184 + return end
  185 + }
  186 + if (!end) {
  187 + return start
  188 + }
  189 + return `${start} ~ ${end}`
  190 + },
  191 + goBack() {
  192 + if (window.history.length > 1) {
  193 + this.$router.back()
  194 + } else {
  195 + this.$router.push({ path: '/pages/property/maintainanceTaskDetails' })
  196 + }
  197 + }
  198 + }
  199 +}
  200 +</script>
  201 +
  202 +<style lang="scss" scoped>
  203 +.maintainance-task-detail-view {
  204 + padding: 20px;
  205 +
  206 + .detail-card {
  207 + .card-header {
  208 + display: flex;
  209 + align-items: center;
  210 + justify-content: space-between;
  211 + }
  212 +
  213 + .info-card {
  214 + margin-bottom: 20px;
  215 + }
  216 +
  217 + .section-title {
  218 + font-weight: 600;
  219 + }
  220 +
  221 + .info-item {
  222 + margin-bottom: 16px;
  223 + .label {
  224 + color: #606266;
  225 + margin-right: 4px;
  226 + }
  227 + }
  228 +
  229 + .photo-list {
  230 + display: flex;
  231 + flex-wrap: wrap;
  232 + gap: 12px;
  233 +
  234 + .photo-item {
  235 + width: 120px;
  236 + height: 120px;
  237 + border-radius: 4px;
  238 + overflow: hidden;
  239 + border: 1px solid #ebeef5;
  240 + }
  241 + }
  242 +
  243 + .empty-text {
  244 + color: #999;
  245 + }
  246 +
  247 + .description {
  248 + min-height: 80px;
  249 + line-height: 1.6;
  250 + white-space: pre-wrap;
  251 + }
  252 + }
  253 +}
  254 +</style>
  255 +
... ...
src/views/inspection/maintainanceTaskDetailViewLang.js 0 → 100644
  1 +export const messages = {
  2 + en: {
  3 + maintainanceTaskDetailView: {
  4 + title: 'Maintenance Detail',
  5 + basicInfo: 'Basic Information',
  6 + photosTitle: 'Maintenance Photos',
  7 + descriptionTitle: 'Maintenance Description',
  8 + noPhotos: 'No photos available',
  9 + noDescription: 'No description',
  10 + back: 'Back',
  11 + fields: {
  12 + taskDetailId: 'ID',
  13 + machineName: 'Equipment Name',
  14 + planUserName: 'Planned Maintainer',
  15 + planTime: 'Planned Maintenance Time',
  16 + actUserName: 'Actual Maintainer',
  17 + inspectionTime: 'Actual Maintenance Time',
  18 + stateName: 'Status',
  19 + planName: 'Plan',
  20 + standardName: 'Maintenance Standard'
  21 + },
  22 + fetchError: 'Failed to load maintenance detail'
  23 + }
  24 + },
  25 + zh: {
  26 + maintainanceTaskDetailView: {
  27 + title: '保养详情',
  28 + basicInfo: '基本信息',
  29 + photosTitle: '保养图片',
  30 + descriptionTitle: '保养说明',
  31 + noPhotos: '暂无保养图片',
  32 + noDescription: '暂无保养说明',
  33 + back: '返回',
  34 + fields: {
  35 + taskDetailId: '编码',
  36 + machineName: '设备名称',
  37 + planUserName: '计划保养人',
  38 + planTime: '计划保养时间',
  39 + actUserName: '实际保养人',
  40 + inspectionTime: '实际保养时间',
  41 + stateName: '状态',
  42 + planName: '计划',
  43 + standardName: '保养标准'
  44 + },
  45 + fetchError: '获取保养详情失败'
  46 + }
  47 + }
  48 +}
  49 +
... ...
src/views/inspection/maintainanceTaskDetailsList.vue
... ... @@ -25,19 +25,13 @@
25 25 </el-select>
26 26 </el-col>
27 27 <el-col :span="4">
28   - <el-input v-model="searchForm.taskDetailId" :placeholder="$t('maintainanceTaskDetails.search.taskDetailId')"
29   - clearable />
30   - </el-col>
31   - <el-col :span="4">
32 28 <el-select v-model="searchForm.taskState" :placeholder="$t('maintainanceTaskDetails.search.taskState')"
33 29 style="width:100%">
34 30 <el-option :label="$t('maintainanceTaskDetails.search.selectState')" value="" />
35 31 <el-option v-for="(item, index) in taskStateList" :key="index" :label="item.name" :value="item.statusCd" />
36 32 </el-select>
37 33 </el-col>
38   - </el-row>
39   - <el-row :gutter="20" style="margin-top:20px">
40   - <el-col :span="24" style="text-align:right">
  34 + <el-col :span="4" style="text-align:right">
41 35 <el-button type="primary" @click="handleSearch">
42 36 <i class="el-icon-search"></i>
43 37 {{ $t('common.search') }}
... ... @@ -219,7 +213,7 @@ export default {
219 213 },
220 214 handleDetail(taskDetailId) {
221 215 this.$router.push({
222   - path: '/inspection/maintainanceTaskDetailView',
  216 + path: '/views/inspection/maintainanceTaskDetailView',
223 217 query: { taskDetailId }
224 218 })
225 219 },
... ...
src/views/inspection/maintainanceTaskManageLang.js
... ... @@ -50,7 +50,10 @@ export const messages = {
50 50 photos: 'Maintenance Photos',
51 51 createTime: 'Create Time',
52 52 viewDetail: 'View Details',
53   - fetchError: 'Failed to get task details'
  53 + fetchError: 'Failed to get task details',
  54 + timeRange: 'Start/End Time',
  55 + actInsTime: 'Actual Maintenance Time',
  56 + planName: 'Maintenance Plan',
54 57 },
55 58 deleteMaintainanceTask: {
56 59 title: 'Confirm Operation',
... ... @@ -128,7 +131,10 @@ export const messages = {
128 131 photos: '保养照片',
129 132 createTime: '创建时间',
130 133 viewDetail: '详情',
131   - fetchError: '获取任务详情失败'
  134 + fetchError: '获取任务详情失败',
  135 + timeRange: '开始/结束时间',
  136 + actInsTime: '实际保养时间',
  137 + planName: '保养计划',
132 138 },
133 139 deleteMaintainanceTask: {
134 140 title: '请确认您的操作',
... ...
src/views/inspection/maintainanceTaskManageList.vue
... ... @@ -7,14 +7,16 @@
7 7 </div>
8 8 <el-row :gutter="20">
9 9 <el-col :span="4">
10   - <el-input v-model="searchForm.planUserName" :placeholder="$t('maintainanceTaskManage.planUserNamePlaceholder')"
11   - clearable />
  10 + <el-input v-model="searchForm.planUserName"
  11 + :placeholder="$t('maintainanceTaskManage.planUserNamePlaceholder')" clearable />
12 12 </el-col>
13 13 <el-col :span="4">
14   - <el-date-picker v-model="searchForm.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('maintainanceTaskManage.startTimePlaceholder')" style="width: 100%" />
  14 + <el-date-picker v-model="searchForm.startTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
  15 + :placeholder="$t('maintainanceTaskManage.startTimePlaceholder')" style="width: 100%" />
15 16 </el-col>
16 17 <el-col :span="4">
17   - <el-date-picker v-model="searchForm.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" :placeholder="$t('maintainanceTaskManage.endTimePlaceholder')" style="width: 100%" />
  18 + <el-date-picker v-model="searchForm.endTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
  19 + :placeholder="$t('maintainanceTaskManage.endTimePlaceholder')" style="width: 100%" />
18 20 </el-col>
19 21 <el-col :span="4">
20 22 <el-input v-model="searchForm.planName" :placeholder="$t('maintainanceTaskManage.planNamePlaceholder')"
... ...
src/views/machine/equipmentAccountList.vue
... ... @@ -19,20 +19,17 @@
19 19 <el-card class="box-card text-left">
20 20 <div slot="header" class="">
21 21 <span>{{ $t('equipmentAccount.searchCondition') }}</span>
22   - <el-button type="text" style="float: right;" @click="toggleMoreCondition">
23   - {{ equipmentAccountInfo.moreCondition ? $t('equipmentAccount.hide') : $t('equipmentAccount.more') }}
24   - </el-button>
25 22 </div>
26 23 <el-form :inline="true" :model="equipmentAccountInfo.conditions" class="search-form">
27   - <el-form-item :label="$t('equipmentAccount.machineName')">
  24 + <el-form-item >
28 25 <el-input v-model.trim="equipmentAccountInfo.conditions.machineName"
29 26 :placeholder="$t('equipmentAccount.machineNamePlaceholder')"></el-input>
30 27 </el-form-item>
31   - <el-form-item :label="$t('equipmentAccount.machineCode')">
  28 + <el-form-item >
32 29 <el-input v-model.trim="equipmentAccountInfo.conditions.machineCode"
33 30 :placeholder="$t('equipmentAccount.machineCodePlaceholder')"></el-input>
34 31 </el-form-item>
35   - <el-form-item :label="$t('equipmentAccount.state')">
  32 + <el-form-item >
36 33 <el-select v-model="equipmentAccountInfo.conditions.state" style="width:100%">
37 34 <el-option :label="$t('equipmentAccount.selectState')" value=""></el-option>
38 35 <el-option v-for="item in equipmentAccountInfo.useStatus" :key="item.statusCd" :label="item.name"
... ... @@ -40,15 +37,7 @@
40 37 </el-option>
41 38 </el-select>
42 39 </el-form-item>
43   - <el-form-item>
44   - <el-button type="primary" @click="queryEquipmentAccountMethod">{{ $t('common.search') }}</el-button>
45   - <el-button @click="resetEquipmentAccountMethod">{{ $t('common.reset') }}</el-button>
46   - </el-form-item>
47   - </el-form>
48   -
49   - <el-form v-show="equipmentAccountInfo.moreCondition" :inline="true" :model="equipmentAccountInfo.conditions"
50   - class="search-form">
51   - <el-form-item :label="$t('equipmentAccount.importanceLevel')">
  40 + <el-form-item >
52 41 <el-select v-model="equipmentAccountInfo.conditions.importanceLevel" style="width:100%">
53 42 <el-option :label="$t('equipmentAccount.selectImportanceLevel')" value=""></el-option>
54 43 <el-option v-for="item in equipmentAccountInfo.importanceLevels" :key="item.statusCd" :label="item.name"
... ... @@ -56,7 +45,12 @@
56 45 </el-option>
57 46 </el-select>
58 47 </el-form-item>
  48 + <el-form-item>
  49 + <el-button type="primary" @click="queryEquipmentAccountMethod">{{ $t('common.search') }}</el-button>
  50 + <el-button @click="resetEquipmentAccountMethod">{{ $t('common.reset') }}</el-button>
  51 + </el-form-item>
59 52 </el-form>
  53 +
60 54 </el-card>
61 55  
62 56 <el-card class="box-card margin-top">
... ... @@ -269,7 +263,7 @@ export default {
269 263 }
270 264  
271 265 .search-form {
272   - margin-bottom: 20px;
  266 + margin-bottom: 0px;
273 267 }
274 268  
275 269 .pagination-wrapper {
... ...
src/views/machine/machinePrinterManageList.vue
... ... @@ -33,9 +33,6 @@
33 33 <el-button type="primary" size="small" @click="handleAdd">
34 34 {{ $t('common.add') }}
35 35 </el-button>
36   - <el-button type="primary" size="small" @click="handleShowDoc">
37   - {{ $t('common.document') }}
38   - </el-button>
39 36 </div>
40 37 </div>
41 38  
... ...
src/views/machine/machineTranslateManageList.vue
... ... @@ -4,9 +4,9 @@
4 4 <el-card class="search-wrapper">
5 5 <div slot="header" class="flex justify-between">
6 6 <span>{{ $t('machineTranslateManage.search.title') }}</span>
7   - <el-button style="float: right; padding: 3px 0" type="text" @click="toggleMoreCondition">
  7 + <!-- <el-button style="float: right; padding: 3px 0" type="text" @click="toggleMoreCondition">
8 8 {{ machineTranslateManageInfo.moreCondition ? $t('common.hide') : $t('common.more') }}
9   - </el-button>
  9 + </el-button> -->
10 10 </div>
11 11 <el-row :gutter="20">
12 12 <el-col :span="6">
... ...
src/views/machine/printerRuleList.vue
... ... @@ -7,7 +7,7 @@
7 7 <el-col :span="20">
8 8 <el-card class="box-card">
9 9 <div slot="header" class="text-left">
10   - <h5>{{ printerRuleInfo.curPrinterRule.ruleName }}</h5>
  10 + <span>{{ printerRuleInfo.curPrinterRule.ruleName }}</span>
11 11 <div class="role-context">{{ printerRuleInfo.curPrinterRule.remark }}</div>
12 12 </div>
13 13 <div class="role-menu flex justify-start">
... ...