5fea91c9 by xiaomiao

--no commit message

1 parent 8b653a1d
<!--
* @Description: 审批意见
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:41:24
-->
<template>
<div class="spyj loadingtext">
<div class="box">
<div class="spyj_title">
<div class="righttitle">审批表</div>
</div>
<div v-for="(item, index) in tableData" :key="index">
<el-form
:model="tableData[index]"
label-width="120px"
ref="ruleFormRef'"
>
<div class="spyj_form">
<div class="item_left">
<div class="right">{{ item.jdmc }}意见</div>
</div>
<div class="item_right">
<el-row>
<el-col :span="24">
<el-form-item label-width="0" class="opinion_item">
<el-input
:disabled="!ableOperation&&item.show"
type="textarea"
:rows="4"
class="opinion"
placeholder="请输入审批意见"
v-model="item.shyj"
></el-input>
<el-button
class="opinion_btn"
@click="commonOpinion(index)"
v-if="ableOperation"
>常用意见</el-button
>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="审查人">
<el-input
:disabled="!ableOperation"
v-model="item.shryxm"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="sjxzq" label="审核时间">
<el-date-picker
:disabled="!ableOperation"
v-model="item.shjssj"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
</div>
<div class="submit_button" v-if="ableOperation">
<el-button type="primary" @click="onSubmit()">保存</el-button>
</div>
</div>
<!-- <el-empty v-if="isNoData" description="暂无数据"></el-empty> -->
</div>
</template>
<script>
import { saveSpyjBySlsq, getSpyjList } from "@/api/opinion.js";
import { mapGetters } from "vuex";
export default {
computed: {
...mapGetters(["userData", "yjsqOptions", "userInfo"]),
},
data() {
return {
isNoData: false,
currentindex: 0,
bsmSlsq: "",
ableOperation: false,
bsmSlsq: this.$route.query.bsmSlsq,
bestepid: this.$route.query.bestepid,
propsParam: {},
tableData: [],
falg: false,
falg1: false,
jdmc: "",
indexdqlc: 0,
};
},
watch: {
yjsqOptions: {
handler(val) {
console.log("val", val);
this.add(val);
},
deep: true,
immediate: true,
},
},
created() {},
mounted() {
this.propsParam = this.$attrs;
console.log("this.$parent.dqhj", this.$parent.dqhj);
this.ableOperation = this.$parent.currentSelectTab.ableOperation;
// this.ableOperation = this.$parent.ableOperation;
this.getShList();
switch (this.$parent.dqhj) {
case "cs":
this.indexdqlc = 0;
this.jdmc = "初审";
break;
case "fs":
this.indexdqlc = 1;
this.jdmc = "复审";
break;
case "hd":
this.indexdqlc = 2;
this.jdmc = "核定";
break;
}
},
methods: {
/**
* @description: getShList
* @param {*} obj
* @author: renchao
*/
getShList() {
let that = this;
this.$startLoading();
console.log(this.userInfo);
var formdata = new FormData();
formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
formdata.append("bestepid", this.$route.query.bestepid);
getSpyjList(formdata).then((res) => {
this.$endLoading();
if (res.code === 200 && res.result) {
this.tableData = res.result;
if (this.tableData.length == 0&&this.jdmc=="初审") {
console.log(0);
this.tableData.push({ jdmc: "初审" });
}else if(this.tableData[this.tableData.length-1].jdmc=="初审"&&this.jdmc=="复审") {
console.log(1);
this.tableData.push({ jdmc: "复审" });
}else if(this.tableData[this.tableData.length-1].jdmc=="复审"&&this.jdmc=="核定") {
console.log(2);
this.tableData.push({ jdmc: "核定" });
}
if(this.$parent.dqhj=="cs"){
this.tableData[0].show=false
}
console.log("this.tableData", this.tableData);
}
});
},
/**
* @description: judgment
* @param {*} obj
* @author: renchao
*/
judgment(obj) {},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit() {
this.tableData.forEach((item, index) => {
item["bsmBusiness"] = this.propsParam.bsmBusiness;
item["bestepid"] = this.$route.query.bestepid;
item["shryxm"] = this.userInfo.name;
item["userid"] = this.userInfo.id;
item["shjssj"] = item.shkssj;
item["czjg"] = "1";
item["jddm"] = this.$parent.dqhj;
item["jdmc"] = this.jdmc;
});
console.log("this.tableData", this.tableData);
saveSpyjBySlsq(this.tableData).then((res) => {
if (res.code === 200) {
this.$message.success("保存成功");
this.refresh += 1;
} else {
this.$message.error(res.message);
}
});
// } else {
// return false;
// }
},
//打开常用意见列表弹窗
/**
* @description: 打开常用意见列表弹窗
* @param {*} index
* @author: renchao
*/
commonOpinion(index) {
this.currentindex = index;
this.$popupDialog(
"常用意见",
"workflow/components/dialog/commonOpinion",
{},
"70%",
true
);
},
/**
* @description: add
* @param {*} val
* @author: renchao
*/
add(val) {
if (val != "") {
this.$set(this.tableData[this.currentindex], "shyj", val);
}
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.spyj {
width: 100%;
height: 100%;
background-color: #f5f5f5;
padding: 5px;
.box {
overflow-x: auto;
width: 100%;
height: 95%;
background: #fff;
text-align: center;
padding: 4px;
overflow-y: scroll;
padding-top: 20px;
padding: 20px 40px;
.spyj_title {
width: 100%;
height: 80px;
border: 1px solid $borderColor;
background-color: #eceef2;
display: flex;
}
.leftadd {
width: 3%;
height: 100%;
display: flex;
font-size: 14px;
text-indent: 20px;
align-items: center;
border: 1px solid $borderColor;
}
.righttitle {
width: 80%;
height: 100%;
line-height: 80px;
border: 1px solid $borderColor;
margin: auto;
font-size: 22px;
font-weight: 400;
}
}
/deep/.el-form-item {
margin-bottom: 0;
}
.bottom10 {
margin-bottom: 15px;
}
.spyj_form {
display: flex;
border: 1px solid $borderColor;
.item_left {
width: 150px;
background-color: #f8f8fa;
color: #606266;
display: flex;
font-size: 14px;
text-indent: 50px;
align-items: center;
border-right: 1px solid $borderColor;
}
.item_right {
flex: 1;
width: 100%;
/deep/.el-form-item__label {
background-color: #f8f8fa;
}
/deep/.el-form-item__content {
display: block;
text-align: left;
}
.opinion_item {
/deep/.el-form-item__error {
margin-top: -16px !important;
left: 3px;
}
border-bottom: 1px solid $borderColor;
}
.opinion {
position: relative;
font-size: 14px;
/deep/.el-textarea__inner {
border: none;
}
}
.opinion_btn {
position: absolute;
right: 15px;
bottom: 10px;
}
}
}
.submit_button {
text-align: center;
margin: 15px 0;
}
.el-date-editor.el-input {
width: 100%;
}
}
</style>