QuKatie 3 gadi atpakaļ
vecāks
revīzija
b7a98a6654

+ 7 - 0
src/api/wel.js

@@ -83,3 +83,10 @@ export const active = (query) => {
     params: query
   })
 }
+export const salaryAverage = (query) => {
+  return request({
+    url: '/api/blade-school/salary/salaryAverage',
+    method: 'get',
+    params: query
+  })
+}

+ 2 - 2
src/components/details-select/main.vue

@@ -50,12 +50,12 @@ export default {
           },
           {
             label: "联系人",
-            prop: "clientAddress",
+            prop: "clientAttn",
             span: 24
           },
           {
             label: "地址",
-            prop: "clientAttn",
+            prop: "clientAddress",
             type: "textarea",
             minRows: 2,
             span: 24

+ 30 - 23
src/views/exportTrade/customerInquiry/config/mainList.json

@@ -26,10 +26,17 @@
       "searchSpan": 8
     },
     {
+      "label": "详情信息",
+      "prop": "clientMessage",
+      "index": 2,
+      "minWidth": 80,
+      "overHidden": true
+    },
+    {
       "label": "报价日期",
       "prop": "businesDate",
       "search": true,
-      "index": 2,
+      "index": 3,
       "minWidth": 80,
       "overHidden": true,
       "searchSpan": 8,
@@ -40,7 +47,7 @@
       "label": "订单号",
       "prop": "orderNo",
       "search": true,
-      "index": 3,
+      "index": 4,
       "minWidth": 80,
       "overHidden": true,
       "searchSpan": 8
@@ -49,7 +56,7 @@
       "label": "有效日期",
       "prop": "dateValidity",
       "search": true,
-      "index": 4,
+      "index": 5,
       "minWidth": 80,
       "overHidden": true,
       "searchSpan": 8,
@@ -59,35 +66,35 @@
     {
       "label": "价格条款",
       "prop": "priceTerms",
-      "index": 5,
+      "index": 6,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "收款方式",
       "prop": "paymentType",
-      "index": 6,
+      "index": 7,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "运输方式",
       "prop": "transport",
-      "index": 7,
+      "index": 8,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "箱型",
       "prop": "boxPile",
-      "index": 8,
+      "index": 9,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "箱量",
       "prop": "boxNumber",
-      "index": 9,
+      "index": 10,
       "minWidth": 80,
       "overHidden": true
     },
@@ -95,7 +102,7 @@
       "label": "订单状态",
       "prop": "orderStatus",
       "search": true,
-      "index": 10,
+      "index": 11,
       "minWidth": 80,
       "overHidden": true,
       "type": "select",
@@ -109,7 +116,7 @@
       "label": "起运港",
       "prop": "portOfLoad",
       "search": true,
-      "index": 11,
+      "index": 12,
       "minWidth": 80,
       "overHidden": true,
       "searchSpan": 8
@@ -118,7 +125,7 @@
       "label": "目的港",
       "prop": "portOfDestination",
       "search": true,
-      "index": 12,
+      "index": 13,
       "minWidth": 80,
       "overHidden": true,
       "type": "select",
@@ -133,35 +140,35 @@
     {
       "label": "数量合计",
       "prop": "orderQuantity",
-      "index": 13,
+      "index": 14,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "产品毛利",
       "prop": "grossProfit",
-      "index": 14,
+      "index": 15,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "产品利率",
       "prop": "grossProfitRate",
-      "index": 15,
+      "index": 16,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "销售金额",
       "prop": "amount",
-      "index": 16,
+      "index": 17,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "采购金额",
       "prop": "purchaseAmount",
-      "index": 17,
+      "index": 18,
       "minWidth": 80,
       "overHidden": true
     },
@@ -169,7 +176,7 @@
       "label": "商品名称",
       "prop": "",
       "search": true,
-      "index": 18,
+      "index": 19,
       "minWidth": 80,
       "overHidden": true,
       "hide": true,
@@ -180,7 +187,7 @@
       "label": "系统号",
       "prop": "sysNo",
       "search": true,
-      "index": 19,
+      "index": 20,
       "minWidth": 80,
       "overHidden": true,
       "searchSpan": 8
@@ -188,7 +195,7 @@
     {
       "label": "制单人",
       "prop": "createUser",
-      "index": 20,
+      "index": 21,
       "minWidth": 80,
       "search": true,
       "overHidden": true,
@@ -204,7 +211,7 @@
     {
       "label": "制单日期",
       "prop": "createTime",
-      "index": 21,
+      "index": 22,
       "minWidth": 80,
       "search": true,
       "overHidden": true,
@@ -215,7 +222,7 @@
     {
       "label": "备注",
       "prop": "orderRemark",
-      "index": 22,
+      "index": 23,
       "minWidth": 80,
       "search": true,
       "overHidden": true,
@@ -224,14 +231,14 @@
     {
       "label": "采购备注",
       "prop": "purchaseRemark",
-      "index": 23,
+      "index": 24,
       "minWidth": 80,
       "overHidden": true
     },
     {
       "label": "销售备注",
       "prop": "shippingRemark",
-      "index": 24,
+      "index": 25,
       "minWidth": 80,
       "overHidden": true
     }

+ 5 - 3
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -1023,6 +1023,8 @@ export default {
         this.tableOption.column,
         "purchaseCost"
       ).showColumn = false;
+      this.findObject(this.tableOption.column, "partsCost").hide = true;
+      this.findObject(this.tableOption.column, "partsCost").showColumn = false;
     }
     this.getWorkDicts("product_properties").then(res => {
       this.findObject(this.tableOption.column, "itemProp").dicData =
@@ -1967,9 +1969,9 @@ export default {
     detailsDate(obj) {
       this.form = obj;
       this.form.clientMessage =
-        (this.form.client ? this.form.client + ";" :"") +
-        (this.form.clientAttn ? this.form.clientAttn + ";" :"") +
-        (this.form.clientAddress ? this.form.clientAddress + ";" :"");
+        (this.form.client ? this.form.client + ";" : "") +
+        (this.form.clientAttn ? this.form.clientAttn + ";" : "") +
+        (this.form.clientAddress ? this.form.clientAddress + ";" : "");
     },
     //返回列表
     backToList() {

+ 147 - 17
src/views/wel/home/tongjiSchool.vue

@@ -178,12 +178,39 @@
       </index-card>
       <br />
     </basic-container>
+    <basic-container>
+      <index-card
+        title="人均月工资对比走势图"
+        iconName="el-icon-s-fold"
+        style="height:500px;margin-bottom: 30px"
+      >
+        <div slot="select">
+          <el-date-picker
+            v-model="annual4"
+            type="year"
+            size="mini"
+            placeholder="选择年"
+            value-format="yyyy"
+            style="margin-right:10px"
+            @change="getsalaryAverage"
+          >
+          </el-date-picker>
+        </div>
+        <div slot="content" style="height:450px" id="commoDity3"></div>
+      </index-card>
+      <br />
+    </basic-container>
   </div>
 </template>
 
 <script>
 import { getYearDate } from "@/util/date";
-import { salaryStatistics, salaryData, salaryDataChain } from "@/api/wel";
+import {
+  salaryStatistics,
+  salaryData,
+  salaryDataChain,
+  salaryAverage
+} from "@/api/wel";
 import { mapGetters } from "vuex";
 import indexCard from "../components/card.vue";
 import butCard from "../components/butCard.vue";
@@ -208,9 +235,14 @@ export default {
       annual: "",
       annual2: "",
       annual3: "",
+      annual4: "",
       salaryType: "",
       salaryType2: "",
       salaryType3: "",
+      salaryType4: "",
+      xxList: [],
+      czList: [],
+      gzList: [],
       isHeight: {},
       options: [
         {
@@ -251,7 +283,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "工资总额",
+            title: "工资总额",
             count: 0,
             decimals: 2,
             icon: "el-icon-tickets"
@@ -273,7 +305,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "人均工资",
+            title: "人均工资",
             count: 0,
             decimals: 2,
             icon: "el-icon-s-finance"
@@ -295,7 +327,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "保险总额",
+            title: "保险总额",
             count: 0,
             decimals: 2,
             icon: "el-icon-s-cooperation"
@@ -306,7 +338,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "保险总额同比(%)",
+            title: "保险总额同比(%)",
             count: 0,
             decimals: 2,
             icon: "el-icon-notebook-1"
@@ -317,7 +349,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "人均保险",
+            title: "人均保险",
             count: 0,
             decimals: 2,
             icon: "el-icon-s-custom"
@@ -328,7 +360,7 @@ export default {
             // click: function(item) {
             //   // alert(JSON.stringify(item));
             // },
-            title: "人均保险同比(%)",
+            title: "人均保险同比(%)",
             count: 0,
             icon: "el-icon-notebook-2"
             // href:'https://avuejs.com',
@@ -342,6 +374,7 @@ export default {
     this.annual = getYearDate().toString();
     this.annual2 = getYearDate().toString();
     this.annual3 = getYearDate().toString();
+    this.annual4 = getYearDate().toString();
     this.isHeight.height = window.innerHeight - 165 + "px";
     this.getWorkDicts("month").then(res => {
       this.moonList = res.data.data;
@@ -351,6 +384,7 @@ export default {
     this.getsalaryStatistics();
     this.getsalaryData();
     this.getsalaryDataChain();
+    this.getsalaryAverage();
   },
   components: {
     indexCard,
@@ -413,6 +447,28 @@ export default {
       this.moon = null;
       this.getsalaryDataChain();
     },
+    getsalaryAverage() {
+      this.xxList = [];
+      this.czList = [];
+      this.gzList = [];
+      salaryAverage({ annual: this.annual4 })
+        .then(res => {
+          res.data.data.forEach(e => {
+            if (e.salaryType == "小学部") {
+              this.xxList.push(Number(e.fsalary));
+            }
+            if (e.salaryType == "初中部") {
+              this.czList.push(Number(e.fsalary));
+            }
+            if (e.salaryType == "高中部") {
+              this.gzList.push(Number(e.fsalary));
+            }
+          });
+        })
+        .finally(() => {
+          this.commoDity3();
+        });
+    },
     getsalaryDataChain() {
       this.yearList = [];
       this.fsalaryList2 = [];
@@ -536,7 +592,7 @@ export default {
           }
         },
         legend: {
-          data: ["工资", "人数", "工资比", "人数比"]
+          data: ["工资", "人数", "工资增加率", "人数增长率"]
         },
         xAxis: {
           type: "category",
@@ -597,7 +653,7 @@ export default {
           },
           {
             type: "value",
-            name: "工资",
+            name: "工资增加率",
             position: "left",
             alignTicks: true,
             axisLine: {
@@ -613,7 +669,7 @@ export default {
           },
           {
             type: "value",
-            name: "工资",
+            name: "工资增加率",
             position: "right",
             alignTicks: true,
             offset: 80,
@@ -643,13 +699,13 @@ export default {
           },
           {
             data: this.fsalaryContrastList,
-            name: "工资",
+            name: "工资增加率",
             yAxisIndex: 2,
             type: "line"
           },
           {
             data: this.studentNumberContrastList,
-            name: "人数",
+            name: "人数增长率",
             yAxisIndex: 3,
             type: "line"
           }
@@ -669,7 +725,7 @@ export default {
           }
         },
         legend: {
-          data: ["工资", "人数", "工资比", "人数比"]
+          data: ["工资", "人数", "工资增加率", "人数增长率"]
         },
         xAxis: {
           type: "category",
@@ -717,7 +773,7 @@ export default {
           },
           {
             type: "value",
-            name: "工资",
+            name: "工资增加率",
             position: "left",
             alignTicks: true,
             axisLine: {
@@ -733,7 +789,7 @@ export default {
           },
           {
             type: "value",
-            name: "工资",
+            name: "工资增加率",
             position: "right",
             alignTicks: true,
             offset: 80,
@@ -763,18 +819,92 @@ export default {
           },
           {
             data: this.fsalaryContrastList2,
-            name: "工资",
+            name: "工资增加率",
             yAxisIndex: 2,
             type: "line"
           },
           {
             data: this.studentNumberContrastList2,
-            name: "人数",
+            name: "人数增长率",
             yAxisIndex: 3,
             type: "line"
           }
         ]
       });
+    },
+    commoDity3() {
+      // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
+      let myChart = this.$echarts.init(document.getElementById("commoDity3"));
+      const colors = ["#5470C6", "#91CC75", "#EE6666", "#00008b"];
+      // 绘制图表
+      myChart.setOption({
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            type: "shadow"
+          }
+        },
+        legend: {
+          data: ["小学部", "初中部", "高中部"]
+        },
+        xAxis: {
+          type: "category",
+          data: [
+            "一月",
+            "二月",
+            "三月",
+            "四月",
+            "五月",
+            "六月",
+            "七月",
+            "八月",
+            "九月",
+            "十月",
+            "十一月",
+            "十二月"
+          ]
+        },
+        grid: {
+          left: "3%",
+          right: "4%",
+          bottom: "3%",
+          containLabel: true
+        },
+        yAxis: [
+          {
+            type: "value",
+            name: "人民币",
+            alignTicks: true,
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: colors[0]
+              },
+              onZero: false
+            },
+            axisLabel: {
+              formatter: "{value} 元"
+            }
+          }
+        ],
+        series: [
+          {
+            data: this.xxList,
+            name: "小学部",
+            type: "bar"
+          },
+          {
+            data: this.czList,
+            name: "初中部",
+            type: "bar"
+          },
+          {
+            data: this.gzList,
+            name: "高中部",
+            type: "bar"
+          }
+        ]
+      });
     }
   }
 };