driverMsg.vue 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. <template>
  2. <div class="mod-driverMsg app-container">
  3. <!-- 卡片视图区域 -->
  4. <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
  5. <el-form-item>
  6. <el-input v-model="dataForm.name" placeholder="驾驶员姓名" clearable></el-input>
  7. </el-form-item>
  8. <el-form-item>
  9. <el-input v-model="dataForm.fTel" placeholder="联系电话" clearable></el-input>
  10. </el-form-item>
  11. <el-form-item>
  12. <el-button @click="getDataList()">查询</el-button>
  13. <el-button
  14. type="primary" @click="addOrUpdateHandle()">新增</el-button>
  15. <!-- <el-button v-if="isAuth('fleet:driverMsg:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button>-->
  16. </el-form-item>
  17. </el-form>
  18. <el-table
  19. :data="dataList"
  20. v-loading="dataListLoading"
  21. @selection-change="selectionChangeHandle"
  22. style="width: 100%;">
  23. <el-table-column
  24. type="selection"
  25. header-align="center"
  26. align="center"
  27. width="50">
  28. </el-table-column>
  29. <el-table-column
  30. prop="companyName"
  31. header-align="center"
  32. align="center"
  33. :show-overflow-tooltip="true"
  34. width="150"
  35. label="所属公司">
  36. </el-table-column>
  37. <el-table-column
  38. prop="name"
  39. header-align="center"
  40. align="center"
  41. width="150"
  42. label="驾驶员姓名">
  43. </el-table-column>
  44. <el-table-column
  45. prop="fFax"
  46. header-align="center"
  47. align="center"
  48. width="150"
  49. :formatter="formatSex"
  50. label="性别">
  51. </el-table-column>
  52. <el-table-column
  53. prop="fContractb"
  54. header-align="center"
  55. align="center"
  56. :show-overflow-tooltip="true"
  57. width="160"
  58. :formatter="timestampToTime"
  59. label="出生日期">
  60. </el-table-column>
  61. <el-table-column
  62. prop="fEaddr"
  63. header-align="center"
  64. align="center"
  65. label="准驾车型">
  66. </el-table-column>
  67. <el-table-column
  68. prop="fContracte"
  69. header-align="center"
  70. align="center"
  71. :show-overflow-tooltip="true"
  72. :formatter="dateFormat"
  73. width="160"
  74. label="初次领证日期">
  75. </el-table-column>
  76. <el-table-column
  77. prop="fScale"
  78. header-align="center"
  79. align="center"
  80. :show-overflow-tooltip="true"
  81. width="170"
  82. label="身份证号">
  83. </el-table-column>
  84. <el-table-column
  85. prop="fTel"
  86. header-align="center"
  87. align="center"
  88. width="150"
  89. label="联系电话">
  90. </el-table-column>
  91. <el-table-column
  92. prop="fAddr"
  93. header-align="center"
  94. align="center"
  95. :show-overflow-tooltip="true"
  96. label="家庭住址">
  97. </el-table-column>
  98. <el-table-column
  99. header-align="center"
  100. align="center"
  101. width="150"
  102. label="个人照片">
  103. <template slot-scope="scope">
  104.     <img v-if="scope.row.registerdAddress? 'true':''" :src="scope.row.registerdAddress" width="80" height="60" class="head_pic"/>
  105.   </template>
  106. </el-table-column>
  107. <el-table-column
  108. prop="manageScope"
  109. header-align="center"
  110. align="center"
  111. width="150"
  112. label="驾驶证照片">
  113. <template slot-scope="scope">
  114.     <img v-if="scope.row.manageScope? 'true':''" :src="scope.row.manageScope" width="80" height="60" class="head_pic"/>
  115.   </template>
  116. </el-table-column>
  117. <el-table-column
  118. prop="creatTime"
  119. header-align="center"
  120. align="center"
  121. width="160"
  122. :show-overflow-tooltip="true"
  123. label="注册时间">
  124. </el-table-column>
  125. <el-table-column
  126. fixed="right"
  127. header-align="center"
  128. align="center"
  129. width="150"
  130. label="操作">
  131. <template slot-scope="scope">
  132. <!-- <el-tooltip class="item" effect="dark" content="修改" :enterable="false" placement="top">-->
  133. <!-- <el-button type="primary"-->
  134. <!-- v-hasPermi="['fleet:driverMsg:edit']"-->
  135. <!-- icon="el-icon-edit"-->
  136. <!-- content="修改"-->
  137. <!-- size="mini"-->
  138. <!-- circle @click="addOrUpdateHandle(scope.row)"></el-button>-->
  139. <!-- </el-tooltip>-->
  140. <el-button
  141. size="mini"
  142. type="text"
  143. icon="el-icon-edit"
  144. @click="addOrUpdateHandle(scope.row)"
  145. >查看
  146. </el-button>
  147. <el-button
  148. type="text"
  149. icon="el-icon-delete"
  150. size="mini"
  151. circle @click="deleteHandle(scope.row.id)">删除</el-button>
  152. </template>
  153. </el-table-column>
  154. </el-table>
  155. <el-pagination
  156. @size-change="sizeChangeHandle"
  157. @current-change="currentChangeHandle"
  158. :current-page="dataForm.pageNum"
  159. :page-sizes="[10, 20, 50, 100]"
  160. :page-size="dataForm.pageSize"
  161. :total="totalPage"
  162. layout="total, sizes, prev, pager, next, jumper">
  163. </el-pagination>
  164. <!-- 弹窗, 新增 / 修改 -->
  165. <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" :dataForm="editModel"></add-or-update>
  166. </div>
  167. </template>
  168. <script>
  169. import {listFtmsorderbills, deleted} from '@/api/fleet/driverMsg'
  170. import AddOrUpdate from './driverMsg-add-or-update'
  171. export default {
  172. data () {
  173. return {
  174. dataForm: {
  175. name: null,
  176. fTel: null,
  177. pageNum: 1,
  178. pageSize: 10
  179. },
  180. editModel: {},
  181. dataList: [],
  182. totalPage: 0,
  183. dataListLoading: false,
  184. dataListSelections: [],
  185. addOrUpdateVisible: false
  186. }
  187. },
  188. components: {
  189. AddOrUpdate
  190. },
  191. activated () {
  192. this.getDataList()
  193. },
  194. methods: {
  195. timestampToTime (row, column) {
  196. const daterc = row[column.property]
  197. if (daterc != null) {
  198. const date = new Date(row.fContractb)
  199. const Y = date.getFullYear() + '-'
  200. const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
  201. const D = date.getDate() + ' '
  202. return Y + M + D
  203. }
  204. },
  205. dateFormat (row, column, cellValue, index) {
  206. const daterc = row[column.property]
  207. if (daterc != null) {
  208. const dateMat = new Date(row.fContracte)
  209. const year = dateMat.getFullYear()
  210. const month = dateMat.getMonth() + 1
  211. const day = dateMat.getDate()
  212. const timeFormat = year + '-' + month + '-' + day
  213. return timeFormat
  214. }
  215. },
  216. // 获取数据列表
  217. getDataList () {
  218. this.dataListLoading = true
  219. listFtmsorderbills(this.dataForm).then(data=>{
  220. console.log(data)
  221. if (data && data.code === 200) {
  222. this.dataList = data.rows
  223. this.totalPage = data.total
  224. } else {
  225. this.dataList = []
  226. this.totalPage = 0
  227. }
  228. this.dataListLoading = false
  229. })
  230. },
  231. // 每页数
  232. sizeChangeHandle (val) {
  233. console.log(val)
  234. this.dataForm.pageSize = val
  235. this.pageIndex = 1
  236. this.getDataList()
  237. },
  238. // 当前页
  239. currentChangeHandle (val) {
  240. this.dataForm.current = val
  241. this.getDataList()
  242. },
  243. // 多选
  244. selectionChangeHandle (val) {
  245. this.dataListSelections = val
  246. },
  247. // 新增 / 修改
  248. addOrUpdateHandle (row) {
  249. this.addOrUpdateVisible = true
  250. if (row) {
  251. this.editModel = row
  252. } else {
  253. this.editModel = {
  254. id: null,
  255. fleetCompanyId: null,
  256. name: null,
  257. fFax: null,
  258. fContractb: null,
  259. fEaddr: null,
  260. fContracte: null,
  261. fScale: null,
  262. fTel: null,
  263. fAddr: null,
  264. registerdAddress: null,
  265. manageScope: null,
  266. creatTime: null,
  267. modificationTime: null,
  268. updateType: null
  269. }
  270. }
  271. this.$nextTick(() => {
  272. this.$refs.addOrUpdate.init()
  273. })
  274. },
  275. // 删除
  276. deleteHandle (id) {
  277. var driverMsgIds = id ? [id] : this.dataListSelections.map(item => {
  278. return item.userId
  279. })
  280. this.$confirm(`确定对[id=${driverMsgIds.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
  281. confirmButtonText: '确定',
  282. cancelButtonText: '取消',
  283. type: 'warning'
  284. }).then(() => {
  285. deleted(driverMsgIds).then(data=> {
  286. if (data && data.code === 0) {
  287. this.$message({
  288. message: '操作成功',
  289. type: 'success',
  290. duration: 1500,
  291. onClose: () => {
  292. this.getDataList()
  293. }
  294. })
  295. } else {
  296. this.$message.error(data.msg)
  297. }
  298. })
  299. })
  300. },
  301. formatSex: function (row, column) {
  302. return row.fFax == 0 ? '男' : row.fFax == 1 ? '女' : '未知'
  303. }
  304. }
  305. }
  306. </script>