Sfoglia il codice sorgente

1.大中型报表新增项目部绩效总览页面
2.资产优化我的订单页面、实收款认领页面

GouGengquan 10 mesi fa
parent
commit
0a2e369ebb

+ 4 - 0
src/api/modules/statistical.js

@@ -98,5 +98,9 @@ export default {
     getMajorErrorTypeCountVO(params){
         return request.get(`major/statisticalStatement/errorType/getMajorErrorTypeCountVO`, { params: params })
     },
+    // 项目部绩效查询
+    getMajorDepPerformanceOverviewVO(params){
+        return request.get(`major/statisticalStatement/department/getMajorDepPerformanceOverviewVO`, { params: params })
+    },
 
 }

+ 3 - 1
src/router/urlMap.js

@@ -145,6 +145,7 @@ import _views_statistical_major_performance_deduction from '@/views/statistical/
 import _views_statistical_major_evaluate_efficiency from '@/views/statistical/major/evaluateEfficiency'
 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'
 
 export default {
   _views_set_menu,
@@ -278,6 +279,7 @@ export default {
   _views_statistical_major_performance_deduction,
   _views_statistical_major_evaluate_efficiency,
   _views_statistical_major_performance_deduction_depInternal,
-  _views_statistical_major_performance_deduction_errorType
+  _views_statistical_major_performance_deduction_errorType,
+  _views_statistical_major_department_performance_overview
 
 }

+ 179 - 167
src/views/assets/myOrderList.vue

@@ -146,36 +146,45 @@
                         <el-tag v-else type='danger'>未送达</el-tag>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center" :min-width="dynamicWidth" fixed="right">
+                <el-table-column label="操作" align="center" width="150" fixed="right">
                     <template slot-scope="{row}">
                         <div class="optionDiv" style="white-space: nowrap; display: inline-block">
-                            <el-button type="text" size="mini"
-                                v-if="(!row.reportDelivery || row.reportDelivery == null) && row.reportRepertoryState"
-                                @click="markDelivery(row)">
-                                标记送达
-                            </el-button>
-                            <el-button type="text" size="mini" @click="orderDetail(row)">
-                                查看
-                            </el-button>
-                            <el-button type="text" size="mini" @click="editOrder(row)">
-                                编辑
-                            </el-button>
-                            <el-button type="text" size="mini" @click="openShouldAmountDialog(row)">
-                                订单应收款
-                            </el-button>
-                            <el-button v-if="row.reportNo !== null" type="text" size="mini"
-                                @click="openProShouldAmountDialog(row)">
-                                产品应收款
-                            </el-button>
-                            <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="text" size="mini"
-                                @click="openRepertoryOutWarehouse(row)">
-                                申请提前出库
-                            </el-button>
-                            <el-button v-if="row.realAmount > 0" type="text" size="mini"
-                                @click="openAllotProductionDialog(row)">
-                                实收款分配
-                            </el-button>
-                            <el-button type="text" size="mini" @click="openFinanceInvoiceDialog(row.orderFundId,row.productionFundId,row.realAmount,row.customerName,row.customerSubName)">申请开票</el-button>
+                            <div>
+                                <el-button type="text" size="mini"
+                                    :disabled="!((!row.reportDelivery || row.reportDelivery == null) && row.reportRepertoryState)"
+                                    @click="markDelivery(row)">
+                                    标记送达
+                                </el-button>
+                                <el-button type="text" size="mini" @click="orderDetail(row)">
+                                    查看
+                                </el-button>
+                            </div>
+                            <div>
+                                <el-button type="text" size="mini" @click="editOrder(row)">
+                                    编辑
+                                </el-button>
+                                <el-button type="text" size="mini" @click="openShouldAmountDialog(row)">
+                                    订单应收款
+                                </el-button>
+                            </div>
+                            <div>
+                                <el-button :disabled="!(row.reportNo !== null)" type="text" size="mini"
+                                    @click="openProShouldAmountDialog(row)">
+                                    产品应收款
+                                </el-button>
+                                <el-button :disabled="!(row.currentNodeCode === 'REPORT_OUT_APPLY')" type="text" size="mini"
+                                    @click="openRepertoryOutWarehouse(row)">
+                                    提前出库
+                                </el-button>
+                            </div>
+                            <div>
+                                <el-button :disabled="!(row.realAmount > 0)" type="text" size="mini"
+                                    @click="openAllotProductionDialog(row)">
+                                    实收款分配
+                                </el-button>
+                                <el-button type="text" size="mini"
+                                    @click="openFinanceInvoiceDialog(row.orderFundId, row.productionFundId, row.realAmount, row.customerName, row.customerSubName)">申请开票</el-button>
+                            </div>
                             <!-- <el-button v-if="row.currentNodeCode === 'REPORT_OUT_APPLY'" type="text"
                             @click="canceladdRepertoryOutWarehouse(row)">
                             撤销出库申请 
@@ -353,8 +362,8 @@
         <el-dialog :visible.sync="makeInvoiceListDialog" width="90%" center custom-class="doWarehouseClass">
             <el-button type="danger" round @click="openNewInvoiceDialog()">新增开票</el-button>
             <div style="margin-top:30px;">
-                <el-table :data="invoiceData"  stripe :header-row-style="{ color: '#333333', 'font-size': '14px' }" border
-                style="width: 100%; margin-top:20px;font-size: 14px;">
+                <el-table :data="invoiceData" stripe :header-row-style="{ color: '#333333', 'font-size': '14px' }" border
+                    style="width: 100%; margin-top:20px;font-size: 14px;">
                     <el-table-column align="center" prop="title" label="发票抬头" width="180">
                     </el-table-column>
                     <el-table-column align="center" prop="taxNo" label="税号" width="180">
@@ -380,8 +389,10 @@
                     </el-table-column>
                     <el-table-column fixed="right" label="操作" width="200" align="center">
                         <template slot-scope="{row}">
-                            <el-button :disabled="row.state != '审核中'" @click="invoiceDetail(row.id)" type="text" size="small">修改</el-button>
-                            <el-button :disabled="row.state != '已开票'" @click="cancellation(row.id)" type="text" size="small">申请作废</el-button>
+                            <el-button :disabled="row.state != '审核中'" @click="invoiceDetail(row.id)" type="text"
+                                size="small">修改</el-button>
+                            <el-button :disabled="row.state != '已开票'" @click="cancellation(row.id)" type="text"
+                                size="small">申请作废</el-button>
                             <el-button @click="copyInvoice(row)" type="text" size="small">复制</el-button>
                         </template>
                     </el-table-column>
@@ -389,90 +400,91 @@
             </div>
         </el-dialog>
         <el-dialog :visible.sync="newInvoiceDialog" width="55%" top="10vh" center custom-class="doWarehouseClass"
-      @closed="cleanFinanceInvoiceForm">
-      <el-form ref="invoice" :model="invoice">
-        <el-divider content-position="left">开票信息</el-divider>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="发票抬头:" :rules="{ required: true, message: '发票抬头不能为空', trigger: 'blur' }" prop="title"
-              label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.title" class="filter-item" />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="发票类型:" :rules="{ required: true, message: '发票类型不能为空', trigger: 'blur' }" prop="type"
-              label-width="140px" class="postInfo-container-item">
-              <el-select v-model="invoice.type" style="width:100%">
-                <el-option label="普票" value="普票"></el-option>
-                <el-option label="专票" value="专票"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        
-        </el-row>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="税号:" :rules="{ required: true, message: '税号不能为空', trigger: 'blur' }" prop="taxNo"
-              label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.taxNo" class="filter-item" />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="计划开票日期:" prop="planMakeDate"
-              :rules="{ required: true, message: '计划开票日期不能为空', trigger: 'blur' }" label-width="140px"
-              class="postInfo-container-item">
-              <el-date-picker v-model="invoice.planMakeDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" style="width:100%">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="待开金额(元):" prop="planAmount"
-              :rules="{ required: true, message: '使用权面积不能为空', trigger: 'blur' }" label-width="140px"
-              class="postInfo-container-item">
-              <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.planAmount"
-                type="number" style="width:100%" class="filter-item" />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="是否收款:" label-width="140px"
-              class="postInfo-container-item">
-              <el-radio-group :value="invoice.realPayAmount?'已收款':'未收款'">
-                <el-radio label="已收款"></el-radio>
-                <el-radio label="未收款"></el-radio>
-              </el-radio-group>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="开票项目:" prop="makeItem" label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.makeItem" class="filter-item" />
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="项目数量:" prop="itemQuantity" label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.itemQuantity" class="filter-item" />
-            </el-form-item>
-          </el-col>
-         
-        </el-row>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="12" :span="6">
-            <el-form-item label="计量单位:" prop="itemUnit" label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.itemUnit" class="filter-item" placeholder="个/套/箱/次/斤/公斤/..." />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :xs="24" :sm="12" :lg="24" :span="6">
-            <el-form-item label="备注:" prop="remark" label-width="140px" class="postInfo-container-item">
-              <el-input v-model.trim="invoice.remark" type="textarea" :autosize="{ minRows: 5, maxRows: 8}"  class="filter-item" />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <!-- <el-divider content-position="left">银行信息</el-divider>
+            @closed="cleanFinanceInvoiceForm">
+            <el-form ref="invoice" :model="invoice">
+                <el-divider content-position="left">开票信息</el-divider>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="发票抬头:" :rules="{ required: true, message: '发票抬头不能为空', trigger: 'blur' }"
+                            prop="title" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.title" class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="发票类型:" :rules="{ required: true, message: '发票类型不能为空', trigger: 'blur' }"
+                            prop="type" label-width="140px" class="postInfo-container-item">
+                            <el-select v-model="invoice.type" style="width:100%">
+                                <el-option label="普票" value="普票"></el-option>
+                                <el-option label="专票" value="专票"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="税号:" :rules="{ required: true, message: '税号不能为空', trigger: 'blur' }"
+                            prop="taxNo" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.taxNo" class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="计划开票日期:" prop="planMakeDate"
+                            :rules="{ required: true, message: '计划开票日期不能为空', trigger: 'blur' }" label-width="140px"
+                            class="postInfo-container-item">
+                            <el-date-picker v-model="invoice.planMakeDate" type="date" placeholder="选择日期"
+                                value-format="yyyy-MM-dd" style="width:100%">
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="待开金额(元):" prop="planAmount"
+                            :rules="{ required: true, message: '使用权面积不能为空', trigger: 'blur' }" label-width="140px"
+                            class="postInfo-container-item">
+                            <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.planAmount"
+                                type="number" style="width:100%" class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="是否收款:" label-width="140px" class="postInfo-container-item">
+                            <el-radio-group :value="invoice.realPayAmount ? '已收款' : '未收款'">
+                                <el-radio label="已收款"></el-radio>
+                                <el-radio label="未收款"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="开票项目:" prop="makeItem" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.makeItem" class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="项目数量:" prop="itemQuantity" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.itemQuantity" class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="12" :span="6">
+                        <el-form-item label="计量单位:" prop="itemUnit" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.itemUnit" class="filter-item" placeholder="个/套/箱/次/斤/公斤/..." />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :xs="24" :sm="12" :lg="24" :span="6">
+                        <el-form-item label="备注:" prop="remark" label-width="140px" class="postInfo-container-item">
+                            <el-input v-model.trim="invoice.remark" type="textarea" :autosize="{ minRows: 5, maxRows: 8 }"
+                                class="filter-item" />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <!-- <el-divider content-position="left">银行信息</el-divider>
         <el-row>
           <el-col :xs="24" :sm="12" :lg="12" :span="6">
             <el-form-item label="开户行:" prop="bankName" label-width="140px" class="postInfo-container-item">
@@ -497,7 +509,7 @@
             </el-form-item>
           </el-col>
         </el-row> -->
-        <!-- <el-divider content-position="left">发票信息</el-divider>
+                <!-- <el-divider content-position="left">发票信息</el-divider>
         <el-row>
           <el-col :xs="24" :sm="12" :lg="12" :span="6">
             <el-form-item label="发票号码:" prop="ticketNo" label-width="140px" class="postInfo-container-item">
@@ -547,8 +559,8 @@
             </el-form-item>
           </el-col>
         </el-row> -->
-       
-        <!-- <el-row>
+
+                <!-- <el-row>
           <el-col :xs="24" :sm="12" :lg="6" :span="6">
             <el-form-item label="税点:" prop="taxRate" label-width="140px" class="postInfo-container-item">
               <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.taxRate" type="number"
@@ -562,13 +574,13 @@
             </el-form-item>
           </el-col>
         </el-row> -->
-       
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="newInvoiceDialog = false">取 消</el-button>
-        <el-button type="primary" @click="saveInvoice()">确 定</el-button>
-      </span>
-    </el-dialog>
+
+            </el-form>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="newInvoiceDialog = false">取 消</el-button>
+                <el-button type="primary" @click="saveInvoice()">确 定</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 
@@ -587,7 +599,7 @@ export default {
     },
     data() {
         return {
-            dynamicWidth: 0,
+            // dynamicWidth: 0,
             pageData: { records: [] },
             listLoading: false,
             listQuery: {
@@ -674,28 +686,28 @@ export default {
             },
             invoiceData: [],
             invoice: {
-        id: null,
-        orderFundId: null,
-        productionFundId: null,
-        title: null,
-        type: null,
-        taxNo: null,
-        planAmount: null,
-        planMakeDate: null,
-        bankName: null,
-        bankAccount: null,
-        bankAddress: null,
-        bankTel: null,
-        makeItem: null,
-        itemQuantity: null,
-        itemUnit: null,
-        taxRate: null,
-        taxAmount: null,
-        remark: null,
-        realPayAmount:null,
-        realAmount:null,
-        realMakeDate:null
-      },
+                id: null,
+                orderFundId: null,
+                productionFundId: null,
+                title: null,
+                type: null,
+                taxNo: null,
+                planAmount: null,
+                planMakeDate: null,
+                bankName: null,
+                bankAccount: null,
+                bankAddress: null,
+                bankTel: null,
+                makeItem: null,
+                itemQuantity: null,
+                itemUnit: null,
+                taxRate: null,
+                taxAmount: null,
+                remark: null,
+                realPayAmount: null,
+                realAmount: null,
+                realMakeDate: null
+            },
             makeInvoiceListDialog: false,
             newInvoiceDialog: false
         }
@@ -711,9 +723,9 @@ export default {
             this.openRepertoryOutWarehouse(JSON.parse(this.$route.query.row));
         }
     },
-    updated() {
-        this.dynamicWidth = getOperatorWidth();
-    },
+    // updated() {
+    //     this.dynamicWidth = getOperatorWidth();
+    // },
     methods: {
         // 无条件分页查询
         selectMyOrderPage() {
@@ -788,11 +800,11 @@ export default {
             this.fund.orderId = row.orderId;
             this.fund.orderName = row.name;
         },
-        stateStyle(state){
-            if (state==='已开票'){
-            return 'color:green'
-            }else{
-            return 'color:red'
+        stateStyle(state) {
+            if (state === '已开票') {
+                return 'color:green'
+            } else {
+                return 'color:red'
             }
         },
         openProShouldAmountDialog(row) {
@@ -1118,8 +1130,8 @@ export default {
                 }
             })
         },
-        openFinanceInvoiceDialog(orderFundId, productionFundId,realAmount,clientName,clientSubName) {
-            console.log(orderFundId,realAmount,clientName,clientSubName)
+        openFinanceInvoiceDialog(orderFundId, productionFundId, realAmount, clientName, clientSubName) {
+            console.log(orderFundId, realAmount, clientName, clientSubName)
             if (!orderFundId) {
                 this.$notify({
                     title: '提示',
@@ -1134,12 +1146,12 @@ export default {
                 this.invoice.orderFundId = orderFundId;
                 this.invoice.productionFundId = productionFundId;
                 this.invoice.realPayAmount = realAmount;
-                this.invoice.title = clientName+clientSubName;
+                this.invoice.title = clientName + clientSubName;
                 this.getFinanceInvoiceList();
             }
         },
         getFinanceInvoiceList() {
-            this.$api.financeInvoice.getList(this.invoice.orderFundId,this.invoice.productionFundId).then(res => {
+            this.$api.financeInvoice.getList(this.invoice.orderFundId, this.invoice.productionFundId).then(res => {
                 if (res.code === 200) {
                     this.invoiceData = res.data
                 }
@@ -1216,11 +1228,11 @@ export default {
             this.newInvoiceDialog = true;
         },
         cancellation(id) {
-            this.$prompt('作废原因:','已开发票作废',{
-              confirmButtonText: '确认',
-              cancelButtonText: '取消',
-              type: 'warning',
-          }).then(({value}) => {
+            this.$prompt('作废原因:', '已开发票作废', {
+                confirmButtonText: '确认',
+                cancelButtonText: '取消',
+                type: 'warning',
+            }).then(({ value }) => {
                 this.invoice.reason = value;
                 this.invoice.id = id;
                 this.$api.financeInvoice.cancellation(this.invoice).then(res => {
@@ -1274,7 +1286,7 @@ export default {
                 }
             })
         },
-        copyInvoice(row){
+        copyInvoice(row) {
             this.invoice = row;
             this.invoice.id = null;
             this.invoice.state = null;

+ 15 - 15
src/views/finance/fundClaim.vue

@@ -329,7 +329,7 @@
               <span>{{ row.clienteleName }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="收费标准(¥)" align="center" width='80'>
+          <el-table-column label="收费标准(¥)" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.standardAmount }}</span>
             </template>
@@ -339,7 +339,7 @@
               <span>{{ row.shouldAmount?row.shouldAmount:row.orderShouldAmount }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="实收款(¥)" align="center" width='80'>
+          <el-table-column label="实收款(¥)" align="center" width='100'>
             <template slot-scope="{row}">
               <span style="color:red;font-weight:bold">{{ row.realAmount==null? 0 : row.realAmount }}</span>
             </template>
@@ -446,7 +446,7 @@
         </parentTable>
       </y-page-list-layout>
     </el-dialog>
-    <el-dialog :visible.sync="myAssetsOrderDialog" width="97%" center custom-class="doWarehouseClass" @closed="getList">
+    <el-dialog :visible.sync="myAssetsOrderDialog" width="95%" center custom-class="doWarehouseClass" @closed="getList">
       <y-page-list-layout :page-list="myAssetsPageData" :page-para="assetsListQuery"
         :get-page-list="getMyAssetsOrderOrProd">
         <template slot="left">
@@ -494,7 +494,7 @@
           <el-table-column align="center" type="selection" claimOrders width="100" border="true"
             :selectable="checkSelectable">
           </el-table-column>
-          <el-table-column label="订单名称" align="center" width='400'>
+          <el-table-column label="订单名称" align="center" show-overflow-tooltip>
             <template slot-scope="{row}">
               <span>{{ row.name }}</span>
             </template>
@@ -504,12 +504,12 @@
               <span>{{ row.orderId }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="报告号" align="center" width='400'>
+          <el-table-column label="报告号" align="center" width='220'>
             <template slot-scope="{row}">
               <span>{{ row.productionNo }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="报告类型" align="center">
+          <el-table-column label="报告类型" align="center" width="80">
             <template slot-scope="{row}">
               <span v-if="row.productionType === 'STATEMENT'">价值意见书</span>
               <span v-if="row.productionType == 'LETTER'">意见函</span>
@@ -517,12 +517,12 @@
               <span v-if="row.productionType == 'REPORT'">评估报告</span>
             </template>
           </el-table-column>
-          <el-table-column label="客户名称" align="center">
+          <el-table-column label="客户名称" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.clienteleName }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="订单应收款(元)" align="center" width='120'>
+          <!-- <el-table-column label="订单应收款(元)" align="center" width='120'>
             <template slot-scope="{row}">
               <span>{{ row.orderShouldAmount }}</span>
             </template>
@@ -531,13 +531,13 @@
             <template slot-scope="{row}">
               <span>{{ row.orderRealAmount }}</span>
             </template>
-          </el-table-column>
-          <el-table-column label="产品应收款(元)" align="center" width='120'>
+          </el-table-column> -->
+          <el-table-column label="应收款(元)" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.productionShouldAmount }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="产品实收款(元)" align="center" width='120'>
+          <el-table-column label="实收款(元)" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.productionRealAmount }}</span>
             </template>
@@ -547,7 +547,7 @@
               <span>{{ row.standardAmount }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="市场人员" align="center" width='120'>
+          <el-table-column label="市场人员" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.marketUser }}</span>
             </template>
@@ -558,7 +558,7 @@
                 row.mdeclareResult ? row.mdeclareResult : '未申报' }}</el-tag>
             </template>
           </el-table-column>
-          <el-table-column label="评估人员" align="center" width='120'>
+          <el-table-column label="评估人员" align="center" width='100'>
             <template slot-scope="{row}">
               <span>{{ row.evaluateUser }}</span>
             </template>
@@ -575,12 +575,12 @@
           <el-table-column align="center" type="selection" claimOrders width="100" border="true"
             :selectable="checkSelectable">
           </el-table-column>
-          <el-table-column label="订单名称" align="center" width='600'>
+          <el-table-column label="订单名称" align="center" show-overflow-tooltip>
             <template slot-scope="{row}">
               <span>{{ row.name }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="订单号" align="center" width='250'>
+          <el-table-column label="订单号" align="center" width='200'>
             <template slot-scope="{row}">
               <span>{{ row.orderId }}</span>
             </template>

+ 250 - 0
src/views/statistical/major/departmentPerformanceOverview.vue

@@ -0,0 +1,250 @@
+<template>
+    <div class="app-container organization-index">
+        <div class="title-container">
+            <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+        </div>
+        <div>
+            <div style="width: 100%; height: 50px;">
+                <el-date-picker style="margin-right: 20px;float: left;" v-model="selectDate" type="daterange"
+                    :picker-options="pickerOptions" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" range-separator="至"
+                    start-placeholder="开始日期" end-placeholder="结束日期" align="right">
+                </el-date-picker>
+                <el-button class="filter-item" style="margin-left: 10px;float: left;" type="primary" @click="searchList()"
+                    round>搜索
+                </el-button>
+                <el-button class="filter-item" round type="success" @click="resetParams()">重置
+                </el-button>
+            </div>
+            <el-table :data="depPerformanceOverview" fit stripe highlight-current-row
+                :header-row-style="{ color: '#333333', 'font-size': '14px' }" style=" width: 100%; float: right;
+                      border-left: 1px solid #ebeced;
+                      border-right: 1px solid #ebeced;
+                      color: #333333; font-size: 14px;">
+                <el-table-column label="评估部门">
+                    <template slot-scope="{row}">
+                        <span>{{ row.departmentName }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column label="业务总量">
+                    <el-table-column label="产值">
+                        <template slot-scope="{row}">
+                            <span>{{ row.outputValue }}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="产值计分">
+                        <template slot-scope="{row}">
+                            <span :style="{ color: row.outputValueScore > 0 ? 'red' : 'black' }">{{ row.outputValueScore
+                            }}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="接件数">
+                        <template slot-scope="{row}">
+                            <span>{{ row.orderVolume }}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="接件计分">
+                        <template slot-scope="{row}">
+                            <span :style="{ color: row.orderVolumeScore > 0 ? 'red' : 'black' }">{{ row.orderVolumeScore
+                            }}</span>
+                        </template>
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="业务效率">
+                    <el-table-column label="报价效率(总时长/总件数,单位:天/件)">
+                        <el-table-column label="金融">
+                            <template slot-scope="{row}">
+                                <span>{{ row.financialQuoteProcessingTime }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="金融效率计分">
+                            <template slot-scope="{row}">
+                                <span :style="{ color: row.financialQuoteProcessingTimeScore > 0 ? 'red' : 'black' }">{{
+                                    row.financialQuoteProcessingTimeScore }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="非金融">
+                            <template slot-scope="{row}">
+                                <span>{{ row.unFinancialQuoteProcessingTime }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="非金融效率计分">
+                            <template slot-scope="{row}">
+                                <span :style="{ color: row.unFinancialQuoteProcessingTimeScore > 0 ? 'red' : 'black' }">{{
+                                    row.unFinancialQuoteProcessingTimeScore }}</span>
+                            </template>
+                        </el-table-column>
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="质量">
+                    <el-table-column label="复审">
+                        <el-table-column label="复审错误分类">
+                            <template slot-scope="{row}">
+                                <span :style="{ color: row.reCheckFatalMistakeCount > 0 ? 'red' : 'black' }">重大错误 x {{
+                                    row.reCheckFatalMistakeCount }}</span><br />
+                                <span :style="{ color: row.reCheckHardMistakeCount > 0 ? 'red' : 'black' }">较大错误 x {{
+                                    row.reCheckHardMistakeCount }}</span><br />
+                                <span :style="{ color: row.reCheckNormalMistakeCount > 0 ? 'red' : 'black' }">一般错误 x {{
+                                    row.reCheckNormalMistakeCount }}</span><br />
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="复审(扣分)">
+                            <template slot-scope="{row}">
+                                <span>{{ row.reCheckTotalScore }}</span>
+                            </template>
+                        </el-table-column>
+                    </el-table-column>
+                    <el-table-column label="抽检">
+                        <el-table-column label="抽检错误分类">
+                            <span>重大错误 x 0</span><br />
+                            <span>较大错误 x 0</span><br />
+                            <span>一般错误 x 0</span><br />
+                        </el-table-column>
+                        <el-table-column label="抽检加减分">
+                            <span>0</span>
+                        </el-table-column>
+                    </el-table-column>
+                    <el-table-column label="投诉">
+                        <el-table-column label="投诉分类" width="160">
+                            <span>外部投诉 x 0</span><br />
+                            <span>内部重大错误 x 0</span><br />
+                            <span>内部较大错误 x 0</span><br />
+                            <span>内部一般错误 x 0</span><br />
+                            <span>内部服务态度恶劣 x 0</span><br />
+                        </el-table-column>
+                        <el-table-column label="投诉(扣分)">
+                        </el-table-column>
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="复杂疑难项目加分">
+                    <el-table-column label="复审">
+                        <el-table-column label="涉及项目数量">
+                        </el-table-column>
+                        <el-table-column label="总计分">
+                        </el-table-column>
+                    </el-table-column>
+                    <el-table-column label="全部门综合评分">
+                    </el-table-column>
+                    <el-table-column label="总经理加减分">
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column label="时点累计分值">
+                    <template slot-scope="{row}">
+                        <span style="color: red;font-weight: bold;">{{ row.timePointTotalScore }}</span>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+    </div>
+</template>
+
+<script>
+import Breadcrumb from '@/components/Breadcrumb'
+import YPageListLayout from '@/components/YPageListLayout'
+
+export default {
+    name: 'majorDepartmentPerformanceOverview',
+    components: {
+        Breadcrumb,
+        YPageListLayout
+    },
+    data() {
+        return {
+            listLoading: false,
+            // 时间
+            selectDate: [],
+            listQuery: {
+                // 开始时间
+                startTime: null,
+                // 结束时间
+                endTime: null
+            },
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+            depPerformanceOverview: []
+        }
+    },
+    created() {
+        this.selectDate.push(this.getDefaultStartDate());
+        this.selectDate.push(this.getDefaultEndDate());
+        this.getMajorDepPerformanceOverviewVO();
+    },
+    methods: {
+        getDefaultStartDate() {
+            const currentDate = new Date();
+            const currentYear = currentDate.getFullYear();
+            var currentMonth = String(currentDate.getMonth()).padStart(2, "0");
+            return currentYear + '-' + currentMonth + '-' + '23'
+        },
+        getDefaultEndDate() {
+            const currentDate = new Date();
+            const currentYear = currentDate.getFullYear();
+            var currentMonth = String(currentDate.getMonth() + 1).padStart(2, "0");
+            return currentYear + '-' + currentMonth + '-' + '22'
+        },
+        // 条件查询
+        searchList() {
+            this.getMajorDepPerformanceOverviewVO()
+        },
+        // 重置搜索条件
+        resetParams() {
+            this.exportStatus = true;
+            this.listQuery = {
+                // 重置分页
+                page: 1,
+                size: 10,
+                // 开始时间
+                startTime: null,
+                // 结束时间
+                endTime: null,
+                // 部门id
+                departmentId: null
+            };
+            this.selectDate = [];
+            this.selectDate.push(this.getDefaultStartDate());
+            this.selectDate.push(this.getDefaultEndDate());
+            this.getMajorDepPerformanceOverviewVO();
+        },
+        getMajorDepPerformanceOverviewVO() {
+            if (this.selectDate) {
+                this.listQuery.startTime = this.selectDate[0] + ' 00:00:00';
+                this.listQuery.endTime = this.selectDate[1] + ' 23:59:59';
+            }
+            this.$api.statistical.getMajorDepPerformanceOverviewVO(this.listQuery).then(res => {
+                if (res.code === 200) {
+                    this.depPerformanceOverview = res.data;
+                    if (this.listQuery.startTime !== null && this.listQuery.endTime !== null && res.data.length > 0) {
+                        this.exportStatus = false;
+                    } else {
+                        this.exportStatus = true;
+                    }
+                }
+            })
+        }
+    }
+}
+</script>

+ 0 - 149
src/views/statistical/major/performanceDeductionErrorType.vue

@@ -127,94 +127,6 @@
                 </el-table-column>
             </el-table>
         </div>
-        <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="70%"
-            @open="getMajorPerformanceDeductionDetailVO()">
-            <y-page-list-layout :get-page-list="getMajorPerformanceDeductionDetailVO" :page-list="pageData"
-                :page-para="listQueryDetail">
-                <template slot="left">
-                    <el-button class="filter-item" round type="info" @click="exportPerformanceDeductionDetail()">导出
-                    </el-button>
-                </template>
-                <parentTable ref="table" :data="pageData.records" slot="table" style="width: 100%;" :isBoard=800>
-                    <el-table-column label="项目编号" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.orderId }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="是否金融" align="center">
-                        <template slot-scope="{row}">
-                            <span v-if="row.financial">金融</span>
-                            <span v-else>非金融</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="项目名称" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.projectName }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="银行/单位" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.customerName }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="产品类型" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.productionType }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="产品号" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.productionNo }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="项目负责人" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.principalName }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="参与人" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.members }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="评估金额(万元)" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.evaluateAmount }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="评估目的" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.evaluateAim }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="扣分人" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.checkerName }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="错误个数" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.mistakeCount }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="加减分" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.mistakeScore }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="扣分时间" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.checkTime }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column label="扣分原因" align="center">
-                        <template slot-scope="{row}">
-                            <span>{{ row.reason }}</span>
-                        </template>
-                    </el-table-column>
-                </parentTable>
-            </y-page-list-layout>
-        </el-dialog>
     </div>
 </template>
 
@@ -236,30 +148,11 @@ export default {
             // 时间
             selectDate: [],
             listQuery: {
-                page: 1,
-                size: 10,
-                current: 1,
                 // 开始时间
                 startTime: null,
                 // 结束时间
                 endTime: null
             },
-            listQueryDetail: {
-                page: 1,
-                size: 10,
-                current: 1,
-                // 审核轮次
-                checkLoop: null,
-                // 错误类型(normal、hard、fatal)
-                mistakeType: null,
-                // 开始时间
-                startTime: null,
-                // 结束时间
-                endTime: null,
-                // 部门id
-                departmentId: null,
-                principalId: null
-            },
             pickerOptions: {
                 shortcuts: [{
                     text: '最近一周',
@@ -289,7 +182,6 @@ export default {
             },
             exportStatus: true,
             performanceDeduction: [],
-            pageData: { records: [] },
             // 接单部门
             allotDepartment: []
         }
@@ -358,47 +250,6 @@ export default {
                 "导出"
             );
         },
-        setListQueryParms(checkLoop, mistakeType, departmentId, startTime, endTime, userId) {
-            this.dialogVisible = true;
-            this.listQueryDetail.page = 1;
-            this.listQueryDetail.size = 10;
-            this.listQueryDetail.current = 1;
-            this.listQueryDetail.checkLoop = checkLoop;
-            this.listQueryDetail.mistakeType = mistakeType;
-            this.listQueryDetail.departmentId = departmentId;
-            this.listQueryDetail.startTime = startTime;
-            this.listQueryDetail.endTime = endTime;
-            if (userId) {
-                this.listQueryDetail.principalId = userId;
-            } else {
-                this.listQueryDetail.principalId = null;
-            }
-            // 设置dialog标题
-            if (mistakeType === 'normal') {
-                this.dialogTitle = checkLoop + ":一般错误列表";
-            } else if (mistakeType === 'hard') {
-                this.dialogTitle = checkLoop + ":较大错误列表";
-            } else if (mistakeType === 'fatal') {
-                this.dialogTitle = checkLoop + ":重大错误列表";
-            } else {
-                this.dialogTitle = "-";
-            }
-        },
-        // 查询错误详情列表
-        getMajorPerformanceDeductionDetailVO() {
-            this.$api.statistical.getMajorPerformanceDeductionDetailVO(this.listQueryDetail).then(res => {
-                if (res.code === 200) {
-                    this.pageData = res.data;
-                }
-            })
-        },
-        // 错误详情列表导出
-        exportPerformanceDeductionDetail() {
-            this.$utils.exportUtil(
-                "major/statisticalStatement/getMajorPerformanceDeductionDetailVO/export", this.listQueryDetail,
-                "导出"
-            );
-        },
         // 获取部门下拉列表
         getAllotDepartment() {
             this.$api.department.allot('MAJOR_BUSINESS').then(res => {