P51.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta name="renderer" content="webkit">
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  6. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  7. <meta http-equiv="pragma" content="no-cache">
  8. <meta http-equiv="Cache" content="no-cache">
  9. <meta http-equiv="cache-control" content="no-cache, must-revalidate">
  10. <meta http-equiv="expires" content="0">
  11. <meta name="viewport"
  12. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  13. <title>备件出入库记录</title>
  14. <link rel="stylesheet" href="../css/index.css">
  15. <link rel="stylesheet" href="../css/style.css">
  16. <link rel="stylesheet" href="../css/iconfont.css">
  17. <link rel="stylesheet" href="../css/tablema.css">
  18. <script src="../js/vue.min.js"></script>
  19. <script src="../js/index.js"></script>
  20. <script src="../js/jquery.min.js"></script>
  21. <script src="../js/echarts.min.js"></script>
  22. <script type="text/javascript">
  23. document.write('<script src="../assets/init.js?id=' + (new Date().getTime()) +
  24. '" type="text/javascript" charset="utf-8"><\/script>');
  25. document.write('<script src="../assets/ajax.js?id=' + (new Date().getTime()) +
  26. '" type="text/javascript" charset="utf-8"><\/script>');
  27. </script>
  28. <script>
  29. checkLogin();
  30. </script>
  31. <style type="text/css">
  32. .el-input-number__decrease, .el-input-number__increase{
  33. height: 34px;
  34. top: 2px;
  35. }
  36. .el-drawer__body .el-table tr,.el-drawer__body .el-table td,.el-drawer__body .el-table {
  37. color: #606266;
  38. background-color: #fff !important;
  39. }
  40. .spaclForm .el-form-item__label {
  41. color: #fff;
  42. }
  43. .draw .el-input__inner{
  44. border-color: #DCDFE6;
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <div id="app" v-cloak class="padding-xs">
  50. <el-row :gutter="10">
  51. <el-col :span="18" :xs="24">
  52. <el-form class="spaclForm" :model="queryParams" ref="queryRef" :inline="true" label-width="90px">
  53. <el-form-item label="船舶名称:" prop="shipName" class="cerName">
  54. <el-input v-model="queryParams.shipName" placeholder="请输入船舶名称" clearable
  55. @keyup.enter="handleQuery"/>
  56. </el-form-item>
  57. <el-form-item label="设备名称:" prop="maintainEquipment" class="cerName">
  58. <el-input v-model="queryParams.maintainEquipment" placeholder="请输入设备名称" clearable
  59. @keyup.enter="handleQuery" />
  60. </el-form-item>
  61. <el-form-item>
  62. <el-button type="primary" size="small" icon="el-icon-search" @click="handleQuery">搜索
  63. </el-button>
  64. <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
  65. </el-form-item>
  66. </el-form>
  67. </el-col>
  68. <el-col :span="6" :xs="24" class="text-right">
  69. <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleAdd">新增</el-button>
  70. <!-- <el-button type="warning" size="small" plain icon="el-icon-download">导出</el-button> -->
  71. </el-col>
  72. </el-row>
  73. <div class="mainTable">
  74. <el-table :data="maintaiList"
  75. :header-cell-style="{ color: 'var(--white)',background: '#082041' }">
  76. <el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
  77. <el-table-column label="船舶名称" align="center" prop="shipName" show-overflow-tooltip></el-table-column>
  78. <el-table-column label="设备名称" align="center" prop="maintainEquipment" show-overflow-tooltip></el-table-column>
  79. <el-table-column label="故障描述" align="center" prop="maintailRemarkBefore" show-overflow-tooltip></el-table-column>
  80. <el-table-column label="维修时间" align="center" prop="maintailBefore" show-overflow-tooltip></el-table-column>
  81. <el-table-column label="报修时间" align="center" prop="createTime"></el-table-column>
  82. <el-table-column label="状态" align="center" prop="maintailType">
  83. <template slot-scope="scope">
  84. <my-dicttag :options="maintenanceState" :value="scope.row.maintailType"></my-dicttag>
  85. </template>
  86. </el-table-column>
  87. <el-table-column label="操作" align="center" width="150">
  88. <template slot-scope="scope">
  89. <el-button link type="text" class="text-green" icon="el-icon-view" @click="handleSee(scope.row)">详情</el-button>
  90. <el-button link type="text" class="text-red" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
  91. </template>
  92. </el-table-column>
  93. </el-table>
  94. </div>
  95. <div class="margin-tb-sm" v-if="maintaiList.length">
  96. <el-pagination @current-change="handleCurrentChange" :current-page="queryParams.pageNum" background
  97. :page-size="10" layout="total, prev, pager, next, jumper" :total="allTotal">
  98. </el-pagination>
  99. </div>
  100. <el-drawer
  101. title="维修清单"
  102. size="50vw"
  103. :visible.sync="drawerDolag"
  104. direction="rtl">
  105. <div class="padding-xs">
  106. <el-descriptions :column="2" border title="报修信息">
  107. <el-descriptions-item label="船舶名称">
  108. {{maintainForm.shipName}}
  109. </el-descriptions-item>
  110. <el-descriptions-item label="设备名称">
  111. {{maintainForm.maintainEquipment}}
  112. </el-descriptions-item>
  113. <el-descriptions-item label="维修日期">
  114. {{maintainForm.maintailBefore}}
  115. </el-descriptions-item>
  116. <el-descriptions-item label="故障描述">
  117. {{maintainForm.maintailRemarkBefore}}
  118. </el-descriptions-item>
  119. <el-descriptions-item label="设备图片">
  120. <el-image
  121. style="width: 50px; height: 50px"
  122. :preview-src-list="maintainForm.maintailBeforeUrl | getImgList"
  123. :src="imgUrl+maintainForm.maintailBeforeUrl" >
  124. </el-image>
  125. </el-descriptions-item>
  126. </el-descriptions>
  127. <el-descriptions border :column="2" v-if="maintainForm.maintailType == 20" title="维修信息" class="margin-top">
  128. <el-descriptions-item label="实际维修时间">
  129. {{maintainForm.maintailEnd}}
  130. </el-descriptions-item>
  131. <el-descriptions-item label="维修备注">
  132. {{maintainForm.maintailRemarkEnd}}
  133. </el-descriptions-item>
  134. <el-descriptions-item label="维修后图片">
  135. <el-image
  136. style="width: 50px; height: 50px"
  137. :preview-src-list="maintainForm.maintailEndUrl | getImgList"
  138. :src="imgUrl+maintainForm.maintailEndUrl" >
  139. </el-image>
  140. </el-descriptions-item>
  141. </el-descriptions>
  142. <div v-if="maintainForm.maintailType == 10" class="margin-top">
  143. <el-form class="draw" ref="maintainRef" :model="maintainForm" :rules="rules" label-width="120px">
  144. <el-form-item label="实际维修时间:" prop="maintailEnd">
  145. <el-date-picker clearable v-model="maintainForm.maintailEnd" type="datetime" class="flex-sub border"
  146. value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择实际维修时间">
  147. </el-date-picker>
  148. </el-form-item>
  149. <el-form-item label="维修备注:" prop="maintailRemarkEnd">
  150. <el-input v-model="maintainForm.maintailRemarkEnd" type="textarea" :rows="3" placeholder="请输入备注" />
  151. </el-form-item>
  152. <el-form-item label="维修后图片:">
  153. <el-upload
  154. class="avatar-uploader"
  155. :headers="upHeaders"
  156. :action="imgUrl+'/common/upload'"
  157. :show-file-list="false"
  158. limit="1"
  159. :on-success="handleAvatarSuccess"
  160. :before-upload="beforeAvatarUpload">
  161. <img v-if="maintainForm.maintailEndUrl" :src="imgUrl + maintainForm.maintailEndUrl" style="width: 100px;" class="avatar">
  162. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  163. </el-upload>
  164. </el-form-item>
  165. <el-form-item>
  166. <el-button size="small" type="primary" @click="handleSubmit">确 定</el-button>
  167. <el-button size="small" @click="open = false">取 消</el-button>
  168. </el-form-item>
  169. </el-form>
  170. </div>
  171. </div>
  172. </el-drawer>
  173. <!-- 添加或修改证书对话框 -->
  174. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  175. <el-form class="spaclForm" ref="maintainRef" :model="maintainForm" :rules="rules" label-width="120px">
  176. <el-form-item label="船舶名称:" prop="shipName">
  177. <el-input v-model="maintainForm.shipName" placeholder="请输入设备名称" />
  178. </el-form-item>
  179. <el-form-item label="设备名称:" prop="maintainEquipment">
  180. <el-input v-model="maintainForm.maintainEquipment" placeholder="请输入设备名称" />
  181. </el-form-item>
  182. <el-form-item label="维修日期:" prop="maintailBefore">
  183. <el-date-picker clearable v-model="maintainForm.maintailBefore" type="datetime" class="flex-sub"
  184. value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择维修日期">
  185. </el-date-picker>
  186. </el-form-item>
  187. <el-form-item label="故障描述:" prop="maintailRemarkBefore">
  188. <el-input v-model="maintainForm.maintailRemarkBefore" type="textarea" :rows="3" placeholder="请输入备注" />
  189. </el-form-item>
  190. <el-form-item label="故障图片:">
  191. <el-upload
  192. class="avatar-uploader"
  193. :headers="upHeaders"
  194. :action="imgUrl+'/common/upload'"
  195. :show-file-list="false"
  196. limit="1"
  197. :on-success="handleAvatarSuccess"
  198. :before-upload="beforeAvatarUpload">
  199. <img v-if="maintainForm.maintailBeforeUrl" :src="imgUrl + maintainForm.maintailBeforeUrl" class="avatar" style="width: 100px;">
  200. <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  201. </el-upload>
  202. </el-form-item>
  203. <el-form-item>
  204. <el-button size="small" type="primary" @click="handleSubmit">确 定</el-button>
  205. <el-button size="small" @click="open=false">取 消</el-button>
  206. </el-form-item>
  207. </el-form>
  208. </el-dialog>
  209. </div>
  210. <script type="text/javascript">
  211. document.write('<script src="../assets/fileApi.js?id=' + (new Date().getTime()) + '" type="text/javascript" charset="utf-8"><\/script>');
  212. document.write('<script src="../components/DictTag.js?id=' + (new Date().getTime()) + '" type="text/javascript" charset="utf-8"><\/script>');
  213. document.write('<script src="../assets/maintenance.js?id=' + (new Date().getTime()) + '" type="text/javascript" charset="utf-8"><\/script>');
  214. </script>
  215. </body>
  216. </html>