<template>
|
<a-form style="margin-top: 8px" :autoFormCreate="(form)=>{this.form = form}">
|
<a-modal title="编辑-用户" destroyOnClose :visible="visible" @cancel="handleCancel">
|
<a-form-item key="password" v-bind="formLayout" label="密码" fieldDecoratorId="password" :fieldDecoratorOptions="{
|
rules: [{ required: true, message: '用户密码' }],
|
initialValue: record.password,
|
}">
|
<a-input placeholder="请输入" v-model="saveData.password"/>
|
</a-form-item>
|
<a-form-item key="email" v-bind="formLayout" label="邮箱" fieldDecoratorId="email" :fieldDecoratorOptions="{
|
rules: [{ required: true, message: '用户邮箱' }],
|
initialValue: record.email,
|
}">
|
<a-input placeholder="请输入" v-model="saveData.email"/>
|
</a-form-item>
|
<a-form-item key="mobile" v-bind="formLayout" label="手机" fieldDecoratorId="mobile" :fieldDecoratorOptions="{
|
rules: [{ required: true, message: '用户手机' }],
|
initialValue: record.mobile,
|
}">
|
<a-input placeholder="请输入" v-model="saveData.email"/>
|
</a-form-item>
|
<a-form-item key="wechat" v-bind="formLayout" label="微信" fieldDecoratorId="wechat" :fieldDecoratorOptions="{
|
rules: [{ required: true, message: '用户微信' }],
|
initialValue: record.wechat,
|
}">
|
<a-input placeholder="请输入" v-model="saveData.name"/>
|
</a-form-item>
|
<a-form-item key="expireTime" v-bind="formLayout" label="到期时间" fieldDecoratorId="expireTime" :fieldDecoratorOptions="{
|
rules: [{ required: true, message: '到期时间' }],
|
initialValue: record.expireTime,
|
}">
|
<a-date-picker @change="onChange" />
|
</a-form-item>
|
<template slot="footer">
|
<a-button key="cancel" @click="handleCancel">
|
取消
|
</a-button>
|
<a-button key="forward" type="primary" @click="handleOk">
|
完成
|
</a-button>
|
</template>
|
</a-modal>
|
</a-form>
|
</template>
|
|
<script lang="ts">
|
import {
|
Component,
|
Prop,
|
Vue,
|
Emit,
|
Model,
|
Watch,
|
} from 'vue-property-decorator';
|
import {
|
State,
|
Mutation,
|
namespace,
|
} from 'vuex-class';
|
|
import { get, post } from "@/util/request";
|
|
import { Encrypt, Decrypt} from '../../../util/AES.js'
|
|
@Component({
|
components: {},
|
})
|
export default class UpdateTaskForm extends Vue {
|
|
@Prop({
|
type: Boolean,
|
default: false,
|
})
|
private visible!: boolean;
|
|
@Prop({
|
type: Object,
|
default() {
|
return {};
|
},
|
})
|
private record!: any;
|
|
private saveData:any = {
|
password: "",
|
email: "",
|
mobile: "",
|
wechat: "",
|
expireTime: ""
|
};
|
|
private form: any = null;
|
|
private formVals: any = {
|
target: '0',
|
template: '0',
|
type: '1',
|
time: '',
|
frequency: 'month',
|
};
|
|
private currentStep: number = 0;
|
|
private formLayout = {
|
labelCol: {
|
span: 7,
|
},
|
wrapperCol: {
|
span: 13,
|
},
|
};
|
|
// 选择到期时间
|
private onChange(date:any, dateString:any) {
|
}
|
|
private handleBackward(): void {
|
this.currentStep--;
|
}
|
|
private handleNext(): void {
|
this.form.validateFields((err: any, fieldsValue: any) => {
|
if (err) {
|
return;
|
}
|
this.formVals = { ...this.formVals, ...fieldsValue };
|
this.currentStep++;
|
});
|
}
|
|
private handleCancel(): void {
|
this.updateVisible(false);
|
}
|
|
private handleOk(): void {
|
// 清除表单存储的上次数据
|
this.formVals = {}
|
this.form.validateFields((err: any, fieldsValue: any) => {
|
if (err) {
|
return;
|
}
|
|
if(this.saveData.password || this.saveData.email || this.saveData.mobile || this.saveData.wechat || this.saveData.expireTime){
|
if(this.record.password !== this.saveData.password || this.record.email !== this.saveData.email || this.record.mobile !== this.saveData.mobile || this.record.wechat !== this.saveData.wechat || this.record.expireTime !== this.saveData.expireTime){
|
this.formVals = { ...this.formVals, ...fieldsValue };
|
post('manageRole/updateManageRole',
|
{
|
password: this.formVals.password,
|
email: this.formVals.email,
|
mobile: this.formVals.mobile,
|
wechat: this.formVals.wechat,
|
expireTime: this.formVals.expireTime
|
}
|
)
|
.then((res) => {
|
this.updateVisible(false);
|
this.onOk();
|
})
|
.catch((err)=>{
|
console.log(err);
|
})
|
this.$message.success('修改成功')
|
|
}
|
}else{
|
this.$message.warning('未修改')
|
}
|
this.saveData.password = "",
|
this.saveData.email = "",
|
this.saveData.mobile = "",
|
this.saveData.wechat = "",
|
this.saveData.expireTime = ""
|
});
|
|
}
|
|
@Emit('ok')
|
private onOk() {
|
|
}
|
|
private updateVisible(visible: boolean): void {
|
this.$emit('update:visible', visible);
|
}
|
|
private mounted(): void {
|
this.currentStep = 0;
|
}
|
|
@Watch('record', {
|
immediate: true,
|
deep: true,
|
})
|
private recordChange(value: any, oldValue: any): void {
|
this.formVals = {
|
...value,
|
...this.formVals,
|
};
|
this.currentStep = 0;
|
}
|
|
|
}
|
</script>
|