Browse Source

Merge branch 'qin_v10_master'

qin_v11_master
超级管理员 1 year ago
parent
commit
e07eba43bf
  1. 6
      node_modules/.package-lock.json
  2. 10
      node_modules/dayjs/CHANGELOG.md
  3. 30
      node_modules/dayjs/README.md
  4. 2
      node_modules/dayjs/esm/index.d.ts
  5. 2
      node_modules/dayjs/esm/locale/bg.js
  6. 1
      node_modules/dayjs/esm/locale/da.js
  7. 23
      node_modules/dayjs/esm/locale/zh-hk.js
  8. 2
      node_modules/dayjs/index.d.ts
  9. 2
      node_modules/dayjs/locale.json
  10. 2
      node_modules/dayjs/locale/bg.js
  11. 2
      node_modules/dayjs/locale/da.js
  12. 2
      node_modules/dayjs/locale/zh-hk.js
  13. 2
      node_modules/dayjs/package.json
  14. 7
      package-lock.json
  15. 1
      package.json
  16. 8
      src/api/DesignForm/requestapi.ts
  17. 190
      src/api/calendar/Calendar.ts
  18. 401
      src/api/calendar/DateClass.ts
  19. 169
      src/api/calendar/config.ts
  20. 596
      src/api/calendar/const.ts
  21. 7
      src/api/calendar/utils.ts
  22. 108
      src/components/DesignForm/app/calendar/calendar1/calendarPage.vue
  23. 202
      src/components/DesignForm/app/calendar/calendar1/handle.ts
  24. 0
      src/components/DesignForm/app/calendar/calendar1/type.ts
  25. 32
      src/components/DesignForm/app/calendarPage.vue
  26. 43
      src/components/DesignForm/app/index.vue
  27. 68
      src/components/DesignForm/app/nginx.ini
  28. 173
      src/components/DesignForm/app/timeAxis.vue
  29. 1
      src/types/components.d.ts

6
node_modules/.package-lock.json

@ -3287,9 +3287,9 @@
}
},
"node_modules/dayjs": {
"version": "1.11.10",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
"version": "1.11.11",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.11.tgz",
"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
},
"node_modules/de-indent": {
"version": "1.0.2",

10
node_modules/dayjs/CHANGELOG.md

@ -1,3 +1,13 @@
## [1.11.11](https://github.com/iamkun/dayjs/compare/v1.11.10...v1.11.11) (2024-04-28)
### Bug Fixes
* day of week type literal ([#2630](https://github.com/iamkun/dayjs/issues/2630)) ([f68d73e](https://github.com/iamkun/dayjs/commit/f68d73efe562fdedd9e288ecb0ce6565e602f507))
* improve locale "zh-hk" format and meridiem ([#2419](https://github.com/iamkun/dayjs/issues/2419)) ([a947a51](https://github.com/iamkun/dayjs/commit/a947a5171aad5695eaf593bc95fe073de0f0894a))
* Update 'da' locale to match correct first week of year ([#2592](https://github.com/iamkun/dayjs/issues/2592)) ([44b0936](https://github.com/iamkun/dayjs/commit/44b0936ad709212b63e48672d8b9c225e2c3b830))
* update locale Bulgarian monthsShort Jan ([#2538](https://github.com/iamkun/dayjs/issues/2538)) ([f0c9a41](https://github.com/iamkun/dayjs/commit/f0c9a41c6ec91528f3790e442b0c5dff15a4e640))
## [1.11.10](https://github.com/iamkun/dayjs/compare/v1.11.9...v1.11.10) (2023-09-19)

30
node_modules/dayjs/README.md

@ -10,8 +10,8 @@ English | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/R
alt="Gzip Size"></a>
<a href="https://www.npmjs.com/package/dayjs"><img src="https://img.shields.io/npm/v/dayjs.svg?style=flat-square&colorB=51C838"
alt="NPM Version"></a>
<a href="https://travis-ci.com/iamkun/dayjs"><img
src="https://img.shields.io/travis/iamkun/dayjs/master.svg?style=flat-square" alt="Build Status"></a>
<a href="https://github.com/iamkun/dayjs/actions/workflows/check.yml"><img
src="https://img.shields.io/github/actions/workflow/status/iamkun/dayjs/check.yml?style=flat-square" alt="Build Status"></a>
<a href="https://codecov.io/gh/iamkun/dayjs"><img
src="https://img.shields.io/codecov/c/github/iamkun/dayjs/master.svg?style=flat-square" alt="Codecov"></a>
<a href="https://github.com/iamkun/dayjs/blob/master/LICENSE"><img
@ -99,6 +99,12 @@ dayjs().format('Q Do k kk X x') // more available formats
📚[Plugin List](https://day.js.org/docs/en/plugin/plugin)
### Usage Trend
<a href="https://npm-compare.com/moment,dayjs/#timeRange=THREE_YEARS" target="_blank">
<img src="https://user-images.githubusercontent.com/3455798/270162667-c7bd2ebe-675e-45c6-a2c9-dc67f3b65d6e.png">
</a>
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
@ -117,15 +123,27 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
<img width="70" src="https://user-images.githubusercontent.com/17680888/232316426-cb99b4cf-0ccb-4e73-a6ce-e16dba6aadf4.png">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://chudovo.com/" target="_blank">
<img width="70" src="https://images.opencollective.com/chudovo/3c866f5/logo/256.png?height=256">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/ken-swyfft" target="_blank">
<img width="70" src="https://avatars.githubusercontent.com/u/65305317?v=4">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/storyblok" target="_blank">
<img width="70" src="https://avatars.githubusercontent.com/u/13880908?s=200&v=4">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://www.exoflare.com/open-source/?utm_source=dayjs&utm_campaign=open_source" target="_blank">
<img width="70" src="https://user-images.githubusercontent.com/17680888/162761622-1407a849-0c41-4591-8aa9-f98114ec2092.png">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://rxdb.info/?utm_source=day.js.org&utm_medium=banner&utm_campaign=day.js.org-sponsored" target="_blank"><img width="70" src="https://user-images.githubusercontent.com/17680888/200301812-9c9bd523-5dc4-4cab-b380-543fbcd3802c.svg"></a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://github.com/vendure-ecommerce" target="_blank"><img width="70" src="https://avatars.githubusercontent.com/u/39629390?s=52&v=4"></a>
<a href="https://bestkru.com/" target="_blank">
<img width="70" src="https://avatars.githubusercontent.com/u/159320286" alt="BestKru">
</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://opencollective.com/docbot" target="_blank"><img width="70" src="https://images.opencollective.com/docbot/457761e/logo.png"></a>
<a href="https://opencollective.com/anonstories" target="_blank"><img width="70" src="https://images.opencollective.com/anonstories/7e826c0/avatar/256.png"></a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="https://opencollective.com/datawrapper" target="_blank"><img width="70" src="https://images.opencollective.com/datawrapper/c13e229/logo.png"></a>

2
node_modules/dayjs/esm/index.d.ts

@ -114,7 +114,7 @@ declare namespace dayjs {
* ```
* Docs: https://day.js.org/docs/en/get-set/day
*/
day(): number
day(): 0 | 1 | 2 | 3 | 4 | 5 | 6
/**
* Set the day of the week.
*

2
node_modules/dayjs/esm/locale/bg.js

@ -6,7 +6,7 @@ var locale = {
weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
weekStart: 1,
ordinal: function ordinal(n) {
var last2Digits = n % 100;

1
node_modules/dayjs/esm/locale/da.js

@ -8,6 +8,7 @@ var locale = {
months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
monthsShort: 'jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.'.split('_'),
weekStart: 1,
yearStart: 4,
ordinal: function ordinal(n) {
return n + ".";
},

23
node_modules/dayjs/esm/locale/zh-hk.js

@ -22,7 +22,11 @@ var locale = {
L: 'YYYY/MM/DD',
LL: 'YYYY年M月D日',
LLL: 'YYYY年M月D日 HH:mm',
LLLL: 'YYYY年M月D日dddd HH:mm'
LLLL: 'YYYY年M月D日dddd HH:mm',
l: 'YYYY/M/D',
ll: 'YYYY年M月D日',
lll: 'YYYY年M月D日 HH:mm',
llll: 'YYYY年M月D日dddd HH:mm'
},
relativeTime: {
future: '%s內',
@ -38,6 +42,23 @@ var locale = {
MM: '%d 個月',
y: '一年',
yy: '%d 年'
},
meridiem: function meridiem(hour, minute) {
var hm = hour * 100 + minute;
if (hm < 600) {
return '凌晨';
} else if (hm < 900) {
return '早上';
} else if (hm < 1100) {
return '上午';
} else if (hm < 1300) {
return '中午';
} else if (hm < 1800) {
return '下午';
}
return '晚上';
}
};
dayjs.locale(locale, null, true);

2
node_modules/dayjs/index.d.ts

@ -114,7 +114,7 @@ declare namespace dayjs {
* ```
* Docs: https://day.js.org/docs/en/get-set/day
*/
day(): number
day(): 0 | 1 | 2 | 3 | 4 | 5 | 6
/**
* Set the day of the week.
*

2
node_modules/dayjs/locale.json

File diff suppressed because one or more lines are too long

2
node_modules/dayjs/locale/bg.js

@ -1 +1 @@
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_bg=_(e.dayjs)}(this,(function(e){"use strict";function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=_(e),d={name:"bg",weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekStart:1,ordinal:function(e){var _=e%100;if(_>10&&_<20)return e+"-ти";var t=e%10;return 1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"}};return t.default.locale(d,null,!0),d}));
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module?module.exports=_(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],_):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_bg=_(e.dayjs)}(this,(function(e){"use strict";function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=_(e),d={name:"bg",weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekStart:1,ordinal:function(e){var _=e%100;if(_>10&&_<20)return e+"-ти";var t=e%10;return 1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},formats:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"}};return t.default.locale(d,null,!0),d}));

2
node_modules/dayjs/locale/da.js

@ -1 +1 @@
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_da=t(e.dayjs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=t(e),n={name:"da",weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn._man._tirs._ons._tors._fre._lør.".split("_"),weekdaysMin:"sø._ma._ti._on._to._fr._lø.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"}};return d.default.locale(n,null,!0),n}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).dayjs_locale_da=t(e.dayjs)}(this,(function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=t(e),a={name:"da",weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn._man._tirs._ons._tors._fre._lør.".split("_"),weekdaysMin:"sø._ma._ti._on._to._fr._lø.".split("_"),months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.".split("_"),weekStart:1,yearStart:4,ordinal:function(e){return e+"."},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"}};return d.default.locale(a,null,!0),a}));

2
node_modules/dayjs/locale/zh-hk.js

@ -1 +1 @@
!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):(_="undefined"!=typeof globalThis?globalThis:_||self).dayjs_locale_zh_hk=e(_.dayjs)}(this,(function(_){"use strict";function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}var t=e(_),d={name:"zh-hk",months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),ordinal:function(_,e){return"W"===e?_+"週":_+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d 分鐘",h:"一小時",hh:"%d 小時",d:"一天",dd:"%d 天",M:"一個月",MM:"%d 個月",y:"一年",yy:"%d 年"}};return t.default.locale(d,null,!0),d}));
!function(_,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("dayjs")):"function"==typeof define&&define.amd?define(["dayjs"],e):(_="undefined"!=typeof globalThis?globalThis:_||self).dayjs_locale_zh_hk=e(_.dayjs)}(this,(function(_){"use strict";function e(_){return _&&"object"==typeof _&&"default"in _?_:{default:_}}var d=e(_),t={name:"zh-hk",months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),ordinal:function(_,e){return"W"===e?_+"週":_+"日"},formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d 分鐘",h:"一小時",hh:"%d 小時",d:"一天",dd:"%d 天",M:"一個月",MM:"%d 個月",y:"一年",yy:"%d 年"},meridiem:function(_,e){var d=100*_+e;return d<600?"凌晨":d<900?"早上":d<1100?"上午":d<1300?"中午":d<1800?"下午":"晚上"}};return d.default.locale(t,null,!0),t}));

2
node_modules/dayjs/package.json

@ -1,6 +1,6 @@
{
"name": "dayjs",
"version": "1.11.10",
"version": "1.11.11",
"description": "2KB immutable date time library alternative to Moment.js with the same modern API ",
"main": "dayjs.min.js",
"types": "index.d.ts",

7
package-lock.json

@ -20,6 +20,7 @@
"axios": "^1.4.0",
"clipboard": "^2.0.11",
"compressorjs": "^1.2.1",
"dayjs": "^1.11.11",
"echarts": "^5.4.3",
"element-plus": "^2.3.4",
"font-awesome": "^4.7.0",
@ -3690,9 +3691,9 @@
}
},
"node_modules/dayjs": {
"version": "1.11.10",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
"integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
"version": "1.11.11",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.11.tgz",
"integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
},
"node_modules/de-indent": {
"version": "1.0.2",

1
package.json

@ -51,6 +51,7 @@
"axios": "^1.4.0",
"clipboard": "^2.0.11",
"compressorjs": "^1.2.1",
"dayjs": "^1.11.11",
"echarts": "^5.4.3",
"element-plus": "^2.3.4",
"font-awesome": "^4.7.0",

8
src/api/DesignForm/requestapi.ts

@ -573,3 +573,11 @@ export function gainListTableField(data: any) {
});
}
//多视图数据处理
export function multiViewPage(data: any) {
return request({
url: '/systemapi/customer_form/multiViewPage',
method: 'post',
data: data
});
}

190
src/api/calendar/Calendar.ts

@ -0,0 +1,190 @@
import constValue from '@/api/calendar/const';
import constVal from '@/api/calendar/const';
import DateClass from '@/api/calendar/DateClass';
import { clockFactory } from '@/api/calendar/utils';
export interface dateBase {
isCurrent: boolean;
title: number;
isHolidays: boolean;
date: string;
lunars: string;
lunarsChina: string;
isNow: boolean;
term: string | false;
lunarsChinese: string;
solarDay: string | false;
animal: string;
astro: string;
lunarDay: string | false;
isWeek?: boolean;
}
/**
*
* @param y
* @param m
* @param d
* @returns
*/
export function getTerm(y: number, m: number, d: number) {
let firstNode = DateClass.getTerm(y, m * 2 - 1),
secondNode = DateClass.getTerm(y, m * 2);
let term: false | string = false;
if (Number(firstNode) === d) term = constVal.solarTerm[m * 2 - 2];
if (Number(secondNode) == d) term = constVal.solarTerm[m * 2 - 1];
return term;
}
class Calendar {
title() {
const title: string[] = [];
for (let i = 0; i <= 6; i++) {
title.push(constValue.nStr1[i % 7]);
}
return title;
}
validateDate(date: number[]) {
if (date.length === 3 && String(date[0]).length === 4) {
return date;
} else {
return DateClass.getCurrent();
}
}
getDateParams(day: dateBase[], date: number[]) {
return day.map((el, index) => {
return {
title: el.title,
isCurrent: el.isCurrent,
value: 'tCalendar' + new Date().getTime(),
isWeek: new Date(el.date).getDay() === 6 || new Date(el.date).getDay() === 0,
isHolidays: el.isHolidays,
date: el.date,
lunars: el.lunars,
lunarsChinese: el.lunarsChinese,
lunarsChina: el.lunarDay || el.solarDay || el.term || el.lunarsChina,
isNow: el.isNow,
animal: el.animal,
astro: el.astro,
term: el.term,
solarDay: el.solarDay,
lunarDay: el.lunarDay
};
});
}
/**
*
*/
beforDays(date: number[], last: number) {
const y = date[1] === 1 ? date[0] - 1 : date[0];
const m = date[1] === 1 ? 12 : date[1] - 1;
let w = DateClass.solarMonth(y, m);
const arr: dateBase[] = [];
for (let i = 0; i < last; i++) {
const lun = DateClass.getLunars(y, m, w - i);
const l = lun.split('-');
arr.push({
title: w - i,
isCurrent: false,
isHolidays: DateClass.getHolidays([y, m, w - i]),
date: `${y}-${clockFactory(m)}-${clockFactory(w - i)}`,
lunars: lun,
lunarsChinese:
DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])),
lunarsChina: DateClass.toChinaDay(Number(l[2])),
isNow: false,
solarDay: DateClass.getSolarDay(m, w - i),
lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])),
animal: DateClass.getAnimal(Number(l[0])),
astro: DateClass.toAstro(y, m, w - i),
term: getTerm(Number(l[0]), m, w - i)
});
}
return arr;
}
/**
*
*/
afterDays(day: dateBase[], date: number[]) {
const arr: dateBase[] = [];
const y = date[1] === 12 ? date[0] + 1 : date[0];
const m = date[1] === 12 ? 1 : date[1] + 1;
for (let i = 1; i < 42 - day.length + 1; i++) {
const lun = DateClass.getLunars(y, m, i);
const l = lun.split('-');
arr.push({
title: i,
isCurrent: false,
isHolidays: DateClass.getHolidays([y, m, i]),
date: `${y}-${clockFactory(m)}-${clockFactory(i)}`,
lunars: lun,
lunarsChinese:
DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])),
lunarsChina: DateClass.toChinaDay(Number(l[2])),
isNow: false,
solarDay: DateClass.getSolarDay(m, i),
lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])),
animal: DateClass.getAnimal(Number(l[0])),
astro: DateClass.toAstro(y, m, i),
term: getTerm(Number(l[0]), m, i)
});
}
return [...day, ...arr];
}
getDay(date: number[], beforDays: dateBase[]) {
const dateArray: dateBase[] = [];
const currentDayNumber = DateClass.solarMonth(date[0], date[1], date[2]);
for (let i = 1; i <= currentDayNumber; i++) {
const lun = DateClass.getLunars(date[0], date[1], i);
const l = lun.split('-');
dateArray.push({
title: i,
isCurrent: true,
isHolidays: DateClass.getHolidays([date[0], date[1], i]),
date: `${date[0]}-${clockFactory(date[1])}-${clockFactory(i)}`,
lunars: lun,
lunarsChinese:
DateClass.toChinaMonth(Number(l[1])) + DateClass.toChinaDay(Number(l[2])),
lunarsChina: DateClass.toChinaDay(Number(l[2])),
isNow: i === date[2] ? true : false,
solarDay: DateClass.getSolarDay(date[1], i),
lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])),
animal: DateClass.getAnimal(Number(l[0])),
astro: DateClass.toAstro(date[0], date[1], i),
term: getTerm(Number(l[0]), date[1], i)
});
}
return [...beforDays, ...dateArray];
}
table(date: number[]) {
const dateArray = [];
const result = this.validateDate(date);
const currentDay = DateClass.solarWeeks(result[0], result[1]);
// 获取当月的完整数据
const beforDays = this.beforDays(date, currentDay).reverse();
const m = this.getDay(date, beforDays);
const afterDays = this.afterDays(m, date);
// 转化成参数
const params = this.getDateParams(afterDays, date);
// return [];
if (params.length !== 42) return [];
for (let row = 0; row < 6; row++) {
dateArray.push(params.splice(0, 7));
}
return dateArray;
}
}
export default new Calendar();

401
src/api/calendar/DateClass.ts

@ -0,0 +1,401 @@
import constValue from '@/api/calendar/const';
import { clockFactory } from '@/api/calendar/utils';
import config from '@/api/calendar/config';
export const dayArr = ['日', '一', '二', '三', '四', '五', '六'];
/**
*
*/
class DateClass {
getWeek(week: number) {
return `星期${dayArr[week]}`;
}
getCurrent() {
const date = new Date();
return [date.getFullYear(), date.getMonth() + 1, date.getDate()];
}
changeTimeStr(time: string) {
return time.split('-').map((el) => Number(el));
}
getCurrentStr(isZero: boolean = false) {
const date = new Date();
return isZero
? date.getFullYear() +
'-' +
clockFactory(date.getMonth() + 1) +
'-' +
clockFactory(date.getDate())
: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
}
getHolidays(date: number[]) {
return (
config.Holidays.indexOf(`${date[0]}${clockFactory(date[1])}${clockFactory(date[2])}`) >
-1
);
}
/**
*
* @param {number} y
* @param {number} m
* @returns {number}
*/
solarMonth(y: number, m: number, d?: number) {
if (m == 2) return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0 ? 29 : 28;
return constValue.solarMonth[m - 1];
}
/**
*
* @param {number} y
* @param {number} m
* @returns {number} [0-6]
*/
solarWeeks(y: number, m: number) {
return this.solarWeek(y, m, 1);
}
/**
*
* @param {number} y
* @param {number} m
* @param {number} d
* @returns {number} [0-6]
*/
solarWeek(y: number, m: number, d: number) {
let date = new Date(y, m - 1, d);
let week = date.getDay();
return week;
}
/**
*
* @param {number} m
* @returns {string} '正月'
*/
toChinaMonth(m: number) {
let r = String(m).slice(0, 1) == '0';
return r
? '\u95f0' + constValue.nStr3[m - 1] + '\u6708'
: constValue.nStr3[m - 1] + '\u6708'; // 加上"月"字
}
/**
*
* @param {number} d
* @returns {string}
*/
toChinaDay(d: number) {
let str = d == 10 ? constValue.nStr2[0] : constValue.nStr2[Math.floor(d / 10)];
return str + (d % 10 ? constValue.nStr1[d % 10] : constValue.nStr1[10]);
}
/**
*
* @param {number} y
* @returns {string}
*/
getAnimal(y: number) {
return constValue.Animals[(y - 4) % 12];
}
/**
*
* @param {number} m
* @param {number} d
* @returns {string}
*/
toAstro(y: number, m: number, d: number) {
let s =
'\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf';
let arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22];
let i = m * 2 - (d < arr[m - 1] ? 2 : 0);
return s.slice(i, i + 2) + '\u5ea7';
}
/**
*
* @param {number} y
* @param {number} m
* @param {number} d
* @returns {string} ,0
*/
getLunars(y: number, m: number, d: number) {
let date = new Date(y, m - 1, d),
i,
leap = 0,
temp = 0;
let offset = (Date.UTC(y, m - 1, d) - Date.UTC(1900, 0, 31)) / 86400000;
for (i = 1900; i < 2101 && offset > 0; i++) {
temp = this.lYearDays(i);
offset -= temp;
}
if (offset < 0) {
offset += temp;
i--;
}
// 获取闰月
let year = i;
leap = this.leapMonth(i);
let isLeap = false;
// 校验闰月
for (i = 1; i < 13 && offset > 0; i++) {
if (leap > 0 && i == leap + 1 && !isLeap) {
--i;
isLeap = true;
temp = this.leapDays(year); // 闰月天数
} else {
temp = this.monthDays(year, i); // 普通月天数
}
if (isLeap && i == leap + 1) isLeap = false;
offset -= temp;
}
if (offset == 0 && leap > 0 && i == leap + 1) {
if (isLeap) {
isLeap = false;
} else {
isLeap = true;
--i;
}
}
if (offset < 0) {
offset += temp;
--i;
}
// 农历月
let month = isLeap ? '0' + i : i;
// 农历日
let day = ++offset;
return year + '-' + month + '-' + day;
}
/**
* 0
* @param {number} y
* @returns {number} 0
*/
leapMonth(y: number, m?: number, d?: number) {
return constValue.lunarInfo[y - 1900] & 0xf;
}
/**
* 0
* @param {number} y
* @returns {number} 0
*/
leapDays(y: number, m?: number, d?: number) {
return this.leapMonth(y, m, d) ? (constValue.lunarInfo[y - 1900] & 0x10000 ? 30 : 29) : 0;
}
/**
*
* @param {number} m
* @param {number} d
* @returns {string | boolean} false
*/
getSolarDay(m: number, d: number) {
let solarDay: false | string = false;
for (let i = 0; i < constValue.sFtv.length; i++) {
if (
parseInt(constValue.sFtv[i].slice(0, 2)) == m &&
parseInt(constValue.sFtv[i].slice(2, 4)) == d
) {
solarDay = constValue.sFtv[i].slice(5);
}
}
return solarDay;
}
/**
*
* @param {number} y
* @param {number|string} m 07
* @param {number} d
* @returns {string|false} false
*/
getlunarDay(y: number, m: number, d: number) {
if (String(m).slice(0, 1) == '0') return false; //如果是闰月则没有节日
let lunarDay: false | string = false;
for (let i = 0; i < constValue.lFtv.length; i++) {
if (
parseInt(constValue.lFtv[i].slice(0, 2)) == m &&
parseInt(constValue.lFtv[i].slice(2, 4)) == d
) {
lunarDay = constValue.lFtv[i].slice(5);
}
}
// 判断是否为除夕
if (m == 12 && this.monthDays(y, m, d) == d) lunarDay = '除夕';
return lunarDay;
}
/**
*
* @param {number} y
* @returns {number}
*/
lYearDays(y: number, m?: number, d?: number) {
let i,
sum = 348;
for (i = 0x8000; i > 0x8; i >>= 1) {
sum += constValue.lunarInfo[y - 1900] & i ? 1 : 0;
}
return sum + this.leapDays(y);
}
/**
*
* @param {number} y
* @param {number} m
* @returns {number}
*/
monthDays(y: number, m: number, d?: number) {
return constValue.lunarInfo[y - 1900] & (0x10000 >> m) ? 30 : 29;
}
/**
* n个节气日期
* @param {number} y
* @param {number} n
* @returns {string} ,0506
*/
getTerm(y: number, n: number) {
let _table = constValue.sTermInfo[y - 1900];
let _info = [
parseInt('0x' + _table.slice(0, 5)).toString(),
parseInt('0x' + _table.slice(5, 10)).toString(),
parseInt('0x' + _table.slice(10, 15)).toString(),
parseInt('0x' + _table.slice(15, 20)).toString(),
parseInt('0x' + _table.slice(20, 25)).toString(),
parseInt('0x' + _table.slice(25)).toString()
];
let d = [
_info[0].slice(0, 1),
_info[0].slice(1, 3),
_info[0].slice(3, 4),
_info[0].slice(4, 6),
_info[1].slice(0, 1),
_info[1].slice(1, 3),
_info[1].slice(3, 4),
_info[1].slice(4, 6),
_info[2].slice(0, 1),
_info[2].slice(1, 3),
_info[2].slice(3, 4),
_info[2].slice(4, 6),
_info[3].slice(0, 1),
_info[3].slice(1, 3),
_info[3].slice(3, 4),
_info[3].slice(4, 6),
_info[4].slice(0, 1),
_info[4].slice(1, 3),
_info[4].slice(3, 4),
_info[4].slice(4, 6),
_info[5].slice(0, 1),
_info[5].slice(1, 3),
_info[5].slice(3, 4),
_info[5].slice(4, 6)
];
return d[n - 1];
}
/**
@ 作者: 秦东
@ 时间: 2024-07-12 13:11:32
@ 功能: 判断公立是不是闰年
*/
isLeapYear(year: number): boolean {
return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
}
/**
@ 作者: 秦东
@ 时间: 2024-07-12 11:50:37
@ 功能: 处理年月日回退数据
@ 1: 23
*/
gobackTime(y: number, m: number, d: number,t?:number){
console.log("计算时间--0--》",y,m,d,t)
switch(t){
case 2:
let startWeek = this.getMonday(y,m,d,'s',0)
let endWeek = this.getMonday(y,m,d,'e',0)
return {
start:startWeek,
end:endWeek
}
break;
case 3:
let day = d-1
if(day <= 0){
let month = m - 1
if(month <= 0){
y = y -1;
m = 12
d = this.solarMonth(y,m)
}else{
m = month
d = this.solarMonth(y,month)
}
}else{
d = day
}
return [y,m,d]
break;
default:
let month = m - 1
if(month <= 0){
y = y -1;
m = 12
d = this.solarMonth(y,m)
console.log("计算时间--1--》",y,m,d)
}else{
m = month
let day = this.solarMonth(y,month)
if(d > day){
d = day
}
}
return [y,m,d]
break;
}
}
/**
@ 作者: 秦东
@ 时间: 2024-07-12 13:48:55
@ 功能: 获取周
*/
getMonday = (year: number, month: number, taday: number,type: any, dates: any) => {
// let now = new Date();
// let nowTime = now.getTime();
let dateStr = year + "-" + month + "-" + taday; // 要转换的日期字符串
// let nowTime = Date.parse(dateStr);
let now = new Date(dateStr);
let nowTime = now.getTime();
let day = now.getDay();
let longTime = 24 * 60 * 60 * 1000;
let n = longTime * 7 * (dates || 0);
let date: any = ''
console.log("now--->",now)
console.log("nowTime--->",nowTime)
console.log("day--->",day)
console.log("longTime--->",longTime)
console.log("n--->",n)
if (type == "s") {
date = nowTime - (day - 1) * longTime + n;
};
if (type == "e") {
date = nowTime + (7 - day) * longTime + n;
};
date = new Date(date);
let y: any = date.getFullYear();
let m: any = date.getMonth() + 1;
let d: any = date.getDate();
// m = m < 10 ? "0" + m : m;
// d = d < 10 ? "0" + d : d;
let days = y + "-" + m + "-" + d;
return [y, m, d];
}
}
export default new DateClass();

169
src/api/calendar/config.ts

@ -0,0 +1,169 @@
export default {
/**
*
*/
Holidays: [
'20181230',
'20181231',
'20190101',
'20190204',
'20190205',
'20190206',
'20190207',
'20190208',
'20190209',
'20190210',
'20190405',
'20190406',
'20190407',
'20190501',
'20190502',
'20190503',
'20190504',
'20190607',
'20190608',
'20190609',
'20190913',
'20190914',
'20190915',
'20191001',
'20191002',
'20191003',
'20191004',
'20191005',
'20191006',
'20191007',
'20200101',
'20200124',
'20200125',
'20200126',
'20200127',
'20200128',
'20200129',
'20200130',
'20200404',
'20200405',
'20200406',
'20200501',
'20200502',
'20200503',
'20200504',
'20200505',
'20200625',
'20200626',
'20200627',
'20201001',
'20201002',
'20201003',
'20201004',
'20201005',
'20201006',
'20201007',
'20201008',
'20210101',
'20210102',
'20210103',
'20210211',
'20210212',
'20210213',
'20210214',
'20210215',
'20210216',
'20210217',
'20210403',
'20210404',
'20210405',
'20210501',
'20210502',
'20210503',
'20210504',
'20210505',
'20210612',
'20210613',
'20210614',
'20210919',
'20210920',
'20210921',
'20211001',
'20211002',
'20211003',
'20211004',
'20211005',
'20211006',
'20211007',
'20220101',
'20220102',
'20220103',
'20220131',
'20220201',
'20220202',
'20220203',
'20220204',
'20220205',
'20220206',
'20220403',
'20220404',
'20220405',
'20220430',
'20220501',
'20220502',
'20220503',
'20220504',
'20220603',
'20220604',
'20220605',
'20220910',
'20220911',
'20220912',
'20221001',
'20221002',
'20221003',
'20221004',
'20221005',
'20221006',
'20221007',
'20221231',
'20230101',
'20230102',
'20230121',
'20230122',
'20230123',
'20230124',
'20230125',
'20230126',
'20230127',
],
/**
*
*/
Works: [
'20181229',
'20190202',
'20190203',
'20190428',
'20190505',
'20190929',
'20191012',
'20200119',
'20200201',
'20200426',
'20200509',
'20200628',
'20200927',
'20201010',
'20210207',
'20210220',
'20210425',
'20210508',
'20210918',
'20210926',
'20211009',
'20220129',
'20220130',
'20220402',
'20220424',
'20220507',
'20221008',
'20221009',
],
};

596
src/api/calendar/const.ts

@ -0,0 +1,596 @@
export default {
/**
* 1900-210024
*/
sTermInfo: [
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c3598082c95f8c965cc920f',
'97bd0b06bdb0722c965ce1cfcc920f',
'b027097bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c359801ec95f8c965cc920f',
'97bd0b06bdb0722c965ce1cfcc920f',
'b027097bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c359801ec95f8c965cc920f',
'97bd0b06bdb0722c965ce1cfcc920f',
'b027097bd097c36b0b6fc9274c91aa',
'9778397bd19801ec9210c965cc920e',
'97b6b97bd19801ec95f8c965cc920f',
'97bd09801d98082c95f8e1cfcc920f',
'97bd097bd097c36b0b6fc9210c8dc2',
'9778397bd197c36c9210c9274c91aa',
'97b6b97bd19801ec95f8c965cc920e',
'97bd09801d98082c95f8e1cfcc920f',
'97bd097bd097c36b0b6fc9210c8dc2',
'9778397bd097c36c9210c9274c91aa',
'97b6b97bd19801ec95f8c965cc920e',
'97bcf97c3598082c95f8e1cfcc920f',
'97bd097bd097c36b0b6fc9210c8dc2',
'9778397bd097c36c9210c9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c3598082c95f8c965cc920f',
'97bd097bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c3598082c95f8c965cc920f',
'97bd097bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c359801ec95f8c965cc920f',
'97bd097bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c359801ec95f8c965cc920f',
'97bd097bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf97c359801ec95f8c965cc920f',
'97bd097bd07f595b0b6fc920fb0722',
'9778397bd097c36b0b6fc9210c8dc2',
'9778397bd19801ec9210c9274c920e',
'97b6b97bd19801ec95f8c965cc920f',
'97bd07f5307f595b0b0bc920fb0722',
'7f0e397bd097c36b0b6fc9210c8dc2',
'9778397bd097c36c9210c9274c920e',
'97b6b97bd19801ec95f8c965cc920f',
'97bd07f5307f595b0b0bc920fb0722',
'7f0e397bd097c36b0b6fc9210c8dc2',
'9778397bd097c36c9210c9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bd07f1487f595b0b0bc920fb0722',
'7f0e397bd097c36b0b6fc9210c8dc2',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf7f1487f595b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf7f1487f595b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf7f1487f531b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c965cc920e',
'97bcf7f1487f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b97bd19801ec9210c9274c920e',
'97bcf7f0e47f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'9778397bd097c36b0b6fc9210c91aa',
'97b6b97bd197c36c9210c9274c920e',
'97bcf7f0e47f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'9778397bd097c36b0b6fc9210c8dc2',
'9778397bd097c36c9210c9274c920e',
'97b6b7f0e47f531b0723b0b6fb0722',
'7f0e37f5307f595b0b0bc920fb0722',
'7f0e397bd097c36b0b6fc9210c8dc2',
'9778397bd097c36b0b70c9274c91aa',
'97b6b7f0e47f531b0723b0b6fb0721',
'7f0e37f1487f595b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc9210c8dc2',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f595b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'9778397bd097c36b0b6fc9274c91aa',
'97b6b7f0e47f531b0723b0787b0721',
'7f0e27f0e47f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'9778397bd097c36b0b6fc9210c91aa',
'97b6b7f0e47f149b0723b0787b0721',
'7f0e27f0e47f531b0723b0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'9778397bd097c36b0b6fc9210c8dc2',
'977837f0e37f149b0723b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0722',
'7f0e37f5307f595b0b0bc920fb0722',
'7f0e397bd097c35b0b6fc9210c8dc2',
'977837f0e37f14998082b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e37f1487f595b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc9210c8dc2',
'977837f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'977837f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd097c35b0b6fc920fb0722',
'977837f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'977837f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'977837f0e37f14998082b0787b06bd',
'7f07e7f0e47f149b0723b0787b0721',
'7f0e27f0e47f531b0b0bb0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'977837f0e37f14998082b0723b06bd',
'7f07e7f0e37f149b0723b0787b0721',
'7f0e27f0e47f531b0723b0b6fb0722',
'7f0e397bd07f595b0b0bc920fb0722',
'977837f0e37f14898082b0723b02d5',
'7ec967f0e37f14998082b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0722',
'7f0e37f1487f595b0b0bb0b6fb0722',
'7f0e37f0e37f14898082b0723b02d5',
'7ec967f0e37f14998082b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0722',
'7f0e37f1487f531b0b0bb0b6fb0722',
'7f0e37f0e37f14898082b0723b02d5',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e37f1487f531b0b0bb0b6fb0722',
'7f0e37f0e37f14898082b072297c35',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e37f0e37f14898082b072297c35',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e37f0e366aa89801eb072297c35',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f149b0723b0787b0721',
'7f0e27f1487f531b0b0bb0b6fb0722',
'7f0e37f0e366aa89801eb072297c35',
'7ec967f0e37f14998082b0723b06bd',
'7f07e7f0e47f149b0723b0787b0721',
'7f0e27f0e47f531b0723b0b6fb0722',
'7f0e37f0e366aa89801eb072297c35',
'7ec967f0e37f14998082b0723b06bd',
'7f07e7f0e37f14998083b0787b0721',
'7f0e27f0e47f531b0723b0b6fb0722',
'7f0e37f0e366aa89801eb072297c35',
'7ec967f0e37f14898082b0723b02d5',
'7f07e7f0e37f14998082b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0722',
'7f0e36665b66aa89801e9808297c35',
'665f67f0e37f14898082b0723b02d5',
'7ec967f0e37f14998082b0787b0721',
'7f07e7f0e47f531b0723b0b6fb0722',
'7f0e36665b66a449801e9808297c35',
'665f67f0e37f14898082b0723b02d5',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e36665b66a449801e9808297c35',
'665f67f0e37f14898082b072297c35',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e26665b66a449801e9808297c35',
'665f67f0e37f1489801eb072297c35',
'7ec967f0e37f14998082b0787b06bd',
'7f07e7f0e47f531b0723b0b6fb0721',
'7f0e27f1487f531b0b0bb0b6fb0722'
],
/**
* 24
* @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
*/
solarTerm: [
'\u5c0f\u5bd2',
'\u5927\u5bd2',
'\u7acb\u6625',
'\u96e8\u6c34',
'\u60ca\u86f0',
'\u6625\u5206',
'\u6e05\u660e',
'\u8c37\u96e8',
'\u7acb\u590f',
'\u5c0f\u6ee1',
'\u8292\u79cd',
'\u590f\u81f3',
'\u5c0f\u6691',
'\u5927\u6691',
'\u7acb\u79cb',
'\u5904\u6691',
'\u767d\u9732',
'\u79cb\u5206',
'\u5bd2\u9732',
'\u971c\u964d',
'\u7acb\u51ac',
'\u5c0f\u96ea',
'\u5927\u96ea',
'\u51ac\u81f3'
],
/**
* <=>
* @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
*/
Animals: [
'\u9f20',
'\u725b',
'\u864e',
'\u5154',
'\u9f99',
'\u86c7',
'\u9a6c',
'\u7f8a',
'\u7334',
'\u9e21',
'\u72d7',
'\u732a'
],
/**
*
* @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"]
*/
Gan: [
'\u7532',
'\u4e59',
'\u4e19',
'\u4e01',
'\u620a',
'\u5df1',
'\u5e9a',
'\u8f9b',
'\u58ec',
'\u7678'
],
/**
*
* @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"]
*/
Zhi: [
'\u5b50',
'\u4e11',
'\u5bc5',
'\u536f',
'\u8fb0',
'\u5df3',
'\u5348',
'\u672a',
'\u7533',
'\u9149',
'\u620c',
'\u4ea5'
],
/**
*
* @trans ['日','一','二','三','四','五','六','七','八','九','十']
*/
nStr1: [
'\u65e5',
'\u4e00',
'\u4e8c',
'\u4e09',
'\u56db',
'\u4e94',
'\u516d',
'\u4e03',
'\u516b',
'\u4e5d',
'\u5341'
],
/**
*
* @trans ['初','十','廿','卅']
*/
nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
/**
*
* @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
*/
nStr3: [
'\u6b63',
'\u4e8c',
'\u4e09',
'\u56db',
'\u4e94',
'\u516d',
'\u4e03',
'\u516b',
'\u4e5d',
'\u5341',
'\u51ac',
'\u814a'
],
/**
*
**/
sFtv: [
'0101 元旦',
'0214 情人节',
'0308 妇女节',
'0312 植树节',
'0315 消费者权益日',
'0401 愚人节',
'0501 劳动节',
'0504 青年节',
'0512 护士节',
'0601 儿童节',
'0701 建党节',
'0801 建军节',
'0910 教师节',
'0928 孔子诞辰',
'1001 国庆节',
'1006 老人节',
'1024 联合国日',
'1224 平安夜',
'1225 圣诞节',
'1101 万圣节',
'1213 国家公祭日'
],
/**
*
**/
lFtv: [
'0101 春节',
'0115 元宵节',
'0505 端午节',
'0707 七夕情人节',
'0715 中元节',
'0815 中秋节',
'0909 重阳节',
'1208 腊八节',
'1224 小年'
],
/**
*
**/
monthStr: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'],
/**
* 1900-2100
* @Array Of Property
* @return Hex
*/
lunarInfo: [
0x04bd8,
0x04ae0,
0x0a570,
0x054d5,
0x0d260,
0x0d950,
0x16554,
0x056a0,
0x09ad0,
0x055d2, //1900-1909
0x04ae0,
0x0a5b6,
0x0a4d0,
0x0d250,
0x1d255,
0x0b540,
0x0d6a0,
0x0ada2,
0x095b0,
0x14977, //1910-1919
0x04970,
0x0a4b0,
0x0b4b5,
0x06a50,
0x06d40,
0x1ab54,
0x02b60,
0x09570,
0x052f2,
0x04970, //1920-1929
0x06566,
0x0d4a0,
0x0ea50,
0x06e95,
0x05ad0,
0x02b60,
0x186e3,
0x092e0,
0x1c8d7,
0x0c950, //1930-1939
0x0d4a0,
0x1d8a6,
0x0b550,
0x056a0,
0x1a5b4,
0x025d0,
0x092d0,
0x0d2b2,
0x0a950,
0x0b557, //1940-1949
0x06ca0,
0x0b550,
0x15355,
0x04da0,
0x0a5b0,
0x14573,
0x052b0,
0x0a9a8,
0x0e950,
0x06aa0, //1950-1959
0x0aea6,
0x0ab50,
0x04b60,
0x0aae4,
0x0a570,
0x05260,
0x0f263,
0x0d950,
0x05b57,
0x056a0, //1960-1969
0x096d0,
0x04dd5,
0x04ad0,
0x0a4d0,
0x0d4d4,
0x0d250,
0x0d558,
0x0b540,
0x0b6a0,
0x195a6, //1970-1979
0x095b0,
0x049b0,
0x0a974,
0x0a4b0,
0x0b27a,
0x06a50,
0x06d40,
0x0af46,
0x0ab60,
0x09570, //1980-1989
0x04af5,
0x04970,
0x064b0,
0x074a3,
0x0ea50,
0x06b58,
0x055c0,
0x0ab60,
0x096d5,
0x092e0, //1990-1999
0x0c960,
0x0d954,
0x0d4a0,
0x0da50,
0x07552,
0x056a0,
0x0abb7,
0x025d0,
0x092d0,
0x0cab5, //2000-2009
0x0a950,
0x0b4a0,
0x0baa4,
0x0ad50,
0x055d9,
0x04ba0,
0x0a5b0,
0x15176,
0x052b0,
0x0a930, //2010-2019
0x07954,
0x06aa0,
0x0ad50,
0x05b52,
0x04b60,
0x0a6e6,
0x0a4e0,
0x0d260,
0x0ea65,
0x0d530, //2020-2029
0x05aa0,
0x076a3,
0x096d0,
0x04afb,
0x04ad0,
0x0a4d0,
0x1d0b6,
0x0d250,
0x0d520,
0x0dd45, //2030-2039
0x0b5a0,
0x056d0,
0x055b2,
0x049b0,
0x0a577,
0x0a4b0,
0x0aa50,
0x1b255,
0x06d20,
0x0ada0, //2040-2049
/**Add By JJonline@JJonline.Cn**/
0x14b63,
0x09370,
0x049f8,
0x04970,
0x064b0,
0x168a6,
0x0ea50,
0x06b20,
0x1a6c4,
0x0aae0, //2050-2059
0x0a2e0,
0x0d2e3,
0x0c960,
0x0d557,
0x0d4a0,
0x0da50,
0x05d55,
0x056a0,
0x0a6d0,
0x055d4, //2060-2069
0x052d0,
0x0a9b8,
0x0a950,
0x0b4a0,
0x0b6a6,
0x0ad50,
0x055a0,
0x0aba4,
0x0a5b0,
0x052b0, //2070-2079
0x0b273,
0x06930,
0x07337,
0x06aa0,
0x0ad50,
0x14b55,
0x04b60,
0x0a570,
0x054e4,
0x0d160, //2080-2089
0x0e968,
0x0d520,
0x0daa0,
0x16aa6,
0x056d0,
0x04ae0,
0x0a9d4,
0x0a2d0,
0x0d150,
0x0f252, //2090-2099
0x0d520
], //2100
/**
*
*/
weekDays: {
'060300': '父亲节',
'050200': '母亲节'
},
/**
*
* @Array Of Property
* @return Number
*/
solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
};

7
src/api/calendar/utils.ts

@ -0,0 +1,7 @@
/**
*
* @returns {String}
*/
export function clockFactory(time: number): string {
return `${time >= 10 ? time : '0' + time}`;
}

108
src/components/DesignForm/app/calendar/calendar1/calendarPage.vue

@ -0,0 +1,108 @@
<!--
@ 作者: 秦东
@ 时间: 2024-07-12 09:27:42
@ 备注: 日历
-->
<script lang='ts' setup>
import DateClass from '@/api/calendar/DateClass';
const props = defineProps({
data: {
type: Object,
default() {
return {};
},
},
bodyHight:Number,
});
const taday = ref<any>([]);
const curtteDayType = ref(1)
const curtteDay = ref(1)
const curttWeek = computed(()=>{
if(taday.value.length <= 0){
taday.value = DateClass.getCurrent()
}
return DateClass.getWeek(DateClass.solarWeek(taday.value[0],taday.value[1],taday.value[2]))
})
const curtteMonth = computed(()=>{
if(taday.value.length <= 0){
taday.value = DateClass.getCurrent()
}
if(taday.value.length >= 2){
return taday.value[0]+"年"+taday.value[1]+"月"
}
})
/**
@ 作者: 秦东
@ 时间: 2024-07-12 11:12:12
@ 功能: 后退时间
*/
const backTime = () =>{
if(taday.value.length <= 0){
taday.value = DateClass.getCurrent()
}
taday.value = DateClass.gobackTime(taday.value[0],taday.value[1],taday.value[2],curtteDayType.value)
}
/**
@ 作者: 秦东
@ 时间: 2024-07-12 14:04:06
@ 功能: 前进时间
*/
const forwardTime = () =>{
if(taday.value.length <= 0){
taday.value = DateClass.getCurrent()
}
}
</script>
<template>
<div class="calBox" :style="'height:calc(100vh - '+ props.bodyHight +'px)'">
<!--日历头部-->
<div class="calHead">
<div>
<i class="fa fa-calendar icont"></i>
<el-text class="day">{{curtteMonth}}</el-text>
<el-text class="week">{{curttWeek}}</el-text>
</div>
<div>
<el-button-group class="ml-4">
<el-button size="small" >今天</el-button>
<el-button :color="curtteDayType==1?'#a0cfff':''" @click="curtteDayType=1" size="small" ></el-button>
<el-button :color="curtteDayType==2?'#a0cfff':''" @click="curtteDayType=2" size="small" ></el-button>
<el-button :color="curtteDayType==3?'#a0cfff':''" @click="curtteDayType=3" size="small" ></el-button>
<el-button size="small" class="fa fa-angle-left" @click="backTime()"></el-button>
<el-button size="small" class="fa fa-angle-right" @click="forwardTime()"></el-button>
</el-button-group>
</div>
</div>
<div class="weekNumber">
{{DateClass.getMonday(taday[0],taday[1],taday[2],'e',0) }}
</div>
</div>
</template>
<style lang='scss' scoped>
.calBox{
width: 100%;
.calHead{
padding: 10px 0;
border-bottom: 1px solid #ccc;
display: flex;
align-items: center;
justify-content: space-between;
.icont{
font-size:20px;
}
.day{
font-size:20px;
padding: 0 10px;
font-weight: bold;
}
}
.weekNumber{
}
}
</style>

202
src/components/DesignForm/app/calendar/calendar1/handle.ts

@ -0,0 +1,202 @@
const getMonthFinalDay = (index: any) => {
let data: any = new Date();
let year: any = data.getFullYear();
let month: any = data.getMonth() + 1;
let day: any = data.getDate();
let beginDate: any = '',
endDate: any = '';
switch (index) {
//今天
case '0':
beginDate = getDate(0)
endDate = getDate(0) + " 23:59:59";
break;
//昨天
case '1':
beginDate = getDate(-1)
endDate = getDate(-1) + " 23:59:59";
break;
//明天
case '2':
beginDate = getDate(1)
endDate = getDate(1) + " 23:59:59";
break;
//本周
case '3':
beginDate = getMonday('s', 0)
endDate = getMonday('e', 0);
break;
//上周
case '4':
beginDate = getMonday('s', -1)
endDate = getMonday('e', -1);
break;
//下周
case '5':
beginDate = getMonday('s', 1)
endDate = getMonday('e', 1);
break;
//本月
case '6':
beginDate = getMonth('s', 0)
endDate = getMonth('e', 0);
break;
//上月
case '7':
beginDate = getMonth('s', -1)
endDate = getMonth('e', -1);
break;
//下月
case '8':
beginDate = getMonth('s', 1)
endDate = getMonth('e', 1);
break;
//本年
case '9':
beginDate = getYear('s', 0)
endDate = year + '-' + month + '-' + day;
break;
//去年
case '10':
beginDate = getYear('s', -1)
endDate = getYear('e', -1);
break;
//明年
case '11':
beginDate = getYear('s', 1)
endDate = getYear('e', 1);
break;
//全年
case '12':
beginDate = getYear('s', 0)
endDate = getYear('e', 0);
break;
default:
beginDate = "1970-01-01 00:00:01"
endDate = "3000-12-31 23:59:59";
break;
}
return {
beginDate,
endDate
}
}
/**
@ 作者: 秦东
@ 时间: 2024-07-11 16:14:28
@ 功能: 日期
*/
const getDate = (dates: any) => {
let date: any = new Date();
let n: any = dates || 0;
date.setDate(date.getDate() + n);
let y: any = date.getFullYear();
let m: any = date.getMonth() + 1;
let d: any = date.getDate();
m = m < 10 ? "0" + m : m;
d = d < 10 ? "0" + d : d;
let day = y + "-" + m + "-" + d;
return day;
}
/**
@ 作者: 秦东
@ 时间: 2024-07-11 16:14:28
@ 功能:
*/
const getMonday = (type: any, dates: any) => {
let now = new Date();
let nowTime = now.getTime();
let day = now.getDay();
let longTime = 24 * 60 * 60 * 1000;
let n = longTime * 7 * (dates || 0);
let date: any = ''
if (type == "s") {
date = nowTime - (day - 1) * longTime + n;
};
if (type == "e") {
date = nowTime + (7 - day) * longTime + n;
};
date = new Date(date);
let y: any = date.getFullYear();
let m: any = date.getMonth() + 1;
let d: any = date.getDate();
m = m < 10 ? "0" + m : m;
d = d < 10 ? "0" + d : d;
let days = y + "-" + m + "-" + d;
return days;
}
/**
@ 作者: 秦东
@ 时间: 2024-07-11 16:16:01
@ 功能: 月份
*/
const getMonth = (type: any, months: any) => {
let date: any = new Date();
let year: any = date.getFullYear();
let month: any = date.getMonth() + 1;
if (Math.abs(months) > 12) {
months = months % 12;
};
if (months != 0) {
if (month + months > 12) {
year++;
month = (month + months) % 12;
} else if (month + months < 1) {
year--;
month = 12 + month + months;
} else {
month = month + months;
};
};
month = month < 10 ? "0" + month : month;
let firstday = year + "-" + month + "-" + "01";
let lastday = "";
if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") {
lastday = year + "-" + month + "-" + 31;
} else if (month == "02") {
if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {
lastday = year + "-" + month + "-" + 29;
} else {
lastday = year + "-" + month + "-" + 28;
};
} else {
lastday = year + "-" + month + "-" + 30;
};
let day = "";
if (type == "s") {
day = firstday;
} else {
day = lastday;
};
return day;
}
/**
@ 作者: 秦东
@ 时间: 2024-07-11 16:16:52
@ 功能:
*/
const getYear = (type: any, dates: any) => {
let date: any = new Date();
let n: any = dates || 0;
let year: any = date.getFullYear() + Number(n);
let day = ''
if (type == "s") {
day = year + "-01-01";
};
if (type == "e") {
day = year + "-12-31";
};
if (!type) {
day = year + "-01-01/" + year + "-12-31";
};
return day;
}
export {
getMonthFinalDay,
getDate,
getMonday,
getMonth,
getYear
}

0
src/components/DesignForm/app/calendar/calendar1/type.ts

32
src/components/DesignForm/app/calendarPage.vue

@ -0,0 +1,32 @@
<!--
@ 作者: 秦东
@ 时间: 2024-07-10 11:05:18
@ 备注: 日历
-->
<script lang="ts" setup>
import { ref } from 'vue'
import {
getMonthFinalDay,
getDate,
getMonday,
getMonth,
getYear
} from '@/components/DesignForm/app/calendar/calendar1/handle'
//
import CalendarPage from '@/components/DesignForm/app/calendar/calendar1/calendarPage.vue'
const value = ref(new Date())
let timek = new Date()
</script>
<template>
<CalendarPage :body-hight="345" />
</template>
<style lang='scss' scoped>
</style>

43
src/components/DesignForm/app/index.vue

@ -22,6 +22,8 @@ import { softDeletion,retractRunWorkFlow } from '@/api/taskapi/management'
import FormPageCont from '@/components/DesignForm/tableListPage/formPageCont.vue'
import TableFlow from '@/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue'
import TimeAxisPage from '@/components/DesignForm/app/timeAxis.vue'
import CalendarPage from '@/components/DesignForm/app/calendarPage.vue'
const props = withDefaults(
defineProps<{
@ -294,7 +296,12 @@ watch(()=>props.formId,(val:any)=>{
})
const timeAxisRef = ref(null)
const searchSend = reactive({
formId:props.formId,
page:state.currentPage,
pagesize:state.pageSize,
searchData:json2string(props.searchData)
})
/**
@ 作者: 秦东
@ -303,13 +310,13 @@ const timeAxisRef = ref(null)
*/
const getPageData = () => {
let sendData = {
formId:props.formId,
page:state.currentPage,
pagesize:state.pageSize,
searchData:json2string(props.searchData)
}
console.log("获取列表详细信息",sendData)
// let sendData = {
// formId:props.formId,
// page:state.currentPage,
// pagesize:state.pageSize,
// searchData:json2string(props.searchData)
// }
// console.log("",sendData)
switch(viewType.value){
@ -318,7 +325,7 @@ const getPageData = () => {
case 3:
nextTick(()=>{
console.log("获取列表详细信息-------222---------->",timeAxisRef.value)
timeAxisRef.value.searchTimeList(sendData)
// timeAxisRef.value.searchTimeList(searchSend)
})
break;
@ -328,7 +335,7 @@ const getPageData = () => {
break;
default:
state.loading = true;
gainFormPageListCont(sendData)
gainFormPageListCont(searchSend)
.then((data)=>{
console.log("获取列表详细信息----------------->",data)
tableDataList.value = data.data.list
@ -849,15 +856,17 @@ const tabsView = (val:any,types:number) => {
/>
</div>
</el-col>
<el-col v-if="viewType==2" :span="24">
<CalendarPage />
</el-col>
<el-col v-if="viewType==3" :span="24">
<TimeAxisPage ref="timeAxisRef" :data="tableDataList" :view-layout="viewLayout" :columns-filter="columnsFilter" />
<TimeAxisPage ref="timeAxisRef" :data="tableDataList" :view-layout="viewLayout" :columns-filter="columnsFilter" :search-send="searchSend" />
</el-col>
<el-col :span="24" style="display:none">
{{ props.data}}
<el-col v-if="viewType==4" :span="24">
甘特图
</el-col>
<el-col v-if="viewType==5" :span="24">
地图
</el-col>
<el-col :span="24" style="display:none">
<el-button-group>

68
src/components/DesignForm/app/nginx.ini

@ -0,0 +1,68 @@
location /systemapi {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/systemapi/(.*)$ /$1 break;
proxy_pass http://36.133.126.182:39250; #设置代理服务器的协义和地址
#proxy_pass http://120.224.6.6:60001;
}
location /kpiapi {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/kpiapi/(.*)$ /$1 break;
proxy_pass http://36.133.126.182:6666; #设置代理服务器的协义和地址
#proxy_pass http://120.224.6.6:60002;
}
location /hrapi {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/hrapi/(.*)$ /$1 break;
proxy_pass http://120.224.6.6:39168; #设置代理服务器的协义和地址
}
location /api {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://36.133.126.182:8888; #设置代理服务器的协义和地址
}
location /javasys {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/javasys/(.*)$ /$1 break;
proxy_pass http://36.133.126.182:8111; #设置代理服务器的协义和地址
}
location /javasys/lowCode {
#host修改为真实的域名和端口
proxy_set_header Host $http_host;
#客户真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#客户端真实协议
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/javasys/(.*)$ /$1 break;
proxy_pass http://36.133.126.182:39999; #设置代理服务器的协义和地址
}

173
src/components/DesignForm/app/timeAxis.vue

@ -4,7 +4,10 @@
@ 备注: 自定义应用时间轴视图
-->
<script lang='ts' setup>
import { multiViewPage } from '@/api/DesignForm/requestapi'
import {
json2string
} from '@/utils/DesignForm/form'
const props = defineProps({
data:{
type:Object,
@ -23,26 +26,49 @@ const props = defineProps({
default(){
return {}
}
},
searchSend:{
type:Object,
default(){
return {}
}
}
});
const svg = `
<path class="path" d="
M 30 15
L 28 17
M 25.61 25.61
A 15 15, 0, 0, 1, 15 30
A 15 15, 0, 1, 1, 27.99 7.5
L 15 15
" style="stroke-width: 4px; fill: rgba(0, 0, 0, 0)"/>
`
const loadTimePage = ref(false)
const noMore = ref(false)
const timeDisabled = computed(() => noMore.value || loadTimePage.value)
let chuDiNumber = 0
const loadTimeLog = () =>{
noMore.value = true
loadTimePage.value = true
chuDiNumber ++
console.log("触底次数",chuDiNumber)
// console.log("",chuDiNumber,loadTimePage.value)
if(loadTimePage.value){
props.searchSend.page= chuDiNumber
searchTimeList(props.searchSend)
}
}
const total = ref<number>(0)
const count = ref<number>(0)
const timeInfoList = ref<any[]>([])
/**
@ 作者: 秦东
@ 时间: 2024-07-08 13:11:43
@ 功能: 时间轴数据搜索
*/
const searchTimeList = (val:any) =>{
loadTimePage.value = true
console.log("时间轴数据搜索",val)
console.log("时间轴数据搜索--->",props.columnsFilter)
val.viewClass = {
@ -54,17 +80,126 @@ const searchTimeList = (val:any) =>{
dayType:"",
mapWord:""
}
console.log("时间轴数据搜索-11111-->",timeInfoList.value.length)
if(timeInfoList.value.length > 0){
val.oldData = json2string(timeInfoList.value)
}else{
val.oldData = ""
}
multiViewPage(val)
.then((data:any) =>{
console.log("时间轴数据搜索--1->",data)
total.value = data.data.total
count.value = data.data.count
timeInfoList.value = data.data.list
if(data.data.count == val.pagesize){
noMore.value = false
}else{
noMore.value = true
}
})
.finally(()=>{
nextTick(()=>{
loadTimePage.value = false
})
})
}
defineExpose({
searchTimeList
})
/**
@ 作者: 秦东
@ 时间: 2024-07-09 16:21:03
@ 功能: 判断当前值
*/
const judgeGainVal = (key:string,val:any) => {
console.log("判断当前值--1->",val)
if(val[key]){
return val[key]
}
return ""
// console.log("--3->",val[key])
// if(val){
// val.forEach((item,index)=>{
// console.log("--3->",item,index)
// })
// }
}
/**
@ 作者: 秦东
@ 时间: 2024-07-09 16:32:06
@ 功能: 要显示得字段
*/
const showWork = computed(() => {
let ary = [];
if(props.columnsFilter){
props.columnsFilter.forEach((item)=>{
if(item.fieldClass != "-" && item.fieldClass != "__control"){
ary.push(item)
}
})
}
return ary
})
</script>
<template>
<ul v-infinite-scroll="loadTimeLog" class="infinite-list" :infinite-scroll-disabled="timeDisabled">
{{viewLayout}}
<!-- {{viewLayout}} -->
<el-timeline :reverse="true" class="timeLineStyle" >
<el-timeline-item center v-for="(item,index) in props.data" :key="index" :hollow="index%3==0" :type="index%3==0?'primary':''" :icon="index%3==0?'':'MoreFilled'" :size="index%3==0?'large':''">
<el-timeline-item center v-for="(item,sunIndex) in timeInfoList" :key="index" :hollow="item.class_type$unit==1" :type="item.class_type$unit==1?'primary':''" :icon="item.class_type$unit==1?'':'MoreFilled'" :size="item.class_type$unit==1?'large':''">
<div class="timeLeft" v-if="item.class_type$unit==1">
<table>
<tr>
<td rowspan="2">
<el-text class="leftDay">{{item.day}}</el-text>
</td>
<td >
<el-text>{{item.weekDay}}</el-text>
</td>
</tr>
<tr>
<td >
<el-text>{{item.dateTime}}</el-text>
</td>
</tr>
</table>
</div>
<div class="leftCont" v-if="item.class_type$unit==1">
</div>
<el-card v-if="item.class_type$unit!=1">
<el-descriptions
class="margin-top"
title=""
:column="3"
border
>
<el-descriptions-item v-for="itemField in showWork" :label="itemField.label" >
{{judgeGainVal(itemField.field,item)}}
</el-descriptions-item>
</el-descriptions>
<!-- <div v-for="itemField in props.columnsFilter" >
<div v-if="itemField.fieldClass!='-'&&itemField.fieldClass!='__control'">
{{itemField.label}}:{{judgeGainVal(itemField.field,item)}}
</div>
</div> -->
</el-card>
</el-timeline-item>
<!-- <el-timeline-item center v-for="(item,index) in props.data" :key="index" :hollow="index%3==0" :type="index%3==0?'primary':''" :icon="index%3==0?'':'MoreFilled'" :size="index%3==0?'large':''">
<div class="timeLeft" v-if="index%3==0">
<table>
<tr>
@ -86,13 +221,21 @@ defineExpose({
</div>
<el-card v-if="index%3!=0">
<h4>Update Github template</h4>
<p v-for="item in props.columnsFilter">{{item.fieldClass}}</p>
<div v-for="item in props.columnsFilter" >
<div v-if="item.fieldClass!='-'&&item.fieldClass!='__control'">
{{item.label}}{{item.fieldClass!='-'}}
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline-item> -->
</el-timeline>
<p v-if="loadTimePage">Loading...</p>
<p v-if="noMore">数据已全部展示</p>
<p class="jichuClass"
v-loading="loadTimePage"
element-loading-text="Loading..."
:element-loading-spinner="svg"
element-loading-svg-view-box="-10, -10, 50, 50"
></p>
<p class="jichuClass sizeMove" v-if="noMore">数据已全部展示</p>
</ul>
</template>
<style lang='scss' scoped>
@ -119,4 +262,12 @@ defineExpose({
padding: 0 5px 0 0;
vertical-align: middle; /* 垂直居中 */
}
.jichuClass{
width: 100%;
text-align: center;
}
.sizeMove{
color: #FF0000;
font-size: 14px
}
</style>

1
src/types/components.d.ts

@ -16,6 +16,7 @@ declare module '@vue/runtime-core' {
ApproverDrawer: typeof import('./../components/workflow/drwer/approverDrawer.vue')['default']
BianXian: typeof import('./../components/DesignForm/designLayout/bianXian.vue')['default']
Breadcrumb: typeof import('./../components/Breadcrumb/index.vue')['default']
CalendarPage: typeof import('./../components/DesignForm/app/calendarPage.vue')['default']
ChildTable: typeof import('./../components/DesignForm/public/form/childTable.vue')['default']
ConditionDrawer: typeof import('./../components/workflow/drwer/conditionDrawer.vue')['default']
CopyerDrawer: typeof import('./../components/workflow/drwer/copyerDrawer.vue')['default']

Loading…
Cancel
Save