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

商品价格曲线功能独立

Karsa 2 жил өмнө
parent
commit
3f7f69a17d

+ 27 - 0
src/api/hzyb/chart.js

@@ -111,4 +111,31 @@ export const apiMyChartRelateClassify=params=>{
  */
 export const apiMyChartClassifyAdd=params=>{
     return post('/my_chart_classify/add',params)
+}
+
+/**
+ * 获取商品价格曲线数据
+ * @param {*} ChartInfoId 
+ * @returns 
+ */
+export const apiCommonChartDetail = params => {
+    return get('/my_chart/common/detail',params)
+}
+
+/**
+ * 刷新商品价格图
+ * @param {*} ChartInfoId 
+ * @returns 
+ */
+export const apiCommonChartRefresh = params => {
+    return post('/my_chart/future_good/refreshChartInfo',params)
+}
+
+/**
+ * 保存商品价格图
+ * @param {*} ChartInfoId  LeftMin LeftMax
+ * @returns 
+ */
+export const apiCommonChartSave = params => {
+    return post('/my_chart/future_good/editChartInfo',params)
 }

+ 30 - 11
src/views/hzyb/chart/Detail.vue

@@ -9,7 +9,7 @@ import {useRoute, useRouter,onBeforeRouteUpdate} from 'vue-router'
 import moment from 'moment'
 import _ from 'lodash';
 import Highcharts from 'highcharts/highstock';
-import {apiChartInfo,apiChartList,apiChartSave,apiChartBeforeAndNext,apiChartRefresh,apiMyChartDetail} from '@/api/hzyb/chart.js'
+import {apiChartInfo,apiChartList,apiChartSave,apiChartBeforeAndNext,apiChartRefresh,apiMyChartDetail,apiCommonChartDetail,apiCommonChartRefresh,apiCommonChartSave} from '@/api/hzyb/chart.js'
 const router=useRouter()
 const route=useRoute()
 document.title='图表详情'
@@ -192,7 +192,7 @@ const calendarTypeChange=(val)=>{
 
 // 获取详情
 let ChartInfoId=route.query.ChartInfoId
-let chartSource = Number(route.query.charSource); //图表来源 1 eta图 2商品价格图
+let chartSource = Number(route.query.chartSource); //图表来源 1 eta图 2商品价格图
 let chartData=ref({
     series:[],
     xAxis:[],
@@ -497,8 +497,9 @@ const setCommodityChart = () => {
             color: item.Color,
             chartType: 'linear',
             lineWidth: 3,
+            visible: true,
             marker: {
-            enabled: false
+                enabled: false
             }
         };
         seriesData.push(serie_item)
@@ -1432,6 +1433,7 @@ const pageChange=async (type)=>{
                     query:{
                         ...route.query,
                         ChartInfoId:searchListData.value[index-1].ChartInfoId,
+                        chartSource: searchListData.value[index-1].Source
                     }
                 })
             }
@@ -1446,6 +1448,7 @@ const pageChange=async (type)=>{
                     query:{
                         ...route.query,
                         ChartInfoId:searchListData.value[index+1].ChartInfoId,
+                        chartSource: searchListData.value[index+1].Source
                     }
                 })
             }
@@ -1524,6 +1527,24 @@ onMounted(()=>{
 
 // 保存
 const handleSaveChart=async ()=>{
+    let params = resData.value.ChartInfo.Source === 2
+        ? { 
+            ChartInfoId:resData.value.ChartInfo.ChartInfoId,
+            LeftMin: String(axisLimitData.leftMin),
+            LeftMax: String(axisLimitData.leftMax)
+          } 
+        : setChartParams()
+    
+    const res = resData.value.ChartInfo.Source === 2
+        ? await apiCommonChartSave(params)
+        : await apiChartSave(params)
+    if(res.code===200){
+        Toast.success('保存成功')
+    }
+}
+
+//设置请求参
+const setChartParams = () => {
     let params={}
     if(sameOptionType.value.includes(resData.value.ChartInfo.ChartType)){//曲线图
         let arr=chartData.value.yAxis.map(item=>{
@@ -1580,16 +1601,14 @@ const handleSaveChart=async ()=>{
             LeftMax: String(axisLimitData.leftMax),
         }
     }
-    const res=await apiChartSave(params)
-    if(res.code===200){
-        Toast.success('保存成功')
-    }
-
+    return params
 }
 
 // 刷新图表
 const handleRefreshChart=async ()=>{
-    const res=await apiChartRefresh({ChartInfoId:Number(ChartInfoId)})
+    const res = resData.value.ChartInfo.Source === 2
+        ? await apiCommonChartRefresh({ChartInfoId:Number(ChartInfoId)})
+        : await apiChartRefresh({ChartInfoId:Number(ChartInfoId)})
     if(res.code===200){
         setTimeout(() => {
             Toast.success(res.msg)
@@ -1655,7 +1674,7 @@ const posterParams=computed(()=>{
     <div class="chart-detail" v-if="!loading&&!noauth">
         <div class="chart-title">{{resData.ChartInfo.ChartName}}</div>
         <div class="top-box" v-if="$route.query.source!=='ybxcx_my_chart'">
-            <div class="flex calendar-box" style="float:left" @click="handleShowDate" v-if="resData.ChartInfo.ChartType !== 7">
+            <div class="flex calendar-box" style="float:left" @click="handleShowDate" v-if="resData.ChartInfo.ChartType !== 7 &&resData.ChartInfo.Source===1">
                 <img src="../../../assets/hzyb/chart/calendar.png" alt="">
                 <span class="date">{{startDate||'开始日期'}}</span>
                 <span style="margin:0 5px">至</span>
@@ -1709,7 +1728,7 @@ const posterParams=computed(()=>{
         </div>
 
         <!-- 最新值 -->
-        <div class="latest-value-wrap" v-if="resData">
+        <div class="latest-value-wrap" v-if="resData&&resData.ChartInfo.Source===1">
             <p style="margin-bottom:10px">最新数值</p>
             <ul class="list" v-if="sameOptionType.includes(resData.ChartInfo.ChartType)">
                 <li v-for="item in chartData.series" :key="item.name">