Эх сурвалжийг харах

Merge branch 'dev0.3' of http://36.137.93.232:3000/hf/byte-sailing-new into dev0.3

cz 1 жил өмнө
parent
commit
bc8c371021

+ 3 - 3
src/components/byForm/index.vue

@@ -25,16 +25,16 @@
           "
           :class="i.type == 'json' ? (i.isHide ? 'by-form-json dn' : 'by-form-json') : i.isHide ? 'dn' : ''">
           <template #label>
-            <el-popover placement="top"  trigger="hover"  v-if="i.isTip">
+            <el-popover placement="top"  trigger="hover" :width="i.tipWidth"  v-if="i.isTip">
               <template #reference>
                 <span 
                   style="color:red">
-                  {{ i.label }}{{i.isTip}}
+                  {{ i.label }}
                 </span>
               </template>
               <div v-html="i.tipHtml"></div>
             </el-popover>
-            <span v-else> {{ i.label }}{{i.isTip}}</span>
+            <span v-else> {{ i.label }}</span>
           </template>
           <el-input
             v-if="i.type == 'input'"

+ 45 - 9
src/components/process/ContractAlteration.vue

@@ -1,6 +1,6 @@
 <template>
   <div style="width: 100%; padding: 0px 15px">
-    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
+    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit" v-if='formShowType'>
       <template #seller>
         <div style="width: 100%">
           <el-form-item prop="sellCorporationId">
@@ -15,6 +15,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.sellCountryName + ' ' + 
                     formOption.formDataCopy.sellProvinceName + ' ' + 
@@ -61,6 +62,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.sellContactName + ' ' +
                     formOption.formDataCopy.sellContactNumber"
@@ -76,7 +78,8 @@
                 <el-input v-model="formData.data.sellContactName" placeholder="请输入联系人" />
               </el-form-item>
             </el-col>
-            <el-col :span="16">
+            <el-col :span="1"></el-col>
+            <el-col :span="15">
               <el-form-item label=" " prop="sellContactNumber">
                 <el-input v-model="formData.data.sellContactNumber" placeholder="请输入联系人电话" />
               </el-form-item>
@@ -99,6 +102,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.buyCountryName + ' ' + 
                     formOption.formDataCopy.buyProvinceName + ' ' + 
@@ -331,6 +335,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.currencyLabel"
                   >
@@ -352,6 +357,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.amount"
                   >
@@ -373,6 +379,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.paymentMethodName"
                   >
@@ -394,6 +401,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.advanceRatio"
                   >
@@ -421,6 +429,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.shroffAccountName"
                   >
@@ -490,6 +499,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.tradeMethodsName"
                   >
@@ -513,6 +523,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.transportMethodName"
                   >
@@ -534,6 +545,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.transportRemark"
                   >
@@ -555,6 +567,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.remark"
                   >
@@ -576,6 +589,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.deliveryTime"
                   >
@@ -602,6 +616,7 @@
                   <el-tooltip
                     class="box-item"
                     effect="dark"
+                    v-if="route.query.processType"
                     placement="top-start"
                     :content="formOption.formDataCopy.warranty"
                   >
@@ -734,6 +749,7 @@ const accountList = ref([]);
 const productUnit = ref([]);
 const openProduct = ref(false);
 const activeName = ref("");
+const formShowType = ref(false);
 const formData = reactive({
   data: {
     contractType: "1",
@@ -777,7 +793,7 @@ const formConfig = computed(() => {
       prop: "contractType",
       data: contractType.value,
       itemWidth: 25,
-      isTip:true,
+      isTip:false,
     },
     {
       type: "select",
@@ -1061,14 +1077,34 @@ const getDecisionAids = () => {
     formOption.formDataCopy = res;
     //比对formData.data.contractProductList和res.contractProductList 这两个数组是否相同
     if(JSON.stringify(formData.data.contractProductList) != JSON.stringify(res.contractProductList)) {
-      formConfig.value.push({
-          type: "input",
-          slotName: "shipment",
-          label: "出货11111计划",
- 
-      })
+      formConfig.value[5].isTip = true;
+      formConfig.value[5].tipWidth = 500;
+      //修改tipHtml插入一个table
+      let tableHtml = `<table class="table table-bordered table-striped table-hover" style="width:500px">
+        <thead>
+          <tr>
+            <th>商品中文名</th>
+            <th>商品英文名</th>
+            <th>规格型号</th>
+            <th>数量</th>
+            <th>单价</th>
+          </tr>
+        </thead>
+        <tbody>`;
+      formData.data.contractProductList.forEach((item) => {
+        tableHtml += `<tr>
+          <td>${item.productCnName}</td >
+          <td>${item.productName}</td>
+          <td>${item.productModel}</td>
+          <td>${item.quantity}</td>
+          <td>${item.price}</td>
+        </tr>`;
+      });
+      tableHtml += `</tbody></table>`;
+      formConfig.value[5].tipHtml = tableHtml;
     }
     
+    formShowType.value = true;
     formOption.formDataCopy.transportMethodName = shippingMethod.value.find((item) => {
       return item.value === res.transportMethod;
     }).label;

+ 1 - 0
src/views/dataBoard/board/productAnalysis/index.vue

@@ -161,6 +161,7 @@ const getCountryData = () => {
     let endData = new Date();
     let beginDate = new Date();
     beginDate.setMonth(0);
+    beginDate.setDate(1);
     queryForm.timeArr = [proxy.parseTime(beginDate, "{y}-{m}-{d}"), proxy.parseTime(endData, "{y}-{m}-{d}")];
     queryForm.beginTime = queryForm.timeArr[0];
     queryForm.endTime = queryForm.timeArr[1];

+ 72 - 108
src/views/dataBoard/board/salesAnalysis/index.vue

@@ -91,20 +91,10 @@
       <el-row>
         <el-col :span="8">
           <TitleInfo :content="titleList[0]"></TitleInfo>
-          <div ref="echartDom" style="height: 40vh"></div>
+          <div ref="echartDomOne" style="height: 40vh"></div>
         </el-col>
         <el-col :span="16">
-          <byTable
-            :hideSearch="true"
-            :tableHeight="250"
-            :source="sourceList.scatterData"
-            :pagination="sourceList.scatterPagination"
-            :config="scatterConfig"
-            :loading="scatterLoading"
-            highlight-current-row
-            :selectConfig="[]"
-          >
-          </byTable>
+          <div ref="echartDomTwo" style="height: 40vh"></div>
         </el-col>
       </el-row>
     </div>
@@ -113,7 +103,7 @@
       <el-row>
         <el-col :span="12" class="bck" v-loading="salesLoading">
           <TitleInfo :content="titleList[1]"></TitleInfo>
-          <div ref="echartDomOne" style="height: 30vh"></div>
+          <div ref="echartDomOne22" style="height: 30vh"></div>
           <div style="margin-top: 10px">
             <byTable
               :hideSearch="true"
@@ -131,7 +121,7 @@
         <el-col :span="12" style="padding-left: 10px">
           <div class="bck" v-loading="salesmanSalesLoading">
             <TitleInfo :content="titleList[2]"></TitleInfo>
-            <div ref="echartDomTwo" style="height: 30vh"></div>
+            <!-- <div ref="echartDomTwo" style="height: 30vh"></div> -->
             <div style="margin-top: 10px">
               <byTable
                 :hideSearch="true"
@@ -256,7 +246,6 @@ const allData = reactive({
   salesStatisticsData: {},
 });
 //图表
-const echartDom = ref(null);
 const echartDomOne = ref(null);
 const echartDomTwo = ref(null);
 const echartDomThree = ref(null);
@@ -277,7 +266,7 @@ const optionOne = reactive({
     },
     series: [
       {
-        name: 'Area Mode',
+        name: '111',
         type: 'pie',
         radius: [20, 140],
         center: ['50%', '50%'],
@@ -300,57 +289,35 @@ const optionOne = reactive({
           show: false,
         },
         data: [
-          { value: 1048, name: "Search Engine" },
-          { value: 735, name: "Direct" },
-          { value: 580, name: "Email" },
-          { value: 484, name: "Union Ads" },
-          { value: 300, name: "Video Ads" },
+          { value: 1048, name: "中国" },
+          { value: 735, name: "美国" },
+          { value: 580, name: "韩国" },
+          { value: 484, name: "德国" },
+          { value: 300, name: "xxx" },
         ],
       },
     ],
   },
 });
 const optionTwo = reactive({
-  data: {
-    tooltip: {
-      trigger: "axis",
-      axisPointer: {
-        type: "shadow",
-      },
+  data:{
+    legend: {},
+    tooltip: {},
+    dataset: {
+      source: [
+        ['product', '订单量', '交易金额'],
+        ['Matcha Latte', 43.3, 85.8],
+        ['Milk Tea', 83.1, 73.4],
+        ['Cheese Cocoa', 86.4, 65.2],
+        ['Walnut Brownie', 72.4, 53.9]
+      ]
     },
-    grid: {
-      left: "1%",
-      right: "1%",
-      bottom: "1%",
-      top: "10%",
-      containLabel: true,
-    },
-    xAxis: [
-      {
-        type: "category",
-        data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
-        axisTick: {
-          alignWithLabel: true,
-        },
-      },
-    ],
-    yAxis: [
-      {
-        type: "value",
-      },
-    ],
-    series: [
-      {
-        name: "名称",
-        type: "bar",
-        barWidth: "25%",
-        data: [10, 52, 200, 334, 390, 330, 220],
-        itemStyle: {
-          color: "#0084FF",
-        },
-      },
-    ],
-  },
+    xAxis: { type: 'category' },
+    yAxis: {},
+    // Declare several bar series, each will be mapped
+    // to a column of dataset.source by default.
+    series: [{ type: 'bar' }, { type: 'bar' }]
+  }
 });
 const scatterConfig = computed(() => {
   return [
@@ -513,59 +480,60 @@ const getData = () => {
     //   value: x.amount,
     //   name: x.countryName,
     // }));
-    myChart.setOption(optionOne.data);
+    myChartOne.setOption(optionOne.data);
     setTimeout(() => {
       scatterLoading.value = false;
     }, 200);
-  });
-
-  proxy.post("/contract/customSalesStatistics", queryForm).then((res) => {
-    sourceList.value.salesData = res;
-    const option = { ...optionTwo };
-    // option.data.xAxis[0].data = res.map((x) => x.corporationName);
-    // option.data.series[0].data = res.map((x) => x.amount);
-    // option.data.series[0].name = "销售额(¥)";
-    myChartOne.setOption(option.data);
-    setTimeout(() => {
-      salesLoading.value = false;
-    }, 200);
-  });
-
-  proxy.post("/contract/salesmanSalesStatistics", queryForm).then((res) => {
-    sourceList.value.salesmanSalesData = res;
-    const option = { ...optionTwo };
-    option.data.xAxis[0].data = res.map((x) => x.userName);
-    option.data.series[0].data = res.map((x) => x.amount);
-    option.data.series[0].name = "销售额(¥)";
-    myChartTwo.setOption(option.data);
+    myChartTwo.setOption(optionTwo.data);
     setTimeout(() => {
       salesmanSalesLoading.value = false;
     }, 200);
   });
 
-  proxy.post("/contract/productSalesStatistics", queryForm).then((res) => {
-    sourceList.value.productSalesVolumeData = res;
-    const option = { ...optionTwo };
-    option.data.xAxis[0].data = res.map((x) => x.productName);
-    option.data.series[0].data = res.map((x) => x.amount);
-    option.data.series[0].name = "销售额(¥)";
-    myChartThree.setOption(option.data);
-    setTimeout(() => {
-      productSalesLoading.value = false;
-    }, 200);
-  });
+  // proxy.post("/contract/customSalesStatistics", queryForm).then((res) => {
+  //   sourceList.value.salesData = res;
+  //   const option = { ...optionTwo };
+  //   // option.data.xAxis[0].data = res.map((x) => x.corporationName);
+  //   // option.data.series[0].data = res.map((x) => x.amount);
+  //   // option.data.series[0].name = "销售额(¥)";
+    
+  // });
 
-  proxy.post("/contract/salesVolumeStatistics", queryForm).then((res) => {
-    sourceList.value.productSalesVolumeOneData = res;
-    const option = { ...optionTwo };
-    option.data.xAxis[0].data = res.map((x) => x.productName);
-    option.data.series[0].data = res.map((x) => x.quantity);
-    option.data.series[0].name = "销售量(个)";
-    myChartFour.setOption(option.data);
-    setTimeout(() => {
-      productSalesOneLoading.value = false;
-    }, 200);
-  });
+  // proxy.post("/contract/salesmanSalesStatistics", queryForm).then((res) => {
+  //   sourceList.value.salesmanSalesData = res;
+  //   const option = { ...optionTwo };
+  //   option.data.xAxis[0].data = res.map((x) => x.userName);
+  //   option.data.series[0].data = res.map((x) => x.amount);
+  //   option.data.series[0].name = "销售额(¥)";
+  //   myChartTwo.setOption(option.data);
+  //   setTimeout(() => {
+  //     salesmanSalesLoading.value = false;
+  //   }, 200);
+  // });
+
+  // proxy.post("/contract/productSalesStatistics", queryForm).then((res) => {
+  //   sourceList.value.productSalesVolumeData = res;
+  //   const option = { ...optionTwo };
+  //   option.data.xAxis[0].data = res.map((x) => x.productName);
+  //   option.data.series[0].data = res.map((x) => x.amount);
+  //   option.data.series[0].name = "销售额(¥)";
+  //   myChartThree.setOption(option.data);
+  //   setTimeout(() => {
+  //     productSalesLoading.value = false;
+  //   }, 200);
+  // });
+
+  // proxy.post("/contract/salesVolumeStatistics", queryForm).then((res) => {
+  //   sourceList.value.productSalesVolumeOneData = res;
+  //   const option = { ...optionTwo };
+  //   option.data.xAxis[0].data = res.map((x) => x.productName);
+  //   option.data.series[0].data = res.map((x) => x.quantity);
+  //   option.data.series[0].name = "销售量(个)";
+  //   myChartFour.setOption(option.data);
+  //   setTimeout(() => {
+  //     productSalesOneLoading.value = false;
+  //   }, 200);
+  // });
 };
 
 const onQuery = () => {
@@ -585,10 +553,6 @@ const onReset = () => {
 };
 
 onMounted(() => {
-  myChart = echarts.init(echartDom.value);
-  window.addEventListener("resize", () => {
-    myChart.resize();
-  });
   // 客户分类柱状图
   myChartOne = echarts.init(echartDomOne.value);
   window.addEventListener("resize", () => {

+ 2 - 2
src/views/process/dealWith/index.vue

@@ -66,7 +66,7 @@ const sourceList = ref({
 		total: 3,
 		pageNum: 1,
 		pageSize: 10,
-        status:1,
+        status:2,
 	},
 })
 let dialogVisible = ref(false)
@@ -346,7 +346,7 @@ const changeStatus = (row) => {
 }
 onMounted(() => {
 	const route = useRoute();
-	sourceList.value.pagination.status = route.query.type ? route.query.type : 1
+	sourceList.value.pagination.status = route.query.type ? route.query.type : '2'
 	getList()
 })