07e70c68 by zrj

大屏日光夜光模式修改

1 parent 4a087cfd
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
21 :size="size" 21 :size="size"
22 style="width: 100%;height: 100%" 22 style="width: 100%;height: 100%"
23 value-format="YYYY-MM" 23 value-format="YYYY-MM"
24 :disabled-date="disabledFutureMonth"
24 ></el-date-picker> 25 ></el-date-picker>
25 </div> 26 </div>
26 <el-row class="w100"> 27 <el-row class="w100">
...@@ -60,7 +61,7 @@ const nowDate = ref(`${year}-${formatMonth(month)}`) ...@@ -60,7 +61,7 @@ const nowDate = ref(`${year}-${formatMonth(month)}`)
60 let selectBase = ref() 61 let selectBase = ref()
61 let baseList = ref() 62 let baseList = ref()
62 let isLeader = ref(false) 63 let isLeader = ref(false)
63 // url.value = 'http://192.168.1.152:8899/login/sid=986af69a-c0a2-44a8-9eb5-6702f5ff9a13#/' 64 // url.value = 'http://192.168.1.152:8899/login/sid=164eaf97-0f29-45fe-b273-8c6b520c41a6#/'
64 url.value = window.location.href 65 url.value = window.location.href
65 result.value = url.value?.split('=')[1]?.split('#')[0]; 66 result.value = url.value?.split('=')[1]?.split('#')[0];
66 67
...@@ -86,6 +87,21 @@ onMounted(() => { ...@@ -86,6 +87,21 @@ onMounted(() => {
86 } 87 }
87 }) 88 })
88 89
90 const disabledFutureMonth = (date) => {
91 // 获取当前月份的年和月
92 const now = new Date()
93 const currentYear = now.getFullYear()
94 const currentMonth = now.getMonth()
95
96 // 获取选中日期对应的年和月
97 const targetYear = date.getFullYear()
98 const targetMonth = date.getMonth()
99
100 // 判断逻辑:
101 // 1. 选中年份 > 当前年份 → 禁用
102 // 2. 选中年份 = 当前年份,但选中月份 > 当前月份 → 禁用
103 return targetYear > currentYear || (targetYear === currentYear && targetMonth > currentMonth)
104 }
89 105
90 async function handelGetYS000() { 106 async function handelGetYS000() {
91 const res = await getYS000(result.value) 107 const res = await getYS000(result.value)
......
...@@ -177,15 +177,25 @@ async function handelGetYS006() { ...@@ -177,15 +177,25 @@ async function handelGetYS006() {
177 obj.value["SELECTDATE"] = hDate 177 obj.value["SELECTDATE"] = hDate
178 obj.value["BASE"] = sBase 178 obj.value["BASE"] = sBase
179 const res = await getYS006(url.value, obj.value) 179 const res = await getYS006(url.value, obj.value)
180 let monthFlag = false
181 let currentMonth = new Date().getMonth()+1
182 for (const v1 of list.value) {
183 for (const v2 of v1.list) {
184 if (v2.MONTH === currentMonth && v2.YSBALANCE != 0) {
185 monthFlag = true
186 }
187 }
188 }
189 currentMonth = monthFlag ? currentMonth : currentMonth - 1
190
180 list.value = res.data.baselist 191 list.value = res.data.baselist
181 set1.value = [] 192 set1.value = []
182 set2.value = [] 193 set2.value = []
183 set3.value = [] 194 set3.value = []
184 s1.value = [...new Array(12).fill(0)] 195 s1.value = [...new Array(currentMonth).fill(0)]
185 s2.value = [...new Array(12).fill(0)] 196 s2.value = [...new Array(12).fill(0)]
186 s3.value = [...new Array(12).fill(0)] 197 s3.value = [...new Array(12).fill(0)]
187 s4.value = [...new Array(12).fill(0)] 198 s4.value = [...new Array(currentMonth).fill(0)]
188
189 // h3.value = new Array(12).fill(0); // 初始化 12 个月,默认值 0 199 // h3.value = new Array(12).fill(0); // 初始化 12 个月,默认值 0
190 type2.value = [] 200 type2.value = []
191 for (const v1 of list.value) { 201 for (const v1 of list.value) {
...@@ -211,10 +221,12 @@ async function handelGetYS006() { ...@@ -211,10 +221,12 @@ async function handelGetYS006() {
211 type2.value.push(v1.BASEJC) 221 type2.value.push(v1.BASEJC)
212 for (const v2 of v1.list) { 222 for (const v2 of v1.list) {
213 const i = v2.MONTH - 1; // 转为 0~11 的索引 223 const i = v2.MONTH - 1; // 转为 0~11 的索引
224 if (i < currentMonth) {
214 s1.value[i] += v2.INCOME / 10000 || 0; 225 s1.value[i] += v2.INCOME / 10000 || 0;
226 s4.value[i] += v2.YSBALANCE / 10000 || 0;
227 }
215 s2.value[i] += v2.LASTINCOME / 10000 || 0; 228 s2.value[i] += v2.LASTINCOME / 10000 || 0;
216 s3.value[i] += v2.LASTYSBALANCE / 10000 || 0; 229 s3.value[i] += v2.LASTYSBALANCE / 10000 || 0;
217 s4.value[i] += v2.YSBALANCE / 10000 || 0;
218 } 230 }
219 } 231 }
220 232
...@@ -315,19 +327,33 @@ function handelSelect1() { ...@@ -315,19 +327,33 @@ function handelSelect1() {
315 } 327 }
316 328
317 function handelSelect2() { 329 function handelSelect2() {
318 s1.value = [...new Array(12).fill(0)] 330 let arr = type2.value.map(val => list.value.find(item => item.BASEJC === val))
331 let monthFlag = false
332 let currentMonth = new Date().getMonth()+1
333 for (const v1 of arr) {
334 for (const v2 of v1.list) {
335 if (v2.MONTH === currentMonth && v2.YSBALANCE != 0) {
336 monthFlag = true
337 }
338 }
339 }
340 currentMonth = monthFlag ? currentMonth : currentMonth - 1
341
342 s1.value = [...new Array(currentMonth).fill(0)]
319 s2.value = [...new Array(12).fill(0)] 343 s2.value = [...new Array(12).fill(0)]
320 s3.value = [...new Array(12).fill(0)] 344 s3.value = [...new Array(12).fill(0)]
321 s4.value = [...new Array(12).fill(0)] 345 s4.value = [...new Array(currentMonth).fill(0)]
322 let arr = type2.value.map(val => list.value.find(item => item.BASEJC === val)) 346
323 347
324 for (const v1 of arr) { 348 for (const v1 of arr) {
325 for (const v2 of v1.list) { 349 for (const v2 of v1.list) {
326 const i2 = v2.MONTH - 1; // 转为 0~11 的索引 350 const i2 = v2.MONTH - 1; // 转为 0~11 的索引
351 if (i2 < currentMonth) {
327 s1.value[i2] += v2.INCOME / 10000 || 0; 352 s1.value[i2] += v2.INCOME / 10000 || 0;
353 s4.value[i2] += v2.YSBALANCE / 10000 || 0;
354 }
328 s2.value[i2] += v2.LASTINCOME / 10000 || 0; 355 s2.value[i2] += v2.LASTINCOME / 10000 || 0;
329 s3.value[i2] += v2.LASTYSBALANCE / 10000 || 0; 356 s3.value[i2] += v2.LASTYSBALANCE / 10000 || 0;
330 s4.value[i2] += v2.YSBALANCE / 10000 || 0;
331 } 357 }
332 } 358 }
333 359
......
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
66 placeholder="全部" 66 placeholder="全部"
67 size="small" 67 size="small"
68 @change="handelSelect4"> 68 @change="handelSelect4">
69 <el-option :label="`${Year1}年`" value="1"/> 69 <el-option :label="`${Year2}年`" value="1"/>
70 <el-option :label="`${Year2}年`" value="2"/> 70 <el-option :label="`${Year1}年`" value="2"/>
71 </el-select> 71 </el-select>
72 </div> 72 </div>
73 <div class="itemBox" v-if="myType"> 73 <div class="itemBox" v-if="myType">
...@@ -131,6 +131,8 @@ const sBase = computed(() => props.sBase) ...@@ -131,6 +131,8 @@ const sBase = computed(() => props.sBase)
131 watch(() => props.historyDate,(newVal) => { 131 watch(() => props.historyDate,(newVal) => {
132 if (isMounted.value) { 132 if (isMounted.value) {
133 nowYear.value = parseInt(newVal.substring(0,4)) 133 nowYear.value = parseInt(newVal.substring(0,4))
134 nowMonth.value = parseInt(newVal.substring(6,7))
135 Year1.value = parseInt(hDate.value.substring(0,4)) - 1
134 Year1.value = parseInt(hDate.value.substring(0,4)) - 1 136 Year1.value = parseInt(hDate.value.substring(0,4)) - 1
135 Year2.value = parseInt(hDate.value.substring(0,4)) 137 Year2.value = parseInt(hDate.value.substring(0,4))
136 legend1.value = [`${Year1.value}待收款`, `${Year1.value}收费单待签`, `预提占比`] 138 legend1.value = [`${Year1.value}待收款`, `${Year1.value}收费单待签`, `预提占比`]
...@@ -257,6 +259,8 @@ const type8 = ref(0) ...@@ -257,6 +259,8 @@ const type8 = ref(0)
257 const month8 = ref([]) 259 const month8 = ref([])
258 const year8 = ref([]) 260 const year8 = ref([])
259 let nowYear = ref(parseInt(hDate.value.substring(0,4))) 261 let nowYear = ref(parseInt(hDate.value.substring(0,4)))
262 let nowMonth = ref(parseInt(hDate.value.substring(6,7)))
263 let tMonth = ref(0)
260 const list8 = ref([ 264 const list8 = ref([
261 { 265 {
262 BASE: '上海分公司1', 266 BASE: '上海分公司1',
...@@ -309,8 +313,8 @@ const h6 = ref([]) ...@@ -309,8 +313,8 @@ const h6 = ref([])
309 let Year1 = ref(parseInt(hDate.value.substring(0,4)) - 1) 313 let Year1 = ref(parseInt(hDate.value.substring(0,4)) - 1)
310 let Year2 = ref(parseInt(hDate.value.substring(0,4))) 314 let Year2 = ref(parseInt(hDate.value.substring(0,4)))
311 315
312 const legend1 = ref([`${Year1.value}待收款`, `${Year1.value}收费单待签`, `预提占比`]) 316 const legend1 = ref([`${Year1.value}待收款`, `${Year1.value}收费单待签`, `同期预提占比`])
313 const legend2 = ref([`${Year2.value}待收款`, `${Year2.value}收费单待签`, `同期预提占比`]) 317 const legend2 = ref([`${Year2.value}待收款`, `${Year2.value}收费单待签`, `预提占比`])
314 318
315 const type4 = ref(['1','2']) 319 const type4 = ref(['1','2'])
316 const type3 = ref('0') 320 const type3 = ref('0')
...@@ -390,29 +394,33 @@ async function handelGetYS006() { ...@@ -390,29 +394,33 @@ async function handelGetYS006() {
390 obj.value["SELECTDATE"] = hDate 394 obj.value["SELECTDATE"] = hDate
391 obj.value["BASE"] = sBase 395 obj.value["BASE"] = sBase
392 396
397 const cityName = ['陕西','山西','伊拉克','新疆','环保','深圳','湛江','海南','塘沽','上海']
398
393 const res = await getYS006(url.value, obj.value) 399 const res = await getYS006(url.value, obj.value)
394 list.value = res.data.baselist 400 list.value = res.data.baselist
401 list.value = cityName.map(n => list.value.find(item => item.BASEJC === n))
402 console.log(list.value)
395 arrX.value = [] 403 arrX.value = []
396 404
397 if (myType.value) { 405 if (myType.value) {
406 tMonth.value = findInvalidMonth(nowMonth.value - 1, list.value)
398 for (let i=0; i<list.value.length; i++) { 407 for (let i=0; i<list.value.length; i++) {
399 let row = list.value[i] 408 let row = list.value[i]
400 arrX.value.push(list.value[i].BASEJC) 409 arrX.value.push(list.value[i].BASEJC)
401 h2.value[i] = {value:'',info:''} 410 h2.value[i] = {value:'',info:''}
402 h5.value[i] = {value:'',info:''} 411 h5.value[i] = {value:'',info:''}
403 412
404 h1.value[i] = list.value[i].YSDSKTOTAL / 10000; 413 h1.value[i] = list.value[i].list[tMonth.value].JNYSDSK / 10000;
405 h2.value[i].value = list.value[i].SFDDQTOTAL / 10000; 414 h2.value[i].value = list.value[i].list[tMonth.value].JNSFDDQ / 10000;
406 h3.value[i] = list.value[i].BASEYTZB 415 h3.value[i] = list.value[i].list[tMonth.value].MONTHYTZB
407 h4.value[i] = list.value[i].LASTYSDSKTOTAL / 10000; 416 h4.value[i] = list.value[i].list[tMonth.value].YSDSK / 10000;
408 h5.value[i].value = list.value[i].LASTSFDDQTOTAL / 10000 417 h5.value[i].value = list.value[i].list[tMonth.value].SFDDQ / 10000
409 h6.value[i] = list.value[i].BASELASTYTZB 418 h6.value[i] = list.value[i].list[tMonth.value].MONTHLASTYTZB
410 419
411 for (let n=0; n<row.list.length; n++) { 420 h2.value[i].info += list.value[i].list[tMonth.value].JNYSWELLINFO
412 h2.value[i].info += row.list[n].YSWELLINFO 421 h5.value[i].info += list.value[i].list[tMonth.value].YSWELLINFO
413 h5.value[i].info += row.list[n].JNYSWELLINFO
414 }
415 } 422 }
423
416 } else { 424 } else {
417 h3.value = [] 425 h3.value = []
418 h2.value = [] 426 h2.value = []
...@@ -428,10 +436,10 @@ async function handelGetYS006() { ...@@ -428,10 +436,10 @@ async function handelGetYS006() {
428 for (let i=0; i<obj2.list.length; i++) { 436 for (let i=0; i<obj2.list.length; i++) {
429 h2.value[i] = {value:'',info:''} 437 h2.value[i] = {value:'',info:''}
430 h5.value[i] = {value:'',info:''} 438 h5.value[i] = {value:'',info:''}
431 h1.value[i] = obj2.list[i].YSDSK / 10000; 439 h1.value[i] = obj2.list[i].JNYSDSK / 10000;
432 h2.value[i].value = obj2.list[i].SFDDQ / 10000; 440 h2.value[i].value = obj2.list[i].JNSFDDQ / 10000;
433 h4.value[i] = obj2.list[i].JNYSDSK / 10000; 441 h4.value[i] = obj2.list[i].YSDSK / 10000;
434 h5.value[i].value = obj2.list[i].JNSFDDQ / 10000; 442 h5.value[i].value = obj2.list[i].SFDDQ / 10000;
435 443
436 h2.value[i].info += obj2.list[i].YSWELLINFO 444 h2.value[i].info += obj2.list[i].YSWELLINFO
437 h5.value[i].info += obj2.list[i].JNYSWELLINFO 445 h5.value[i].info += obj2.list[i].JNYSWELLINFO
...@@ -447,11 +455,39 @@ async function handelGetYS006() { ...@@ -447,11 +455,39 @@ async function handelGetYS006() {
447 type4.value.includes('2') ? h4.value : [], 455 type4.value.includes('2') ? h4.value : [],
448 type4.value.includes('2') ? h5.value : [], 456 type4.value.includes('2') ? h5.value : [],
449 type4.value.includes('2') ? h6.value : [], 457 type4.value.includes('2') ? h6.value : [],
450 type4.value.includes('1') ? legend1.value : [], 458 type4.value.includes('1') ? legend2.value : [],
451 type4.value.includes('2') ? legend2.value : [], 459 type4.value.includes('2') ? legend1.value : [],
452 ) 460 )
453 } 461 }
454 462
463 function findInvalidMonth(month, data) {
464 const d1 = []
465 const d2 = []
466 let flag = true
467 for (let i=0; i<data.length; i++) {
468 d1[i] = data[i].list[month].JNYSDSK / 10000;
469 d2[i] = data[i].list[month].JNSFDDQ / 10000;
470 }
471
472 d1.forEach(n => {
473 if (n !== 0) {
474 flag = false
475 }
476 })
477
478 d2.forEach(n => {
479 if (n !== 0) {
480 flag = false
481 }
482 })
483
484 if (flag) {
485 return month - 1 > -1 ? month - 1 : 0
486 }
487
488 return month
489 }
490
455 async function handelGetYS007() { 491 async function handelGetYS007() {
456 const res = await getYS007(url.value, obj.value) 492 const res = await getYS007(url.value, obj.value)
457 list7.value = res.data.list 493 list7.value = res.data.list
...@@ -663,17 +699,15 @@ function handelSelect3() { ...@@ -663,17 +699,15 @@ function handelSelect3() {
663 h2.value[i] = {value:'',info:''} 699 h2.value[i] = {value:'',info:''}
664 h5.value[i] = {value:'',info:''} 700 h5.value[i] = {value:'',info:''}
665 701
666 h1.value[i] = list.value[i].YSDSKTOTAL / 10000; 702 h1.value[i] = list.value[i].list[tMonth.value].JNYSDSK / 10000;
667 h2.value[i].value = list.value[i].SFDDQTOTAL / 10000; 703 h2.value[i].value = list.value[i].list[tMonth.value].JNSFDDQ / 10000;
668 h3.value[i] = list.value[i].BASEYTZB 704 h3.value[i] = list.value[i].list[tMonth.value].MONTHYTZB
669 h4.value[i] = list.value[i].LASTYSDSKTOTAL / 10000; 705 h4.value[i] = list.value[i].list[tMonth.value].YSDSK / 10000;
670 h5.value[i].value = list.value[i].LASTSFDDQTOTAL / 10000 706 h5.value[i].value = list.value[i].list[tMonth.value].SFDDQ / 10000
671 h6.value[i] = list.value[i].BASELASTYTZB 707 h6.value[i] = list.value[i].list[tMonth.value].MONTHLASTYTZB
672 708
673 for (let n=0; n<row.list.length; n++) { 709 h2.value[i].info += list.value[i].list[tMonth.value].JNYSWELLINFO
674 h2.value[i].info += row.list[n].YSWELLINFO 710 h5.value[i].info += list.value[i].list[tMonth.value].YSWELLINFO
675 h5.value[i].info += row.list[n].JNYSWELLINFO
676 }
677 } 711 }
678 } else { 712 } else {
679 // 找到对应的数据 713 // 找到对应的数据
...@@ -708,8 +742,8 @@ function handelSelect3() { ...@@ -708,8 +742,8 @@ function handelSelect3() {
708 type4.value.includes('2') ? h4.value : [], 742 type4.value.includes('2') ? h4.value : [],
709 type4.value.includes('2') ? h5.value : [], 743 type4.value.includes('2') ? h5.value : [],
710 type4.value.includes('2') ? h6.value : [], 744 type4.value.includes('2') ? h6.value : [],
711 type4.value.includes('1') ? legend1.value : [], 745 type4.value.includes('1') ? legend2.value : [],
712 type4.value.includes('2') ? legend2.value : [], 746 type4.value.includes('2') ? legend1.value : [],
713 ) 747 )
714 // setC(h1.value, h2.value, h3.value, h4.value, h5.value, h6.value) 748 // setC(h1.value, h2.value, h3.value, h4.value, h5.value, h6.value)
715 } 749 }
...@@ -725,8 +759,8 @@ function handelSelect4() { ...@@ -725,8 +759,8 @@ function handelSelect4() {
725 type4.value.includes('2') ? h4.value : [], 759 type4.value.includes('2') ? h4.value : [],
726 type4.value.includes('2') ? h5.value : [], 760 type4.value.includes('2') ? h5.value : [],
727 type4.value.includes('2') ? h6.value : [], 761 type4.value.includes('2') ? h6.value : [],
728 type4.value.includes('1') ? legend1.value : [], 762 type4.value.includes('1') ? legend2.value : [],
729 type4.value.includes('2') ? legend2.value : [], 763 type4.value.includes('2') ? legend1.value : [],
730 ) 764 )
731 } 765 }
732 766
...@@ -1904,7 +1938,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => { ...@@ -1904,7 +1938,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => {
1904 // barWidth: '30%' 1938 // barWidth: '30%'
1905 // }, 1939 // },
1906 { 1940 {
1907 name: `预提占比`, 1941 name: `同期预提占比`,
1908 type: 'line', 1942 type: 'line',
1909 data: h6, 1943 data: h6,
1910 symbol:'circle', 1944 symbol:'circle',
...@@ -1912,7 +1946,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => { ...@@ -1912,7 +1946,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => {
1912 yAxisIndex:1, 1946 yAxisIndex:1,
1913 itemStyle: { 1947 itemStyle: {
1914 normal:{ 1948 normal:{
1915 color:'#F7CE10' 1949 color:'#00B5A3'
1916 } 1950 }
1917 }, 1951 },
1918 }, 1952 },
...@@ -1992,7 +2026,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => { ...@@ -1992,7 +2026,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => {
1992 // barWidth: '30%' 2026 // barWidth: '30%'
1993 // }, 2027 // },
1994 { 2028 {
1995 name: `同期预提占比`, 2029 name: `预提占比`,
1996 type: 'line', 2030 type: 'line',
1997 data: h3, 2031 data: h3,
1998 symbol:'circle', 2032 symbol:'circle',
...@@ -2000,7 +2034,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => { ...@@ -2000,7 +2034,7 @@ const setC = (arr, h1, h2, h3, h4, h5, h6, l1, l2) => {
2000 yAxisIndex:1, 2034 yAxisIndex:1,
2001 itemStyle: { 2035 itemStyle: {
2002 normal:{ 2036 normal:{
2003 color:'#00B5A3' 2037 color:'#F7CE10'
2004 } 2038 }
2005 }, 2039 },
2006 }, 2040 },
......
...@@ -65,7 +65,8 @@ export default defineConfig(({mode, command}) => { ...@@ -65,7 +65,8 @@ export default defineConfig(({mode, command}) => {
65 input: { 65 input: {
66 main: resolve(__dirname, 'index.html') 66 main: resolve(__dirname, 'index.html')
67 } 67 }
68 } 68 },
69 outDir: 'cwys'
69 } 70 }
70 } 71 }
71 }) 72 })
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!