312b6237 by “miaofang
2 parents 9925597f 6f80a4bd
......@@ -4,7 +4,7 @@
* @Author: sakuya
* @Date: 2021年6月10日10:04:07
* @LastEditors: Please set LastEditors
* @LastEditTime: 2023-11-07 09:23:12
* @LastEditTime: 2023-11-07 10:04:18
-->
<template>
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-02-01 08:52:00
* @LastEditTime: 2024-02-01 16:27:16
*/
import { getUserInfo } from '@/api/user'
const state = {
......
......@@ -387,9 +387,6 @@
justify-content: center;
align-items: center;
}
height: 45px;
border: 1px solid rgb(228, 228, 228);
border-right: 4px solid #f5f5f5;
}
.select {
......
<!--
* @Description: 审批意见
* @Autor: renchao
* @LastEditTime: 2023-08-16 14:39:55
-->
<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="ruleForm'"
>
<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="!viewEdit || item.show"
type="textarea"
:rows="4"
class="opinion"
placeholder="请输入审批意见"
v-model="item.shyj"
></el-input>
<el-button
class="opinion_btn"
@click="commonOpinion(index)"
:disabled="!viewEdit|| item.show"
>常用意见</el-button
>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="审查人">
{{ item.shryxm }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item disabled label="审核时间" :key="refresh">
{{ item.shjssj }}
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
</div>
<div class="submit_button" v-if="viewEdit">
<el-button type="primary" :disabled="shows" @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";
import { getNewDatesh } from "@/utils/util";
export default {
computed: {
...mapGetters(["userData", "yjsqOptions", "userInfo"]),
},
data() {
return {
isNoData: false,
currentindex: 0,
bsmSlsq: "",
refresh: 10,
viewEdit: false,
bsmSlsq: this.$route.query.bsmSlsq,
bestepid: this.$route.query.bestepid,
propsParam: {},
tableData: [],
falg: false,
falg1: false,
jdmc: "",
indexdqlc: 0,
shows: false,
};
},
watch: {
yjsqOptions: {
handler(val) {
this.add(val);
},
deep: true,
immediate: true,
},
},
created() {},
mounted() {
this.propsParam = this.$attrs;
this.viewEdit = this.$parent.currentSelectTab.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() {
this.$startLoading();
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.$nextTick(() => {
this.tableData = res.result;
if (this.shows) {
this.shows = false;
}
var index = this.tableData.findIndex(
(item) => item.jddm === this.$parent.dqhj
);
if (index == -1) {
switch (this.$parent.dqhj) {
case "cs":
this.tableData.push({ jdmc: "初审", jddm: "cs", sxh: 1 });
break;
case "fs":
this.tableData.push({ jdmc: "复审", jddm: "fs", sxh: 2 });
break;
case "hd":
this.tableData.push({ jdmc: "核定", jddm: "hd", sxh: 3 });
break;
}
}
this.tableData.forEach((item) => {
item.show = true;
if (this.$parent.dqhj == item.jddm) {
item["stepid"] = this.$route.query.bestepid;
item.shjssj = getNewDatesh();
item.shkssj = getNewDatesh();
item["shryxm"] = this.userInfo.name;
item["userid"] = this.userInfo.id;
item.show = false;
}
});
});
}
});
},
/**
* @description: judgment
* @param {*} obj
* @author: renchao
*/
judgment(obj) {},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit() {
this.tableData.forEach((item, index) => {
item["bsmBusiness"] = this.propsParam.bsmBusiness;
item["czjg"] = "1";
});
var index = this.tableData.findIndex(
(item) => item.shyj === null||item.shyj === ""
);
if(index==-1){
this.shows = true;
saveSpyjBySlsq(this.tableData).then((res) => {
if (res.code === 200) {
this.$message.success("保存成功");
this.refresh += 1;
this.getShList();
} else {
this.$message.error(res.message);
}
});
}else{
this.$message.error("意见不能为空");
}
},
//打开常用意见列表弹窗
/**
* @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>
......@@ -17,7 +17,7 @@
<el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:">
<el-input disabled v-model="ruleForm.flow.ywh"></el-input>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="8">
<el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:">
<el-input disabled v-model="ruleForm.slsq.slry"></el-input>
......
<!--
* @Description: 房屋多幢明细
* @Autor:
* @LastEditTime: 2023-09-01 13:29:29
-->
<template>
<div>
<el-table
:data="tableDataList"
border
:pagination="false"
:key="key"
:header-cell-style="{ 'text-align': 'center' }"
:heightNumSetting="true"
:minHeight="150"
height="150"
style="width: 100%">
<el-table-column prop="index" width="50" :render-header="renderHeader">
<template slot-scope="scope">
<div style="text-align: center">{{ scope.$index + 1 }}</div>
</template>
</el-table-column>
<el-table-column prop="bdcdyh" label="不动产单元号" min-width="100">
<template slot-scope="scope">
<div style="text-align: center">{{ scope.row.bdcdyh }}</div>
</template>
</el-table-column>
<el-table-column prop="xmmc" label="项目名称" min-width="100">
<template slot-scope="scope">
<el-input
class="item"
:disabled="!ableOperation"
v-model="scope.row.xmmc"
placeholder="请输入内容"
@input="updaterow(scope.row)">
</el-input>
</template>
</el-table-column>
<el-table-column prop="fwxz" label="房屋性质" min-width="100">
<template slot-scope="scope">
<treeselect
v-model="scope.row.fwxz"
:disabled="!ableOperation"
noOptionsText="暂无数据"
placeholder=""
:show-count="true"
:options="dictData['A19']"
:normalizer="normalizer"
:appendToBody="true"
z-index="9999"
@input="updaterow(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="ghyt" label="房屋用途" min-width="100">
<template slot-scope="scope">
<treeselect
v-model="scope.row.ghyt"
:disabled="!ableOperation"
noOptionsText="暂无数据"
placeholder=""
:show-count="true"
:options="dictData['A17']"
:normalizer="normalizer"
:appendToBody="true"
z-index="9999"
@input="updaterow(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="fwjg" label="房屋结构" min-width="100">
<template slot-scope="scope">
<treeselect
v-model="scope.row.fwjg"
:disabled="!ableOperation"
noOptionsText="暂无数据"
placeholder=""
:show-count="true"
:options="dictData['A46']"
:normalizer="normalizer"
:appendToBody="true"
z-index="9999"
@input="updaterow(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="jzmj" label="建筑面积" min-width="100">
<template slot-scope="scope">
<el-input
maxlength="12"
class="item"
:disabled="!ableOperation"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
v-model="scope.row.jzmj"
placeholder="请输入内容"
@input="updaterow(scope.row)">
</el-input>
</template>
</el-table-column>
<el-table-column prop="jgsj" label="竣工时间" min-width="100">
<template slot-scope="scope">
<el-date-picker
v-model="scope.row.jgsj"
type="date"
:disabled="!ableOperation"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
@input="updaterow(scope.row)">
</el-date-picker>
</template>
</el-table-column>
<el-table-column prop="zcs" label="总层数" min-width="100">
<template slot-scope="scope">
<el-input
class="item"
:disabled="!ableOperation"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
v-model="scope.row.zcs"
placeholder="请输入内容"
@input="updaterow(scope.row)">
</el-input>
</template>
</el-table-column>
<el-table-column prop="zts" label="总套数" min-width="100">
<template slot-scope="scope">
<el-input
class="item"
:disabled="!ableOperation"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"
v-model="scope.row.zts"
placeholder="请输入内容"
@input="updaterow(scope.row)">
</el-input>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
computed: {
...mapGetters(["dictData"]),
},
props: {
tableData: {
type: Array,
default: function () {
return [];
},
},
ableOperation: {
type: Boolean,
default: false,
},
},
data () {
return {
// 键名转换,方法默认是label和children进行树状渲染
key: 0,
tableDataList: [],
normalizer (node) {
if (node.children == null || node.children == "null") {
delete node.children;
}
return {
id: node.dcode,
label: node.dname,
children: node.children,
};
},
};
},
mounted () {
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this;
this.$nextTick(() => {
if (val.length == 0 || !val) {
that.tableDataList = _.cloneDeep([
{
yt: null,
qssj: "",
jssj: "",
tdsyqx: "",
},
]);
} else {
that.tableDataList = _.cloneDeep(val);
}
});
},
immediate: true,
deep: true,
},
},
methods: {
/**
* @description: renderHeader
* @author: renchao
*/
renderHeader () {
return (
<div>
{"序号"}
</div>
);
},
updaterow (a) {
this.$emit("updateFdcwxmList", this.tableDataList);
}
}
}
</script>
<style scoped lang="scss">
.el-input {
border: none !important;
}
/deep/ .el-table__row {
border: none !important;
}
.el-date-editor.el-input {
width: 100%;
}
/deep/ .el-table th {
height: 30px !important;
}
</style>
<!--
* @Description: 房屋多幢受理信息
* @Autor: ssq
* @LastEditTime: 2024-02-26 10:15:51
* @LastEditTime: 2024-02-27 14:02:53
-->
<template>
<div class="slxx">
......