<template>
|
<div class="opinion">
|
<div v-for="(item,index) in opinionForm" :key="index">
|
<p>
|
<span></span>
|
审批意见
|
</p>
|
<el-form :model="opinionForm[index]" :rules="rules" ref="opinionForm" size="small" label-width="165px">
|
<el-form-item label="审批结果" prop="phasechoice">
|
<el-select v-model="opinionForm[index].phasechoice" clearable filterable placeholder="支持输入搜索选择">
|
<el-option
|
v-for="(item,index) in results"
|
:key="index"
|
:label="item.itemname"
|
:value="item.itemno"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
prop="phaseopinion2"
|
:rules="opinionForm[index].phasechoice=='02'||opinionForm[index].phasechoice=='05'?[{required: true, message: '请输入审批意见', trigger: 'blur'}]:[{ required: false }]"
|
label="审批意见"
|
>
|
<el-input type="textarea" :rows="10" maxlength="1000" v-model="opinionForm[index].phaseopinion2"></el-input>
|
</el-form-item>
|
<el-form-item label="审批终端">
|
<el-input v-model="opinionForm[index].channelDesc" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="审批人">
|
<el-input v-model="opinionForm[index].inputuserName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="审批机构">
|
<el-input v-model="opinionForm[index].inputorgName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="审批时间">
|
<el-input v-model="opinionForm[index].inputtime" disabled></el-input>
|
</el-form-item>
|
</el-form>
|
</div>
|
<div class="fixedBtn">
|
<el-button size="medium" plain @click="save(opinionForm[0])">保存</el-button>
|
<el-button size="medium" plain @click="prevStep()">上一页</el-button>
|
<el-button size="medium" type="primary" @click="submit(opinionForm[0])">提交</el-button>
|
</div>
|
<Success :visible="success" v-on:closeDialog="closeDialog"></Success>
|
<Fail :visible="fail" :reason="reason" v-on:closeDialog="closeDialog"></Fail>
|
</div>
|
</template>
|
<script>
|
import "../../../public/opinion/index.styl";
|
import { qryOpinionDetail, zbdAlterSumbit, updOpinion } from "@api/product";
|
import Success from "@views/product/components/Success";
|
import Fail from "@views/product/components/Fail";
|
import { setStorage, getStorage, removeStorage } from "@/utils/storage";
|
import common from "@/utils/common";
|
export default {
|
data() {
|
return {
|
opinionForm: [],
|
applyInfo: this.$store.state.product.applyInfo,
|
applyMenu: this.$store.state.product.applyMenu,
|
results: [
|
{
|
itemno: "01",
|
itemname: "通过"
|
},
|
{
|
itemno: "02",
|
itemname: "拒绝"
|
},
|
{
|
itemno: "05",
|
itemname: "驳回上一级"
|
}
|
],
|
success: false,
|
fail: false,
|
reason: "",
|
rules: {
|
phasechoice: [
|
{ required: true, message: "请选择审批结果", trigger: "blur" }
|
]
|
}
|
};
|
},
|
created() {
|
this.init();
|
},
|
methods: {
|
async init() {
|
this.$parent._data.loading = true;
|
const { ftSerialno } = this.applyInfo;
|
const { result } = await qryOpinionDetail({ serialNo: ftSerialno });
|
this.opinionForm = [result];
|
this.$parent._data.loading = false;
|
},
|
async save(form) {
|
this.$parent._data.loading = true;
|
const { ftSerialno, alterobjectno, alterobjecttype } = this.applyInfo;
|
const { channel, phasechoice, phaseopinion2 } = form;
|
const params = {
|
serialno: ftSerialno,
|
objectno: alterobjectno,
|
objecttype: alterobjecttype,
|
channel,
|
phasechoice,
|
phaseopinion2
|
};
|
const { code, result } = await updOpinion(params);
|
if (code == "00") {
|
this.$message.success("保存成功");
|
this.init();
|
}
|
},
|
prevStep() {
|
this.applyMenu.forEach((val, index) => {
|
if (val.tabname == "审批意见") {
|
common.tabInfo(
|
this.applyMenu[index - 1].tabname,
|
this.applyInfo.flowno,
|
this
|
);
|
}
|
});
|
},
|
async submit(form) {
|
this.$refs.opinionForm[0].validate(async (valid) => {
|
if (valid) {
|
this.$parent._data.loading = true;
|
const { ftSerialno, alterobjectno } = this.applyInfo;
|
const { channel, phasechoice, phaseopinion2 } = form;
|
const params = {
|
ftSerialNo: ftSerialno,
|
objectno: alterobjectno,
|
channel,
|
phasechoice,
|
phaseopinion2
|
};
|
const { code, result, msg } = await zbdAlterSumbit(params);
|
if (code == "00") {
|
// 打开提交成功弹窗
|
this.success = true;
|
} else {
|
// 审批意见提交失败
|
this.reason = msg;
|
this.fail = true;
|
}
|
} else {
|
return false;
|
}
|
});
|
},
|
closeDialog(state) {
|
this.success = state;
|
this.fail = state;
|
}
|
},
|
components: {
|
Success,
|
Fail
|
}
|
};
|
</script>
|