index.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023
  1. <template>
  2. <div class="app-container">
  3. <div style="background-color: #fff;padding: 20px; border-radius: 5px;" class="instabf">
  4. <el-form class="jugesfrss sousde" :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="77px">
  5. <el-row :gutter="20">
  6. <el-col :span="24">
  7. <p class='jivbf'> <img src="../../../assets/images/icon_htgl_cxtj.png" alt="" style="width:15px;height: 15px;">查询条件</p>
  8. </el-col>
  9. <el-col :span="8">
  10. <el-form-item label="申请额度" prop="applicationAmount" style="display: flex;width:100%;">
  11. <el-input
  12. style="width:76%"
  13. v-model="queryParams.applicationAmount"
  14. placeholder="请输入申请额度(万元)"
  15. clearable
  16. @keyup.enter.native="handleQuery"
  17. />
  18. <span style="width:15%">(万元)</span>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="8" >
  22. <el-form-item label="企业名称" prop="enterpriseName" style="width:100%;">
  23. <el-input
  24. v-model="queryParams.enterpriseName"
  25. placeholder="请输入企业名称"
  26. clearable
  27. @keyup.enter.native="handleQuery"
  28. />
  29. </el-form-item>
  30. </el-col>
  31. <!-- 管理员 -->
  32. <!-- <el-col :span="8">
  33. <el-form-item label="申请进度" prop="loan_schedule">
  34. <el-select v-model="queryParams.loan_schedule" placeholder="请选择申请进度" clearable>
  35. <el-option
  36. v-for="dict in dict.type.sh_status"
  37. :key="dict.value"
  38. :label="dict.label"
  39. :value="dict.value"
  40. />
  41. </el-select>
  42. </el-form-item>
  43. </el-col> -->
  44. <el-col :span="8">
  45. <el-form-item class="qiuchu">
  46. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  47. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  48. </el-form-item>
  49. </el-col>
  50. </el-row>
  51. </el-form>
  52. <div class="ntgs">
  53. <p class='jivb'><span>申报业务审核</span></p>
  54. <el-row :gutter="10" class="mb8">
  55. <!-- <el-col :span="1.5">
  56. <el-button
  57. type="primary"
  58. plain
  59. icon="el-icon-plus"
  60. size="mini"
  61. @click="handleAdd"
  62. v-hasPermi="['system:application:add']"
  63. >企业申报</el-button>
  64. </el-col>
  65. <el-col :span="1.5">
  66. <el-button
  67. type="primary"
  68. plain
  69. icon="el-icon-plus"
  70. size="mini"
  71. @click="handleAddge"
  72. v-hasPermi="['system:application:add']"
  73. >个人申报</el-button>
  74. </el-col>
  75. -->
  76. <el-col :span="1.5">
  77. <el-button
  78. type="danger"
  79. plain
  80. icon="el-icon-delete"
  81. size="mini"
  82. :disabled="multiple"
  83. @click="handleDelete"
  84. v-hasPermi="['system:application:remove']"
  85. >删除</el-button>
  86. </el-col>
  87. <el-col :span="1.5">
  88. <el-button
  89. type="warning"
  90. plain
  91. icon="el-icon-download"
  92. size="mini"
  93. @click="handleExport"
  94. v-hasPermi="['system:application:export']"
  95. >导出</el-button>
  96. </el-col>
  97. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  98. </el-row>
  99. <el-table v-loading="loading" :height="tableMaxHeight" :data="applicationList" @selection-change="handleSelectionChange">
  100. <el-table-column type="selection" width="55" align="center" />
  101. <el-table-column label="贷款申请编号" align="center" prop="loanApplicationNumber" width="100" />
  102. <el-table-column label="申请额度(万元)" align="center" prop="applicationAmount" width="120"/>
  103. <el-table-column label="企业名称" align="center" prop="enterpriseName" width="100"/>
  104. <el-table-column label="申请银行" align="center" prop="applicationBank" width="100">
  105. <template slot-scope="scope">
  106. <dict-tag :options="dict.type.shendai_bank" :value="scope.row.applicationBank"/>
  107. </template>
  108. </el-table-column>
  109. <el-table-column label="使用期限(月)" align="center" prop="usagePeriod" width="100"/>
  110. <el-table-column label="资金用途" align="center" prop="purposeFunds" width="100"/>
  111. <!-- <el-table-column label="行业类型" align="center" prop="categoryType" width="100"/> -->
  112. <!-- <el-table-column label="用户类型" align="center" prop="customerType" width="100">
  113. <template slot-scope="scope">
  114. <dict-tag :options="dict.type.customer_type" :value="scope.row.customerType"/>
  115. </template>
  116. </el-table-column> -->
  117. <!-- <el-table-column label="担保类型" align="center" prop="guaranteeType" width="100" >
  118. <template slot-scope="scope">
  119. <dict-tag :options="dict.type.guarantee_type" :value="scope.row.guaranteeType"/>
  120. </template>
  121. </el-table-column> -->
  122. <!-- <el-table-column label="申请人身份证号码" align="center" prop="idCard" width="160"/> -->
  123. <el-table-column label="申请时间" align="center" prop="applicationTime" width="140">
  124. <template slot-scope="scope">
  125. <span>{{ scope.row.applicationTime}}</span>
  126. </template>
  127. </el-table-column>
  128. <el-table-column label="贷款申请进度" align="center" prop="loanSchedule" width="100">
  129. <template slot-scope="scope">
  130. <div @click="dakjnd(scope.row)">
  131. <dict-tag :options="dict.type.loan_schedule" :value="scope.row.loanSchedule"/>
  132. </div>
  133. </template>
  134. </el-table-column>
  135. <el-table-column label="贷款申请状态 " align="center" prop="loanApplicationType" width="120">
  136. <template slot-scope="scope">
  137. <dict-tag :options="dict.type.loan_application_type" :value="scope.row.loanApplicationType"/>
  138. </template>
  139. </el-table-column>
  140. <el-table-column label="审核进度" align="center" prop="auditSchedule" width="100">
  141. <template slot-scope="scope">
  142. <div @click="shegjis(scope.row)">
  143. <dict-tag :options="dict.type.audit_schedule" :value="scope.row.auditSchedule"/>
  144. </div>
  145. </template>
  146. </el-table-column>
  147. <el-table-column label="审核状态" align="center" prop="auditType" width="100">
  148. <template slot-scope="scope">
  149. <dict-tag :options="dict.type.sh_status" :value="scope.row.auditType"/>
  150. </template>
  151. </el-table-column>
  152. <el-table-column label="投票时间 " fixed="right" align="center" prop="reviewTime" width="180">
  153. <template slot-scope="scope">
  154. <span>{{scope.row.reviewTime}}</span>
  155. </template>
  156. </el-table-column>
  157. <el-table-column label="投票结果 " fixed="right" align="center" prop="votingResult" width="120">
  158. <template slot-scope="scope">
  159. <dict-tag :options="dict.type.voting_result" :value="scope.row.votingResult"/>
  160. </template>
  161. </el-table-column>
  162. <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" width="120">
  163. <template slot-scope="scope">
  164. <el-button
  165. size="mini"
  166. type="text"
  167. @click="toupiao(scope.row)"
  168. v-if="scope.row.votingResult !=4"
  169. v-hasPermi="['c:conference:list:time']"
  170. >投票结果</el-button>
  171. <el-button
  172. size="mini"
  173. type="text"
  174. @click="toupiaochx(scope.row)"
  175. v-hasPermi="['c:conference:again']"
  176. v-if="scope.row.votingResult ==3"
  177. >重新投票</el-button>
  178. <el-button
  179. size="mini"
  180. type="text"
  181. @click="handleUpdatech(scope.row)"
  182. >查看详情</el-button>
  183. <!-- <el-button
  184. size="mini"
  185. type="text"
  186. @click="handleDelete(scope.row)"
  187. v-hasPermi="['system:application:remove']"
  188. >删除</el-button> -->
  189. <!-- <el-dropdown class="nlos" size="mini" @command="(command) => handleCommand(command, scope.row)" >
  190. <span class="el-dropdown-link">
  191. <i class="el-icon-d-arrow-right el-icon--right"></i>更多
  192. </span>
  193. <template #dropdown>
  194. <el-dropdown-menu slot="dropdown">
  195. <el-dropdown-item command="handleUpdatech" icon="el-icon-circle-check"
  196. >投票结果</el-dropdown-item>
  197. </el-dropdown-menu>
  198. </template>
  199. </el-dropdown> -->
  200. </template>
  201. </el-table-column>
  202. </el-table>
  203. <pagination
  204. v-show="total>0"
  205. :total="total"
  206. :page.sync="queryParams.pageNum"
  207. :limit.sync="queryParams.pageSize"
  208. @pagination="getList"
  209. />
  210. </div>
  211. </div>
  212. <el-dialog :title="titleg" :visible.sync="openg" width="500px" append-to-body>
  213. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  214. <el-form-item label="投票时间" v-if="isnue == 0" prop="conferenceTime">
  215. <el-date-picker style="width:100%;" clearable
  216. v-model="form.conferenceTime"
  217. type="datetime"
  218. value-format="yyyy-MM-dd HH:mm:ss"
  219. placeholder="请选择评申会日期">
  220. </el-date-picker>
  221. <!-- :picker-options="pickerOptions" -->
  222. </el-form-item>
  223. </el-form>
  224. <div slot="footer" class="dialog-footer">
  225. <el-button type="primary" @click="submitForm">确 定</el-button>
  226. <el-button @click="cancel">取 消</el-button>
  227. </div>
  228. </el-dialog>
  229. <!-- 添加或修改贷款申请主对话框 -->
  230. <el-dialog :title="title" :visible.sync="open" width="400px" append-to-body>
  231. <div>
  232. <el-steps direction="vertical" :active="jidneg" finish-status="success" process-status="finish " status="finish">
  233. <el-step :title="item.loanScheduleName" :description="item.loanScheduleTime == null? '暂无数据' : item.loanScheduleTime +'/'+ item.realName " v-for="(item,index) in scheduleList" :key="index"></el-step>
  234. </el-steps>
  235. </div>
  236. <div slot="footer" class="dialog-footer">
  237. <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
  238. <el-button @click="cancel">取 消</el-button>
  239. </div>
  240. </el-dialog>
  241. <el-dialog title="审核进度" :visible.sync="opensh" width="1000px" append-to-body>
  242. <el-table height="300" v-loading="loading" :data="enterpriseList" >
  243. <el-table-column label="申请编号" align="center" prop="loanApplicationNumber" width="120" />
  244. <el-table-column label="审核进度" align="center" prop="auditSchedule" width="100">
  245. <template slot-scope="scope">
  246. <div @click="shegjis(scope.row)">
  247. <dict-tag :options="dict.type.audit_schedule" :value="scope.row.auditSchedule"/>
  248. </div>
  249. </template>
  250. </el-table-column>
  251. <el-table-column label="审核状态" align="center" prop="auditType" width="100">
  252. <template slot-scope="scope">
  253. <dict-tag :options="dict.type.sh_status" :value="scope.row.auditType"/>
  254. </template>
  255. </el-table-column>
  256. <el-table-column label="审核意见" align="center" prop="auditView" width="120"/>
  257. <el-table-column label="操作人" align="center" prop="createBy" />
  258. <!-- <el-table-column label="评审会日期" align="center" prop="reviewTime" /> -->
  259. <el-table-column label="附件" align="center" prop="fjUrl" >
  260. <template slot-scope="scope">
  261. <p @click="handleUpdategt(item)" v-for="(item,index) in scope.row.fjUrl" :key="index">{{item.name}}</p>
  262. <!-- <el-button
  263. size="mini"
  264. type="text"
  265. icon="el-icon-edit"
  266. @click="handleUpdategt(scope.row)"
  267. v-hasPermi="['system:application:edit']"
  268. >查看</el-button> -->
  269. </template>
  270. </el-table-column>
  271. <el-table-column label="意见图片" align="center" prop="imageUrl" width="100">
  272. <template slot-scope="scope">
  273. <image-preview :src="scope.row.imageUrl" :width="50" :height="50"/>
  274. </template>
  275. </el-table-column>
  276. </el-table>
  277. </el-dialog>
  278. <el-dialog title="查看附件" :visible.sync="fujijty" width="800px" append-to-body>
  279. <VueOfficeDocx style="height: 80vh;" :template="file.fileurl" :src="file.fileurl" :options="editorOptions" ref="docxEditorf" v-if="file.type=='word'">
  280. </VueOfficeDocx>
  281. <img :src="file.fileurl" alt="" v-if="file.type=='image'" style="width:90%;">
  282. <VueOfficeExcel style="height: 80vh;" :template="file.fileurl" :src="file.fileurl" :options="editorOptions" ref="docxEditor" v-if="file.type=='excel'"></VueOfficeExcel>
  283. <iframe :src="file.fileurl" frameborder="0" style="width:100%;height:100%;" v-if="file.type=='pdf'"></iframe>
  284. <!-- <iframe :src="reportUrl" frameborder="0" style="width:100%;height:40%;"></iframe> -->
  285. </el-dialog>
  286. <!-- 投票结果 -->
  287. <el-dialog title="投票结果" :visible.sync="opentou" width="1000px" append-to-body>
  288. <el-table
  289. row-key="conferenceTime"
  290. :tree-props="{children: 'children'}"
  291. height="300" v-loading="loading" :data="timeList">
  292. <el-table-column label="参会时间" align="center" prop="conferenceTime" width="140"/>
  293. <el-table-column label="申请编号" align="center" prop="loanApplicationNumber" />
  294. <el-table-column label="公司名称" align="center" prop="loanApplicationName" width="100">
  295. <template slot-scope="scope">
  296. <span>{{scope.row.loanApplicationName}}</span>
  297. </template>
  298. </el-table-column>
  299. <el-table-column label="担保额度" align="center" prop="lineGuarantee" />
  300. <el-table-column label="担保期限" align="center" prop="guaranteePeriod" />
  301. <el-table-column label="表决不通过原因" align="center" prop="argument" />
  302. <el-table-column label="投票结果" align="center" prop="votingResult" >
  303. <template slot-scope="scope">
  304. <span>{{scope.row.votingResult == 'Y'? '同意' : scope.row.votingResult == 'N'? '不同意' :''}}</span>
  305. </template>
  306. </el-table-column>
  307. </el-table>
  308. </el-dialog>
  309. </div>
  310. </template>
  311. <script>
  312. import { listApplication, getApplication, delApplication, addApplication, updateApplication,schedule,comment,conferencelist,applicationco,again } from "@/api/dabgs/application";
  313. import { listUser } from "@/api/system/user";
  314. export default {
  315. name: "Application",
  316. dicts: ['shendai_bank','voting_result', 'marital_status','guarantee_type','customer_type','sys_yes_no','loan_schedule','sh_status','loan_application_type','audit_schedule'],
  317. data() {
  318. return {
  319. // 遮罩层
  320. loading: true,
  321. // 选中数组
  322. ids: [],
  323. // 非单个禁用
  324. single: true,
  325. // 非多个禁用
  326. multiple: true,
  327. // 显示搜索条件
  328. showSearch: true,
  329. // 总条数
  330. total: 0,
  331. editorOptions: {
  332. toolbar: true,
  333. width: '450px',
  334. height: '600px',
  335. },
  336. fujijty:false,
  337. totaldk:0,
  338. // 贷款申请主表格数据
  339. applicationList: [],
  340. // 弹出层标题
  341. title: "",
  342. // 是否显示弹出层
  343. open: false,
  344. titleg:'',
  345. openg:false,
  346. pickerOptions: {
  347. disabledDate(time) {
  348. //disabledDate 文档上:设置禁用状态,参数为当前日期,要求返回 Boolean
  349. // return time.getTime() > Date.now()//选当前时间之前的时间
  350. return time.getTime() < Date.now() - 8.64e7; //选当前时间之后的时间
  351. }
  352. },
  353. // 查询参数
  354. queryParams: {
  355. pageNum: 1,
  356. pageSize: 10,
  357. applicationAmount: null,
  358. applicationBank: null,
  359. usagePeriod: null,
  360. purposeFunds: null,
  361. repaymentSource: null,
  362. enterpriseName: null,
  363. categoryType: null,
  364. isMake: null,
  365. isNew: null,
  366. isSmall: null,
  367. isDuty: null,
  368. companyIntroduction: null,
  369. customerType: null,
  370. corporationFront: null,
  371. corporationBack: null,
  372. corporationName: null,
  373. corporationIdCard: null,
  374. corporationPhone: null,
  375. familyPopulation: null,
  376. corporationJob: null,
  377. isLoan: null,
  378. receivablePay: null,
  379. businessSituation: null,
  380. businessEfficiency: null,
  381. corporationMaritalStatus: null,
  382. spouseFront: null,
  383. spouseBack: null,
  384. spouseName: null,
  385. spouseIdCard: null,
  386. spousePhone: null,
  387. guaranteeType: null,
  388. guaranteeFront: null,
  389. guaranteeBack: null,
  390. guaranteeName: null,
  391. guaranteeIdCard: null,
  392. guaranteePhone: null,
  393. guaranteeMaritalStatus: null,
  394. guaranteeSpouseFront: null,
  395. guaranteeSpouseBack: null,
  396. guaranteeSpouseName: null,
  397. guaranteeSpouseIdCard: null,
  398. guaranteeSpousePhone: null,
  399. userId: null,
  400. idCard: null,
  401. applicationTime: null,
  402. fileTime: null,
  403. loanSchedule: null,
  404. auditSchedule: null,
  405. auditType: null,
  406. loanApplicationType: '2',
  407. aUserId: null,
  408. aUserName: null,
  409. bUserId: null,
  410. bUserName: null,
  411. },
  412. queryParamsdk:{
  413. pageNum: 1,
  414. pageSize: 10,
  415. },
  416. // 表单参数
  417. form: {},
  418. // 表单校验
  419. rules: {
  420. conferenceTime: [
  421. { required: true, message: "不能为空", trigger: "blur" }
  422. ],
  423. },
  424. tableMaxHeight:300,
  425. scheduleList:[],
  426. dkId:0,
  427. jidneg:0,
  428. isnue:0,
  429. isfengw:false,
  430. userList:[],
  431. opensh:false,
  432. enterpriseList:[],
  433. file:{fileurl:'',type:''},
  434. opentou:false,
  435. timeList:[]
  436. };
  437. },
  438. created() {
  439. this.getList();
  440. window.onresize = () => {
  441. this.changeTableMaxHeight()
  442. }
  443. this.changeTableMaxHeight()
  444. },
  445. activated() {
  446. //调用列表函数
  447. this.getList()
  448. },
  449. mounted() {
  450. window.onresize = () => {
  451. this.changeTableMaxHeight()
  452. }
  453. this.changeTableMaxHeight()
  454. },
  455. methods: {
  456. /** 查询贷款申请主列表 */
  457. getList() {
  458. this.loading = true;
  459. applicationco(this.queryParams).then(response => {
  460. this.applicationList = response.rows;
  461. this.total = response.total;
  462. this.loading = false;
  463. });
  464. },
  465. // 查看投票结果
  466. timgw(val){
  467. this.loading = true;
  468. let nsjgd={loanApplicationId:val}
  469. conferencelist(nsjgd).then(response => {
  470. this.timeList = response.data;
  471. // this.total = response.total;
  472. this.loading = false;
  473. });
  474. },
  475. dakjnd(row){
  476. this.dkId = row.loanApplicationId
  477. this.title = '查看信息'
  478. this.jidneg = row.loanSchedule - 0
  479. this.open = true
  480. this.getdkList()
  481. },
  482. getdkList(){
  483. this.queryParamsdk.loanApplicationId = this.dkId
  484. schedule(this.queryParamsdk).then(response => {
  485. this.scheduleList = response.data;
  486. this.totaldk = response.total;
  487. this.loading = false;
  488. });
  489. },
  490. // 取消按钮
  491. cancel() {
  492. this.open = false;
  493. this.openg = false
  494. this.opentou = false
  495. this.reset();
  496. },
  497. // 表单重置
  498. reset() {
  499. this.form = {
  500. loanApplicationId: null,
  501. loanApplicationNumber: null,
  502. applicationAmount: null,
  503. applicationBank: null,
  504. usagePeriod: null,
  505. purposeFunds: null,
  506. repaymentSource: null,
  507. enterpriseName: null,
  508. categoryType: null,
  509. isMake: null,
  510. isNew: null,
  511. isSmall: null,
  512. isDuty: null,
  513. companyIntroduction: null,
  514. customerType: null,
  515. corporationFront: null,
  516. corporationBack: null,
  517. corporationName: null,
  518. corporationIdCard: null,
  519. corporationPhone: null,
  520. familyPopulation: null,
  521. corporationJob: null,
  522. isLoan: null,
  523. receivablePay: null,
  524. businessSituation: null,
  525. businessEfficiency: null,
  526. corporationMaritalStatus: null,
  527. spouseFront: null,
  528. spouseBack: null,
  529. spouseName: null,
  530. spouseIdCard: null,
  531. spousePhone: null,
  532. guaranteeType: null,
  533. guaranteeFront: null,
  534. guaranteeBack: null,
  535. guaranteeName: null,
  536. guaranteeIdCard: null,
  537. guaranteePhone: null,
  538. guaranteeMaritalStatus: null,
  539. guaranteeSpouseFront: null,
  540. guaranteeSpouseBack: null,
  541. guaranteeSpouseName: null,
  542. guaranteeSpouseIdCard: null,
  543. guaranteeSpousePhone: null,
  544. userId: null,
  545. idCard: null,
  546. applicationTime: null,
  547. fileTime: null,
  548. loanSchedule: null,
  549. auditSchedule: null,
  550. auditType: null,
  551. loanApplicationType: null,
  552. aUserId: null,
  553. aUserName: null,
  554. bUserId: null,
  555. bUserName: null,
  556. createBy: null,
  557. createTime: null,
  558. updateBy: null,
  559. updateTime: null,
  560. remark: null,
  561. conferenceTime:null,
  562. };
  563. this.resetForm("form");
  564. },
  565. /** 搜索按钮操作 */
  566. handleQuery() {
  567. this.queryParams.pageNum = 1;
  568. this.getList();
  569. },
  570. /** 重置按钮操作 */
  571. resetQuery() {
  572. this.resetForm("queryForm");
  573. this.handleQuery();
  574. },
  575. // 多选框选中数据
  576. handleSelectionChange(selection) {
  577. this.ids = selection.map(item => item.loanApplicationId)
  578. this.single = selection.length!==1
  579. this.multiple = !selection.length
  580. },
  581. /** 新增按钮操作 */
  582. handleAdd() {
  583. this.$router.push({
  584. path: '/shenbaoxinx/bjqs',
  585. query: {
  586. 'id':null,
  587. 'isxz':1,
  588. 'type':1
  589. }
  590. })
  591. // this.reset();
  592. // this.open = true;
  593. // this.title = "添加贷款申请主";
  594. },
  595. handleAddge(){
  596. this.$router.push({
  597. path: '/shenbaoxinx/bjqs',
  598. query: {
  599. 'id':null,
  600. 'isxz':1,
  601. 'type':2
  602. }
  603. })
  604. },
  605. // 查看投票结果
  606. toupiao(row){
  607. this.opentou = true
  608. this.timgw(row.loanApplicationId)
  609. },
  610. // 重新投票
  611. toupiaochx(row){
  612. this.isnue = 0
  613. this.reset();
  614. this.form.loanApplicationId = row.loanApplicationId
  615. this.form.conferenceTime = null
  616. this.form.loanApplicationNumber = row.loanApplicationNumber
  617. this.$set(this.form,'conferenceTime',null)
  618. this.openg = true
  619. },
  620. /** 修改按钮操作 */
  621. handleUpdate(row) {
  622. // this.reset();
  623. const loanApplicationId = row.loanApplicationId || this.ids
  624. this.$router.push({
  625. path: '/shenbaoxinx/bjqs',
  626. query: {
  627. 'id':loanApplicationId,
  628. 'isxz':2,
  629. 'bh':row.loanApplicationNumber
  630. }
  631. })
  632. // getApplication(loanApplicationId).then(response => {
  633. // this.form = response.data;
  634. // this.open = true;
  635. // this.title = "修改贷款申请主";
  636. // });
  637. },
  638. handleUpdatech(row){
  639. const loanApplicationId = row.loanApplicationId || this.ids
  640. this.$router.push({
  641. path: '/bjqsh',
  642. query: {
  643. 'id':loanApplicationId,
  644. 'isxz':2,
  645. 'bh':row.loanApplicationNumber,
  646. 'issh':true
  647. }
  648. })
  649. },
  650. /** 提交按钮 */
  651. submitForm() {
  652. this.$refs["form"].validate(valid => {
  653. if (valid) {
  654. if (this.form.loanApplicationId != null) {
  655. again(this.form).then(response => {
  656. this.$modal.msgSuccess("操作成功");
  657. this.openg = false;
  658. this.getList();
  659. });
  660. } else {
  661. addApplication(this.form).then(response => {
  662. this.$modal.msgSuccess("新增成功");
  663. this.open = false;
  664. this.getList();
  665. });
  666. }
  667. }
  668. });
  669. },
  670. /** 删除按钮操作 */
  671. handleDelete(row) {
  672. const loanApplicationIds = row.loanApplicationId || this.ids;
  673. this.$modal.confirm('是否确认删除贷款申请主编号为"' + loanApplicationIds + '"的数据项?').then(function() {
  674. return delApplication(loanApplicationIds);
  675. }).then(() => {
  676. this.getList();
  677. this.$modal.msgSuccess("删除成功");
  678. }).catch(() => {});
  679. },
  680. /** 导出按钮操作 */
  681. handleExport() {
  682. this.download('system/application/export', {
  683. ...this.queryParams
  684. }, `application_${new Date().getTime()}.xlsx`)
  685. },
  686. // 更多操作触发
  687. handleCommand(command, row) {
  688. switch (command) {
  689. case "getPass":
  690. this.getPass(row);
  691. break;
  692. case "infoBtn":
  693. this.infoBtn(row);
  694. break;
  695. case "getPassfenp":
  696. this.getPassfenp(row);
  697. break;
  698. case "handleUpdatech":
  699. this.handleUpdatech(row);
  700. break;
  701. default:
  702. break;
  703. }
  704. },
  705. // 审核分配 A B
  706. getPassfenp(row){
  707. // 审核分配
  708. this.getListge()
  709. this.isnue = 0
  710. this.titleg='审核分配',
  711. this.openg = true
  712. },
  713. ingwd(val){
  714. console.log(val)
  715. if(val == 'N'){
  716. this.isfengw = true
  717. }else{
  718. this.isfengw = false
  719. }
  720. },
  721. getListge() {
  722. listUser().then(response => {
  723. this.userList = response.rows;
  724. }
  725. );
  726. },
  727. shegjis(row){
  728. this.opensh = true
  729. let nsg={loanApplicationId:row.loanApplicationId}
  730. comment(nsg).then(response => {
  731. this.enterpriseList = response.rows;
  732. })
  733. },
  734. handleUpdategt(row){
  735. this.fujijty = true
  736. this.file.type =
  737. this.matchType(row.url)
  738. this.file.fileurl = process.env.VUE_APP_BASE_API + row.url
  739. // this.$router.push({
  740. // path: '/shenbaoxinx/chkawe',
  741. // query: {
  742. // 'fjUrl':row.fjUrl
  743. // }
  744. // })
  745. },
  746. matchType(fileName) {
  747. // 后缀获取
  748. var suffix = '';
  749. // 获取类型结果
  750. var result = '';
  751. try {
  752. var flieArr = fileName.split('.');
  753. suffix = flieArr[flieArr.length - 1];
  754. } catch (err) {
  755. suffix = '';
  756. }
  757. // fileName无后缀返回 false
  758. if (!suffix) {
  759. result = false;
  760. return result;
  761. }
  762. // 图片格式
  763. var imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif'];
  764. // 进行图片匹配
  765. result = imglist.some(function(item) {
  766. return item == suffix;
  767. });
  768. if (result) {
  769. result = 'image';
  770. return result;
  771. };
  772. // 匹配txt
  773. var txtlist = ['txt'];
  774. result = txtlist.some(function(item) {
  775. return item == suffix;
  776. });
  777. if (result) {
  778. result = 'txt';
  779. return result;
  780. };
  781. // 匹配 excel
  782. var excelist = ['xls', 'xlsx'];
  783. result = excelist.some(function(item) {
  784. return item == suffix;
  785. });
  786. if (result) {
  787. result = 'excel';
  788. return result;
  789. };
  790. // 匹配 word
  791. var wordlist = ['doc', 'docx','word'];
  792. result = wordlist.some(function(item) {
  793. return item == suffix;
  794. });
  795. if (result) {
  796. result = 'word';
  797. return result;
  798. };
  799. // 匹配 pdf
  800. var pdflist = ['pdf'];
  801. result = pdflist.some(function(item) {
  802. return item == suffix;
  803. });
  804. if (result) {
  805. result = 'pdf';
  806. return result;
  807. };
  808. // 匹配 ppt
  809. var pptlist = ['ppt'];
  810. result = pptlist.some(function(item) {
  811. return item == suffix;
  812. });
  813. if (result) {
  814. result = 'ppt';
  815. return result;
  816. };
  817. // 匹配 视频
  818. var videolist = ['mp4', 'm2v', 'mkv'];
  819. result = videolist.some(function(item) {
  820. return item == suffix;
  821. });
  822. if (result) {
  823. result = 'video';
  824. return result;
  825. };
  826. // 匹配 音频
  827. var radiolist = ['mp3', 'wav', 'wmv'];
  828. result = radiolist.some(function(item) {
  829. return item == suffix;
  830. });
  831. if (result) {
  832. result = 'radio';
  833. return result;
  834. }
  835. // 其他 文件类型
  836. result = 'other';
  837. return result;
  838. },
  839. // 获取屏幕高度
  840. showFilterForm () {
  841. this.filterActive = !this.filterActive
  842. this.changeTableMaxHeight()
  843. },
  844. changeTableMaxHeight () {
  845. let height = document.body.offsetHeight // 网页可视区域高度
  846. // if (this.filterActive) {
  847. // this.tableMaxHeight = height - 320
  848. // } else {
  849. this.tableMaxHeight = height - 400
  850. // }
  851. console.log(height)
  852. },
  853. }
  854. };
  855. </script>
  856. <style lang="scss">
  857. .instabf{
  858. .el-table .el-table__fixed-header-wrapper th{
  859. background-color:#F1F9FD;
  860. }
  861. .el-table .el-table__header-wrapper th{
  862. background-color:#F1F9FD;
  863. }
  864. }
  865. .sousde{
  866. .el-form-item--small.el-form-item{
  867. border: 1px solid #E6E6E6;
  868. }
  869. .el-input--small .el-input__inner{
  870. border: 0;
  871. }
  872. .qiuchu{
  873. border:0 !important;
  874. }
  875. }
  876. .nhgrls{
  877. .el-dialog__body{
  878. padding: 0;
  879. }
  880. }
  881. .hyr{
  882. span{
  883. text-decoration:underline;
  884. }
  885. }
  886. </style>
  887. <style scoped lang="scss">
  888. .iuer{
  889. display: flex;
  890. justify-content: space-between;
  891. align-items: center;
  892. .ite{
  893. display: flex;
  894. justify-content: space-between;
  895. align-items: center;
  896. p{
  897. cursor:pointer;
  898. margin: 0;
  899. font-size: 15px;
  900. font-family: PingFang SC;
  901. font-weight: 500;
  902. color:#666666;
  903. padding: 4px 12px;
  904. background: #Fff;
  905. border-radius: 4px;
  906. margin-right: 20px;
  907. position: relative;
  908. }
  909. .actt{
  910. background: #fff;
  911. // border-bottom: 3px solid #5974E0;
  912. // border-radius: 0;
  913. // border-bottom-right-radius: 4px;
  914. color: #5974E0;
  915. }
  916. .actt{
  917. &::after {
  918. content: "";
  919. width: 40%;
  920. height: 5px;
  921. border-radius: 3px;
  922. transform: translate(-50%);
  923. background-color: #5974E0;
  924. position: absolute;
  925. left: 50%;
  926. bottom:-3px;
  927. }
  928. }
  929. }
  930. }
  931. .lqw{
  932. padding: 0 10px;
  933. margin: 0;
  934. margin-bottom: 20px;
  935. }
  936. .nhgel{
  937. height: 170px;
  938. background-color: #313b61;
  939. width: 100%;
  940. position: absolute;
  941. top:0;
  942. left:0;
  943. z-index: 0;
  944. }
  945. .app-container{
  946. background-color: #f3f4f6;
  947. padding-top: 10px;
  948. // height: 100vh;
  949. }
  950. .ksf{
  951. img{
  952. width:100%;
  953. height: 100%;
  954. }
  955. }
  956. .jivbf{
  957. display: flex;
  958. align-items: center;
  959. line-height: 26px;
  960. font-size: 15px;
  961. font-family: PingFang SC;
  962. font-weight: bold;
  963. color: #333;
  964. margin-top: 0;
  965. margin-bottom: 20px;
  966. img{
  967. margin-right: 10px;
  968. }
  969. }
  970. .jivb{
  971. display: flex;
  972. align-items: center;
  973. line-height: 26px;
  974. font-size: 15px;
  975. font-family: PingFang SC;
  976. font-weight: bold;
  977. color: #00A9F0;
  978. margin-top: 0;
  979. margin-bottom: 20px;
  980. border-bottom: 2px solid #E6E6E6;
  981. img{
  982. margin-right: 10px;
  983. }
  984. span{
  985. border-bottom: 2px solid #00A9F0;
  986. margin-bottom: -2px;
  987. }
  988. // border-left: 8px solid #04BFA1;
  989. }
  990. </style>