fhrons-mobile-next 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.env.poc +8 -0
  2. package/assets/css/colors.js +6 -0
  3. package/assets/css/customVant.less +60 -0
  4. package/assets/css/extra.css +32 -0
  5. package/assets/css/global.css +1 -0
  6. package/assets/css/global.less +1637 -0
  7. package/assets/css/index.js +63 -0
  8. package/assets/css/static.less +607 -0
  9. package/assets/js/func.js +361 -0
  10. package/assets/js/globalData.js +18 -0
  11. package/assets/js/qywxapi.js +484 -0
  12. package/{packages → assets/js}/storage.js +1 -20
  13. package/assets/js/upload.js +269 -0
  14. package/assets/js/validate.js +48 -0
  15. package/assets/js/vant.js +39 -0
  16. package/assets/js/wxapi.js +297 -0
  17. package/assets/vantLang/index.js +172 -0
  18. package/assets/vantLang/lib/en-US.js +95 -0
  19. package/assets/vantLang/lib/es-ES.js +95 -0
  20. package/assets/vantLang/lib/pt-PT.js +96 -0
  21. package/assets/vantLang/lib/zh-CN.js +96 -0
  22. package/assets/vantLang/lib/zh-HK.js +96 -0
  23. package/assets/vantLang/locales/en_US.js +102 -0
  24. package/assets/vantLang/locales/es_ES.js +102 -0
  25. package/assets/vantLang/locales/index.js +12 -0
  26. package/assets/vantLang/locales/pt_PT.js +102 -0
  27. package/assets/vantLang/locales/zh_CN.js +102 -0
  28. package/assets/vantLang/locales/zh_T.js +102 -0
  29. package/babel.config.js +15 -0
  30. package/index.js +68 -33
  31. package/inject-env-plugin.js +29 -0
  32. package/package.json +46 -32
  33. package/packages/areaMobile/index.js +5 -0
  34. package/packages/areaMobile/index.vue +260 -0
  35. package/packages/autoGraph/VueEsign.vue +309 -0
  36. package/packages/autoGraph/index.js +5 -0
  37. package/packages/autoGraph/index.vue +472 -0
  38. package/packages/commonForm/CommonAsyncAreaPicker.vue +223 -0
  39. package/packages/commonForm/CommonDatePicker.vue +152 -0
  40. package/packages/commonForm/CommonForm.vue +786 -0
  41. package/packages/commonForm/CommonFullTimePicker.vue +137 -0
  42. package/packages/commonForm/CommonSinglePicker.vue +121 -0
  43. package/packages/commonForm/CommonYearMonthPicker.vue +127 -0
  44. package/packages/commonForm/index.js +33 -0
  45. package/packages/dialog/index.js +32 -0
  46. package/packages/dialog/index.vue +379 -0
  47. package/packages/index.js +7 -3
  48. package/packages/introduce/index.js +5 -0
  49. package/packages/introduce/index.vue +31 -0
  50. package/packages/loading/Loading.vue +70 -0
  51. package/packages/loading/index.js +43 -0
  52. package/packages/mindMap/index.js +5 -0
  53. package/packages/mindMap/index.vue +437 -0
  54. package/packages/pdfViewer/index.js +12 -0
  55. package/packages/pdfViewer/index.vue +131 -0
  56. package/packages/sharePanel/SheetPanel.vue +316 -0
  57. package/packages/sharePanel/index.js +5 -0
  58. package/packages/sharePanel/index.vue +476 -0
  59. package/packages/sharePanel/props.js +58 -0
  60. package/packages/sharePanel/utils/QyWxShareMixin.js +93 -0
  61. package/packages/sharePanel/utils/shareWay.js +81 -0
  62. package/packages/theme/index copy.js +89 -0
  63. package/packages/theme/index.js +38 -0
  64. package/packages/theme/theme.css +910 -0
  65. package/packages/theme/theme.less +26 -0
  66. package/packages/uploadFile/VanUploadFile.vue +80 -0
  67. package/packages/uploadFile/index.js +5 -0
  68. package/packages/uploadFile/index.vue +725 -0
  69. package/packages/uploadFile/vanUpload.js +5 -0
  70. package/packages/verify/Verify/VerifyPoints.vue +247 -0
  71. package/packages/verify/Verify/VerifySlide.vue +364 -0
  72. package/packages/verify/index.js +5 -0
  73. package/packages/verify/index.vue +416 -0
  74. package/packages/verify/utils/verify.js +53 -0
  75. package/packages/videoPage/index.js +5 -0
  76. package/packages/videoPage/index.vue +440 -0
  77. package/plugins/sensors/fhsensors.js +84 -0
  78. package/plugins/sensors/sensors.js +175 -0
  79. package/plugins/sensors/sensorsFun.js +1387 -0
  80. package/fhrons-mobile-next-2.0.0.tgz +0 -0
  81. package/packages/fhImage/index.js +0 -5
  82. package/packages/fhImage/index.vue +0 -57
  83. package/packages/fhPresetImage/index.js +0 -5
  84. package/packages/fhPresetImage/index.vue +0 -39
  85. package/packages/html2canvas/index.js +0 -29
  86. package/upload copy.js +0 -468
  87. package/utils/tools.js +0 -22
  88. /package/{dist → fhcommon/dist}/fhcommon.min.js +0 -0
  89. /package/{dist → fhcommon/dist}/fhcommon.min.js.LICENSE.txt +0 -0
  90. /package/{upload.js → fhcommon/upload.js} +0 -0
@@ -0,0 +1,137 @@
1
+ <!-- 功能:全时间组件; 时间:2021年11月10日 11:46:03-->
2
+ <template>
3
+ <div id="CommonFullTimePicker">
4
+ <van-field v-show="item.show !== false" :ref="item['prop']" v-model="model[item['prop']]" :label-class="item.labelClass" :label-width="item.labelWidth" :input-align="item.inputAlign || 'right'" :class="[item.class, underLine ? 'underLine' : '']" class="field-select" :required="item.required" readonly :type="item.displayType || 'textarea'" :rows="item.displayRows || '1'" :autosize="typeof item.autosize === 'function' ? item.autosize() : true" :right-icon="item.readOnly ? '' : 'arrow'" :label="item.title" :name="item.prop" :rules="item.rule" :placeholder="item.placeholder || $t('financialinfo.carinfo.42bfwl')" @input="fieldChange($event, item, model)" @click="clickEvent($event, item)">
5
+ <template #label>
6
+ <span v-if="item.rule && item.rule[0].required" class="c-ff5c5c ft14 line-height21">*</span>
7
+ <span>{{ item.title }}</span>
8
+ </template>
9
+ </van-field>
10
+ <van-popup v-model="showPop" round position="bottom" :closeable="true" get-container="#app" class="over-hidden ps-f" :item-height="`${48 / 37.5}rem`" :close-icon="'https://dop-pro-1251973116.file.myqcloud.com/upload/img/funzg/icon_zhankailine.png'" :style="{ height: '40%' }">
11
+ <van-datetime-picker v-model="modelDate" type="datetime" :title="$t('commonform.commondatepicker.3y9tp1')" :confirm-button-text="$t('productcomponents.compareproup.tg417c')" :cancel-button-text="$t('dataenrichcompoentns.basicinfoform.434f5b')" :min-date="minDate" :max-date="maxDate" :filter="filter" :formatter="formatter" @confirm="(value, pIdx) => onConfirm(value, pIdx, index, item)" @cancel="showPop = false" />
12
+ </van-popup>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { getTranslateMonth } from "../../assets/vantLang";
18
+ export default {
19
+ // 组件名称
20
+ name: "CommonFullTimePicker",
21
+ // 组件参数 接收来自父组件的数据
22
+ props: {
23
+ item: {
24
+ type: Object,
25
+ default: () => {},
26
+ },
27
+ index: {
28
+ type: Number,
29
+ default: 0,
30
+ },
31
+ model: {
32
+ type: Object,
33
+ default: () => {},
34
+ },
35
+ cellData: {
36
+ type: Array,
37
+ default: () => [],
38
+ },
39
+ underLine: {
40
+ type: Boolean,
41
+ default: () => false,
42
+ },
43
+ },
44
+ // 组件状态值
45
+ data() {
46
+ return {
47
+ modelDate: new Date(),
48
+ showPop: false,
49
+ };
50
+ },
51
+ computed: {
52
+ maxDate() {
53
+ if (!this.item?.maxDate) return new Date(new Date().getTime() + 31536000000 * 5);
54
+ if (this.item?.maxDate === "current") return new Date();
55
+ const timeArr = this.item.maxDate.split(",");
56
+ return new Date(+timeArr[0], +timeArr[1]);
57
+ },
58
+ minDate() {
59
+ if (!this.item?.minDate) return new Date("1949/12/1");
60
+ if (this.item?.minDate === "current") return new Date();
61
+ const subTime = new Date(this.item?.minDate);
62
+ if (subTime) {
63
+ return subTime;
64
+ }
65
+ const a = this.item?.minDate || "1990,10";
66
+ const timeArr = a.split(",");
67
+ return new Date(+timeArr[0], +timeArr[1]);
68
+ },
69
+ },
70
+ // 侦听器
71
+ watch: {
72
+ item: {
73
+ deep: true,
74
+ immediate: true,
75
+ handler(val) {
76
+ const date = val[this.model["prop"]];
77
+ if (!date) return;
78
+ const year = date.substring(0, 4);
79
+ const month = date.substring(5, 7);
80
+ const day = date.substring(8, 10);
81
+ this.modelDate = (date && new Date(year, month - 1, day)) || new Date(+new Date().getFullYear() - 28, 10, 1);
82
+ },
83
+ },
84
+ },
85
+ methods: {
86
+ formatter(type, val) {
87
+ if (type === "year") {
88
+ return `${val}`;
89
+ } else if (type === "month") {
90
+ return getTranslateMonth(val, "simple");
91
+ } else if (type === "day") {
92
+ return `${val}`;
93
+ }
94
+ return val;
95
+ },
96
+ onConfirm(value, pIdx, index, item, model) {
97
+ const obj = {
98
+ value,
99
+ pIdx,
100
+ index,
101
+ item,
102
+ model,
103
+ };
104
+ this.showPop = false;
105
+ this.$emit("onConfirmPicker", obj);
106
+ },
107
+ fieldChange(val, item, model, allDataArr = this.cellData) {
108
+ const obj = {
109
+ val,
110
+ item,
111
+ model,
112
+ allDataArr,
113
+ };
114
+ this.$emit("pickerFieldChange", obj);
115
+ },
116
+ clickEvent(e, item) {
117
+ if (item.readOnly) {
118
+ e.preventDefault();
119
+ e.stopPropagation();
120
+ return;
121
+ }
122
+ this.showPop = true;
123
+ },
124
+ filter(type, options) {
125
+ const { filterUnit = null } = this.item;
126
+ if (filterUnit && type === "minute") {
127
+ options = options.filter((option, index) => option % filterUnit === 0);
128
+ return options;
129
+ }
130
+ return options;
131
+ },
132
+ },
133
+ };
134
+ </script>
135
+
136
+ <!--使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,-->
137
+ <style scoped lang="less"></style>
@@ -0,0 +1,121 @@
1
+ <!-- 功能:单选项; 作者:LZJ; 时间:2021年11月10日 11:46:03-->
2
+ <template>
3
+ <div id="CommonSinglePicker">
4
+ <van-field
5
+ v-show="item.show!==false"
6
+ :ref="item['prop']"
7
+ v-model="model[item['prop']]"
8
+ :label-class="item.labelClass"
9
+ :label-width="item.labelWidth"
10
+ :class="[item.class, underLine ? 'underLine' : '']"
11
+ class="field-select"
12
+ :required="item.required"
13
+ readonly
14
+ :type="item.displayType || 'textarea'"
15
+ :rows="item.displayRows || '1'"
16
+ :autosize="typeof item.autosize === 'function'?item.autosize():true"
17
+ :right-icon="item.readOnly ? '' : 'arrow'"
18
+ :label="item.title"
19
+ :name="item.prop"
20
+ :rules="item.rule"
21
+ :input-align="item.inputAlign||'right'"
22
+ :placeholder="item.placeholder || $t('financialinfo.carinfo.42bfwl')"
23
+ @input="fieldChange($event, item, model)"
24
+ @click="fieldClick($event, item)"
25
+ >
26
+ <template #label>
27
+ <span v-if="item.rule&&item.rule[0].required" class="c-ff5c5c ft14 line-height21">*</span>
28
+ <span>{{ item.title }}</span>
29
+ </template>
30
+ </van-field>
31
+ <van-popup v-model="showPop" round position="bottom" :closeable="true" get-container="#app" class="over-hidden ps-f" :item-height="`${48 / 37.5}rem`" :close-icon="'https://dop-pro-1251973116.file.myqcloud.com/upload/img/funzg/icon_zhankailine.png'" :style="{ height: '40%' }">
32
+ <van-picker
33
+ v-if="item.popType === 'picker'"
34
+ :confirm-button-text="$t('productcomponents.compareproup.tg417c')"
35
+ :cancel-button-text="$t('dataenrichcompoentns.basicinfoform.434f5b')"
36
+ show-toolbar
37
+ :value-key="item.valueKey"
38
+ :default-index="item.default"
39
+ :title="item.pickerTitle"
40
+ :columns="item.options"
41
+ @confirm="(value, pIdx) => onConfirm(value, pIdx, index, item, model)"
42
+ @cancel="showPop = false"
43
+ />
44
+ </van-popup>
45
+ </div>
46
+ </template>
47
+
48
+ <script>
49
+ export default {
50
+ // 组件名称
51
+ name: 'CommonSinglePicker',
52
+ // 组件参数 接收来自父组件的数据
53
+ props: {
54
+ item: {
55
+ type: Object,
56
+ default: () => {}
57
+ },
58
+ index: {
59
+ type: Number,
60
+ default: 0
61
+ },
62
+ model: {
63
+ type: Object,
64
+ default: () => {}
65
+ },
66
+ cellData: {
67
+ type: Array,
68
+ default: () => []
69
+ },
70
+ underLine: {
71
+ type: Boolean,
72
+ default: () => false
73
+ }
74
+ },
75
+ // 组件状态值
76
+ data() {
77
+ return {
78
+ showPop: false
79
+ };
80
+ },
81
+ // 侦听器
82
+ watch: {
83
+ model: {
84
+ deep: true,
85
+ immediate: true,
86
+ handler(val) {}
87
+ },
88
+ item: {
89
+ deep: true,
90
+ immediate: true,
91
+ handler(val) {}
92
+ }
93
+ },
94
+ methods: {
95
+ onConfirm(value, pIdx, index, item, model) {
96
+ const obj = {
97
+ value,
98
+ pIdx,
99
+ index,
100
+ item,
101
+ model
102
+ };
103
+ this.showPop = false;
104
+ this.$emit('onConfirmPicker', obj);
105
+ },
106
+ fieldChange(val, item, model, allDataArr = this.cellData) {
107
+ const obj = {
108
+ val,
109
+ item,
110
+ model,
111
+ allDataArr
112
+ };
113
+ this.$emit('pickerFieldChange', obj);
114
+ },
115
+ fieldClick(event, item) {
116
+ if (item.readOnly) return;
117
+ this.showPop = true;
118
+ }
119
+ }
120
+ };
121
+ </script>
@@ -0,0 +1,127 @@
1
+ <!-- 功能:功能描述; 作者:LZJ; 时间:2021年11月10日 11:46:03-->
2
+ <template>
3
+ <div id="CommonYearMonthPicker">
4
+ <van-field v-show="item.show !== false" :ref="item['prop']" v-model="model[item['prop']]" :label-class="item.labelClass" :label-width="item.labelWidth" :input-align="item.inputAlign || 'right'" :class="[item.class, underLine ? 'underLine' : '']" class="field-select" :required="item.required" readonly :type="item.displayType || 'textarea'" :rows="item.displayRows || '1'" :autosize="typeof item.autosize === 'function' ? item.autosize() : true" :right-icon="item.readOnly ? '' : 'arrow'" :label="item.title" :name="item.prop" :rules="item.rule" :placeholder="item.placeholder || $t('financialinfo.carinfo.42bfwl')" @input="fieldChange($event, item, model)" @click="clickEvent($event, item)">
5
+ <template #label>
6
+ <span v-if="item.rule && item.rule[0].required" class="c-ff5c5c ft14 line-height21">*</span>
7
+ <span>{{ item.title }}</span>
8
+ </template>
9
+ </van-field>
10
+ <van-popup v-model="showPop" round position="bottom" :closeable="true" get-container="#app" class="over-hidden ps-f" :item-height="`${48 / 37.5}rem`" :close-icon="'https://dop-pro-1251973116.file.myqcloud.com/upload/img/funzg/icon_zhankailine.png'" :style="{ height: '40%' }">
11
+ <van-datetime-picker v-model="modelDate" type="year-month" :confirm-button-text="$t('productcomponents.compareproup.tg417c')" :cancel-button-text="$t('dataenrichcompoentns.basicinfoform.434f5b')" :title="$t('policypages.myteam.lm1c7u')" :min-date="minDate" :max-date="maxDate" :columns-order="['year', 'month']" :formatter="formatter" @confirm="(value, pIdx) => onConfirm(value, pIdx, index, item, model)" @cancel="showPop = false" />
12
+ </van-popup>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { getTranslateMonth } from "../../assets/vantLang";
18
+ export default {
19
+ // 组件名称
20
+ name: "CommonYearMonthPicker",
21
+ // 组件参数 接收来自父组件的数据
22
+ props: {
23
+ item: {
24
+ type: Object,
25
+ default: () => {},
26
+ },
27
+ index: {
28
+ type: Number,
29
+ default: 0,
30
+ },
31
+ model: {
32
+ type: Object,
33
+ default: () => {},
34
+ },
35
+ cellData: {
36
+ type: Array,
37
+ default: () => [],
38
+ },
39
+ underLine: {
40
+ type: Boolean,
41
+ default: () => false,
42
+ },
43
+ },
44
+ // 组件状态值
45
+ data() {
46
+ return {
47
+ modelDate: new Date(),
48
+ showPop: false,
49
+ };
50
+ },
51
+ computed: {
52
+ maxDate() {
53
+ if (this.item.maxDate === "current") return new Date();
54
+ const timeArr = this.item.maxDate.split(",");
55
+ return new Date(+timeArr[0], +timeArr[1]);
56
+ },
57
+ minDate() {
58
+ if (this.item.minDate === "current") return new Date();
59
+ const a = this.item.minDate || "1990,10";
60
+ const timeArr = a.split(",");
61
+ return new Date(+timeArr[0], +timeArr[1]);
62
+ },
63
+ },
64
+ // 侦听器
65
+ watch: {
66
+ model: {
67
+ deep: true,
68
+ immediate: true,
69
+ handler(val) {
70
+ const currentDate = val[val.valProp];
71
+ if (!currentDate) return;
72
+ const currentYear = currentDate.getFullYear();
73
+ const currentMonth = currentDate.getMonth() - 1;
74
+ this.modelDate = new Date(currentYear, currentMonth);
75
+
76
+ const date = val[this.item["prop"]];
77
+ const year = date.substring(0, 4);
78
+ const month = date.substring(5, 7);
79
+ this.modelDate = new Date(year, month - 1);
80
+ },
81
+ },
82
+ },
83
+ methods: {
84
+ formatter(type, val) {
85
+ if (type === "year") {
86
+ return `${val}`;
87
+ } else if (type === "month") {
88
+ return getTranslateMonth(val, "simple");
89
+ } else if (type === "day") {
90
+ return `${val}`;
91
+ }
92
+ return val;
93
+ },
94
+ onConfirm(value, pIdx, index, item, model) {
95
+ const obj = {
96
+ value,
97
+ pIdx,
98
+ index,
99
+ item,
100
+ model,
101
+ };
102
+ this.showPop = false;
103
+ this.$emit("onConfirmPicker", obj);
104
+ },
105
+ fieldChange(val, item, model, allDataArr = this.cellData) {
106
+ const obj = {
107
+ val,
108
+ item,
109
+ model,
110
+ allDataArr,
111
+ };
112
+ this.$emit("pickerFieldChange", obj);
113
+ },
114
+ clickEvent(e, item) {
115
+ if (item.readOnly) {
116
+ e.preventDefault();
117
+ e.stopPropagation();
118
+ return;
119
+ }
120
+ this.showPop = true;
121
+ },
122
+ },
123
+ };
124
+ </script>
125
+
126
+ <!--使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,-->
127
+ <style scoped lang="less"></style>
@@ -0,0 +1,33 @@
1
+ import CommonForm from './CommonForm.vue';
2
+ import CommonAsyncAreaPicker from './CommonAsyncAreaPicker.vue';
3
+ import CommonDatePicker from './CommonDatePicker.vue';
4
+ import CommonFullTimePicker from './CommonFullTimePicker.vue';
5
+ import CommonSinglePicker from './CommonSinglePicker.vue';
6
+ import CommonYearMonthPicker from './CommonYearMonthPicker.vue';
7
+ CommonForm.install = (Vue) => {
8
+ Vue.component(CommonForm.name, CommonForm);
9
+ };
10
+ CommonAsyncAreaPicker.install = (Vue) => {
11
+ Vue.component(CommonAsyncAreaPicker.name, CommonAsyncAreaPicker);
12
+ };
13
+ CommonDatePicker.install = (Vue) => {
14
+ Vue.component(CommonDatePicker.name, CommonDatePicker);
15
+ };
16
+ CommonFullTimePicker.install = (Vue) => {
17
+ Vue.component(CommonFullTimePicker.name, CommonFullTimePicker);
18
+ };
19
+ CommonSinglePicker.install = (Vue) => {
20
+ Vue.component(CommonSinglePicker.name, CommonSinglePicker);
21
+ };
22
+ CommonYearMonthPicker.install = (Vue) => {
23
+ Vue.component(CommonYearMonthPicker.name, CommonYearMonthPicker);
24
+ };
25
+ export default CommonForm;
26
+
27
+ export {
28
+ CommonAsyncAreaPicker,
29
+ CommonDatePicker,
30
+ CommonFullTimePicker,
31
+ CommonSinglePicker,
32
+ CommonYearMonthPicker
33
+ }
@@ -0,0 +1,32 @@
1
+ import Dialog from './index.vue';
2
+ const DialogPlguin = Vue.extend(Dialog);
3
+ const confirm = (options) => {
4
+ const ReConfirmDom = document.getElementById('CommonCustomDialog');
5
+ if (ReConfirmDom) {
6
+ ReConfirmDom.remove();
7
+ }
8
+ return new Promise((resolve, reject) => {
9
+ const confirmDom = new DialogPlguin().$mount();
10
+ confirmDom.content = {
11
+ ...options // 传入的
12
+ };
13
+ confirmDom.btn1Click = options.btn1Click;
14
+ confirmDom.btn2Click = options.btn2Click;
15
+ confirmDom.changeTypeClick = options.changeTypeClick;
16
+ confirmDom.forkBtnClick = options.forkBtnClick;
17
+ document.getElementById('app').appendChild(confirmDom.$el);
18
+ confirmDom.submit = () => {
19
+ resolve();
20
+ confirmDom.showDialog = false;
21
+ };
22
+ confirmDom.cancle = () => {
23
+ reject();
24
+ confirmDom.showDialog = false;
25
+ };
26
+ });
27
+ };
28
+ export default {
29
+ install (Vue) {
30
+ Vue.prototype.$dialog = confirm;
31
+ }
32
+ };