<template>
|
<div class="apply-info">
|
<div class="dialog-form">
|
<p class="dialog-form-title">客户额度修改</p>
|
<CommForm
|
:inline="true"
|
:list="formList"
|
@updateValue="updateValue"
|
ref="editMarkForm"
|
:formValues="formValues"
|
:formRules="formRules"
|
:column="2"
|
:key="key"
|
></CommForm>
|
<div class="dialog-form-buttons">
|
<p>
|
<el-button class="comm-button" @click="$emit('close')">取消</el-button>
|
</p>
|
<p>
|
<el-button class="comm-button" type="primary" @click="submit" :disabled="subLoading">提交</el-button>
|
<!-- <el-button class="comm-button" type="primary" @click="submit" >提交</el-button> -->
|
</p>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import CommForm from "@/components/CommForm";
|
|
import qryCustQuotDetail from "@/controller/qryCustQuotDetail";
|
import updateCustQuota from "@/controller/updateCustQuota";
|
import queryCodeValueList from "@/controller/queryCodeValueList";
|
|
export default {
|
components: {
|
CommForm
|
},
|
props: {
|
tempRecord: {
|
type: Object,
|
default: () => {}
|
},
|
isShow: {
|
type: Boolean,
|
default: false
|
}
|
},
|
created() {
|
this.init();
|
},
|
data() {
|
return {
|
key: 0,
|
model: null,
|
submitModel: null,
|
subLoading:false,
|
formList: []
|
};
|
},
|
methods: {
|
init() {
|
const { tempRecord } = this;
|
const { quotaControlType, recordeSerialNo, serialNo, quotaType } = tempRecord;
|
this.model = qryCustQuotDetail({ quotaType });
|
this.submitModel = updateCustQuota();
|
this.getFormList();
|
},
|
async getFormList() {
|
const { model, tempRecord, detail } = this;
|
const { controlSerialNo, serialNo } = tempRecord;
|
const info = await model.request({ controlSerialNo, serialNo });
|
this.formList = model.getFormList(info);
|
this.setSelectOptions();
|
},
|
setSelectOptions() {
|
const { formList } = this;
|
formList.forEach(({ name }) => {
|
if (name === "updateStatus") {
|
this.queryCodeValueList(name, { codeNo: "QuotaStatus" });
|
}
|
});
|
},
|
async queryCodeValueList(name, info) {
|
const tempModel = queryCodeValueList();
|
const { list } = await tempModel.request(info);
|
this.updateValue(name, { options: list });
|
},
|
async submit() {
|
const { submitModel, formValues, tempRecord } = this;
|
const { serialNo } = tempRecord
|
// console.log(serialNo)
|
const values = this.$refs.editMarkForm.validate();
|
if (values) {
|
try {
|
this.subLoading = true
|
await submitModel.request({
|
serialNo,
|
...values
|
})
|
this.$emit("submitSuccess");
|
} catch (error) {
|
console.log(error);
|
}
|
this.subLoading = true
|
}
|
},
|
// 更新表单数据
|
updateValue(index, info) {
|
const { formList } = this;
|
if (isNaN(index)) {
|
// index is name
|
index = formList.findIndex(({ name }) => name === index);
|
}
|
if (!isNaN(index) && index > -1) {
|
const preInfo = formList[index];
|
this.$set(formList, index, { ...preInfo, ...info });
|
}
|
}
|
},
|
computed: {
|
// 表单值信息
|
formValues() {
|
// const { model, formList } = this;
|
const { model, formList } = this;
|
if (model) {
|
return model.getFormValues(formList);
|
}
|
return {};
|
},
|
formRules() {
|
const { model, formList } = this;
|
// const { model, computedList } = this;
|
if (model) {
|
return model.getFormRules(formList);
|
}
|
return {};
|
}
|
},
|
watch: {
|
isShow() {
|
const { isShow, key } = this;
|
this.key = key + 1;
|
if (isShow) {
|
this.init();
|
}
|
}
|
}
|
};
|
</script>
|
|
<style lang="postcss" scoped>
|
.dialog-form {
|
& .dialog-form-title {
|
margin-top: 0px
|
}
|
& .dialog-form-buttons {
|
display: flex;
|
justify-content: center;
|
padding-top: 20px;
|
& p {
|
margin: 0 40px 0 0;
|
}
|
& p:last-child {
|
margin-right: 0;
|
}
|
}
|
}
|
</style>
|