diff --git a/src/api/dataset/RepIndexSet/index.ts b/src/api/dataset/RepIndexSet/index.ts
index 6227015..fe8fb8b 100644
--- a/src/api/dataset/RepIndexSet/index.ts
+++ b/src/api/dataset/RepIndexSet/index.ts
@@ -80,3 +80,12 @@ export const getIndexSetTreeApi = async () => {
return [];
};
+//按机构钻取指标/RepIndexSet/spi/dataset/RepIndexSet/RepIndexSetDrilling
+export const RepIndexSetDrilling = (data: any) => {
+ return request.postJson({ url: '/RepIndexSet/spi/dataset/RepIndexSet/RepIndexSetDrilling', data });
+};
+
+//获取父级机构信息/RepIndexSet/spi/dataset/RepIndexSet/RepIndexSetDrillingQuery
+export const RepIndexSetDrillingQuery = (data: any) => {
+ return request.postJson({ url: '/RepIndexSet/spi/dataset/RepIndexSet/RepIndexSetDrillingQuery', data });
+};
\ No newline at end of file
diff --git a/src/utils/dateUtil.ts b/src/utils/dateUtil.ts
index fa95fd1..48f0dad 100644
--- a/src/utils/dateUtil.ts
+++ b/src/utils/dateUtil.ts
@@ -18,5 +18,350 @@ export function formatToDate(date?: dayjs.ConfigType, format = DATE_FORMAT): str
export function getDateByPrevMonth(date?: dayjs.ConfigType, format = DATE_FORMAT): string {
return dayjs(date).subtract(1, 'month').endOf('month').format(format)
}
-
export const dateUtil = dayjs
+
+//获取reportDate
+export function getReportDateOfValue(row,field){
+ let resultDate = row.paramDate;
+ //上期值
+ if(field == 'prevPeriodValue'){
+ switch (row.frequency) {
+ //日报 : 上期取前一天数据
+ case '0':
+ var dateString = resultDate.substring(0,4) + "-" + resultDate.substring(4,6) + "-" +resultDate.substring(6,resultDate.length);
+ var dateTime = new Date(Date.parse(dateString.replace(/-/g, "/")));
+ dateTime.setDate(dateTime.getDate() - 1);
+ var year = dateTime.getFullYear();
+ var month = dateTime.getMonth() + 1 < 10 ? "0" + (dateTime.getMonth() + 1) : dateTime.getMonth() + 1;
+ var day = dateTime.getDate() < 10 ? "0" + dateTime.getDate() : dateTime.getDate();
+ resultDate = year + "" + month + "" + day;
+ break;
+ //旬报:上期取上月同一期
+ case '1':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var partOfMonth = resultDate.substring(6,resultDate.length);
+ if(parseInt(month) == 1){
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "12" + partOfMonth;
+ }else{
+ var stringMonth = parseInt(month) - 1;
+ resultDate = stringYear + '' + stringMonth + '' + partOfMonth;
+ }
+ break;
+ //月报:上期取上个月
+ case '2':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var stringMonth = parseInt(month) - 1;
+ if(stringMonth == 0){
+ stringYear = parseInt(stringYear) - 1;
+ stringMonth = "12";
+ }
+ if (stringMonth < 10) {
+ stringMonth = '0' + stringMonth;
+ }
+ resultDate = stringYear + '' + stringMonth + "00";
+ break;
+ //季报:上期取上季度
+ case '3':
+ var year = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ if(parseInt(month) <= 3){
+ var stringYear = parseInt(year)-1;
+ resultDate = stringYear + "1200";
+ }else if(parseInt(month) > 3 && parseInt(month) <= 6){
+ resultDate = year + "0300";
+ }else if(parseInt(month) > 6 && parseInt(month) <= 9){
+ resultDate = year + "0600";
+ }else if(parseInt(month) > 9 && parseInt(month) <= 12){
+ resultDate = year + "0900";
+ }
+ break;
+ //半年报:上期取
+ case '4':
+ var year = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ if(parseInt(month) <= 6 ){
+ var stringYear = parseInt(year)-1;
+ resultDate = stringYear + "1200";
+ }else if(parseInt(month) > 6 && parseInt(month) <= 12){
+ resultDate = year + "0600";
+ }
+ break;
+ //年报:上期取上一年
+ case '5':
+ var year = resultDate.substring(0,4);
+ var stringYear = parseInt(year)-1;
+ resultDate = stringYear + '' + resultDate.substring(4,resultDate.length);
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+ }
+ //年初值
+ if(field == 'yearAtFirstValue'){
+ switch (row.frequency) {
+ case '0':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ case '1':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ case '2':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ case '3':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ case '4':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ case '5':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "1200";
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+
+ }
+ //上年同期
+ if(field == 'prevYearValue'){
+ switch (row.frequency) {
+ //日报:上年同期取上年同一天
+ case '0':
+ // var year = resultDate.substring(0,4);
+ // var month = resultDate.substring(4,6);
+ // var day = resultDate.substring(6,resultDate.length);
+ // var stringYear = parseInt(year) - 1;
+ // resultDate = stringYear + month + day;
+ var dateString = resultDate.substring(0,4) + "-" + resultDate.substring(4,6) + "-" +resultDate.substring(6,resultDate.length);
+ var dateTime = new Date(Date.parse(dateString.replace(/-/g, "/")));
+ dateTime.setFullYear(dateTime.getFullYear() - 1);
+ var year = dateTime.getFullYear();
+ var month = dateTime.getMonth() + 1 < 10 ? "0" + (dateTime.getMonth() + 1) : dateTime.getMonth() + 1;
+ var day = dateTime.getDate() < 10 ? "0" + dateTime.getDate() : dateTime.getDate();
+ resultDate = year + "" + month + "" + day;
+ break;
+ //旬报;上年同期取上年同月
+ case '1':
+ var stringYear = resultDate.substring(0,4);
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + '' + resultDate.substring(4,resultDate.length);
+ break;
+ //月报:上年同期取上年同月
+ case '2':
+ var year = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var stringYear = parseInt(year) - 1;
+ resultDate = stringYear + '' + month + "00";
+ break;
+ //季报:上年同期取上年同季度
+ case '3':
+ var year = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var stringYear = parseInt(year) - 1;
+ resultDate = stringYear + '' + month + "00";
+ break;
+ //半年报:上年同期取
+ case '4':
+ var year = resultDate.substring(0,4);
+ // var month = resultDate.substring(4,6);
+ var stringYear = parseInt(year) - 1;
+ // resultDate = stringYear + month + "00";
+ resultDate = stringYear + '' + resultDate.substring(4,resultDate.length);
+ break;
+ //年报:
+ case '5':
+ var year = resultDate.substring(0,4);
+ // var month = resultDate.substring(4,6);
+ var stringYear = parseInt(year)-1;
+ // resultDate = stringYear + month + "00";
+ resultDate = stringYear + '' + resultDate.substring(4,resultDate.length);
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+ }
+ //上日值
+ if(field == 'cprevDayValue'){
+ switch (row.frequency) {
+ //日报:
+ case '0':
+ var dateString = resultDate.substring(0,4) + "-" + resultDate.substring(4,6) + "-" +resultDate.substring(6,resultDate.length);
+ var dateTime = new Date(Date.parse(dateString.replace(/-/g, "/")));
+ dateTime.setDate(dateTime.getDate() - 1);
+ var year = dateTime.getFullYear();
+ var month = dateTime.getMonth() + 1 < 10 ? "0" + (dateTime.getMonth() + 1) : dateTime.getMonth() + 1;
+ var day = dateTime.getDate() < 10 ? "0" + dateTime.getDate() : dateTime.getDate();
+ resultDate = year + "" + month + "" + day;
+ break;
+ case '1':
+ resultDate = row.paramDate;
+ break;
+ case '2':
+ resultDate = row.paramDate;
+ break;
+ case '3':
+ resultDate = row.paramDate;
+ break;
+ case '4':
+ resultDate = row.paramDate;
+ break;
+ case '5':
+ resultDate = row.paramDate;
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+ }
+ //上月值
+ if(field == 'cprevMonthValue'){
+ switch (row.frequency) {
+ //日报:
+ case '0':
+ //上月值取上月月末最后一日数据(保持跟后台一致)
+ var dateString = resultDate.substring(0,4) + "-" + resultDate.substring(4,6) + "-" +resultDate.substring(6,resultDate.length);
+ var dateTime = new Date(Date.parse(dateString.replace(/-/g, "/")));
+ var year = dateTime.getFullYear();
+ var month = dateTime.getMonth();
+ if (month == 0) {
+ month = 12;
+ year = year - 1;
+ }
+ if (month < 10) {
+ month = '0' + month;
+ }
+ var myDate = new Date(year, month, 0);
+ resultDate = year + "" + month + "" + myDate.getDate();
+ //上月值取上月同一天
+ // var dateString = resultDate.substring(0,4) + "-" + resultDate.substring(4,6) + "-" +resultDate.substring(6,resultDate.length);
+ // var dateTime = new Date(Date.parse(dateString.replace(/-/g, "/")));
+ // var year = dateTime.getFullYear();
+ // var month = dateTime.getMonth() + 1;
+ // var day = dateTime.getDate();
+ // if(parseInt(month) < 10){
+ // month = "0" + month;
+ // }
+ // if(parseInt(day) < 10){
+ // day = "0" + day;
+ // }
+ // resultDate = year + month + day;
+ // var preMonth = parseInt(month) - 1;
+ // preMonth = preMonth < 10 ? "0" + preMonth : preMonth;
+ // var preMonthDays = new Date(year, parseInt(month) - 1, 0).getDate();
+ // if(preMonthDays < parseInt(day)){
+ // resultDate = year + preMonth + preMonthDays;
+ // }
+ // if(parseInt(month) == 1){
+ // resultDate = parseInt(year) + "12" + day;
+ // }
+ break;
+ //旬报
+ case '1':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var partOfMonth = resultDate.substring(6,resultDate.length);
+ if(parseInt(month) == 1){
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "12" + partOfMonth;
+ }else{
+ var stringMonth = parseInt(month) - 1;
+ resultDate = stringYear + '' + stringMonth + '' + partOfMonth;
+ }
+ break;
+ //月报
+ case '2':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ var stringMonth = parseInt(month) - 1;
+ if(stringMonth == 0){
+ stringYear = parseInt(stringYear) - 1;
+ stringMonth = "12";
+ }
+ if (stringMonth < 10) {
+ stringMonth = '0' + stringMonth;
+ }
+ resultDate = stringYear + '' + stringMonth + "00";
+ break;
+ case '3':
+ resultDate = row.paramDate;
+ break;
+ case '4':
+ resultDate = row.paramDate;
+ break;
+ case '5':
+ resultDate = row.paramDate;
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+ }
+ //上季值
+ if(field == 'cprevQuarterValue'){
+ switch (row.frequency) {
+ //日报:取上季度末最后一天值
+ case '0':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ if((parseInt(month)) <= 3){
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "12"+"31";
+ }else if((parseInt(month)) > 3 && (parseInt(month)) <= 6){
+ resultDate = stringYear + "03"+"31";
+ }else if((parseInt(month)) > 6 && (parseInt(month)) <= 9){
+ resultDate = stringYear + "06"+"30";
+ }else if((parseInt(month)) > 9 && (parseInt(month)) <= 12){
+ resultDate = stringYear + "09"+"30";
+ }
+ break;
+ case '1':
+ resultDate = row.paramDate;
+ break;
+ case '2':
+ resultDate = row.paramDate;
+ break;
+ case '3':
+ var stringYear = resultDate.substring(0,4);
+ var month = resultDate.substring(4,6);
+ if((parseInt(month)) <= 3){
+ var year = parseInt(stringYear) - 1;
+ resultDate = year + "12"+"00";
+ }else if((parseInt(month)) > 3 && (parseInt(month)) <= 6){
+ resultDate = stringYear + "03"+"00";
+ }else if((parseInt(month)) > 6 && (parseInt(month)) <= 9){
+ resultDate = stringYear + "06"+"00";
+ }else if((parseInt(month)) > 9 && (parseInt(month)) <= 12){
+ resultDate = stringYear + "09"+"00";
+ }
+ break;
+ case '4':
+ resultDate = row.paramDate;
+ break;
+ case '5':
+ resultDate = row.paramDate;
+ break;
+ default:
+ resultDate = row.paramDate;
+ break;
+ }
+ }
+ return resultDate;
+}
diff --git a/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue b/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue
index b40b9c7..fac6eac 100644
--- a/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue
+++ b/src/views/dataset/IndexSearchServiceMs/IndexSearchServiceMs.vue
@@ -1,7 +1,8 @@
\ No newline at end of file