<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',1)">取消</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 quotaControlRecordInfo from "@/controller/quotaControlRecordInfo";
|
import submitControlsQuotaAdjustFlow from "@/controller/submitControlsQuotaAdjustFlow";
|
import queryCodeValueList from "@/controller/queryCodeValueList";
|
|
export default {
|
components: {
|
CommForm
|
},
|
props: {
|
tempRecord: {
|
type: Object,
|
default: () => {}
|
},
|
approveInfo: {
|
type: Object,
|
default: () => {}
|
},
|
isShow: {
|
type: Boolean,
|
default: false
|
},
|
operationType: {
|
type: String,
|
default: ""
|
},
|
phaseNo: {
|
type: String,
|
default: ""
|
}
|
},
|
created() {
|
this.init();
|
},
|
data() {
|
return {
|
key: 0,
|
model: null,
|
submitModel: null,
|
formList: [],
|
subLoading: false
|
};
|
},
|
methods: {
|
init() {
|
const { tempRecord } = this;
|
const { quotaControlType } = tempRecord;
|
this.model = quotaControlRecordInfo({ quotaControlType, approve: true });
|
|
this.submitModel = submitControlsQuotaAdjustFlow();
|
this.getFormList();
|
},
|
async getFormList() {
|
const { model, tempRecord, approveInfo } = this;
|
// console.log(approveInfo);
|
let params = {};
|
// 系统分配任务
|
if (Object.keys(approveInfo).length !== 0) {
|
const { controlSerialNo, objectNo } = approveInfo;
|
params = {
|
controlSerialNo,
|
serialNo: objectNo
|
};
|
} else {
|
let { controlSerialNo, serialNo } = tempRecord;
|
params = {
|
controlSerialNo,
|
serialNo
|
};
|
}
|
// console.log(params);
|
const info = await model.request(params);
|
this.beforeStatus = info.beforeStatus;
|
this.updateStatus = info.updateStatus;
|
info.beforeStatus = info.beforeStatusDesc;
|
this.formList = model.getFormList(info);
|
this.setSelectOptions();
|
},
|
setSelectOptions() {
|
const { formList } = this;
|
formList.forEach(({ name }) => {
|
if (name === "beforeStatus") {
|
this.queryCodeValueList(name, { codeNo: "ControlStatus" });
|
}
|
if (name === "updateStatus") {
|
this.queryCodeValueList(name, { codeNo: "ControlStatus" });
|
}
|
if (name === "approveCode") {
|
this.queryCodeValueList(name, { codeNo: "ApproveCode" });
|
}
|
});
|
},
|
async queryCodeValueList(name, info) {
|
const tempModel = queryCodeValueList();
|
const { list } = await tempModel.request(info);
|
this.updateValue(name, { options: list });
|
},
|
async submit() {
|
const {
|
submitModel,
|
formValues,
|
beforeStatus,
|
updateStatus,
|
tempRecord
|
} = this;
|
const { serialNo } = tempRecord;
|
const values = this.$refs.editMarkForm.validate();
|
// console.log(values);
|
if (values) {
|
try {
|
this.subLoading = true;
|
await submitModel.request({
|
...values,
|
serialNo,
|
beforeStatus,
|
updateStatus
|
});
|
this.$emit("submitSuccess");
|
} catch (error) {
|
console.log(error);
|
}
|
this.subLoading = false;
|
}
|
},
|
// 更新表单数据
|
updateValue(index, info) {
|
const { formList } = this;
|
const { name } = info;
|
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 });
|
}
|
if (name === "approveCode") {
|
const { value } = info;
|
if (value === "02") {
|
formList[index + 1].rules = [{ required: true }];
|
} else {
|
formList[index + 1].rules = [];
|
}
|
// console.log(info);
|
// formList[index +1].rules = []
|
}
|
}
|
},
|
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 {};
|
}
|
// tempFormList() {
|
// const { formList, phaseNo } = this;
|
// let tempList = [...formList];
|
// if (phaseNo) {
|
// const resonalIndex = tempList.findIndex(
|
// ({ name }) => name === "modifReasom"
|
// );
|
// const updateStatusIndex = tempList.findIndex(
|
// ({ name }) => name === "updateStatus"
|
// );
|
// const updateLeverMultipleIndex = tempList.findIndex(
|
// ({ name }) => name === "updateLeverMultiple"
|
// );
|
// if (
|
// resonalIndex > -1 &&
|
// updateStatusIndex > -1 &&
|
// updateLeverMultipleIndex > -1
|
// ) {
|
// tempList[resonalIndex] = {
|
// ...tempList[resonalIndex],
|
// attrs: ["readonly"]
|
// };
|
// tempList[updateStatusIndex] = {
|
// ...tempList[updateStatusIndex],
|
// attrs: ["filterable", "clearable", "collapse-tags", "disabled"],
|
// rules: [{ required: false }]
|
// };
|
// tempList[updateLeverMultipleIndex] = {
|
// ...tempList[updateLeverMultipleIndex],
|
// attrs: ["readonly"],
|
// rules: [{ required: false }]
|
// };
|
// return tempList;
|
// }
|
// }
|
// return tempList;
|
// }
|
},
|
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>
|