Skip to content

Commit abb8a3f

Browse files
committed
修复 表单项vif不起作用 #67
修复 用户会话超时后,没有提示和返回登陆页面 #65
1 parent 4e951db commit abb8a3f

File tree

5 files changed

+74
-64
lines changed

5 files changed

+74
-64
lines changed

public/app.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/mix-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"/app.js": "/app.js?id=e65338425eb667f6b50f",
2+
"/app.js": "/app.js?id=3320bf1e803e19ba9913",
33
"/manifest.js": "/manifest.js?id=8991394a854ee5cdffc3",
44
"/vendor.js": "/vendor.js?id=df0be4950fcb717193ba"
55
}
Lines changed: 48 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,59 @@
11
<template>
2-
<div>
3-
<component
4-
v-if="item.topComponent"
5-
:is="item.topComponent.componentName"
6-
:attrs="item.topComponent"
7-
/>
2+
<item-if :form-data="formData" :form-item="item">
3+
<component
4+
v-if="item.topComponent"
5+
:is="item.topComponent.componentName"
6+
:attrs="item.topComponent"
7+
/>
88

9-
<el-form-item
10-
:prop="item.prop"
11-
:error="item.error"
12-
:show-message="item.showMessage"
13-
:inline-message="item.inlineMessage"
14-
:size="item.size"
15-
:label-width="item.labelWidth"
16-
>
17-
<span slot="label" v-if="!item.hideLabel">{{ item.label }}</span>
18-
<el-col :span="item.inputWidth">
19-
<ItemDisplay
20-
v-if="item.relationName"
21-
v-model="formData[item.relationName][item.relationValueKey]"
22-
:form-item="item"
23-
:form-data="formData"
24-
v-bind="$attrs"
25-
/>
26-
<ItemDisplay
27-
v-else
28-
v-model="formData[item.prop]"
29-
:form-item="item"
30-
:form-data="formData"
31-
v-bind="$attrs"
32-
/>
33-
<div v-if="item.help" class="form-item-help" v-html="item.help"></div>
34-
</el-col>
35-
</el-form-item>
36-
<component
37-
v-if="item.footerComponent"
38-
:is="item.footerComponent.componentName"
39-
:attrs="item.footerComponent"
9+
<el-form-item
10+
:prop="item.prop"
11+
:error="item.error"
12+
:show-message="item.showMessage"
13+
:inline-message="item.inlineMessage"
14+
:size="item.size"
15+
:label-width="item.labelWidth"
16+
>
17+
<span slot="label" v-if="!item.hideLabel">{{ item.label }}</span>
18+
<el-col :span="item.inputWidth">
19+
<ItemDisplay
20+
v-if="item.relationName"
21+
v-model="formData[item.relationName][item.relationValueKey]"
22+
:form-item="item"
23+
:form-data="formData"
24+
v-bind="$attrs"
25+
/>
26+
<ItemDisplay
27+
v-else
28+
v-model="formData[item.prop]"
29+
:form-item="item"
30+
:form-data="formData"
31+
v-bind="$attrs"
4032
/>
41-
</div>
33+
<div v-if="item.help" class="form-item-help" v-html="item.help"></div>
34+
</el-col>
35+
</el-form-item>
36+
<component
37+
v-if="item.footerComponent"
38+
:is="item.footerComponent.componentName"
39+
:attrs="item.footerComponent"
40+
/>
41+
</item-if>
4242
</template>
4343
<script>
4444
import ItemDisplay from "./ItemDisplay";
4545
import ItemIf from "./ItemIf";
46-
4746
export default {
48-
props: ["attrs", "formData"],
49-
components: {
50-
ItemDisplay,
51-
ItemIf,
52-
},
53-
mounted() {
54-
55-
},
56-
computed: {
57-
item() {
58-
return this.attrs;
59-
},
47+
props: ["attrs", "formData"],
48+
components: {
49+
ItemDisplay,
50+
ItemIf,
51+
},
52+
mounted() {},
53+
computed: {
54+
item() {
55+
return this.attrs;
6056
},
57+
},
6158
};
6259
</script>

resources/js/components/form/ItemIf.vue

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,18 @@
66
<script>
77
export default {
88
props: {
9-
form_item: Object,
10-
form_items: Array,
11-
form_data: Object,
9+
formItem: Object,
10+
formData: Object,
1211
},
1312
mounted() {},
1413
computed: {
1514
ifVif() {
16-
let key = this.form_item.vif.key;
17-
let value = this.form_item.vif.value;
18-
let anyValue = this.form_item.vif.anyValue;
15+
let key = this.formItem.vif.key;
16+
let value = this.formItem.vif.value;
17+
let anyValue = this.formItem.vif.anyValue;
1918
2019
if (key) {
21-
let cValue = window._.get(this.form_data, key);
20+
let cValue = window._.get(this.formData, key);
2221
if (cValue == value || (cValue && anyValue)) {
2322
return true;
2423
} else {
@@ -30,13 +29,13 @@ export default {
3029
},
3130
ivEval() {
3231
try {
33-
if (!this.form_item.vifEval) {
32+
if (!this.formItem.vifEval) {
3433
return true;
3534
}
36-
let expression = this.form_item.vifEval.expression;
37-
let props = this.form_item.vifEval.props;
35+
let expression = this.formItem.vifEval.expression;
36+
let props = this.formItem.vifEval.props;
3837
props.map((prop) => {
39-
window._.get(this.form_data, prop);
38+
window._.get(this.formData, prop);
4039
});
4140
if (expression) {
4241
return eval(expression);

resources/js/util/axios.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,20 @@ axios.interceptors.response.use(
5757
});
5858
router.replace('/404')
5959
break;
60+
case 401:
61+
Notification.error({
62+
title: "登录信息已过期",
63+
message: response.data.message
64+
});
65+
location.reload();
66+
break;
67+
case 419:
68+
Notification.error({
69+
title: "页面已过期",
70+
message: response.data.message
71+
});
72+
location.reload();
73+
break;
6074
default:
6175
Notification.error({
6276
title: "请求错误",

0 commit comments

Comments
 (0)