rentInfos.jsp 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <jsp:include page="head.jsp"/>
  5. <title>享居屋房源管理系统</title>
  6. </head>
  7. <body>
  8. <jsp:include page="contentBefore.jsp"/>
  9. <template>
  10. <div class="filters">
  11. <input id="searchId" v-model="searchId" class="h34" type="text" name="searchText" placeholder="请输入内容"/>
  12. <select id="typeId" v-model="typeId" class="h34">
  13. <option value="">请选择类型</option>
  14. <option value="name">名字</option>
  15. <option value="address">地区</option>
  16. <option value="phone">电话</option>
  17. <option value="note">备注</option>
  18. <option value="submitter">开单人</option>
  19. </select>
  20. <!-- <el-select v-model="value8" placeholder="请选择">
  21. <el-option
  22. v-for="item in options"
  23. :key="item.value"
  24. :label="item.label"
  25. :value="item.value">
  26. </el-option>
  27. </el-select> -->
  28. <el-button type="primary" @click="serchLike()" class="btn34">搜索</el-button>
  29. <el-select v-model="reviewFlagKey" size="small" clearable filterable placeholder="审核状态" @change="serchLike"
  30. style="width:120px">
  31. <el-option key="N" label="审核中" value="N"></el-option>
  32. <el-option key="Y" label="通过" value="Y"></el-option>
  33. <el-option key="F" label="解除" value="F"></el-option>
  34. </el-select>
  35. <!-- <el-button type="primary" @click="create()" class="btn34">创建</el-button> -->
  36. <div class="num"> 共{{totalNumber}}标签</div>
  37. </div>
  38. <el-table :data="rows"
  39. ref="table"
  40. style="width: 100%"
  41. element-loading-text="拼命加载中"
  42. stripe
  43. v-loading="loading">
  44. <el-table-column
  45. type="index"
  46. width="70"
  47. align="center">
  48. </el-table-column>
  49. <el-table-column
  50. prop="address"
  51. label="房屋地址"
  52. align="center">
  53. </el-table-column>
  54. <el-table-column
  55. prop="name"
  56. label="租客姓名"
  57. align="center">
  58. </el-table-column>
  59. <!-- <el-table-column -->
  60. <!-- prop="idCard" -->
  61. <!-- label="身份证号码" -->
  62. <!-- align="center"> -->
  63. <!-- </el-table-column> -->
  64. <!-- <el-table-column -->
  65. <!-- label="身份证正面" -->
  66. <!-- align="center"> -->
  67. <!-- <template scope="scope"> -->
  68. <!-- <img class="singleImg" :src="scope.row.idCardPhotoA"> -->
  69. <!-- </template> -->
  70. <!-- </el-table-column> -->
  71. <!-- <el-table-column -->
  72. <!-- prop="idCardPhotoB" -->
  73. <!-- label="身份证背面" -->
  74. <!-- align="center"> -->
  75. <!-- <template scope="scope"> -->
  76. <!-- <img class="singleImg" :src="scope.row.idCardPhotoA"> -->
  77. <!-- </template> -->
  78. <!-- </el-table-column> -->
  79. <!-- <el-table-column
  80. prop="equityProveA"
  81. label="资产证明A"
  82. align="center">
  83. <template scope="scope">
  84. <img class="singleImg" :src="scope.row.idCardPhotoA">
  85. </template>
  86. </el-table-column>
  87. <el-table-column
  88. label="资产证明B"
  89. align="center">
  90. <template scope="scope">
  91. <img class="singleImg" :src="scope.row.equityProveB">
  92. </template>
  93. </el-table-column>
  94. <el-table-column
  95. label="资产证明C"
  96. align="center">
  97. <template scope="scope">
  98. <img class="singleImg" :src="scope.row.equityProveC">
  99. </template>
  100. </el-table-column>
  101. <el-table-column
  102. label="资产证明D"
  103. align="center">
  104. <template scope="scope">
  105. <img class="singleImg" :src="scope.row.equityProveD">
  106. </template>
  107. </el-table-column> -->
  108. <el-table-column
  109. prop="phone"
  110. label="电话"
  111. align="center">
  112. </el-table-column>
  113. <!-- <el-table-column -->
  114. <!-- prop="contractA" -->
  115. <!-- label="合同A" -->
  116. <!-- align="center"> -->
  117. <!-- <template scope="scope"> -->
  118. <!-- <img class="singleImg" :src="scope.row.contractA"> -->
  119. <!-- </template> -->
  120. <!-- </el-table-column> -->
  121. <!-- <el-table-column -->
  122. <!-- label="合同B" -->
  123. <!-- align="center"> -->
  124. <!-- <template scope="scope"> -->
  125. <!-- <img class="singleImg" :src="scope.row.contractB"> -->
  126. <!-- </template> -->
  127. <!-- </el-table-column> -->
  128. <!-- <el-table-column -->
  129. <!-- label="合同C" -->
  130. <!-- align="center"> -->
  131. <!-- <template scope="scope"> -->
  132. <!-- <img class="singleImg" :src="scope.row.contractC"> -->
  133. <!-- </template> -->
  134. <!-- </el-table-column> -->
  135. <!-- <el-table-column -->
  136. <!-- label="合同D" -->
  137. <!-- align="center"> -->
  138. <!-- <template scope="scope"> -->
  139. <!-- <img class="singleImg" :src="scope.row.contractD"> -->
  140. <!-- </template> -->
  141. <!-- </el-table-column> -->
  142. <!-- <el-table-column -->
  143. <!-- label="交接单" -->
  144. <!-- align="center"> -->
  145. <!-- <template scope="scope"> -->
  146. <!-- <img class="singleImg" :src="scope.row.handover"> -->
  147. <!-- </template> -->
  148. <!-- </el-table-column> -->
  149. <!-- <!-- <el-table-column -->
  150. <!-- label="房东委托授权书" -->
  151. <!-- align="center"> -->
  152. <!-- <template scope="scope"> -->
  153. <!-- <img class="singleImg" :src="scope.row.commission"> -->
  154. <!-- </template> -->
  155. <!-- </el-table-column> --> -->
  156. <!-- <el-table-column -->
  157. <!-- label="押金收据" -->
  158. <!-- align="center"> -->
  159. <!-- <template scope="scope"> -->
  160. <!-- <img class="singleImg" :src="scope.row.depositPaper"> -->
  161. <!-- </template> -->
  162. <!-- </el-table-column> -->
  163. <!-- <el-table-column -->
  164. <!-- prop="waterMetersNum" -->
  165. <!-- label="水表号" -->
  166. <!-- align="center"> -->
  167. <!-- </el-table-column> -->
  168. <!-- <el-table-column -->
  169. <!-- label="水表号照片" -->
  170. <!-- align="center"> -->
  171. <!-- <template scope="scope"> -->
  172. <!-- <img class="singleImg" :src="scope.row.waterMetersNumPhoto"> -->
  173. <!-- </template> -->
  174. <!-- </el-table-column> -->
  175. <!-- <el-table-column -->
  176. <!-- prop="waterMetersValue" -->
  177. <!-- label="水表数值" -->
  178. <!-- align="center"> -->
  179. <!-- </el-table-column> -->
  180. <!-- <el-table-column -->
  181. <!-- label="水表数值照片" -->
  182. <!-- align="center"> -->
  183. <!-- <template scope="scope"> -->
  184. <!-- <img class="singleImg" :src="scope.row.waterMetersValuePhoto"> -->
  185. <!-- </template> -->
  186. <!-- </el-table-column> -->
  187. <!-- <el-table-column -->
  188. <!-- prop="waterMetersReadValue" -->
  189. <!-- label="水表读数" -->
  190. <!-- align="center"> -->
  191. <!-- </el-table-column> -->
  192. <!-- <el-table-column -->
  193. <!-- label="水表读数照片" -->
  194. <!-- align="center"> -->
  195. <!-- <template scope="scope"> -->
  196. <!-- <img class="singleImg" :src="scope.row.waterMetersReadValuePhoto"> -->
  197. <!-- </template> -->
  198. <!-- </el-table-column> -->
  199. <!-- <el-table-column -->
  200. <!-- prop="elecMetersNum" -->
  201. <!-- label="电表号" -->
  202. <!-- align="center"> -->
  203. <!-- </el-table-column> -->
  204. <!-- <el-table-column -->
  205. <!-- label="电表号照片" -->
  206. <!-- align="center"> -->
  207. <!-- <template scope="scope"> -->
  208. <!-- <img class="singleImg" :src="scope.row.elecMetersNumPhoto"> -->
  209. <!-- </template> -->
  210. <!-- </el-table-column> -->
  211. <!-- <el-table-column -->
  212. <!-- prop="elecMetersValue" -->
  213. <!-- label="电表数值" -->
  214. <!-- align="center"> -->
  215. <!-- </el-table-column> -->
  216. <!-- <el-table-column -->
  217. <!-- label="电表数值照片" -->
  218. <!-- align="center"> -->
  219. <!-- <template scope="scope"> -->
  220. <!-- <img class="singleImg" :src="scope.row.elecMetersValuePhoto"> -->
  221. <!-- </template> -->
  222. <!-- </el-table-column> -->
  223. <!-- <el-table-column -->
  224. <!-- prop="elecMetersReadValue" -->
  225. <!-- label="电表读数" -->
  226. <!-- align="center"> -->
  227. <!-- </el-table-column> -->
  228. <!-- <el-table-column -->
  229. <!-- label="电表读数照片" -->
  230. <!-- align="center"> -->
  231. <!-- <template scope="scope"> -->
  232. <!-- <img class="singleImg" :src="scope.row.elecMetersReadValuePhoto"> -->
  233. <!-- </template> -->
  234. <!-- </el-table-column> -->
  235. <!-- <el-table-column -->
  236. <!-- prop="gasMetersNum" -->
  237. <!-- label="燃气表号" -->
  238. <!-- align="center"> -->
  239. <!-- </el-table-column> -->
  240. <!-- <el-table-column -->
  241. <!-- label="燃气表号照片" -->
  242. <!-- align="center"> -->
  243. <!-- <template scope="scope"> -->
  244. <!-- <img class="singleImg" :src="scope.row.gasMetersNumPhoto"> -->
  245. <!-- </template> -->
  246. <!-- </el-table-column> -->
  247. <!-- <el-table-column -->
  248. <!-- prop="gasMetersValue" -->
  249. <!-- label="燃气表数值" -->
  250. <!-- align="center"> -->
  251. <!-- </el-table-column> -->
  252. <!-- <el-table-column -->
  253. <!-- label="燃气表数值照片" -->
  254. <!-- align="center"> -->
  255. <!-- <template scope="scope"> -->
  256. <!-- <img class="singleImg" :src="scope.row.gasMetersValuePhoto"> -->
  257. <!-- </template> -->
  258. <!-- </el-table-column> -->
  259. <!-- <el-table-column -->
  260. <!-- prop="gasMetersReadValue" -->
  261. <!-- label="燃气表读数" -->
  262. <!-- align="center"> -->
  263. <!-- </el-table-column> -->
  264. <!-- <el-table-column -->
  265. <!-- label="燃气表读数照片" -->
  266. <!-- align="center"> -->
  267. <!-- <template scope="scope"> -->
  268. <!-- <img class="singleImg" :src="scope.row.gasMetersReadValuePhoto"> -->
  269. <!-- </template> -->
  270. <!-- </el-table-column> -->
  271. <!-- <el-table-column -->
  272. <!-- prop="medium" -->
  273. <!-- label="中介" -->
  274. <!-- align="center"> -->
  275. <!-- </el-table-column> -->
  276. <el-table-column
  277. prop="note"
  278. label="备注"
  279. align="center">
  280. </el-table-column>
  281. <el-table-column
  282. prop="submitter"
  283. label="开单人"
  284. align="center">
  285. </el-table-column>
  286. <el-table-column
  287. prop="reviewFlag"
  288. :formatter="formatReviewFlag"
  289. label="审核"
  290. align="center">
  291. </el-table-column>
  292. <!-- <el-table-column
  293. prop="type"
  294. label="type"
  295. align="center">
  296. </el-table-column> -->
  297. <!-- <el-table-column -->
  298. <!-- prop="createdTime" -->
  299. <!-- label="createdTime" -->
  300. <!-- align="center"> -->
  301. <!-- </el-table-column> -->
  302. <!-- <el-table-column -->
  303. <!-- prop="delFlag" -->
  304. <!-- label="delFlag" -->
  305. <!-- align="center"> -->
  306. <!-- </el-table-column> -->
  307. <el-table-column
  308. :context="_self"
  309. width="220"
  310. inline-template
  311. label="操作"
  312. align="center">
  313. <div>
  314. <el-button size="small" @click="editRow(row)"
  315. v-show="userLimit==1||userLimit==2||userLimit==3||userLimit==4||userLimit==5">查看
  316. </el-button>
  317. <el-button size="small" @click="auditorRow(row)"
  318. v-show="userLimit==2||userLimit==3||userLimit==4||userLimit==5"
  319. v-if="row.reviewFlag=='N'">
  320. 审核
  321. </el-button>
  322. <!-- <el-button size="small" @click="editRow(row)" v-show="userLimit==2||userLimit==3">查看</el-button> -->
  323. <el-button size="small" type="danger" @click="deleteRow(row)" v-show="userLimit==4">删除
  324. </el-button>
  325. </div>
  326. </el-table-column>
  327. </el-table>
  328. <div class="pagination-wrapper" v-show="!loading">
  329. <el-pagination layout="sizes, prev, pager, next" :page-size="pageSize" :total="totalNumber"
  330. :page-size="pageSize"
  331. :current-page="currentPage" @current-change="pageChange" @size-change="sizeChange">
  332. </el-pagination>
  333. </div>
  334. </template>
  335. <template>
  336. <el-dialog title="审核" v-model="showDialog">
  337. <el-form :model="testimonials"
  338. label-width="120px"
  339. v-loading="loading">
  340. <el-form-item label="原因">
  341. <el-input v-model="testimonials.content"></el-input>
  342. </el-form-item>
  343. </el-form>
  344. <span slot="footer" class="dialog-footer">
  345. <el-button @click="showDialog = false">取 消</el-button>
  346. <el-button type="primary" @click="passTestimonials">通 过</el-button>
  347. <el-button type="danger" @click="failTestimonials">不通过</el-button>
  348. </span>
  349. </el-dialog>
  350. </template>
  351. <jsp:include page="contentAfter.jsp"/>
  352. </body>
  353. <script>
  354. function getQueryString(name) {
  355. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  356. var r = window.location.search.substr(1).match(reg);
  357. if (r != null) return decodeURIComponent(r[2]);
  358. return null;
  359. }
  360. new Vue({
  361. el: '#app',
  362. created: function () {
  363. if (getQueryString('currentPage')) {
  364. this.currentPage = parseInt(getQueryString('currentPage'));
  365. this.pageSize = parseInt(getQueryString('pageSize'));
  366. }
  367. if (getQueryString('typeId')) {
  368. this.typeId = getQueryString('typeId');
  369. }
  370. if (getQueryString('searchId')) {
  371. this.searchId = getQueryString('searchId')
  372. }
  373. if (getQueryString('reviewFlagKey')) {
  374. this.reviewFlagKey = getQueryString('reviewFlagKey')
  375. }
  376. this.getUserLimit();
  377. this.serchLike();
  378. },
  379. data: function () {
  380. return {
  381. menu: '2-1',
  382. user: {
  383. id: '',
  384. username: 'admin',
  385. avatar: ''
  386. },
  387. loading: false,
  388. userLimit: '',
  389. totalNumber: 0,
  390. totalPage: 10,
  391. currentPage: 1,
  392. pageSize: 20,
  393. rows: [],
  394. options: [{
  395. value: 'name',
  396. label: '名字'
  397. }, {
  398. value: 'address',
  399. label: '地址'
  400. }, {
  401. value: 'phone',
  402. label: '电话'
  403. }, {
  404. value: 'note',
  405. label: '备注'
  406. }],
  407. value8: '',
  408. showDialog: false,
  409. testimonials: {
  410. name: '',
  411. content: ''
  412. },
  413. auditorId: '',
  414. typeId: '',
  415. searchId: '',
  416. reviewFlagKey: '',
  417. };
  418. },
  419. methods: {
  420. logout: function () {
  421. this.$confirm('确定要注销吗?', '提示', {
  422. confirmButtonText: '确定',
  423. cancelButtonText: '取消',
  424. type: 'info'
  425. }).then(function () {
  426. localStorage.removeItem('user');
  427. this.$router.push({path: '/login'});
  428. }.bind(this)).catch(function (e) {
  429. });
  430. },
  431. getUserLimit: function () {
  432. var that = this;
  433. $.get({
  434. url: 'getUserLimit',
  435. data: {}
  436. }).then(function (res) {
  437. if (res.success) {
  438. that.userLimit = res.data.limitF;
  439. }
  440. }.bind(this))
  441. },
  442. getRows: function () {
  443. $.get({
  444. url: '../rentInfo/page',
  445. data: {
  446. currentPage: this.currentPage,
  447. pageNumber: this.pageSize,
  448. type: 2
  449. }
  450. }).then(function (res) {
  451. if (res.success) {
  452. this.totalNumber = res.data.page.totalNumber;
  453. this.rows = res.data.pp;
  454. }
  455. }.bind(this))
  456. },
  457. pageChange: function (page) {
  458. this.currentPage = page;
  459. this.serchLike();
  460. },
  461. sizeChange: function (size) {
  462. this.pageSize = size;
  463. this.serchLike();
  464. },
  465. editRow: function (row) {
  466. window.location = 'rentInfo?id=' + row.id
  467. + "&currentPage=" + this.currentPage + "&pageSize=" + this.pageSize
  468. + "&typeId=" + this.typeId + "&searchId=" + this.searchId + "&typeFlag=2&reviewFlagKey=" + this.reviewFlagKey;
  469. },
  470. deleteRow: function (row) {
  471. this.$confirm('确定要删除吗?', '提示', {
  472. confirmButtonText: '删除',
  473. cancelButtonText: '取消',
  474. type: 'warning'
  475. }).then(function () {
  476. return $.post({
  477. url: '../rentInfo/del',
  478. data: {
  479. id: row.id
  480. }
  481. })
  482. }.bind(this)).then(function (res) {
  483. if (res.success) {
  484. this.$message.success('删除成功');
  485. this.serchLike();
  486. } else {
  487. this.$message.error('删除失败');
  488. }
  489. }.bind(this)).catch(function () {
  490. });
  491. },
  492. create: function () {
  493. window.location = 'rentInfo?type=2';
  494. },
  495. serchLike: function () {
  496. //console.log(this.value8)
  497. var type = this.typeId;
  498. var value = this.searchId;
  499. var nameVal;
  500. var addressVal;
  501. var phoneVal;
  502. var noteVal;
  503. var submitterVal;
  504. if (type == 'name') {
  505. nameVal = value;
  506. } else if (type == 'address') {
  507. addressVal = value
  508. }
  509. else if (type == 'phone') {
  510. phoneVal = value
  511. } else if (type == 'note') {
  512. noteVal == value
  513. }
  514. else if (type == 'submitter') {
  515. submitterVal = value
  516. }
  517. console.log(type + " " + value);
  518. console.log(nameVal + addressVal + phoneVal + noteVal + submitterVal);
  519. $.get({
  520. url: '../rentInfo/rentLike',
  521. data: {
  522. currentPage: this.currentPage,
  523. pageNumber: this.pageSize,
  524. name: nameVal,
  525. address: addressVal,
  526. phone: phoneVal,
  527. note: noteVal,
  528. submitter: submitterVal,
  529. type: 2,
  530. reviewFlag: this.reviewFlagKey,
  531. }
  532. }).then(function (res) {
  533. console.log(res);
  534. if (res.success) {
  535. this.totalNumber = res.data.page.totalNumber;
  536. this.rows = res.data.pp;
  537. }
  538. }.bind(this))
  539. },
  540. auditorRow: function (row) {
  541. this.auditorId = row.id;
  542. this.showDialog = true;
  543. },
  544. passTestimonials: function () {
  545. var data = {
  546. id: this.auditorId,
  547. reviewFlag: 'Y',
  548. reviewRemark: this.testimonials.content,
  549. reviewTime: Date.parse(new Date()),
  550. };
  551. $.post({
  552. url: '../rentInfo/update',
  553. data: data,
  554. success: function (res) {
  555. if (res.success) {
  556. this.$message.success('保存成功');
  557. this.serchLike();
  558. this.showDialog = false
  559. } else {
  560. this.$message.error('保存失败');
  561. }
  562. this.testimonials = {
  563. name: '',
  564. content: ''
  565. }
  566. this.auditorId = ''
  567. }.bind(this)
  568. });
  569. },
  570. failTestimonials: function () {
  571. var data = {
  572. id: this.auditorId,
  573. reviewFlag: 'F',
  574. reviewRemark: this.testimonials.content,
  575. reviewTime: Date.parse(new Date()),
  576. };
  577. $.post({
  578. url: '../rentInfo/update',
  579. data: data,
  580. success: function (res) {
  581. if (res.success) {
  582. this.$message.success('保存成功');
  583. this.serchLike();
  584. this.showDialog = false
  585. } else {
  586. this.$message.error('保存失败');
  587. }
  588. this.testimonials = {
  589. name: '',
  590. content: ''
  591. }
  592. this.auditorId = ''
  593. }.bind(this)
  594. });
  595. },
  596. formatReviewFlag: function (row) {
  597. switch (row.reviewFlag) {
  598. case 'N':
  599. return '审核中';
  600. case 'Y':
  601. return '通过';
  602. case 'F':
  603. return '不通过';
  604. default:
  605. return '未知'
  606. }
  607. },
  608. }
  609. })
  610. </script>
  611. </html>