fix:修改查看图片时间
This commit is contained in:
		
							parent
							
								
									26c51dae2d
								
							
						
					
					
						commit
						9d6570ba18
					
				| @ -2,75 +2,156 @@ | |||||||
|  * @Author: SunTao 328867980@qq.com |  * @Author: SunTao 328867980@qq.com | ||||||
|  * @Date: 2024-11-20 11:58:33 |  * @Date: 2024-11-20 11:58:33 | ||||||
|  * @LastEditors: SunTao 328867980@qq.com |  * @LastEditors: SunTao 328867980@qq.com | ||||||
|  * @LastEditTime: 2025-03-10 10:46:02 |  * @LastEditTime: 2025-04-16 16:10:25 | ||||||
|  * @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\index.vue |  * @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\index.vue | ||||||
|  * @Description: 养护通知单 |  * @Description: 养护通知单 | ||||||
| --> | --> | ||||||
| <template> | <template> | ||||||
|   <div class="content"> |   <div class="content"> | ||||||
|     <el-form :model="noticeForm" :rules="noticeFormRules" ref="noticeForm" size="small" :inline="true" |     <el-form | ||||||
|       label-width="5rem"> |       :model="noticeForm" | ||||||
|  |       :rules="noticeFormRules" | ||||||
|  |       ref="noticeForm" | ||||||
|  |       size="small" | ||||||
|  |       :inline="true" | ||||||
|  |       label-width="5rem" | ||||||
|  |     > | ||||||
|       <el-form-item label="道路名称" prop="segmentId"> |       <el-form-item label="道路名称" prop="segmentId"> | ||||||
|         <el-select v-model="noticeForm.segmentId" placeholder="请选择路段" clearable filterable> |         <el-select | ||||||
|           <el-option v-for="item in segmentList" :key="item.value" :label="item.label" :value="item.value" /> |           v-model="noticeForm.segmentId" | ||||||
|  |           placeholder="请选择路段" | ||||||
|  |           clearable | ||||||
|  |           filterable | ||||||
|  |         > | ||||||
|  |           <el-option | ||||||
|  |             v-for="item in segmentList" | ||||||
|  |             :key="item.value" | ||||||
|  |             :label="item.label" | ||||||
|  |             :value="item.value" | ||||||
|  |           /> | ||||||
|         </el-select> |         </el-select> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="采集时间" prop="dateTime"> |       <el-form-item label="采集时间" prop="dateTime"> | ||||||
|         <el-date-picker v-model="dateTime" type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" |         <el-date-picker | ||||||
|           format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable /> |           v-model="dateTime" | ||||||
|  |           type="daterange" | ||||||
|  |           start-placeholder="开始日期" | ||||||
|  |           end-placeholder="结束日期" | ||||||
|  |           format="yyyy-MM-dd" | ||||||
|  |           value-format="yyyy-MM-dd" | ||||||
|  |           clearable | ||||||
|  |         /> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="病害类型" prop="paramsDefectType"> |       <el-form-item label="病害类型" prop="paramsDefectType"> | ||||||
|         <el-cascader v-model="paramsDefectType" :options="tableDefect" :props="{ |         <el-cascader | ||||||
|  |           v-model="paramsDefectType" | ||||||
|  |           :options="tableDefect" | ||||||
|  |           :props="{ | ||||||
|             checkStrictly: true, |             checkStrictly: true, | ||||||
|             emitPath: true, |             emitPath: true, | ||||||
|             children: 'subTypes', |             children: 'subTypes', | ||||||
|         }" clearable></el-cascader> |           }" | ||||||
|  |           clearable | ||||||
|  |         ></el-cascader> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="上下行" prop="inspectDirection"> |       <el-form-item label="上下行" prop="inspectDirection"> | ||||||
|         <el-select v-model="noticeForm.inspectDirection" placeholder="请选择" clearable> |         <el-select | ||||||
|  |           v-model="noticeForm.inspectDirection" | ||||||
|  |           placeholder="请选择" | ||||||
|  |           clearable | ||||||
|  |         > | ||||||
|           <el-option label="上行" value="0" /> |           <el-option label="上行" value="0" /> | ||||||
|           <el-option label="下行" value="1" /> |           <el-option label="下行" value="1" /> | ||||||
|         </el-select> |         </el-select> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="是否紧急" prop="urgentFlag"> |       <el-form-item label="是否紧急" prop="urgentFlag"> | ||||||
|         <el-select v-model="noticeForm.urgentFlag" placeholder="请选择" clearable> |         <el-select | ||||||
|  |           v-model="noticeForm.urgentFlag" | ||||||
|  |           placeholder="请选择" | ||||||
|  |           clearable | ||||||
|  |         > | ||||||
|           <el-option label="紧急" value="0" /> |           <el-option label="紧急" value="0" /> | ||||||
|           <el-option label="不紧急" value="2" /> |           <el-option label="不紧急" value="2" /> | ||||||
|         </el-select> |         </el-select> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="公里桩" prop="stakeRange"> |       <el-form-item label="公里桩" prop="stakeRange"> | ||||||
|         <el-input v-model="noticeForm.stakeStart" placeholder="起始公里桩" style="width: 10rem" clearable /> |         <el-input | ||||||
|  |           v-model="noticeForm.stakeStart" | ||||||
|  |           placeholder="起始公里桩" | ||||||
|  |           style="width: 10rem" | ||||||
|  |           clearable | ||||||
|  |         /> | ||||||
|         <span style="margin: 0 5px">-</span> |         <span style="margin: 0 5px">-</span> | ||||||
|         <el-input v-model="noticeForm.stakeEnd" placeholder="终止公里桩" style="width: 10rem" clearable /> |         <el-input | ||||||
|         <el-tooltip class="item" effect="dark" content="格式为K0000+000" placement="top"> |           v-model="noticeForm.stakeEnd" | ||||||
|  |           placeholder="终止公里桩" | ||||||
|  |           style="width: 10rem" | ||||||
|  |           clearable | ||||||
|  |         /> | ||||||
|  |         <el-tooltip | ||||||
|  |           class="item" | ||||||
|  |           effect="dark" | ||||||
|  |           content="格式为K0000+000" | ||||||
|  |           placement="top" | ||||||
|  |         > | ||||||
|           <i class="el-icon-info"></i> |           <i class="el-icon-info"></i> | ||||||
|         </el-tooltip> |         </el-tooltip> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|       <el-form-item label="病害长度" prop="lengthRange"> |       <el-form-item label="病害长度" prop="lengthRange"> | ||||||
|         <el-input-number v-model="noticeForm.minLen" controls-position="right" placeholder="最小长度" |         <el-input-number | ||||||
|           :min="0"></el-input-number> |           v-model="noticeForm.minLen" | ||||||
|  |           controls-position="right" | ||||||
|  |           placeholder="最小长度" | ||||||
|  |           :min="0" | ||||||
|  |         ></el-input-number> | ||||||
|         <span style="margin: 0 5px">-</span> |         <span style="margin: 0 5px">-</span> | ||||||
|         <el-input-number v-model="noticeForm.maxLen" controls-position="right" placeholder="最大长度" |         <el-input-number | ||||||
|           :min="0"></el-input-number> |           v-model="noticeForm.maxLen" | ||||||
|  |           controls-position="right" | ||||||
|  |           placeholder="最大长度" | ||||||
|  |           :min="0" | ||||||
|  |         ></el-input-number> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
| 
 | 
 | ||||||
|       <el-form-item label="病害面积" prop="areaRange"> |       <el-form-item label="病害面积" prop="areaRange"> | ||||||
|         <el-input-number v-model="noticeForm.minArea" controls-position="right" placeholder="最小面积" |         <el-input-number | ||||||
|           :min="0"></el-input-number> |           v-model="noticeForm.minArea" | ||||||
|  |           controls-position="right" | ||||||
|  |           placeholder="最小面积" | ||||||
|  |           :min="0" | ||||||
|  |         ></el-input-number> | ||||||
|         <span style="margin: 0 5px">-</span> |         <span style="margin: 0 5px">-</span> | ||||||
|         <el-input-number v-model="noticeForm.maxArea" controls-position="right" placeholder="最大面积" |         <el-input-number | ||||||
|           :min="0"></el-input-number> |           v-model="noticeForm.maxArea" | ||||||
|  |           controls-position="right" | ||||||
|  |           placeholder="最大面积" | ||||||
|  |           :min="0" | ||||||
|  |         ></el-input-number> | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
| 
 | 
 | ||||||
|       <el-form-item> |       <el-form-item> | ||||||
|         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |         <el-button | ||||||
|         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |           type="primary" | ||||||
|  |           icon="el-icon-search" | ||||||
|  |           size="mini" | ||||||
|  |           @click="handleQuery" | ||||||
|  |           >搜索</el-button | ||||||
|  |         > | ||||||
|  |         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | ||||||
|  |           >重置</el-button | ||||||
|  |         > | ||||||
|       </el-form-item> |       </el-form-item> | ||||||
|     </el-form> |     </el-form> | ||||||
|     <!-- 操作按钮 --> |     <!-- 操作按钮 --> | ||||||
|     <el-row :gutter="10" class="mb8"> |     <el-row :gutter="10" class="mb8"> | ||||||
|       <el-col :span="1.5"> |       <el-col :span="1.5"> | ||||||
|         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增 |         <el-button | ||||||
|  |           type="primary" | ||||||
|  |           plain | ||||||
|  |           icon="el-icon-plus" | ||||||
|  |           size="mini" | ||||||
|  |           @click="handleAdd" | ||||||
|  |           >新增 | ||||||
|         </el-button> |         </el-button> | ||||||
|       </el-col> |       </el-col> | ||||||
|       <!-- <el-col :span="1.5"> |       <!-- <el-col :span="1.5"> | ||||||
| @ -78,12 +159,23 @@ | |||||||
|           @click="handleDelete(null)">删除 |           @click="handleDelete(null)">删除 | ||||||
|         </el-button> |         </el-button> | ||||||
|       </el-col> --> |       </el-col> --> | ||||||
|       <el-col :span="8"><span style="font-size: 1.2rem">病害长度:{{ lengthSum }}米;</span><span |       <el-col :span="8" | ||||||
|           style="margin-left: 1rem; font-size: 1.2rem">病害总面积:{{ areaSum }}平方米</span></el-col> |         ><span style="font-size: 1.2rem">病害长度:{{ lengthSum }}米;</span | ||||||
|  |         ><span style="margin-left: 1rem; font-size: 1.2rem" | ||||||
|  |           >病害总面积:{{ areaSum }}平方米</span | ||||||
|  |         ></el-col | ||||||
|  |       > | ||||||
|     </el-row> |     </el-row> | ||||||
|     <!-- 表格 --> |     <!-- 表格 --> | ||||||
|     <el-table class="notice-table" ref="noticeTable" :data="noticeList" @selection-change="handleSelectionChange" |     <el-table | ||||||
|       :row-key="getRowKey" v-loading="loading" style="width: 100%"> |       class="notice-table" | ||||||
|  |       ref="noticeTable" | ||||||
|  |       :data="noticeList" | ||||||
|  |       @selection-change="handleSelectionChange" | ||||||
|  |       :row-key="getRowKey" | ||||||
|  |       v-loading="loading" | ||||||
|  |       style="width: 100%" | ||||||
|  |     > | ||||||
|       <el-table-column type="selection" width="55" align="center" /> |       <el-table-column type="selection" width="55" align="center" /> | ||||||
|       <el-table-column type="index" label="序号"> </el-table-column> |       <el-table-column type="index" label="序号"> </el-table-column> | ||||||
|       <el-table-column label="路段名称" align="center" prop="segmentName" /> |       <el-table-column label="路段名称" align="center" prop="segmentName" /> | ||||||
| @ -95,12 +187,17 @@ | |||||||
|       <el-table-column label="结束桩号" align="center" prop="stakeEnd" /> |       <el-table-column label="结束桩号" align="center" prop="stakeEnd" /> | ||||||
|       <el-table-column label="病害图片" align="center" prop="media"> |       <el-table-column label="病害图片" align="center" prop="media"> | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|           <img @click="showScreenImg(scope.row)" height="50" :src="scope.row.mediaUrl" /> |           <img | ||||||
|  |             @click="showScreenImg(scope.row)" | ||||||
|  |             height="50" | ||||||
|  |             :src="scope.row.mediaUrl" | ||||||
|  |           /> | ||||||
|         </template> |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="病害长度" align="center" prop="targetLen"> |       <el-table-column label="病害长度" align="center" prop="targetLen"> | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|           {{ scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}米` }} </template> |           {{ scope.row.targetLen * 1 <= 0 ? "" : `${scope.row.targetLen}米` }} | ||||||
|  |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="病害面积" align="center" prop="targetArea" /> |       <el-table-column label="病害面积" align="center" prop="targetArea" /> | ||||||
|       <el-table-column label="道路方向" align="center" prop="inspectDirection"> |       <el-table-column label="道路方向" align="center" prop="inspectDirection"> | ||||||
| @ -112,48 +209,114 @@ | |||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="是否紧急" align="center" prop="urgentFlag"> |       <el-table-column label="是否紧急" align="center" prop="urgentFlag"> | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|           <el-button v-if="scope.row.urgentFlag === 0" type="danger" plain disabled>紧急</el-button> |           <el-button | ||||||
|           <el-button v-if="scope.row.urgentFlag === 2" type="warning" plain disabled>不紧急</el-button> |             v-if="scope.row.urgentFlag === 0" | ||||||
|  |             type="danger" | ||||||
|  |             plain | ||||||
|  |             disabled | ||||||
|  |             >紧急</el-button | ||||||
|  |           > | ||||||
|  |           <el-button | ||||||
|  |             v-if="scope.row.urgentFlag === 2" | ||||||
|  |             type="warning" | ||||||
|  |             plain | ||||||
|  |             disabled | ||||||
|  |             >不紧急</el-button | ||||||
|  |           > | ||||||
|         </template> |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |       <el-table-column | ||||||
|  |         label="操作" | ||||||
|  |         align="center" | ||||||
|  |         class-name="small-padding fixed-width" | ||||||
|  |       > | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">生成工单 |           <el-button | ||||||
|  |             size="mini" | ||||||
|  |             type="text" | ||||||
|  |             icon="el-icon-edit" | ||||||
|  |             @click="handleUpdate(scope.row)" | ||||||
|  |             >生成工单 | ||||||
|           </el-button> |           </el-button> | ||||||
|         </template> |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|     </el-table> |     </el-table> | ||||||
|     <!-- 分页组件 --> |     <!-- 分页组件 --> | ||||||
|     <div class="pagination-part"> |     <div class="pagination-part"> | ||||||
|       <el-pagination background :current-page.sync="pagination.page" @current-change="handleCurrentChange" |       <el-pagination | ||||||
|         :page-sizes="[10, 20, 30, 40]" :page-size.sync="pagination.size" @size-change="handleSizeChange" |         background | ||||||
|         layout="total, sizes, prev, pager, next, jumper" :total="tableTotal"> |         :current-page.sync="pagination.page" | ||||||
|  |         @current-change="handleCurrentChange" | ||||||
|  |         :page-sizes="[10, 20, 30, 40]" | ||||||
|  |         :page-size.sync="pagination.size" | ||||||
|  |         @size-change="handleSizeChange" | ||||||
|  |         layout="total, sizes, prev, pager, next, jumper" | ||||||
|  |         :total="tableTotal" | ||||||
|  |       > | ||||||
|       </el-pagination> |       </el-pagination> | ||||||
|     </div> |     </div> | ||||||
|     <!-- 新增弹窗 --> |     <!-- 新增弹窗 --> | ||||||
|     <el-dialog title="生成表单" :visible.sync="addVisible" width="90%" append-to-body :close-on-click-modal="false" |     <el-dialog | ||||||
|       destroy-on-close @close="addCancel"> |       title="生成表单" | ||||||
|       <edit-dialog v-if="addVisible" :causesList="causesList" :rampTypeList="rampTypeList" |       :visible.sync="addVisible" | ||||||
|         :diseFirstType="diseFirstType" :stationLocationList="stationLocationList" :roadDirectionList="roadDirectionList" |       width="90%" | ||||||
|         :segmentTypeList="segmentTypeList" :segmentList="segmentList" :tableDefect="tableDefect" |       append-to-body | ||||||
|         :dialogItem="dialogItem" :dialogItemObj="dialogItemObj" :dialogMsg="dialogMsg" @cancel="addCancel" /> |       :close-on-click-modal="false" | ||||||
|  |       destroy-on-close | ||||||
|  |       @close="addCancel" | ||||||
|  |     > | ||||||
|  |       <edit-dialog | ||||||
|  |         v-if="addVisible" | ||||||
|  |         :causesList="causesList" | ||||||
|  |         :rampTypeList="rampTypeList" | ||||||
|  |         :diseFirstType="diseFirstType" | ||||||
|  |         :stationLocationList="stationLocationList" | ||||||
|  |         :roadDirectionList="roadDirectionList" | ||||||
|  |         :segmentTypeList="segmentTypeList" | ||||||
|  |         :segmentList="segmentList" | ||||||
|  |         :tableDefect="tableDefect" | ||||||
|  |         :dialogItem="dialogItem" | ||||||
|  |         :dialogItemObj="dialogItemObj" | ||||||
|  |         :dialogMsg="dialogMsg" | ||||||
|  |         @cancel="addCancel" | ||||||
|  |       /> | ||||||
|     </el-dialog> |     </el-dialog> | ||||||
| 
 | 
 | ||||||
|     <!-- 查看图片大图 --> |     <!-- 查看图片大图 --> | ||||||
|     <el-dialog title="查看图片" :visible.sync="showImageDialog" width="85rem" append-to-body destroy-on-close |     <el-dialog | ||||||
|       @close="imgCancel"> |       title="查看图片" | ||||||
|  |       :visible.sync="showImageDialog" | ||||||
|  |       width="85rem" | ||||||
|  |       append-to-body | ||||||
|  |       destroy-on-close | ||||||
|  |       @close="imgCancel" | ||||||
|  |     > | ||||||
|       <div class="image-container" ref="imageContainer"> |       <div class="image-container" ref="imageContainer"> | ||||||
|         <img :src="currentImageItem.mediaUrl" alt="Main Image" ref="mainImage" @load="updateRects" /> |         <img | ||||||
|         <div v-for="(rect, index) in rects" :key="index" class="rect-overlay" :style="getRectStyle(rect)"></div> |           :src="currentImageItem.mediaUrl" | ||||||
|  |           alt="Main Image" | ||||||
|  |           ref="mainImage" | ||||||
|  |           @load="updateRects" | ||||||
|  |         /> | ||||||
|  |         <div | ||||||
|  |           v-for="(rect, index) in rects" | ||||||
|  |           :key="index" | ||||||
|  |           class="rect-overlay" | ||||||
|  |           :style="getRectStyle(rect)" | ||||||
|  |         ></div> | ||||||
|         <div class="rect-image"> |         <div class="rect-image"> | ||||||
|           采集时间: |           采集时间: | ||||||
|           {{ new Date(currentImageItem.createdTime).toLocaleString() }} |           {{ currentImageItem.createdTimeLocal }} | ||||||
|           起始桩号: {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号: |           起始桩号: {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号: | ||||||
|           {{ currentImageItem.stakeEnd || "暂无数据" }} |           {{ currentImageItem.stakeEnd || "暂无数据" }} | ||||||
|           病害类型: |           病害类型: | ||||||
|           {{ currentImageItem.defectTypeName || "暂无数据" }} |           {{ currentImageItem.defectTypeName || "暂无数据" }} | ||||||
|           病害面积:{{ currentImageItem.targetArea }}平方米 病害长度:{{ |           病害面积:{{ currentImageItem.targetArea }}平方米 病害长度:{{ | ||||||
|             currentImageItem.targetLen * 1 <= 0 ? "暂无数据" : `${currentImageItem.targetLen}米` }} </div> |             currentImageItem.targetLen * 1 <= 0 | ||||||
|  |               ? "暂无数据" | ||||||
|  |               : `${currentImageItem.targetLen}米` | ||||||
|  |           }} | ||||||
|  |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </el-dialog> |     </el-dialog> | ||||||
|   </div> |   </div> | ||||||
| @ -510,15 +673,17 @@ export default { | |||||||
|      * @return {*} |      * @return {*} | ||||||
|      */ |      */ | ||||||
|     handleAdd() { |     handleAdd() { | ||||||
|       getMaintenanceDetail(this.checkIds).then(({ code, data, msg }) => { |       getMaintenanceDetail(this.checkIds) | ||||||
|  |         .then(({ code, data, msg }) => { | ||||||
|           if (code === 200) { |           if (code === 200) { | ||||||
|             this.dialogItemObj = data ? data : {}; |             this.dialogItemObj = data ? data : {}; | ||||||
|             this.dialogMsg = msg; |             this.dialogMsg = msg; | ||||||
|             this.addVisible = true; |             this.addVisible = true; | ||||||
|           } |           } | ||||||
|       }).catch(() => { |  | ||||||
|         this.addVisible = true; |  | ||||||
|         }) |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |           this.addVisible = true; | ||||||
|  |         }); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
| @ -547,7 +712,7 @@ export default { | |||||||
|           this.getList(); |           this.getList(); | ||||||
|           this.$modal.msgSuccess("删除成功"); |           this.$modal.msgSuccess("删除成功"); | ||||||
|         }) |         }) | ||||||
|         .catch(() => { }); |         .catch(() => {}); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user