identityExamine.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980
  1. // 司机身份审核
  2. <template>
  3. <div class="center">
  4. <div class="center_css">
  5. <div class="top_css">
  6. <el-row>
  7. <el-col :span="14" style="height: 45px">
  8. <!-- <el-button type="primary">添加</el-button> -->
  9. </el-col>
  10. <el-col :span="10">
  11. <div class="screen">
  12. <el-input class='find' placeholder="可按司机姓名、账号、身份证号查找" @keyup.enter.native="find" v-model="searchkeyWord" clearable @change="find"></el-input>
  13. <el-button class="search" @click="find"><img width="16" height="16" style="margin-left: -8px"
  14. src="../../../public/img/sousuo.png" /></el-button><span
  15. class="count_css">共{{ deptBudgetTotal }}条</span>
  16. </div>
  17. </el-col>
  18. </el-row>
  19. <el-row>
  20. <el-col>
  21. <div class="search_btn">
  22. <div :class="search == '' ? 'search' : 'searchNo'" class="search_item search_block"
  23. @click="searchBtn('')">
  24. 全部
  25. </div>
  26. <div :class="search == 1 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(1)">
  27. 待审核
  28. </div>
  29. <div :class="search == 2 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(2)">
  30. 已通过
  31. </div>
  32. <div :class="search == 3 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(3)">
  33. 已驳回
  34. </div>
  35. <div :class="search == 4 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(4)">
  36. 已过期
  37. </div>
  38. <div :class="search == 7 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(7)">
  39. 未认证
  40. </div>
  41. <div :class="search == 5 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(5)">
  42. 已注销
  43. </div>
  44. <div :class="search == 6 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(6)">
  45. 已禁用
  46. </div>
  47. <div :class="search == 8 ? 'search' : 'searchNo'" class="search_item" @click="searchBtn(8)">
  48. 重点关注
  49. </div>
  50. </div>
  51. </el-col>
  52. </el-row>
  53. </div>
  54. <el-table :data="tableData" style="width: 98%; margin: 0 auto; border-radius: 10px" height="55.8vh" border highlight-current-row>
  55. <el-table-column prop="driverName" label="司机姓名" min-width="130"></el-table-column>
  56. <el-table-column prop="driverPhone" label="账号" min-width="110"></el-table-column>
  57. <el-table-column prop="numberCard" label="身份证号" min-width="165"></el-table-column>
  58. <el-table-column prop="shipmentsNumber" label="承运次数">
  59. <template scope="scope">
  60. {{ scope.row.shipmentsNumber ? scope.row.shipmentsNumber : 0 }}
  61. </template>
  62. </el-table-column>
  63. <el-table-column prop="favorableRate" label="好评率" min-width="170">
  64. <!-- <template slot-scope="scope">
  65. <el-rate v-model="scope.row.count" disabled show-score text-color="#ff9900" score-template="{value}">
  66. </el-rate>
  67. </template> -->
  68. </el-table-column>
  69. <el-table-column prop="complaintsNumber" label="投诉和举报">
  70. <template scope="scope">
  71. <span>{{
  72. scope.row.complaintsNumber ? scope.row.complaintsNumber : 0
  73. }}</span>
  74. <el-divider direction="vertical"></el-divider>
  75. <span>{{
  76. scope.row.reportedNumber ? scope.row.reportedNumber : 0
  77. }}</span>
  78. </template>
  79. </el-table-column>
  80. <el-table-column prop="accumulatedFreight" label="累计支付运费(元)" min-width="130"></el-table-column>
  81. <el-table-column prop="advancePayment" label="垫付比例(%)" min-width="100">
  82. <template scope="scope">
  83. <div class="input_css">
  84. <div style="text-align: center; margin: 0 auto">
  85. <!-- <span v-if="scope.row.iconShow">{{scope.row.advancePayment ? scope.row.advancePayment : "暂无" }}</span> -->
  86. <el-input placeholder="暂无" v-model="scope.row.advancePayment"></el-input>
  87. </div>
  88. <!-- <img src="../../../public/img/edit.png" alt="" style="width: 20px; height: 20px" v-if="scope.row.iconShow"
  89. @click="editNumber(scope.row)" /> -->
  90. <img src="../../../public/img/yes.png" alt="" style="width: 20px; height: 20px; margin-top: 4px"
  91. @click="editRatio(scope.row)" />
  92. </div>
  93. </template>
  94. </el-table-column>
  95. <el-table-column label="车辆">
  96. <template slot-scope="scope">
  97. <span @click="carLook(scope.row)" class="btn_css">查看</span>
  98. </template>
  99. </el-table-column>
  100. <el-table-column prop="payee" label="账户">
  101. <template slot-scope="scope">
  102. <span @click="account(scope.row)" class="btn_css">查看</span>
  103. </template>
  104. </el-table-column>
  105. <el-table-column prop="payee" label="账单">
  106. <template slot-scope="scope">
  107. <span @click="billLook(scope.row)" class="btn_css">查看</span>
  108. </template>
  109. </el-table-column>
  110. <el-table-column prop="paymentDate" label="附件">
  111. <template slot-scope="scope" style="text-align: center" v-if="scope.row.backStageStatus !='未认证'">
  112. <span class="btn_css btn_css1" @click="fujianLook(scope.row)">查看</span>
  113. <el-tooltip placement="top" v-if="
  114. scope.row.overdueFlag == 1 ||
  115. scope.row.driverOverdueFlag == 1 ||
  116. scope.row.drivingOverdueFlag == 1 ||
  117. scope.row.trailerOverdueFlag == 1 ||
  118. scope.row.qualificationOverdueFlag == 1 ||
  119. scope.row.operationOverdueFlag == 1 ||
  120. scope.row.trailerOperationOverdueFlag == 1
  121. ">
  122. <div slot="content">
  123. <span v-if="scope.row.overdueFlag == 1">身份证已过有效期<br /></span>
  124. <span v-if="scope.row.driverOverdueFlag == 1">驾驶证已过有效期<br /></span><span
  125. v-if="scope.row.qualificationOverdueFlag == 1">从业资格证已过有效期<br /></span>
  126. </div>
  127. <span style="margin-top: 10px"></span>
  128. <img src="../../../public/img/wenhao.png" alt="" class="ask_css" />
  129. </el-tooltip>
  130. </template>
  131. </el-table-column>
  132. <el-table-column prop="createDate" label="注册日期" min-width="100"></el-table-column>
  133. <el-table-column prop="backStageStatus" label="状态"></el-table-column>
  134. <el-table-column label="操作" min-width="300">
  135. <template slot-scope="scope">
  136. <el-link target="_blank" @click="adopt(scope.row)" type="primary" :underline="false"
  137. :disabled="scope.row.authenticationStatus != '审核中'">通过</el-link>
  138. <el-divider direction="vertical"></el-divider>
  139. <el-link target="_blank" @click="reject(scope.row)" type="primary" :underline="false"
  140. :disabled="scope.row.authenticationStatus != '审核中'">驳回</el-link>
  141. <el-divider direction="vertical"></el-divider>
  142. <el-link target="_blank" @click="newInfo(scope.row)" type="primary" :underline="false"
  143. :disabled="scope.row.authenticationStatus == '审核中'">消息</el-link>
  144. <el-divider direction="vertical"></el-divider>
  145. <el-dropdown>
  146. <span class="btn_css">•••</span>
  147. <el-dropdown-menu slot="dropdown">
  148. <el-dropdown-item :disabled="
  149. scope.row.authenticationStatus == '已禁用' &&
  150. scope.row.authenticationStatus != '审核中'
  151. "><span @click="switchChange(scope.row, '1')">禁用</span>
  152. </el-dropdown-item>
  153. <el-dropdown-item :disabled="
  154. scope.row.authenticationStatus != '已禁用' &&
  155. scope.row.authenticationStatus != '审核中'
  156. "><span @click="switchChange(scope.row, '2')">启用</span>
  157. </el-dropdown-item>
  158. </el-dropdown-menu>
  159. </el-dropdown>
  160. </template>
  161. </el-table-column>
  162. </el-table>
  163. </div>
  164. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  165. style="text-align: center; margin-top: 10px" :page-size="deptCircularPage.pageSize"
  166. layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
  167. </el-pagination>
  168. <el-dialog :close-on-click-modal='false' title="车辆信息" :visible.sync="carInfo" width="500px" :before-close="carClose">
  169. <!-- <span v-if="carSee.length == 0">暂无车辆</span> -->
  170. <span class="tips">注:车辆信息不在本页面审核,仅供查看</span>
  171. <div class="car_css" v-for="(item, index) in carSee" :key="index">
  172. <img :src="item.addressUrl" class="car_item" @click="enlarge(item.addressUrl)" />
  173. <div class="status_css" v-if="item.status == '审核中'" style="color: #2f53eb; background: #cfdbfe">
  174. {{ item.status }}
  175. </div>
  176. <div class="status_css" v-else-if="item.status == '已通过'" style="color: #3ac602; background: #eefaea">
  177. {{ item.status }}
  178. </div>
  179. <div class="status_css" v-else style="color: #f53f3f; background: #ffeff0">
  180. {{ item.status }}
  181. </div>
  182. <div class="carno_css">
  183. {{ item.carNumber }}
  184. </div>
  185. <div class="carborder_css"></div>
  186. </div>
  187. </el-dialog>
  188. <el-dialog :close-on-click-modal='false' title="账户信息" :visible.sync="userInfo" width="500px" :before-close="userClose">
  189. <div class="user" v-for="(item, index) in paySee" :key="index">
  190. <div class="name_css">{{ item.payeeName }}</div>
  191. <div class="id_css">{{ item.bankCard }}</div>
  192. <div class="pay_name">{{ item.bankDepositBranch }}</div>
  193. <img :src="item.payeeAddressUrl" class="user_item" @click="enlarge(item.payeeAddressUrl)" />
  194. <div class="border_css"></div>
  195. </div>
  196. <div v-if="paySee.length == 0">暂无账户信息</div>
  197. </el-dialog>
  198. <!-- 账单 -->
  199. <el-dialog :close-on-click-modal='false' title="账单" :visible.sync="billShow" width="500px" :before-close="billClose">
  200. <div style="height: 450px" class="bill_css">
  201. <div class="user" v-for="(item, index) in billInfo" :key="index">
  202. <div class="flex">
  203. <div>订单编号:{{ item.orderNo }}</div>
  204. <div>{{ item.types }}</div>
  205. </div>
  206. <div class="flex">
  207. <div>{{ item.updateDate }}</div>
  208. <div>{{ item.amountMoney }}</div>
  209. </div>
  210. </div>
  211. <div v-show="billInfo.length == 0">暂无账单信息</div>
  212. </div>
  213. </el-dialog>
  214. <el-dialog :close-on-click-modal='false' title="附件" :visible.sync="fujianInfo" width="830px" :before-close="fujianClose">
  215. <div class="file">
  216. <div class="fujian_css">
  217. <div class="fujian_item" :class="count == 1 ? 'file_btn' : ''" @click="btnChange(1)">
  218. 身份证
  219. </div>
  220. <div class="fujian_item" :class="count == 2 ? 'file_btn' : ''" @click="btnChange(2)">
  221. 驾驶证
  222. </div>
  223. <!-- <div class="fujian_item" :class="count == 3 ? 'file_btn' : ''" @click="btnChange(3)">
  224. 行驶证
  225. </div> -->
  226. <div class="fujian_item" :class="count == 4 ? 'file_btn' : ''" @click="btnChange(4)">
  227. 从业资格证
  228. </div>
  229. <!-- <div class="fujian_item" :class="count == 5 ? 'file_btn' : ''" @click="btnChange(5)">
  230. 挂车行驶证
  231. </div>
  232. <div class="fujian_item" :class="count == 6 ? 'file_btn' : ''" @click="btnChange(6)">
  233. 运营证
  234. </div>
  235. <div class="fujian_item" :class="count == 7 ? 'file_btn' : ''" @click="btnChange(7)">
  236. 挂车运营证
  237. </div> -->
  238. </div>
  239. <div class="file_tips">
  240. <span v-if="count == 1">有效期:{{file.cardValidityDate}} </span><span v-if="count == 2"> 准驾车型:{{file.quasiDrivingVehicle}} </span> <span v-if="count == 2"> 发证机关:{{file.lssuingAuthority}} </span> <span v-if="count == 4"> 从业资格证号:{{file.qualificationCertificateNumber}}</span>
  241. </div>
  242. <div class="file_img">
  243. <img :src="img[index]" class="img_css" @click="enlarge(img[index])"/>
  244. </div>
  245. <div class="btn">
  246. <el-button style="margin-right: 120px" @click="index = 0"
  247. v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName }}</el-button>
  248. <el-button @click="index = 1" v-if="count == 1 || count == 2 || count == 3 || count == 5">{{ abilityName1 }}
  249. </el-button>
  250. </div>
  251. </div>
  252. </el-dialog>
  253. <el-dialog :close-on-click-modal='false' title="驳回认证" :visible.sync="rejectInfo" width="400px" :before-close="rejectClose">
  254. <div>
  255. <div><span class="sign">*</span>选择驳回原因</div>
  256. <div class="form_css">
  257. <el-form ref="form" :model="form" label-width="80px">
  258. <el-checkbox-group v-model="checkList">
  259. <el-checkbox label="证件照片不清晰" value="1"></el-checkbox>
  260. <el-checkbox label="证件照片上传错误" value="2"></el-checkbox>
  261. <el-checkbox label="身份信息填写错误" value="3"></el-checkbox>
  262. <el-checkbox label="证件信息填写错误" value="4"></el-checkbox>
  263. <el-checkbox label="其他" value="5"></el-checkbox>
  264. </el-checkbox-group>
  265. <div style="margin: 20px 0">驳回原因描述(选填)</div>
  266. <el-input type="textarea" :rows="3" resize="none" placeholder="输入驳回原因,1-100个字"
  267. v-model="form.rejectReasonDescription" maxlength="100"></el-input>
  268. <div class="form_btn">
  269. <el-button @click="rejectClose">取消</el-button>
  270. <el-button @click="submit" type="primary">确定</el-button>
  271. </div>
  272. </el-form>
  273. </div>
  274. </div>
  275. </el-dialog>
  276. <!-- //消息 -->
  277. <el-dialog title="发送信息" :close-on-click-modal='false' :visible.sync="sendInfo" width="400px" :before-close="sendInfoClose">
  278. <div class="Info_css">
  279. <div class="Info_title">标题</div>
  280. <div class="Info_item">
  281. <el-input placeholder="输入消息标题,不超过4-20个字。" v-model="Info.newsTitle" maxlength="20"></el-input>
  282. </div>
  283. <div class="Info_title">内容</div>
  284. <div class="Info_item">
  285. <el-input type="textarea" :rows="3" resize="none" placeholder="消息内容10-100字" maxlength="100"
  286. v-model="Info.newsContent"></el-input>
  287. </div>
  288. <div class="Info_btn">
  289. <el-button @click="sendInfoClose">取消</el-button>
  290. <el-button @click="submitInfo" type="primary">确定</el-button>
  291. </div>
  292. </div>
  293. </el-dialog>
  294. <el-image-viewer v-if="imgsVisible" :on-close="closeImgViewer" :url-list="srcList" style="z-index:9999" />
  295. </div>
  296. </template>
  297. <script>
  298. import {
  299. getList,
  300. toExamine,
  301. postNews,
  302. billSee,
  303. editInfo,
  304. } from "@/api/driverManagement";
  305. export default {
  306. data() {
  307. return {
  308. tableData: [],
  309. //分页
  310. searchkeyWord: "",
  311. currentPage: 1,
  312. pageSize: 10,
  313. deptBudgetTotal: 0,
  314. deptCircularPage: {},
  315. search: "",
  316. addressUrl: [],
  317. disabled: false,
  318. carInfo: false,
  319. userInfo: false,
  320. fujianInfo: false,
  321. rejectInfo: false,
  322. form: {
  323. id: "",
  324. rejectReasonDescription: "",
  325. },
  326. checkList: [],
  327. carSee: [],
  328. paySee: [],
  329. sendInfo: false,
  330. Info: {},
  331. file: {},
  332. img: [],
  333. index: "0",
  334. count: "1",
  335. abilityName: "身份证人像面",
  336. abilityName1: "身份证国徽面",
  337. billInfo: [], //账单
  338. billShow: false,
  339. // iconShow: true,
  340. //图片预览
  341. srcList: [],
  342. imgsVisible: false,
  343. };
  344. },
  345. mounted() {
  346. this.getList();
  347. },
  348. components: {
  349. "el-image-viewer": () =>
  350. import("element-ui/packages/image/src/image-viewer"),
  351. },
  352. methods: {
  353. closeImgViewer() {
  354. this.srcList = []
  355. this.imgsVisible = false;
  356. },
  357. enlarge(url) {
  358. this.imgsVisible = true;
  359. this.srcList.push(url)
  360. },
  361. editNumber(item) {
  362. // // item.iconShow = false
  363. // this.$set(item,"iconShow",false)
  364. for (let i = 0; i < this.tableData.length; i++) {
  365. if (this.tableData[i].id == item.id) {
  366. this.tableData[i].iconShow = false;
  367. this.$set(this.tableData[i], "iconShow", false);
  368. this.$forceUpdate();
  369. this.$forceupdate();
  370. }
  371. }
  372. },
  373. editRatio(val) {
  374. this.$confirm("确定修改该司机的垫付比例?", "提示", {
  375. confirmButtonText: "确定",
  376. cancelButtonText: "取消",
  377. type: "warning",
  378. }).then(() => {
  379. this.listLoading = true;
  380. editInfo(val)
  381. .then((response) => {
  382. if (response.code == 200) {
  383. this.$notify({
  384. title: "成功",
  385. message: "修改成功!",
  386. type: "success",
  387. });
  388. this.getList();
  389. }
  390. })
  391. .catch(() => {
  392. this.listLoading = false;
  393. });
  394. });
  395. },
  396. billLook(val) {
  397. this.listLoading = true;
  398. billSee({
  399. commonId: val.commonId,
  400. })
  401. .then((response) => {
  402. this.billInfo = response.data;
  403. this.listLoading = false;
  404. })
  405. .catch(() => {
  406. this.listLoading = false;
  407. });
  408. this.billShow = true;
  409. },
  410. billClose() {
  411. this.billShow = false;
  412. },
  413. getList() {
  414. this.listLoading = true;
  415. let _obj = {};
  416. _obj.currentPage = this.currentPage;
  417. _obj.pageSize = this.pageSize;
  418. _obj.searchKeyWord = this.searchkeyWord;
  419. _obj.searchType = this.search;
  420. getList(_obj)
  421. .then((response) => {
  422. this.tableData = response.data.records;
  423. for (let i = 0; i < this.tableData.length; i++) {
  424. this.tableData[i].iconShow = true;
  425. }
  426. this.deptBudgetTotal = response.data.total;
  427. this.listLoading = false;
  428. })
  429. .catch(() => {
  430. this.listLoading = false;
  431. });
  432. },
  433. btnChange(num) {
  434. this.count = num;
  435. if (num == 1) {
  436. this.abilityName = "身份证人像面";
  437. this.abilityName1 = "身份证国徽面";
  438. this.img[0] = this.file.cardAddressUrl;
  439. this.img[1] = this.file.cardBackAddressUrl;
  440. } else if (num == 2) {
  441. this.abilityName = "驾驶证主页";
  442. this.abilityName1 = "驾驶证副页";
  443. this.img[0] = this.file.driverLicenseHomePage;
  444. this.img[1] = this.file.driverLicenseBackPage;
  445. } else if (num == 3) {
  446. this.abilityName = "行驶证主页";
  447. this.abilityName1 = "行驶证副页";
  448. this.img[0] = this.file.drivingLicenseHomePage;
  449. this.img[1] = this.file.drivingLicenseBackPage;
  450. } else if (num == 4) {
  451. this.index = 0;
  452. this.img[0] = this.file.qualificationCertificate;
  453. } else if (num == 5) {
  454. this.abilityName = "挂车行驶证主页";
  455. this.abilityName1 = "挂车行驶证副页";
  456. this.img[0] = this.file.trailerLicenseHomePage;
  457. this.img[1] = this.file.trailerLicenseBackPage;
  458. } else if (num == 6) {
  459. this.index = 0;
  460. this.img[0] = this.file.operationCertificate;
  461. } else if (num == 7) {
  462. this.index = 0;
  463. this.img[0] = this.file.trailerOperationCertificate;
  464. }
  465. },
  466. newInfo(row) {
  467. this.Info.newsTypeKey = 1;
  468. this.Info.newsType = "系统消息";
  469. this.Info.crtCommonId = JSON.parse(
  470. localStorage.getItem("UserInfo")
  471. ).userId;
  472. this.Info.reCommonId = row.commonId;
  473. this.Info.bussId = row.id;
  474. this.sendInfo = true;
  475. },
  476. sendInfoClose() {
  477. this.Info = {};
  478. this.sendInfo = false;
  479. },
  480. submitInfo() {
  481. if (!this.Info.newsTitle) {
  482. this.$message.error("标题不能为空");
  483. return;
  484. }
  485. if (!this.Info.newsContent) {
  486. this.$message.error("消息内容不能为空");
  487. return;
  488. }
  489. if (this.Info.newsTitle.length < 4 || this.Info.newsTitle.length > 20) {
  490. this.$message.error("标题字数应在4-20之间");
  491. return;
  492. }
  493. if (
  494. this.Info.newsContent.length < 10 ||
  495. this.Info.newsContent.length > 100
  496. ) {
  497. this.$message.error("消息内容字数应在10-100之间");
  498. return;
  499. }
  500. this.listLoading = true;
  501. postNews(this.Info)
  502. .then((response) => {
  503. this.$notify({
  504. title: "成功",
  505. message: "发送成功!",
  506. type: "success",
  507. });
  508. this.sendInfoClose();
  509. this.listLoading = false;
  510. })
  511. .catch(() => {
  512. this.listLoading = false;
  513. });
  514. },
  515. switchChange(row, num) {
  516. var _examine = {};
  517. _examine.id = row.id;
  518. let title;
  519. if (num == 1) {
  520. _examine.flag = 3;
  521. title = "禁用后客户将无法使用所有功能,是否确定禁用?";
  522. } else if (num == 2) {
  523. title = "确定重新启用该用户?";
  524. _examine.flag = 4;
  525. }
  526. this.$confirm(title, "提示", {
  527. confirmButtonText: "确定",
  528. cancelButtonText: "取消",
  529. type: "warning",
  530. }).then(() => {
  531. this.listLoading = true;
  532. toExamine(_examine)
  533. .then((response) => {
  534. if (num == 1) {
  535. this.$notify({
  536. title: "成功",
  537. message: "禁用成功!",
  538. type: "success",
  539. });
  540. } else if (num == 2) {
  541. this.$notify({
  542. title: "成功",
  543. message: "启用成功!",
  544. type: "success",
  545. });
  546. }
  547. this.getList();
  548. this.listLoading = false;
  549. })
  550. .catch(() => {
  551. this.listLoading = false;
  552. });
  553. });
  554. },
  555. account(row) {
  556. this.paySee = row.hyDriverPayeeInfoList;
  557. this.userInfo = true;
  558. },
  559. fujianLook(row) {
  560. this.file = row;
  561. this.index = 0;
  562. this.img[0] = this.file.cardAddressUrl;
  563. this.img[1] = this.file.cardBackAddressUrl;
  564. this.fujianInfo = true;
  565. },
  566. userClose() {
  567. this.userInfo = false;
  568. },
  569. fujianClose() {
  570. this.count = 1;
  571. this.fujianInfo = false;
  572. },
  573. carLook(row) {
  574. this.carSee = row.hyDriverCarInfoList;
  575. this.carInfo = true;
  576. },
  577. carClose() {
  578. this.carInfo = false;
  579. },
  580. searchBtn(num) {
  581. this.search = num;
  582. this.getList();
  583. },
  584. find() {
  585. this.getList();
  586. },
  587. adopt(row) {
  588. this.$confirm("确定通过身份审核?", "提示", {
  589. confirmButtonText: "确定",
  590. cancelButtonText: "取消",
  591. type: "warning",
  592. }).then(() => {
  593. this.listLoading = true;
  594. var _examine = {};
  595. _examine.id = row.id;
  596. _examine.flag = 1;
  597. toExamine(_examine)
  598. .then((response) => {
  599. this.$notify({
  600. title: "成功",
  601. message: "通过成功!",
  602. type: "success",
  603. });
  604. this.rejectInfo = false;
  605. this.getList();
  606. this.listLoading = false;
  607. })
  608. .catch(() => {
  609. this.listLoading = false;
  610. });
  611. });
  612. },
  613. submit() {
  614. if (this.checkList.length == 0) {
  615. this.$message.error("请选择驳回原因");
  616. return;
  617. }
  618. this.listLoading = true;
  619. this.form.rejectReason = this.checkList.toString();
  620. // delete this.form.checkList
  621. toExamine(this.form)
  622. .then((response) => {
  623. this.$notify({
  624. title: "成功",
  625. message: "驳回成功!",
  626. type: "success",
  627. });
  628. this.checkList = [];
  629. this.form = {};
  630. this.rejectInfo = false;
  631. this.getList();
  632. this.listLoading = false;
  633. })
  634. .catch(() => {
  635. this.listLoading = false;
  636. });
  637. },
  638. reject(row) {
  639. this.form.id = row.id;
  640. this.form.flag = 2;
  641. this.rejectInfo = true;
  642. },
  643. rejectClose() {
  644. this.checkList = [];
  645. this.form = {};
  646. this.rejectInfo = false;
  647. },
  648. // onChange() {
  649. // this.$refs.upload
  650. // .handleSaveBill()
  651. // .then(async (response) => {
  652. // this.formData.addressUrl = response;
  653. // })
  654. // .catch((res) => {
  655. // EventBus.$emit("error", (JSON.parse(res) || {}).message);
  656. // this.$refs.upload.clearFiles();
  657. // });
  658. // },
  659. handleSizeChange(val) {
  660. console.log(`每页 ${val} 条`);
  661. this.pageSize = val;
  662. this.getList();
  663. },
  664. handleCurrentChange(val) {
  665. this.currentPage = val;
  666. console.log(`当前页: ${val}`);
  667. this.getList();
  668. },
  669. },
  670. };
  671. </script>
  672. <style lang="scss" scoped>
  673. .center {
  674. padding: 10px 20px;
  675. background: #f5f6f7;
  676. height: calc(100vh - 5vh);
  677. .top_css {
  678. padding: 10px;
  679. .search_btn {
  680. height: 80px;
  681. background: linear-gradient(#fafbfb, #ffffff);
  682. display: flex;
  683. margin-top: 20px;
  684. .search_block {
  685. margin-left: 20px;
  686. }
  687. .search_item {
  688. text-align: center;
  689. font-size: 14px;
  690. font-weight: 600;
  691. line-height: 40px;
  692. width: 112px;
  693. height: 40px;
  694. background: #f7f8f9;
  695. cursor: pointer;
  696. margin-top: 30px;
  697. }
  698. .searchNo {
  699. color: #323233;
  700. }
  701. .search {
  702. color: #2f53eb;
  703. background: #ffffff;
  704. }
  705. }
  706. }
  707. .ask_css {
  708. position: absolute;
  709. margin: 3px 0 0 10px;
  710. }
  711. .center_css {
  712. background: #ffffff;
  713. border-radius: 1px;
  714. margin-top: 10px;
  715. padding-bottom: 10px;
  716. }
  717. .screen {
  718. // float: right;
  719. display: flex;
  720. .search {
  721. width: 40px;
  722. height: 40px;
  723. background: #2f53eb;
  724. border-radius: 0px 2px 2px 0px;
  725. border: 1px solid #DCDFE6;
  726. margin-left:-1px;
  727. }
  728. .count_css {
  729. width: 80px;
  730. text-align: center;
  731. line-height: 40px;
  732. color: #666666;
  733. }
  734. }
  735. .el-button {
  736. padding: 10px 20px !important;
  737. }
  738. .center_css {
  739. ::v-deep .el-table th,
  740. ::v-deep .el-table td {
  741. text-align: center;
  742. }
  743. .fujian {
  744. font-size: 24px;
  745. color: #409eff;
  746. }
  747. .warning {
  748. font-size: 14px;
  749. color: #ed1d1d;
  750. }
  751. }
  752. }
  753. .car_css {
  754. width: 50%;
  755. display: inline-block;
  756. text-align: center;
  757. margin-top: 30px;
  758. position: relative;
  759. .status_css {
  760. background: #3ac602;
  761. width: 50px;
  762. height: 17px;
  763. position: absolute;
  764. top: 0px;
  765. right: 15px;
  766. border-radius: 3px;
  767. }
  768. .carno_css {
  769. padding: 1px 5px;
  770. background-color: #f5f6f7;
  771. color: #666666;
  772. border-radius: 12px;
  773. text-align: center;
  774. width: 100px;
  775. margin: 10px auto 0;
  776. }
  777. .carborder_css {
  778. border: 1px solid #f0f1f2;
  779. margin: 15px auto 0;
  780. width: 90%;
  781. }
  782. }
  783. .tips {
  784. color: #999999;
  785. font-size: 14px;
  786. }
  787. .car_item {
  788. width: 200px;
  789. height: 160px;
  790. border-radius: 5px;
  791. }
  792. .user {
  793. margin-bottom: 20px;
  794. .id_css {
  795. font-size: 14px;
  796. }
  797. .id_css,
  798. .name_css {
  799. margin: 5px 0;
  800. color: #0d0d0d;
  801. }
  802. .pay_name {
  803. color: #9d9d9d;
  804. font-size: 14px;
  805. }
  806. .name_css {
  807. font-size: 16px;
  808. }
  809. .user_item {
  810. margin: 25px 0;
  811. width: 450px;
  812. height: 300px;
  813. }
  814. .border_css {
  815. width: 100%;
  816. border: 1px solid #f0f1f2;
  817. }
  818. }
  819. ::v-deep .el-table--border .el-table__header th {
  820. background: #f7f8f9;
  821. }
  822. .btn_css {
  823. color: #409eff;
  824. cursor: pointer;
  825. }
  826. .btn_css1 {
  827. margin-left: -20px;
  828. }
  829. .sign {
  830. font-size: 14px;
  831. color: red;
  832. }
  833. .form_css {
  834. width: 100%;
  835. margin: 20px auto 20px;
  836. ::v-deep .el-checkbox {
  837. width: 40%;
  838. height: 30px;
  839. }
  840. // ::v-deep .el-dialog__body{
  841. // padding: 10px 20px;
  842. // }
  843. ::v-deep .el-dialog__title {
  844. font-size: 16px;
  845. }
  846. // ::v-deep .el-textarea__inner {
  847. // background: #f0f1f2;
  848. // }
  849. .form_btn {
  850. text-align: right;
  851. margin-top: 10px;
  852. }
  853. }
  854. //发送信息
  855. .Info_css {
  856. .Info_title {
  857. color: #323233;
  858. font-size: 16px;
  859. }
  860. .Info_item {
  861. margin: 20px 0;
  862. }
  863. .Info_btn {
  864. text-align: right;
  865. margin-top: 10px;
  866. }
  867. }
  868. //附件
  869. .file {
  870. .fujian_css {
  871. width: 270px;
  872. display: flex;
  873. margin: 0 auto;
  874. text-align: center;
  875. line-height: 32px;
  876. border: 1px solid #f0f1f2;
  877. border-right: 0px;
  878. border-radius: 2px 0px 0px 2px;
  879. .fujian_item {
  880. cursor: pointer;
  881. width: 90px;
  882. height: 32px;
  883. border-right: 1px solid #f0f1f2;
  884. }
  885. .file_btn {
  886. color: #2f53eb;
  887. background-color: #cfdbfe;
  888. }
  889. }
  890. .file_tips{
  891. margin: 10px auto;
  892. width: 50%;
  893. }
  894. .file_img {
  895. width: 525px;
  896. height: 332px;
  897. margin: 20px auto;
  898. }
  899. .img_css {
  900. width: 525px;
  901. height: 332px;
  902. }
  903. .btn {
  904. width: 410px;
  905. margin: 0 auto;
  906. }
  907. }
  908. .bill_css {
  909. height: 500px;
  910. overflow-y: scroll;
  911. }
  912. .input_css {
  913. display: flex;
  914. text-align: center;
  915. margin: 0 auto;
  916. width: 100%;
  917. }
  918. ::v-deep .input_css .el-input__inner {
  919. height: 30px;
  920. }
  921. .find::v-deep input.el-input__inner{
  922. border-radius:0;
  923. }
  924. // .tupian{
  925. // width: 100%;
  926. // height: 100%;
  927. // position: absolute;
  928. // }
  929. </style>