cloud-web-corejs 1.0.75 → 1.0.77
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.
- package/package.json +1 -1
- package/src/components/VabUpload/view.vue +2 -2
- package/src/components/advancedSearchDialog/mixins.js +1 -1
- package/src/components/fileLibrary/filterDialog.vue +383 -0
- package/src/components/fileLibrary/index.vue +22 -23
- package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
- package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
- package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
- package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +7 -7
- package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +4 -4
- package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +4 -4
- package/src/components/fileLibrary/mixins/indexMixins.js +45 -9
- package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +61 -2
- package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +1 -1
- package/src/components/fileLibrary/propertiesDialog.vue +18 -0
- package/src/components/fileLibrary/shareDialog.vue +1 -1
- package/src/components/table/index.js +12 -11
- package/src/components/table/tableForm.vue +99 -63
- package/src/components/table/tableFormMixin.js +1 -1
- package/src/components/wf/wf.js +1 -1
- package/src/components/wf/wfStartDialog.vue +1 -1
- package/src/components/wf/wfUtil.js +1 -1
- package/src/components/xform/form-designer/designer.js +1 -1
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +10 -5
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +16 -16
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +54 -14
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +9 -4
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +8 -2
- package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +2 -2
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +1 -0
- package/src/components/xform/form-designer/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +12 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/commonAttributeEnabled-editor.vue +41 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +1051 -1051
- package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +42 -4
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +107 -6
- package/src/components/xform/form-designer/setting-panel/property-editor/required-editor.vue +22 -18
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
- package/src/components/xform/form-designer/toolbar-panel/index.vue +4 -3
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +38 -6
- package/src/components/xform/form-render/container-item/data-table-item.vue +18 -19
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
- package/src/components/xform/form-render/indexMixin.js +2 -1
- package/src/components/xform/lang/zh-CN.js +1 -1
- package/src/components/xform/mixins/defaultHandle.js +1 -1
- package/src/components/xform/mixins/scriptHttp.js +1 -1
- package/src/components/xform/utils/util.js +1 -1
- package/src/layout/components/Sidebar/default.vue +1266 -1233
- package/src/layout/components/extractedCode/createDialog.vue +92 -0
- package/src/layout/components/extractedCode/queryDialog.vue +96 -0
- package/src/layout/components/extractedCode/viewDialog.vue +192 -0
- package/src/store/config/index.js +1 -1
- package/src/utils/index.js +4 -2
- package/src/utils/pddLog.js +103 -0
- package/src/utils/vab.js +19 -27
- package/src/views/bd/setting/bd_attach_setting/edit.vue +1 -1
- package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +1 -1
- package/src/views/bd/setting/form_import_log/edit.vue +127 -0
- package/src/views/bd/setting/form_import_log/list.vue +205 -0
- package/src/views/bd/setting/form_script/edit1.vue +1 -1
- package/src/views/bd/setting/form_script/mixins/edit.js +3 -1
- package/src/views/bd/setting/form_script/mixins/edit1.js +1 -1
- package/src/views/bd/setting/form_script/mixins/list.js +1 -1
- package/src/views/bd/setting/form_script/mixins/list1.js +14 -14
- package/src/views/bd/setting/form_template/edit.vue +9 -1
- package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
- package/src/views/bd/setting/form_template/mixins/list.js +25 -22
- package/src/views/bd/setting/menu_kind/authDialog.vue +1 -1
- package/src/views/bd/setting/menu_kind/mixins/authDialog.js +7 -7
- package/src/views/bd/setting/menu_kind/mixins/list.js +1 -1
- package/src/views/bd/setting/table_model/edit.vue +70 -12
- package/src/views/bd/setting/table_model/mixins/edit copy.js +903 -0
- package/src/views/bd/setting/table_model/mixins/edit.js +12 -13
- package/src/views/bd/setting/table_model/mixins/list.js +1 -1
- package/src/views/user/access_log/list.vue +349 -349
- package/src/views/user/company_info/dialog.vue +164 -164
- package/src/views/user/form/vform/designer.vue +5 -1
- package/src/views/user/home/default.vue +15 -11
- package/src/views/user/login/index2.vue +131 -0
- package/src/views/user/notify_message/dialog.vue +1 -1
- package/src/views/user/notify_template/edit.vue +188 -187
- package/src/views/user/notify_template/edit2.vue +176 -0
- package/src/views/user/notify_template/list.vue +4 -1
- package/src/views/user/notify_template/list2.vue +190 -0
- package/src/views/user/position/list.vue +2 -2
- package/src/views/user/role/dialog.vue +1 -1
- package/src/views/user/role/list.vue +2 -2
- package/src/views/user/sale_org/dialog.vue +1 -1
- package/src/views/user/user/dialog.vue +1 -1
@@ -1,164 +1,164 @@
|
|
1
|
-
<template>
|
2
|
-
<el-dialog
|
3
|
-
:title="title || $t1('组织列表')"
|
4
|
-
:append-to-body="true"
|
5
|
-
:modal-append-to-body="true"
|
6
|
-
:close-on-click-modal="falseValue"
|
7
|
-
:visible.sync="showDialog"
|
8
|
-
:modal="falseValue"
|
9
|
-
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
|
-
width="1200px"
|
11
|
-
:before-close="handleBeforeClose"
|
12
|
-
@close="dialogClose"
|
13
|
-
v-el-drag-dialog
|
14
|
-
v-el-dialog-center
|
15
|
-
>
|
16
|
-
<div class="cont" style="height:
|
17
|
-
<vxe-grid
|
18
|
-
class="is-pointer"
|
19
|
-
ref="table-m1"
|
20
|
-
v-bind="vxeOption"
|
21
|
-
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
22
|
-
@custom="$vxeTableUtil.customHandle"
|
23
|
-
@checkbox-change="addDataTable"
|
24
|
-
@checkbox-all="checkAll"
|
25
|
-
@cell-dblclick="checkWithSubmit"
|
26
|
-
>
|
27
|
-
<template #form>
|
28
|
-
<div class="clearfix screen-btns">
|
29
|
-
<div class="fr">
|
30
|
-
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
31
|
-
plain>{{ $t1('重置') }}
|
32
|
-
</vxe-button>
|
33
|
-
<vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
|
34
|
-
{{ $t1('搜索') }}
|
35
|
-
</vxe-button>
|
36
|
-
</div>
|
37
|
-
</div>
|
38
|
-
<vxe-form class="screen-box" title-width="92px" title-align="right" :data="formData" @submit="searchEvent"
|
39
|
-
@reset="resetEvent">
|
40
|
-
<vxe-form-item :title="$t1('组织名称')+':'" field="companyName">
|
41
|
-
<template v-slot>
|
42
|
-
<el-input v-model="formData.companyName" size="small" clearable/>
|
43
|
-
</template>
|
44
|
-
</vxe-form-item>
|
45
|
-
<vxe-button type="submit" @click="searchEvent" v-show="false"></vxe-button>
|
46
|
-
</vxe-form>
|
47
|
-
</template>
|
48
|
-
</vxe-grid>
|
49
|
-
</div>
|
50
|
-
<label id="labBtn" class="transverse">
|
51
|
-
<div class="icon">
|
52
|
-
<i class="el-icon-more"></i>
|
53
|
-
<i class="el-icon-more"></i>
|
54
|
-
</div>
|
55
|
-
</label>
|
56
|
-
<div class="multipleChoice">
|
57
|
-
<el-tooltip :enterable="false" effect="dark" :content="$t1('全部删除')" placement="top"><a
|
58
|
-
class="allDel icon-quanbushanchu" @click="clearChecked()"></a></el-tooltip>
|
59
|
-
<div class="list">
|
60
|
-
<div class="item" v-for="(checkRow, index) in checkRows" :key="index">
|
61
|
-
<p>{{ checkRow.companyName }}</p>
|
62
|
-
<a class="el-icon-close" @click="clearTable1Select(index)"></a>
|
63
|
-
</div>
|
64
|
-
</div>
|
65
|
-
</div>
|
66
|
-
<span slot="footer" class="dialog-footer">
|
67
|
-
<span class="fl tips" v-if="!selectMulti">{{ $t1('注:双击确认选择(单选)') }}</span>
|
68
|
-
<el-button type="primary" plain class="button-sty" @click="dialogCancel">
|
69
|
-
<i class="el-icon-close el-icon"></i>
|
70
|
-
{{ $t1('取 消') }}
|
71
|
-
</el-button>
|
72
|
-
<el-button type="primary" @click="dialogPrimary" class="button-sty">
|
73
|
-
<i class="el-icon-check el-icon"></i>
|
74
|
-
{{ $t1('确 定') }}
|
75
|
-
</el-button>
|
76
|
-
</span>
|
77
|
-
</el-dialog>
|
78
|
-
</template>
|
79
|
-
|
80
|
-
<script>
|
81
|
-
import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
|
82
|
-
|
83
|
-
export default {
|
84
|
-
name: 'company_info_dialog',
|
85
|
-
props: ['title', 'visiable', 'multi', 'rows', 'param', 'firstEnabled', 'allCompany'],
|
86
|
-
mixins: [selectDialogMixins],
|
87
|
-
created() {
|
88
|
-
if (this.$attrs.fieldKey) this.fieldKey = this.$attrs.fieldKey;
|
89
|
-
this.initSetting();
|
90
|
-
},
|
91
|
-
mounted() {
|
92
|
-
this.initTableM1();
|
93
|
-
},
|
94
|
-
data() {
|
95
|
-
return {
|
96
|
-
showDialog: true,
|
97
|
-
falseValue: false,
|
98
|
-
selectMulti: true,
|
99
|
-
formData: {},
|
100
|
-
vxeOption: {},
|
101
|
-
};
|
102
|
-
},
|
103
|
-
methods: {
|
104
|
-
initTableM1() {
|
105
|
-
let that = this;
|
106
|
-
let path = USER_PREFIX + '/user_company_info/getCurrentList';
|
107
|
-
let treeNodeUrl = USER_PREFIX + '/user_company_info/getChildren';
|
108
|
-
if (this.allCompany) {
|
109
|
-
path = USER_PREFIX + '/company_info/getRoot';
|
110
|
-
treeNodeUrl = USER_PREFIX + '/company_info/getChildren';
|
111
|
-
}
|
112
|
-
let tableOption = {
|
113
|
-
vue: that,
|
114
|
-
tableRef: 'table-m1',
|
115
|
-
tableName: 'basic_ompany_info_dialog_list',
|
116
|
-
path: path,
|
117
|
-
treeNodeUrl: treeNodeUrl,
|
118
|
-
treeNodeParam: function (row) {
|
119
|
-
return {enabled: true, parentCompanyCode: row.companyCode};
|
120
|
-
},
|
121
|
-
param: () => {
|
122
|
-
return {
|
123
|
-
enabled: true,
|
124
|
-
...this.formData
|
125
|
-
}
|
126
|
-
},
|
127
|
-
columns: [
|
128
|
-
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
129
|
-
{title: this.$t1('组织名称'), field: 'companyName', width: 250, fixed: 'left', treeNode: true},
|
130
|
-
{title: this.$t1('组织编码'), field: 'companyCode', width: 200},
|
131
|
-
{
|
132
|
-
width: 47,
|
133
|
-
fixed: 'right',
|
134
|
-
title: '',
|
135
|
-
sortable: false
|
136
|
-
}
|
137
|
-
],
|
138
|
-
config: {
|
139
|
-
checkboxConfig: {
|
140
|
-
checkStrictly: true,
|
141
|
-
showHeader: this.selectMulti,
|
142
|
-
trigger: 'row',
|
143
|
-
checkMethod: ({row}) => {
|
144
|
-
if (this.firstEnabled === 'true' || this.firstEnabled === true) {
|
145
|
-
return true;
|
146
|
-
} else {
|
147
|
-
if (!row.parentCompanyCode) {
|
148
|
-
return false;
|
149
|
-
} else {
|
150
|
-
return true;
|
151
|
-
}
|
152
|
-
}
|
153
|
-
}
|
154
|
-
}
|
155
|
-
}
|
156
|
-
};
|
157
|
-
|
158
|
-
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
159
|
-
that.vxeOption = opts;
|
160
|
-
});
|
161
|
-
}
|
162
|
-
}
|
163
|
-
};
|
164
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<el-dialog
|
3
|
+
:title="title || $t1('组织列表')"
|
4
|
+
:append-to-body="true"
|
5
|
+
:modal-append-to-body="true"
|
6
|
+
:close-on-click-modal="falseValue"
|
7
|
+
:visible.sync="showDialog"
|
8
|
+
:modal="falseValue"
|
9
|
+
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
|
+
width="1200px"
|
11
|
+
:before-close="handleBeforeClose"
|
12
|
+
@close="dialogClose"
|
13
|
+
v-el-drag-dialog
|
14
|
+
v-el-dialog-center
|
15
|
+
>
|
16
|
+
<div class="cont" style="height:65vh">
|
17
|
+
<vxe-grid
|
18
|
+
class="is-pointer"
|
19
|
+
ref="table-m1"
|
20
|
+
v-bind="vxeOption"
|
21
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
22
|
+
@custom="$vxeTableUtil.customHandle"
|
23
|
+
@checkbox-change="addDataTable"
|
24
|
+
@checkbox-all="checkAll"
|
25
|
+
@cell-dblclick="checkWithSubmit"
|
26
|
+
>
|
27
|
+
<template #form>
|
28
|
+
<div class="clearfix screen-btns">
|
29
|
+
<div class="fr">
|
30
|
+
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
31
|
+
plain>{{ $t1('重置') }}
|
32
|
+
</vxe-button>
|
33
|
+
<vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
|
34
|
+
{{ $t1('搜索') }}
|
35
|
+
</vxe-button>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
<vxe-form class="screen-box" title-width="92px" title-align="right" :data="formData" @submit="searchEvent"
|
39
|
+
@reset="resetEvent">
|
40
|
+
<vxe-form-item :title="$t1('组织名称')+':'" field="companyName">
|
41
|
+
<template v-slot>
|
42
|
+
<el-input v-model="formData.companyName" size="small" clearable/>
|
43
|
+
</template>
|
44
|
+
</vxe-form-item>
|
45
|
+
<vxe-button type="submit" @click="searchEvent" v-show="false"></vxe-button>
|
46
|
+
</vxe-form>
|
47
|
+
</template>
|
48
|
+
</vxe-grid>
|
49
|
+
</div>
|
50
|
+
<label id="labBtn" class="transverse">
|
51
|
+
<div class="icon">
|
52
|
+
<i class="el-icon-more"></i>
|
53
|
+
<i class="el-icon-more"></i>
|
54
|
+
</div>
|
55
|
+
</label>
|
56
|
+
<div class="multipleChoice">
|
57
|
+
<el-tooltip :enterable="false" effect="dark" :content="$t1('全部删除')" placement="top"><a
|
58
|
+
class="allDel icon-quanbushanchu" @click="clearChecked()"></a></el-tooltip>
|
59
|
+
<div class="list">
|
60
|
+
<div class="item" v-for="(checkRow, index) in checkRows" :key="index">
|
61
|
+
<p>{{ checkRow.companyName }}</p>
|
62
|
+
<a class="el-icon-close" @click="clearTable1Select(index)"></a>
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
<span slot="footer" class="dialog-footer">
|
67
|
+
<span class="fl tips" v-if="!selectMulti">{{ $t1('注:双击确认选择(单选)') }}</span>
|
68
|
+
<el-button type="primary" plain class="button-sty" @click="dialogCancel">
|
69
|
+
<i class="el-icon-close el-icon"></i>
|
70
|
+
{{ $t1('取 消') }}
|
71
|
+
</el-button>
|
72
|
+
<el-button type="primary" @click="dialogPrimary" class="button-sty">
|
73
|
+
<i class="el-icon-check el-icon"></i>
|
74
|
+
{{ $t1('确 定') }}
|
75
|
+
</el-button>
|
76
|
+
</span>
|
77
|
+
</el-dialog>
|
78
|
+
</template>
|
79
|
+
|
80
|
+
<script>
|
81
|
+
import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
|
82
|
+
|
83
|
+
export default {
|
84
|
+
name: 'company_info_dialog',
|
85
|
+
props: ['title', 'visiable', 'multi', 'rows', 'param', 'firstEnabled', 'allCompany'],
|
86
|
+
mixins: [selectDialogMixins],
|
87
|
+
created() {
|
88
|
+
if (this.$attrs.fieldKey) this.fieldKey = this.$attrs.fieldKey;
|
89
|
+
this.initSetting();
|
90
|
+
},
|
91
|
+
mounted() {
|
92
|
+
this.initTableM1();
|
93
|
+
},
|
94
|
+
data() {
|
95
|
+
return {
|
96
|
+
showDialog: true,
|
97
|
+
falseValue: false,
|
98
|
+
selectMulti: true,
|
99
|
+
formData: {},
|
100
|
+
vxeOption: {},
|
101
|
+
};
|
102
|
+
},
|
103
|
+
methods: {
|
104
|
+
initTableM1() {
|
105
|
+
let that = this;
|
106
|
+
let path = USER_PREFIX + '/user_company_info/getCurrentList';
|
107
|
+
let treeNodeUrl = USER_PREFIX + '/user_company_info/getChildren';
|
108
|
+
if (this.allCompany) {
|
109
|
+
path = USER_PREFIX + '/company_info/getRoot';
|
110
|
+
treeNodeUrl = USER_PREFIX + '/company_info/getChildren';
|
111
|
+
}
|
112
|
+
let tableOption = {
|
113
|
+
vue: that,
|
114
|
+
tableRef: 'table-m1',
|
115
|
+
tableName: 'basic_ompany_info_dialog_list',
|
116
|
+
path: path,
|
117
|
+
treeNodeUrl: treeNodeUrl,
|
118
|
+
treeNodeParam: function (row) {
|
119
|
+
return {enabled: true, parentCompanyCode: row.companyCode};
|
120
|
+
},
|
121
|
+
param: () => {
|
122
|
+
return {
|
123
|
+
enabled: true,
|
124
|
+
...this.formData
|
125
|
+
}
|
126
|
+
},
|
127
|
+
columns: [
|
128
|
+
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
129
|
+
{title: this.$t1('组织名称'), field: 'companyName', width: 250, fixed: 'left', treeNode: true},
|
130
|
+
{title: this.$t1('组织编码'), field: 'companyCode', width: 200},
|
131
|
+
{
|
132
|
+
width: 47,
|
133
|
+
fixed: 'right',
|
134
|
+
title: '',
|
135
|
+
sortable: false
|
136
|
+
}
|
137
|
+
],
|
138
|
+
config: {
|
139
|
+
checkboxConfig: {
|
140
|
+
checkStrictly: true,
|
141
|
+
showHeader: this.selectMulti,
|
142
|
+
trigger: 'row',
|
143
|
+
checkMethod: ({row}) => {
|
144
|
+
if (this.firstEnabled === 'true' || this.firstEnabled === true) {
|
145
|
+
return true;
|
146
|
+
} else {
|
147
|
+
if (!row.parentCompanyCode) {
|
148
|
+
return false;
|
149
|
+
} else {
|
150
|
+
return true;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
};
|
157
|
+
|
158
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
159
|
+
that.vxeOption = opts;
|
160
|
+
});
|
161
|
+
}
|
162
|
+
}
|
163
|
+
};
|
164
|
+
</script>
|
@@ -12,6 +12,7 @@
|
|
12
12
|
@form-json-updated="handleFJU"
|
13
13
|
@reflushTemplateList="reflushTemplateList"
|
14
14
|
v-if="showDesinger"
|
15
|
+
:readonly="readonly"
|
15
16
|
/>
|
16
17
|
</div><!--
|
17
18
|
<el-tabs v-model="activeName" class="tab-boxCard tabCard-sty1" v-if="showDesinger">
|
@@ -32,7 +33,10 @@ import {formFieldMapping} from "../../../../views/user/form/vform/formFieldMappi
|
|
32
33
|
|
33
34
|
export default {
|
34
35
|
name: 'vform-designer:edit',
|
35
|
-
props:
|
36
|
+
props: {
|
37
|
+
formCode: String,
|
38
|
+
readonly: Boolean
|
39
|
+
},
|
36
40
|
components: {
|
37
41
|
VFormDesigner
|
38
42
|
},
|
@@ -44,7 +44,7 @@
|
|
44
44
|
</div>
|
45
45
|
</el-card>
|
46
46
|
</el-col>
|
47
|
-
<el-col :span="homeConfig.toDoSpan ||
|
47
|
+
<el-col :span="homeConfig.toDoSpan || 16" style="padding-left:6px;">
|
48
48
|
<el-card class="box-card">
|
49
49
|
<div slot="header" class="clearfix">
|
50
50
|
<span style="float:left">
|
@@ -67,8 +67,10 @@
|
|
67
67
|
@custom="$vxeTableUtil.customHandle"></vxe-grid>
|
68
68
|
</div>
|
69
69
|
</el-card>
|
70
|
-
</el-col>
|
71
|
-
|
70
|
+
</el-col>
|
71
|
+
</el-row>
|
72
|
+
<el-row>
|
73
|
+
<el-col :span="24" v-show="homeConfig.showFastTrack!==false">
|
72
74
|
<el-card class="box-card">
|
73
75
|
<div slot="header" class="clearfix">
|
74
76
|
<span style="float:left">
|
@@ -731,14 +733,14 @@ body #app .index-home {
|
|
731
733
|
}
|
732
734
|
|
733
735
|
.fast-box {
|
734
|
-
|
736
|
+
margin: 6px 4px 4px;
|
735
737
|
overflow: hidden;
|
736
738
|
|
737
739
|
.item {
|
738
|
-
width:
|
740
|
+
width: 118px;
|
739
741
|
text-align: center;
|
740
742
|
float: left;
|
741
|
-
|
743
|
+
margin-right: 14px;
|
742
744
|
p {
|
743
745
|
color: #2a6494;
|
744
746
|
border: solid 1px #e2e2e2;
|
@@ -746,8 +748,8 @@ body #app .index-home {
|
|
746
748
|
width: calc(100% - 4px);
|
747
749
|
border-radius: 6px;
|
748
750
|
position: relative;
|
749
|
-
height:
|
750
|
-
line-height:
|
751
|
+
height: 54px;
|
752
|
+
line-height: 54px;
|
751
753
|
text-align: left;
|
752
754
|
padding-left: 14px;
|
753
755
|
font-size: 12px;
|
@@ -765,12 +767,13 @@ body #app .index-home {
|
|
765
767
|
&:before {
|
766
768
|
content: '';
|
767
769
|
width: 4px;
|
768
|
-
height:
|
770
|
+
height: 24px;
|
769
771
|
display: inline-block;
|
770
772
|
background: #225279b8;
|
771
773
|
position: absolute;
|
772
774
|
left: -1px;
|
773
|
-
top:
|
775
|
+
top: 50%;
|
776
|
+
margin-top:-12px;
|
774
777
|
}
|
775
778
|
|
776
779
|
&:hover {
|
@@ -974,6 +977,7 @@ body #app .index-home {
|
|
974
977
|
color: $baseColor
|
975
978
|
}
|
976
979
|
}
|
977
|
-
}
|
980
|
+
}
|
981
|
+
::v-deep .el-card.is-always-shadow{box-shadow: 0 2px 2px 0 rgb(0 0 0 / 6%);}
|
978
982
|
}
|
979
983
|
</style>
|
@@ -0,0 +1,131 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="login-container" :class="backgroundClass" ref="login-container" v-show="showContent">
|
3
|
+
<div class="login-main" style="height: auto;">
|
4
|
+
<el-tabs v-model="activeName">
|
5
|
+
<el-tab-pane label="账号登录" name="first">
|
6
|
+
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="box-form login" autocomplete="on"
|
7
|
+
label-position="left">
|
8
|
+
<el-form-item prop="username" class="txt">
|
9
|
+
<span class="svg-container"><i class="el-icon-user"/></span>
|
10
|
+
<el-input ref="username" v-model="loginForm.username" placeholder="请输入用户名" name="" type="text"
|
11
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
12
|
+
</el-form-item>
|
13
|
+
<el-tooltip :enterable="false" v-model="capsTooltip" content="Caps lock is On" placement="right" manual>
|
14
|
+
<el-form-item prop="password" class="txt">
|
15
|
+
<span class="svg-container"><i class="el-icon-lock"/></span>
|
16
|
+
<el-input
|
17
|
+
:key="passwordType"
|
18
|
+
ref="password"
|
19
|
+
v-model="loginForm.password"
|
20
|
+
:type="passwordType"
|
21
|
+
placeholder="请输入密码"
|
22
|
+
name=""
|
23
|
+
tabindex="2"
|
24
|
+
autocomplete="on"
|
25
|
+
auto-complete="new-password"
|
26
|
+
@keyup.native="checkCapslock"
|
27
|
+
@blur="capsTooltip = false"
|
28
|
+
@keyup.enter.native="handleLogin"
|
29
|
+
/>
|
30
|
+
<span class="show-pwd" @click="showPwd"><svg-icon
|
31
|
+
:icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"/></span>
|
32
|
+
</el-form-item>
|
33
|
+
</el-tooltip>
|
34
|
+
<div class="">
|
35
|
+
<el-checkbox v-model="isRememberPassword">记住密码</el-checkbox>
|
36
|
+
</div>
|
37
|
+
<el-button :loading="loading" type="primary" @click.prevent.stop="handleLogin" class="btn">登录</el-button>
|
38
|
+
</el-form>
|
39
|
+
</el-tab-pane>
|
40
|
+
<el-tab-pane label="手机验证码登录" name="second">
|
41
|
+
<el-form ref="loginForm" :model="loginForm2" :rules="loginRules" class="box-form login" autocomplete="on"
|
42
|
+
label-position="left">
|
43
|
+
<el-form-item prop="username" class="txt" style="width:66%">
|
44
|
+
<span class="svg-container"><i class="el-icon-mobile-phone"/></span>
|
45
|
+
<el-input ref="mobile" v-model="loginForm2.username" placeholder="请输入手机号" name="" type="text"
|
46
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
47
|
+
</el-form-item>
|
48
|
+
<el-button class="btn-send" type="success" :class="{'gray-btn':isCounting}" @click="sendCode">
|
49
|
+
{{ buttonText }}
|
50
|
+
</el-button>
|
51
|
+
<el-form-item prop="smsCode" class="txt">
|
52
|
+
<span class="svg-container"><i class="el-icon-message"/></span>
|
53
|
+
<el-input ref="smsCode" v-model="loginForm2.smsCode" placeholder="请输入验证码" name="" type="text"
|
54
|
+
tabindex="1" autocomplete="on" @keyup.enter.native="handleLogin"/>
|
55
|
+
</el-form-item>
|
56
|
+
<el-button :loading="loading" type="primary" @click.prevent.stop="handleLogin" class="btn">登录</el-button>
|
57
|
+
</el-form>
|
58
|
+
</el-tab-pane>
|
59
|
+
</el-tabs>
|
60
|
+
</div>
|
61
|
+
<div class="tc copyright">
|
62
|
+
<slot name="footer">
|
63
|
+
© 广州同望科技发展有限公司
|
64
|
+
<span style="margin-left:50px;">4000646100</span>
|
65
|
+
</slot>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</template>
|
69
|
+
|
70
|
+
<script>
|
71
|
+
import mixin from "@base/views/user/login/indexMixin";
|
72
|
+
|
73
|
+
export default {
|
74
|
+
name: 'Login',
|
75
|
+
mixins: [mixin]
|
76
|
+
}
|
77
|
+
</script>
|
78
|
+
<style lang="scss" scoped>
|
79
|
+
@import '@/resources/css/login.scss';
|
80
|
+
|
81
|
+
.login-container.tc {
|
82
|
+
background: url(~@/resources/images/bg-login5.jpg) center center/cover no-repeat;
|
83
|
+
}
|
84
|
+
|
85
|
+
.login-container.chigo {
|
86
|
+
background: url(~@/resources/images/bg-login6.jpg) center center/cover no-repeat;
|
87
|
+
}
|
88
|
+
|
89
|
+
.login-container.pcp {
|
90
|
+
background: url(~@/resources/images/bg-login8.jpg) center center/cover no-repeat;
|
91
|
+
}
|
92
|
+
|
93
|
+
.el-select-dropdown {
|
94
|
+
right: 5px;
|
95
|
+
top: 25px;
|
96
|
+
}
|
97
|
+
|
98
|
+
::v-deep .login-main .el-tabs__header {
|
99
|
+
margin-bottom: 0;
|
100
|
+
|
101
|
+
.el-tabs__nav {
|
102
|
+
line-height: 65px;
|
103
|
+
margin: 0 25px;
|
104
|
+
width: calc(100% - 50px);
|
105
|
+
|
106
|
+
.el-tabs__item {
|
107
|
+
font-size: 18px;
|
108
|
+
width: 50%;
|
109
|
+
text-align: center;
|
110
|
+
margin-right: 0;
|
111
|
+
padding-right: 0 !important;
|
112
|
+
line-height: 65px;
|
113
|
+
height: 65px;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
.btn-send {
|
119
|
+
position: absolute;
|
120
|
+
margin-top: -74px;
|
121
|
+
right: 35px;
|
122
|
+
height: 52px;
|
123
|
+
width: 27%;
|
124
|
+
|
125
|
+
&.gray-btn {
|
126
|
+
background: #dedede;
|
127
|
+
border-color: #dedede;
|
128
|
+
color: #8a8686;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
</style>
|