wucl 6 mesiacov pred
rodič
commit
8b3e43ea08

+ 6 - 0
src/api/modules/personal.js

@@ -50,6 +50,12 @@ export default {
   },
   changeCredentials(params){
     return request.put(`personal/change`, params)
+  },
+  allOrder(params){
+    return request.get(`personal/all`, { params: params })
+  },
+  getDataCount(params){
+    return request.get(`personal/count`, { params: params })
   }
 
 }

+ 1 - 0
src/components/BaseTable/parentTable.vue

@@ -50,6 +50,7 @@ export default {
     },
   },
 
+
   computed: {
     maxHeight() {
       if (this.isBoard > 0) {

+ 9 - 5
src/components/MoreSearchBar/index.vue

@@ -33,11 +33,10 @@
                         <el-option :value="false" label="未收款">未收款</el-option>
                     </el-select>
                 </el-col>
-                <el-col :xs="24" :sm="12" :lg="2" :span="6" style="margin-right: 5px;">
-                    <el-select v-if="hasShouldAmount" v-model="listQuery.hasShouldAmount" @change="searchList" placeholder="是否设置应收款">
-                        <el-option label="(应收款)全部">(应收款)全部</el-option>
-                        <el-option :value="true" label="已设置">已设置</el-option>
-                        <el-option :value="false" label="未设置">未设置</el-option>
+                <el-col :xs="24" :sm="12" :lg="3" :span="6" style="margin-right: 5px; margin-left: -55px;">
+                    <el-select v-if="personalRealAmount" v-model="listQuery.personalRealAmount" @change="searchList" placeholder="实收款状态" clearable>
+                        <el-option :value="true" label="已收款">已收款</el-option>
+                        <el-option :value="false" label="未收款">未收款</el-option>
                     </el-select>
                 </el-col>
                 <el-col :xs="24" :sm="12" :lg="8" :span="6">
@@ -280,6 +279,11 @@ export default {
             require: false,
             default: false
         },
+        personalRealAmount: {
+            type: Boolean,
+            require: false,
+            default: false
+        },
     },
 
 

+ 8 - 0
src/components/YPageListLayout/index.vue

@@ -59,6 +59,14 @@
           }
         }
       },
+      watch:{
+        pageList:{
+          handler(nv,ov){
+            console.log(nv)
+          },
+          deep:true
+        }
+      },
       data(){
           return{
             showExportBox:false

+ 3 - 1
src/router/urlMap.js

@@ -146,6 +146,7 @@ import _views_statistical_major_evaluate_efficiency from '@/views/statistical/ma
 import _views_statistical_major_performance_deduction_depInternal from '@/views/statistical/major/performanceDeductionDepInternal'
 import _views_statistical_major_performance_deduction_errorType from '@/views/statistical/major/performanceDeductionErrorType'
 import _views_statistical_major_department_performance_overview from '@/views/statistical/major/departmentPerformanceOverview'
+import _views_personal_all from '@/views/personal/allOrder'
 
 export default {
   _views_set_menu,
@@ -280,6 +281,7 @@ export default {
   _views_statistical_major_evaluate_efficiency,
   _views_statistical_major_performance_deduction_depInternal,
   _views_statistical_major_performance_deduction_errorType,
-  _views_statistical_major_department_performance_overview
+  _views_statistical_major_department_performance_overview,
+  _views_personal_all
 
 }

+ 286 - 0
src/views/personal/allOrder.vue

@@ -0,0 +1,286 @@
+<template>
+  <div class="app-container">
+    <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">
+      <template slot="left">
+        <MoreSearchBar business="PERSONAL_BUSINESS" :nodeCode="false" :personalRealAmount="true"
+          @fliterSearch="fliterSearch" @resetParams="resetParams" :listQuery="listQuery">
+          <template v-slot:otherButton>
+            <el-button class="filter-item" round @click="showAllLabel()">显示全部列</el-button>
+          </template>
+        </MoreSearchBar>
+      </template>
+      <parentTable ref="table" :data="pageData.records" slot="table" style="width: 100%;" @headerClick="switchHeader">
+        <el-table-column label="项目编号" align="center" width="150" v-if="!hiddenLabels.includes('orderId')"
+          prop="orderId">
+          <template slot-scope="{row}">
+            <span class="enableClick" @contextmenu.prevent="$doCopy(row.orderId)">{{ row.orderId }}</span>
+            <input v-show="false" type="text" id="target">
+          </template>
+        </el-table-column>
+        <el-table-column label="坐落" align="center" width="300" v-if="!hiddenLabels.includes('location')"
+          prop="location">
+          <template slot-scope="{row}">
+            <span class="enableClick">{{ row.location }}</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column label="面积" align="center" width="130">
+          <template slot-scope="{row}">
+            <span style="color: red;">{{ row.acreage ? row.acreage + '平' : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="单价" align="center" width="130">
+          <template slot-scope="{row}">
+            <span style="color: red;">{{ row.price ? row.price + '元' : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="总价" align="center" width="130">
+          <template slot-scope="{row}">
+            <span style="color: red;">{{ row.amount ? (row.amount / 10000).toFixed(2) + '万' : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="价值时点" align="center" width="130">
+          <template slot-scope="{row}">
+            <span style="color: red;">{{ row.amount ? (row.created < '2025-01-01 00:00:00' ? row.xcreated :
+              row.valueTiming):'-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="实收款" align="center" width="130">
+          <template slot-scope="{row}">
+            <span style="color: red;">{{ row.realAmount ? row.realAmount + '元' : '-' }}</span>
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="实收款认领日期" align="center" width="130">
+          <template slot-scope="{row}">
+            <span>{{ row.claimDatetime? row.claimDatetime: '-' }}</span>
+          </template>
+        </el-table-column> -->
+        <el-table-column label="客户名称" align="center" width="130" v-if="!hiddenLabels.includes('clientName')"
+          prop="clientName">
+          <template slot-scope="{row}">
+            <span>{{ row.clientName ? row.clientName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="130" v-if="!hiddenLabels.includes('clientSubName')"
+          prop="clientSubName">
+          <template slot-scope="{row}">
+            <span>{{ row.clientSubName ? row.clientSubName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="中介" align="center" width="130" v-if="!hiddenLabels.includes('agent')" prop="agent">
+          <template slot-scope="{row}">
+            <span>{{ row.agent ? row.agent : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="联系人" align="center" width="130" v-if="!hiddenLabels.includes('contactName')"
+          prop="contactName">
+          <template slot-scope="{row}">
+            <span>{{ row.contactName ? row.contactName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="联系人电话" align="center" width="130" v-if="!hiddenLabels.includes('contactTel')"
+          prop="contactTel">
+          <template slot-scope="{row}">
+            <span>{{ row.contactTel ? row.contactTel : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="委托人" align="center" v-if="!hiddenLabels.includes('bailorA')" prop="bailorA">
+          <template slot-scope="{row}">
+            <span>{{ row.bailorA ? row.bailorA : (row.bailorB ? row.bailorB : '-') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="委托人电话" align="center" width="130" v-if="!hiddenLabels.includes('bailoraTel')"
+          prop="bailoraTel">
+          <template slot-scope="{row}">
+            <span>{{ row.bailoraTel ? row.bailoraTel : (row.bailorbTel ? row.bailorbTel : '-') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="客户经理" align="center" v-if="!hiddenLabels.includes('clientManager')"
+          prop="clientManager">
+          <template slot-scope="{row}">
+            <span>{{ row.clientManager }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="实勘人" align="center" width="130" v-if="!hiddenLabels.includes('outwardStaffName')"
+          prop="outwardStaffName">
+          <template slot-scope="{row}">
+            <span>{{ row.outwardStaffName ? row.outwardStaffName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="内业人员" align="center" width="130" v-if="!hiddenLabels.includes('inwardStaffName')"
+          prop="inwardStaffName">
+          <template slot-scope="{row}">
+            <span>{{ row.inwardStaffName ? row.inwardStaffName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="定价人员" align="center" width="130" v-if="!hiddenLabels.includes('pricingStaffName')"
+          prop="pricingStaffName">
+          <template slot-scope="{row}">
+            <span>{{ row.pricingStaffName ? row.pricingStaffName : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="下单时间" align="center" width="110" v-if="!hiddenLabels.includes('created')"
+          prop="created">
+          <template slot-scope="{row}">
+            {{ row.created }}
+          </template>
+        </el-table-column>
+        <!-- <el-table-column label="节点生成时间" align="center" width="110" v-if="!hiddenLabels.includes('nodeTime')" prop="nodeTime" >
+          <template slot-scope="{row}">
+            {{ row.nodeTime }}
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="最新备注" align="center" width="150" v-if="!hiddenLabels.includes('comments')" prop="comments">
+          <template slot-scope="{row}">
+            <span>{{ row.comments?row.comments:'-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="当前节点" align="center" width="130"  v-if="!hiddenLabels.includes('currentNodeName')" prop="currentNodeName">
+          <template slot-scope="{row}">
+            <span>{{ row.currentNodeName?row.currentNodeName:'-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="处理人" align="center" width="130" v-if="!hiddenLabels.includes('handlerName')" prop="handlerName">
+          <template slot-scope="{row}">
+            <span>{{ row.handlerName?row.handlerName:'-' }}</span>
+          </template>
+        </el-table-column> -->
+        <!-- <el-table-column label="操作" align="center" width="80" fixed="right">
+          <template slot-scope="{row}">
+            <el-button type="text" @click="orderDetail(row)">详情</el-button>
+          </template>
+        </el-table-column> -->
+      </parentTable>
+    </y-page-list-layout>
+  </div>
+</template>
+<script>
+import YPageListLayout from '@/components/YPageListLayout'
+import Breadcrumb from '@/components/Breadcrumb'
+import PermissionButton from '@/components/PermissionButton/PermissionButton'
+import MoreSearchBar from '@/components/MoreSearchBar'
+import { getCookie, setCookie, removeCookie } from '@/utils/auth'
+
+export default {
+  name: 'PersonalPendingList',
+  components: {
+    Breadcrumb,
+    YPageListLayout,
+    PermissionButton,
+    MoreSearchBar,
+  },
+
+  data() {
+    return {
+      pageData: { records: [], total: 0 },
+      listQuery: {
+        page: 1,
+        size: 10,
+        current: 1,
+        descs: null,
+        ascs: null,
+        keyword: null,
+        startDate: null,
+        endDate: null
+      },
+      personalNodes: [],
+      hiddenLabels: [],
+    }
+  },
+
+
+  created() {
+    if (getCookie("PersonalPendingList-hiddenLabels") != undefined) {
+      this.hiddenLabels = JSON.parse(getCookie("PersonalPendingList-hiddenLabels"))
+    }
+    this.listQuery.keyword = this.$route.query.keyword;
+    this.getPage();
+    //this.getDataCount();
+
+    //this.getNodeEnum();
+
+  },
+  methods: {
+    getPage() {
+      let loadingInstance = this.$loading({ fullscreen: true });
+      if (getCookie('PersonalPendingList') != undefined) {
+        this.listQuery.size = parseInt(getCookie('PersonalPendingList'));
+      }
+      this.$api.personal.allOrder(this.listQuery).then(res => {
+        if (res.code === 200) {
+          this.pageData = res.data;
+          loadingInstance.close();
+          this.$api.personal.getDataCount(this.listQuery).then(res => {
+            if (res.code === 200) {
+              this.pageData.total = res.data;
+            }
+          })
+        }
+      })
+
+    },
+
+
+    getNodeEnum() {
+      this.$api.workNode.nodesByBusiness("PERSONAL_BUSINESS").then(res => {
+        if (res.code === 200) {
+          this.personalNodes = res.data;
+        }
+      })
+    },
+    fliterSearch(params) {
+      let loadingInstance = this.$loading({ fullscreen: true });
+      this.$api.personal.allOrder(params).then(res => {
+        if (res.code === 200) {
+          this.pageData = res.data;
+          loadingInstance.close();
+          this.$api.personal.getDataCount(this.listQuery).then(res => {
+            if (res.code === 200) {
+              this.pageData.total = res.data;
+            }
+          })
+        }
+      })
+    },
+
+    resetParams() {
+      this.$router.push({ query: {} });
+      this.listQuery = {
+        current: 1,
+        size: 10,
+        descs: 'created',
+      }
+      this.getPage();
+    },
+    searchList() {
+      // 重置分页
+      this.listQuery.page = 1
+      this.listQuery.size = 10
+      this.getPage()
+    },
+
+    orderDetail(row) {
+      this.$router.push(`/personal/readonly/detail?id=${row.id}&currentNodeName=${row.currentNodeName}&orderId=${row.orderId}&back=${'/personal/pending/list'}`)
+    },
+
+    switchHeader(data) {
+      this.hiddenLabels.push(data);
+      setCookie("PersonalPendingList-hiddenLabels", this.hiddenLabels);
+    },
+    showAllLabel() {
+      removeCookie("PersonalPendingList-hiddenLabels");
+      location.reload();
+    },
+  },
+
+}
+</script>
+<style lang="scss" scoped>
+.enableClick:hover {
+  color: #1890ff;
+  cursor: pointer;
+}
+</style>