Przeglądaj źródła

个贷问题优化

wucl 11 miesięcy temu
rodzic
commit
f285895db4

+ 2 - 2
src/api/modules/personal.js

@@ -42,8 +42,8 @@ export default {
   waitingClamOrder(params){
     return request.get(`personal/waiting/claim`, { params: params })
   },
-  waitingAllotOrder(){
-    return request.get(`personal/waitingAllot`)
+  waitingAllotOrder(params){
+    return request.get(`personal/waitingAllot`,{params: params})
   },
   batchAllotOrder(params){
     return request.post(`personal/batchAllot`, params)

+ 2 - 0
src/components/Pagination/index.vue

@@ -16,6 +16,7 @@
 
 <script>
 import { scrollTo } from '@/utils/scroll-to'
+import { setCookie } from '@/utils/auth'
 
 export default {
   name: 'Pagination',
@@ -79,6 +80,7 @@ export default {
       if (this.autoScroll) {
         scrollTo(0, 800)
       }
+      setCookie(this.$parent.$parent.$options.name,val);
     },
     handleCurrentChange(val) {
       this.$emit('pagination', { page: val, limit: this.pageSize })

+ 2 - 0
src/store/modules/user.js

@@ -24,7 +24,9 @@ const mutations = {
   },
 }
 
+
 const actions = {
+
   // user login
   login({ commit }, userInfo) {
     const { account, pwd} = userInfo

+ 4 - 0
src/utils/auth.js

@@ -26,3 +26,7 @@ export function setCookie(key,value){
   Cookies.set(key,value)
 }
 
+export function getCookie(key){
+  return Cookies.get(key)
+}
+

+ 1 - 1
src/views/personal/myOrder.vue

@@ -421,7 +421,7 @@ export default {
     },
 
     orderDetail(row){
-      this.$router.push(`/personal/order?id=${row.id}&couldEdit=false&recall=true&couldBack=true&back=${'/personal/my/order'}`)
+      this.$router.push(`/personal/order?id=${row.id}&couldEdit=true&recall=true&couldBack=true&back=${'/personal/my/order'}`)
     },
     productionList(id){
       this.productionListDialog = true;

+ 14 - 12
src/views/personal/order.vue

@@ -7,8 +7,8 @@
         <el-tab-pane name="order" class="pane-class" :lazy=true>
           <span slot="label"><i class="el-icon-document"></i> 市场订单</span>
           <YDetailPageLayout ref="myPersonalOrder" @save="handleCreate" :editStatus="couldEdit" 
-           @doRecall="doRecall" :couldBack="couldBack"  :rules="rules">
-            <el-form ref="personalForm" :model="personal">
+           @doRecall="doRecall" :couldBack="couldBack">
+            <el-form ref="personalForm" :model="personal" :rules="rules">
               <div class="createMajor-main-container">
                 <div class="postInfo-container">
                   <div>
@@ -74,7 +74,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="personal.location" class="filter-item" style=" width: 100%"  />
+                        <el-input v-model="personal.location" class="filter-item" style=" width: 100%" clearable/>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -178,7 +178,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.agent" class="filter-item"  />
+                      <el-input v-model="personal.agent" clearable class="filter-item"  />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -190,7 +190,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.loanNature" class="filter-item"  />
+                      <el-input v-model="personal.loanNature" clearable class="filter-item"  />
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -200,7 +200,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.loanAim" class="filter-item"  />
+                      <el-input v-model="personal.loanAim" clearable class="filter-item"  />
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -211,7 +211,7 @@
                         :rules="{required: true, message: '贷款额度不能为空', trigger: 'blur'}"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.loanLimit" class="filter-item" >
+                      <el-input v-model="personal.loanLimit" clearable class="filter-item" >
                         <template slot="append">万元</template>
                       </el-input>
                       </el-form-item>
@@ -223,7 +223,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.loanPeriod" class="filter-item"  >
+                      <el-input v-model="personal.loanPeriod" clearable class="filter-item"  >
                         <template slot="append">年</template>
                       </el-input>
                       </el-form-item>
@@ -264,7 +264,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.bailorA" class="filter-item" />
+                      <el-input v-model="personal.bailorA" clearable class="filter-item" />
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -274,7 +274,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.bailoraTel" class="filter-item"  />
+                      <el-input v-model.trim="personal.bailoraTel" clearable class="filter-item"  />
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -284,7 +284,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.bailorB" class="filter-item" />
+                      <el-input v-model="personal.bailorB" clearable class="filter-item" />
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -294,7 +294,7 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                      <el-input v-model="personal.bailorbTel" class="filter-item" />
+                      <el-input v-model.trim="personal.bailorbTel" clearable class="filter-item" />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -768,6 +768,8 @@
         return {
           rules:{
             loanLimit:[{required:true,message:"贷款额度不能为空",trigger:'blur'},{validator:isNumber,trigger:'blur'}],
+            bailoraTel:[{validator:phoneNumber,trigger:'blur'}],
+            bailorbTel:[{validator:phoneNumber,trigger:'blur'}],
           },
           activeName:'order',
           personal:{

+ 7 - 4
src/views/personal/pendingList.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
     </div>
-    <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getPage">
+    <y-page-list-layout :page-list="pageData" :page-para="listQuery" :get-page-list="getPage" >
       <template slot="left">
         <MoreSearchBar business="PERSONAL_BUSINESS" :nodes="personalNodes"  @fliterSearch="fliterSearch" @resetParams="resetParams" :listQuery="listQuery"></MoreSearchBar>
       </template>
@@ -73,11 +73,11 @@
             <span>{{ row.bailorA}}{{ row.bailorB}}</span>
           </template>
         </el-table-column>
-        <!-- <el-table-column label="委托人电话" align="center">
+        <el-table-column label="委托人电话" align="center" width="130">
           <template slot-scope="{row}">
-            <span>{{ row.bailoraTel }} {{ row.bailorbTel }}</span>
+            <span>{{ row.bailoraTel===null?row.bailorbTel:row.bailoraTel }}</span>
           </template>
-        </el-table-column> -->
+        </el-table-column>
         <el-table-column label="客户经理" align="center">
           <template slot-scope="{row}">
             <span>{{ row.clientManager }}</span>
@@ -117,6 +117,7 @@ import YPageListLayout from '@/components/YPageListLayout'
 import Breadcrumb from '@/components/Breadcrumb'
 import PermissionButton from '@/components/PermissionButton/PermissionButton'
 import MoreSearchBar from '@/components/MoreSearchBar'
+import { getCookie } from '@/utils/auth'
 
 export default {
   name: 'PersonalPendingList',
@@ -144,7 +145,9 @@ export default {
       personalNodes:[]
     }
   },
+
   created() {
+    this.listQuery.size = parseInt(getCookie('PersonalPendingList'));
     this.listQuery.keyword = this.$route.query.keyword;
     this.getPage();
     this.getNodeEnum();

+ 8 - 5
src/views/personal/readonlyDetail.vue

@@ -163,8 +163,8 @@
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                  <el-form-item label="委托人1电话:" prop="bailorATel" label-width="120px" class="postInfo-container-item">
-                    <el-input :value="personal.bailorATel" class="filter-item" readonly disabled />
+                  <el-form-item label="委托人1电话:" prop="bailoraTel" label-width="120px" class="postInfo-container-item">
+                    <el-input :value="personal.bailoraTel" class="filter-item" readonly disabled />
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -173,8 +173,8 @@
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                  <el-form-item label="委托人2电话:" prop="bailorBTel" label-width="120px" class="postInfo-container-item">
-                    <el-input :value="personal.bailorBTel" class="filter-item" readonly disabled />
+                  <el-form-item label="委托人2电话:" prop="bailorbTel" label-width="120px" class="postInfo-container-item">
+                    <el-input :value="personal.bailorbTel" class="filter-item" readonly disabled />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -732,7 +732,7 @@
           </el-tab-pane>
           <el-tab-pane name="sellingAbilityInfo" class="pane-class" :lazy=true>
             <span slot="label"><i class="el-icon-paperclip"></i> 变现能力</span>
-            <SellingAbilityInfo @custom-event="getPersonalTarget()" :id="target.id"
+            <SellingAbilityInfo @custom-event="getPersonalTarget()" :id="target.id" :outWardStaffId="personal.outwardStaff"
               :sellingAbilityInfoObject="target.sellingAbility" :editStatus="certificateCouldEdit"></SellingAbilityInfo>
           </el-tab-pane>
         </el-tabs>
@@ -942,6 +942,9 @@ export default {
         if (newVal.id) {
           this.getProductions();
         }
+        if (newVal.qrCode){
+          this.qrCodeUrl = newVal.qrCode;
+        }
       },
       deep: true
     },

+ 8 - 6
src/views/personal/todoDetail.vue

@@ -171,8 +171,8 @@
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                  <el-form-item label="委托人1电话:" prop="bailorATel" label-width="120px" class="postInfo-container-item">
-                    <el-input :value="personal.bailorATel" class="filter-item" readonly disabled />
+                  <el-form-item label="委托人1电话:" prop="bailoraTel" label-width="120px" class="postInfo-container-item">
+                    <el-input :value="personal.bailoraTel" class="filter-item" readonly disabled />
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
@@ -181,8 +181,8 @@
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                  <el-form-item label="委托人2电话:" prop="bailorBTel" label-width="120px" class="postInfo-container-item">
-                    <el-input :value="personal.bailorBTel" class="filter-item" readonly disabled />
+                  <el-form-item label="委托人2电话:" prop="bailorbTel" label-width="120px" class="postInfo-container-item">
+                    <el-input :value="personal.bailorbTel" class="filter-item" readonly disabled />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -1142,6 +1142,9 @@ export default {
         if (newVal.isOnline) {
           this.jumpTabs();
         }
+        if (newVal.qrCode){
+          this.qrCodeUrl = newVal.qrCode;
+        }
       },
       deep: true
     },
@@ -1613,8 +1616,7 @@ export default {
             } else {
               this.feedback = []
             }
-
-
+            this.qrCodeUrl = this.target.qrCode;
           }
         })
       }

+ 43 - 18
src/views/personal/todoList.vue

@@ -79,11 +79,11 @@
             <span>{{ row.bailorA}}{{ row.bailorB}}</span>
           </template>
         </el-table-column>
-        <!-- <el-table-column label="委托人电话" align="center" width="130">
+        <el-table-column label="委托人电话" align="center" width="130">
           <template slot-scope="{row}">
-            <span>{{ row.bailorATel }} {{ row.bailorBTel }}</span>
+            <span>{{ row.bailorATel===null?row.bailorBTel:row.bailorATel }}</span>
           </template>
-        </el-table-column> -->
+        </el-table-column>
         <el-table-column label="客户经理" align="center">
           <template slot-scope="{row}">
             <span>{{ row.clientManager }}</span>
@@ -122,22 +122,25 @@
         </el-table-column>
       </parentTable>
     </y-page-list-layout>
-    <el-dialog :visible.sync="batchAllotDialogVisible" width="90%"center  custom-class="doWarehouseClass" @closed="getPage">
-      <div style="padding: 17px;">
+    <el-dialog :visible.sync="batchAllotDialogVisible" width="90%" center top="10vh" custom-class="doWarehouseClass" @closed="getPage">
+      <div>
           <el-divider content-position="left">
-            <el-tooltip class="item" effect="dark" content="批量勾选订单后,点击外业人员即可完成分单。" placement="top-start">
-              <span>外业人员<i class="el-icon-question"></i></span>
-            </el-tooltip>
+              <span>订单关键字搜索:
+                <el-input v-model="orderKeyword" placeholder="关键字..." clearable style="width: 270px;" />
+              </span>
           </el-divider>
-        <el-button style="float: left;" type="info" plain v-for="(user,index) in outwardUsers" :key="index" @click="batchAllot(user)">{{ user.name }}</el-button>
+        <div class="outwardStaff-div">
+          <el-button style="margin-top: 10px;margin-left: 2px;" type="info" size="mini" plain v-for="(user,index) in outwardUsers" :key="index" @click="batchAllot(user)">{{ user.name }}</el-button>
+        </div>
       </div>  
-      <y-page-list-layout :page-list="allotOrderData" :page-para="allotOrderQuery" >
-        <template slot="left"></template>
+      <y-page-list-layout :page-list="allotOrderData" :page-para="allotOrderQuery" :get-page-list="getAllotOrderList">
+        <template slot="left">
+        </template>
         <parentTable ref="table" :clickRowToPick="true" :data="allotOrderData.records" slot="table"
-          style="width: 100%;" :selectionChange="handleSelectionChange" :isBoard=480 >
+          style="width: 100%;" :selectionChange="handleSelectionChange" >
           <el-table-column align="center" type="selection" claimOrders width="100" border="true">
           </el-table-column>
-          <el-table-column label="坐落" align="center" width="200">
+          <el-table-column label="坐落" align="center" width="400">
           <template slot-scope="{row}">
             <span>{{ row.location }}</span>
           </template>
@@ -199,6 +202,7 @@ import Breadcrumb from '@/components/Breadcrumb'
 import PermissionButton from '@/components/PermissionButton/PermissionButton'
 import MoreSearchBar from '@/components/MoreSearchBar'
 import TransferDialog from '@/components/TaskTransferDialog'
+import { getCookie } from '@/utils/auth'
 
 export default {
   name: 'personalTodoList',
@@ -216,7 +220,7 @@ export default {
       listLoading: false,
       listQuery: {
         page: 1,
-        size: 100,
+        size: 10,
         current: 1,
         descs: null,
         ascs:null,
@@ -232,10 +236,24 @@ export default {
         page: 1,
         size: 10,
         descs: 'id',
+        keyword:null
       },
       allotOrderData: { records: [] },
       outwardUsers:[],
-      batchOrders:[]
+      batchOrders:[],
+      orderKeyword:null
+    }
+
+  },
+  watch:{
+    orderKeyword:{
+        handler(nv,ov){
+            console.log(nv)
+            this.allotOrderQuery.keyword = nv;
+            this.getAllotOrderList();
+        },
+        deep:true
+      
     }
   },
   created() {
@@ -244,6 +262,7 @@ export default {
   },
   methods: {
     getPage() {
+      this.listQuery.size = parseInt(getCookie('personalTodoList'));
       this.$api.workNodeTaskRecord.personalTaskTodoList(this.listQuery).then(res=>{
         if (res.code ===200){
             this.pageData = res.data;
@@ -271,7 +290,7 @@ export default {
       this.$router.push({ query: {} });
       this.listQuery = {
           current: 1,
-          size: 100,
+          size: 10,
           descs: 'created',
       }
       this.getPage();
@@ -279,7 +298,7 @@ export default {
     searchList() {
       // 重置分页
       this.listQuery.page = 1
-      this.listQuery.size = 100
+      this.listQuery.size = 10
       this.getPage()
     },
 
@@ -336,7 +355,7 @@ export default {
       this.batchOrders = pickeds;
     },
     getAllotOrderList(){
-        this.$api.personal.waitingAllotOrder().then(res => {
+        this.$api.personal.waitingAllotOrder(this.allotOrderQuery).then(res => {
             if (res.code === 200) {
                 this.allotOrderData = res.data;
             }
@@ -378,4 +397,10 @@ export default {
 /deep/.doWarehouseClass {
   border-radius: 10px;
 }
+
+.outwardStaff-div{
+  width: 100%;
+  padding-left: 17px;
+}
+
 </style>