e9c9b431 by 田浩浩

修改报错

1 parent 8397619d
...@@ -108,5 +108,5 @@ export default { ...@@ -108,5 +108,5 @@ export default {
108 </script> 108 </script>
109 109
110 <style lang="scss" scoped> 110 <style lang="scss" scoped>
111 @import "./qlxxCommon.scss"; 111 // @import "./qlxxCommon.scss";
112 </style> 112 </style>
......
1 <template>
2 <div class="container">
3 <!-- 顶部内容框 -->
4 <div class="topButton">
5 <!-- 左侧业务功能按钮 -->
6 <ul>
7 <li @click="operation(index, item)" v-for="(item, index) in leftButtonList" :key="index">
8 <svg-icon :icon-class="item.icon" />
9 <span class="iconName">{{ item.name }}</span>
10 </li>
11 </ul>
12 <!-- 右侧流程按钮 -->
13 <ul>
14 <li @click="operation(index, item)" v-for="(item, index) in rightButtonList" :key="index">
15 <svg-icon class="icon" :icon-class="item.icon" />
16 <span class="iconName">{{ item.name }}</span>
17 </li>
18 </ul>
19 </div>
20 <!-- 内容框架 -->
21 <div class="containerFrame">
22 <!-- 左侧菜单栏 -->
23 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
24 <div v-if="this.isShowdrawer">
25 <div class="title">申请单元列表({{ unitData.length }})</div>
26 <el-menu :default-active="activeIndex" @select="unitClick">
27 <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
28 <p>{{ item.bdcdyh }}</p>
29 <p class="title-detail">{{ item.zl }}</p>
30 </el-menu-item>
31 </el-menu>
32 </div>
33 <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
34 () => {
35 this.isShowdrawer = !this.isShowdrawer;
36 }
37 "></div>
38 <div class="map-drawer-expand map-drawer" v-else @click="
39 () => {
40 this.isShowdrawer = !this.isShowdrawer;
41 }
42 "></div>
43 </div>
44 <div class="leftCon">
45 <!-- 分屏左侧预览 -->
46 <div v-if="splitScreen" class="splitScreen-con">
47 <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" />
48 </div>
49 <!-- 表单内容区域 -->
50 <div class="rightContainer">
51 <el-tabs v-model="tabName" @tab-click="tabClick">
52 <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index">
53 </el-tab-pane>
54 </el-tabs>
55 <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
56 </div>
57 </div>
58 </div>
59 <dialogBox title="流程图" width="70%" isMain v-model="myValue" :isFullscreen="false" :isButton="false">
60 <img :src="imgSrc" style="margin: 20px 0" />
61 </dialogBox>
62 </div>
63 </template>
64
65 <style scoped lang='scss'>
66 @import "~@/styles/mixin.scss";
67 @import "./workFrame.scss";
68 </style>
69
70 <script>
71 import {
72 leftMenu,
73 stepExpandInfo,
74 record,
75 getNextLinkInfo,
76 completeTask,
77 } from "@/api/fqsq.js";
78 import { getWorkFlowImage } from "@/api/jsydsyqFlow.js"
79 import { getForm } from "./flowform.js";
80 export default {
81 data () {
82 return {
83 // 流程图
84 imgSrc: '',
85 myValue: false,
86 // 折叠
87 isShowdrawer: true,
88 // 默认选中
89 activeIndex: '0',
90 //受理申请标识码
91 bsmSlsq: this.$route.query.bsmSlsq,
92 //当前流程所在环节
93 bestepid: this.$route.query.bestepid,
94 //顶部左侧按钮集合
95 leftButtonList: [],
96 //顶部右侧按钮集合
97 rightButtonList: [],
98 //左侧菜单数据集合
99 unitData: [],
100 //设置那个表单选中
101 tabName: "",
102 //表单集合
103 tabList: [],
104 //选择加载哪一个组件
105 componentTag: "",
106 //设置表单组件是否刷选值
107 fresh: 10,
108 //设置表单传递数据
109 currentSelectProps: {},
110 //是否开启材料分屏
111 splitScreen: false,
112 //材料分屏表单
113 clxxForm: "",
114 //材料信息选择卡索引
115 clxxIndex: "",
116 //材料信息选项卡对象
117 clxxTab: {},
118 };
119 },
120 mounted () {
121 this.loadBdcdylist();
122 this.flowInitParam();
123 },
124 methods: {
125 //加载流程初始参数
126 flowInitParam () {
127 var formdata = new FormData();
128 formdata.append("bsmSlsq", this.bsmSlsq);
129 formdata.append("bestepid", this.bestepid);
130 stepExpandInfo(formdata).then((res) => {
131 if (res.code === 200) {
132 this.leftButtonList = res.result.button;
133 this.rightButtonList = res.result.operation;
134 this.tabList = res.result.form;
135 //默认选择第一个选项卡内容
136 this.tabName = res.result.form[0].value;
137 let that = this;
138 this.tabList.forEach(function (item, index) {
139 if (item.value == "clxx") {
140 that.clxxIndex = index;
141 that.clxxForm = getForm(item.value);
142 that.clxxTab = item;
143 }
144 });
145 //默认加载第一个选项卡的组件内容
146 this.getFromRouter(res.result.form[0].value);
147 }
148 });
149 },
150 //流程环节操作按钮
151 operation (index, item) {
152 let that = this;
153 switch (item.value) {
154 case "B1":
155 getWorkFlowImage(this.bsmSlsq).then(res => {
156 this.imgSrc = URL.createObjectURL(res)
157 this.myValue = true
158 })
159 break;
160 case "zsyl":
161 this.zsylFlag = true;
162 break;
163 case "clfp": //材料分屏按钮
164 this.splitScreen = this.splitScreen ? false : true;
165 this.$store.dispatch('app/settScreen', this.splitScreen)
166 if (this.splitScreen) {
167 //如果当前选项卡为材料信息内容,递减到上一个选项卡内容
168 if (this.tabName == this.clxxTab.value) {
169 this.tabName = this.tabList[this.clxxIndex - 1].value;
170 this.getFromRouter(this.tabList[this.clxxIndex - 1].value);
171 }
172 this.tabList.splice(this.clxxIndex, 1);
173 } else {
174 this.tabList.splice(this.clxxIndex, 1, this.clxxTab);
175 }
176 break;
177 case "th": //退回按钮
178 break;
179 case "zc": //转件按钮
180 getNextLinkInfo({
181 bsmSlsq: this.bsmSlsq,
182 bestepid: this.bestepid,
183 }).then((res) => {
184 if (res.code === 200) {
185 this.send(res.result);
186 }
187 });
188 // this.$alert(res.result);
189 break;
190 case "tc":
191 window.close();
192 break;
193 case "db":
194 var formdata = new FormData();
195 formdata.append("bsmSlsq", this.bsmSlsq);
196 formdata.append("bestepid", this.bestepid);
197 // comMsg;
198 this.$confirm("请确认是否登簿", "提示", {
199 iconClass: "el-icon-question", //自定义图标样式
200 confirmButtonText: "确认", //确认按钮文字更换
201 cancelButtonText: "取消", //取消按钮文字更换
202 showClose: true, //是否显示右上角关闭按钮
203 type: "warning", //提示类型 success/info/warning/error
204 }).then(function () {
205 record(formdata).then((res) => {
206 if (res.code === 200 || res.code === 2002) {
207 that.$alert(res.message);
208 }
209 });
210 });
211 break;
212 }
213 },
214 //读取申请单元信息
215 loadBdcdylist () {
216 var formdata = new FormData();
217 formdata.append("bsmSlsq", this.bsmSlsq);
218 formdata.append("bestepid", this.bestepid);
219 leftMenu(formdata).then((res) => {
220 if (res.code === 200) {
221 this.unitData = res.result;
222 this.currentSelectProps = res.result[0];
223 }
224 })
225 },
226 //申请单元点击事件
227 unitClick (index) {
228 if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) {
229 this.currentSelectProps = this.unitData[index];
230 this.fresh += 1;
231 }
232 },
233 //表单选项卡事件
234 tabClick (tab, event) {
235 this.getFromRouter(tab.name);
236 },
237 //切换选项卡内容组件
238 getFromRouter (tabname) {
239 this.componentTag = getForm(tabname);
240 },
241 //发送下一个环节
242 send (obj) {
243 const h = this.$createElement;
244 this.$msgbox({
245 title: "您确定转出吗?",
246 message: h("div", { style: "margin: auto" }, [
247 h("span", null, "下个环节名称:"),
248 h("i", { style: "color: teal" }, obj.taskName),
249 h("div", null, ""),
250 h("span", null, "下个环节经办人: "),
251 h("i", { style: "color: teal" }, obj.usernames.join(",")),
252 ]),
253 showCancelButton: true,
254 beforeClose: (action, instance, done) => {
255 if (action === "confirm") {
256 instance.confirmButtonLoading = true;
257 instance.confirmButtonText = "执行中...";
258 completeTask({
259 bsmSlsq: this.bsmSlsq,
260 shyj: "this.bestepid",
261 }).then((res) => {
262 if (res.code === 200) {
263 instance.confirmButtonLoading = false;
264 this.$message.success("转件成功");
265 setTimeout(() => {
266 window.opener = null;
267 window.open("about:blank", "_self");
268 window.close();
269 this.$emit("input", false);
270 }, 1000);
271 }
272 });
273 } else {
274 done();
275 }
276 },
277 }).then((action) => {
278 this.$message({
279 type: "info",
280 message: "action: " + action
281 })
282 })
283 }
284 }
285 }
286 </script>
...\ No newline at end of file ...\ No newline at end of file
1 <template>
2 <div class="slxx">
3 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
4 label-width="120px">
5 <div class="slxx_con">
6 <div class="slxx_title">受理信息</div>
7 <el-row :gutter="10">
8 <el-col :span="8">
9 <el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:" prop="ywh">
10 <el-input disabled v-model="ruleForm.ywh"></el-input>
11 </el-form-item>
12 </el-col>
13 <el-col :span="8">
14 <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:" prop="slry">
15 <el-input disabled v-model="ruleForm.slry"></el-input>
16 </el-form-item>
17 </el-col>
18 <el-col :span="8">
19 <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:" prop="slsj">
20 <el-input disabled v-model="ruleForm.slsj"></el-input>
21 </el-form-item>
22 </el-col>
23 </el-row>
24 <el-row :gutter="10">
25 <el-col :span="8">
26 <el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:" prop="qllx">
27 <el-select disabled v-model="ruleForm.qllx" filterable clearable placeholder="请选择权利类型">
28 <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode">
29 </el-option>
30 </el-select>
31 </el-form-item>
32 </el-col>
33 <el-col :span="8">
34 <el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:" prop="djlx">
35 <el-select disabled v-model="ruleForm.djlx" filterable clearable placeholder="请选择登记类型">
36 <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
37 </el-option>
38 </el-select>
39 </el-form-item>
40 </el-col>
41 <el-col :span="8">
42 <el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:" prop="djqx">
43 <el-input disabled v-model="ruleForm.djqxmc"></el-input>
44 </el-form-item>
45 </el-col>
46 </el-row>
47 <div class="slxx_title">不动产单元情况</div>
48 <el-row :gutter="10">
49 <el-col :span="8">
50 <el-form-item :class="flag ? 'marginBot0' : ''" label="宗地代码:" prop="zddm">
51 <el-input disabled v-model="ruleForm.zddm"></el-input>
52 </el-form-item>
53 </el-col>
54 <el-col :span="8">
55 <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产单元号:" prop="bdcdyh">
56 <el-input disabled v-model="ruleForm.bdcdyh"></el-input>
57 </el-form-item>
58 </el-col>
59 <el-col :span="8">
60 <el-form-item :class="flag ? 'marginBot0' : ''" label="权利性质:" prop="qlxzmc">
61 <el-input disabled v-model="ruleForm.qlxzmc"></el-input>
62 </el-form-item>
63 </el-col>
64 </el-row>
65 <el-row :gutter="10">
66 <el-col :span="8">
67 <el-form-item :class="flag ? 'marginBot0' : ''" label="宗地面积:" prop="zdmj">
68 <el-input disabled v-model="ruleForm.zdmj"></el-input>
69 </el-form-item>
70 </el-col>
71 <el-col :span="8">
72 <el-form-item :class="flag ? 'marginBot0' : ''" label="土地用途:" prop="ghytmc">
73 <el-input disabled v-model="ruleForm.ghytmc"></el-input>
74 </el-form-item>
75 </el-col>
76 <el-col :span="8">
77 <el-form-item :class="flag ? 'marginBot0' : ''" label="权利设定方式:" prop="qlsdfs">
78 <el-select disabled v-model="ruleForm.qlsdfs" filterable clearable placeholder="请选择权利设定方式">
79 <el-option v-for="item in qlsdfsOption" :key="item.value" :label="item.label" :value="item.value">
80 </el-option>
81 </el-select>
82 </el-form-item>
83 </el-col>
84 </el-row>
85 <el-row :gutter="10">
86 <el-col :span="8">
87 <el-form-item :class="flag ? 'marginBot0' : ''" label="取得价格:" prop="qdjg">
88 <el-input disabled v-model="ruleForm.qdjg"></el-input>
89 </el-form-item>
90 </el-col>
91
92 <el-col :span="16">
93 <el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:" prop="zl">
94 <el-input disabled v-model="ruleForm.zl"></el-input>
95 </el-form-item>
96 </el-col>
97 </el-row>
98 <el-row :gutter="10">
99 <el-col :span="8">
100 <el-form-item :class="flag ? 'marginBot0' : ''" label="使用期限:" prop="tdsyqx">
101 <el-input disabled v-model="ruleForm.tdsyqx"></el-input>
102 </el-form-item>
103 </el-col>
104
105 <el-col :span="16">
106 <el-form-item :class="flag ? 'marginBot0' : ''" label="使用权起止时间:" prop="qssj">
107 <el-input disabled v-model="ruleForm.syqqzsj"></el-input>
108 </el-form-item>
109 </el-col>
110 </el-row>
111 <el-row :gutter="10">
112 <el-col>
113 <el-form-item :class="flag ? 'marginBot0' : ''" label="附记:" prop="fj">
114 <el-input type="textarea" v-model="ruleForm.fj"></el-input>
115 </el-form-item>
116 </el-col>
117 </el-row>
118 <div class="slxx_title">权利人信息</div>
119 <el-row :gutter="10">
120 <el-col :span="14">
121 <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:">
122 <el-radio-group v-model="ruleForm.gyfs">
123 <el-radio label="1">单独所有</el-radio>
124 <el-radio label="2">共同共有</el-radio>
125 <el-radio label="3">按份所有</el-radio>
126 </el-radio-group>
127 </el-form-item>
128 </el-col>
129 <el-col :span="5" v-show="ruleForm.gyfs == '2'">
130 <el-form-item :class="flag ? 'marginBot0' : ''" label="是否分别持证:">
131 <el-radio-group v-model="ruleForm.sffbcz">
132 <el-radio label="1"></el-radio>
133 <el-radio label="0"></el-radio>
134 </el-radio-group>
135 </el-form-item>
136 </el-col>
137 <el-col :span="5" v-show="ruleForm.gyfs == '2'">
138 <el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:">
139 <el-select v-model="ruleForm.czr" placeholder="持证人">
140 <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
141 </el-option>
142 </el-select>
143 </el-form-item>
144 </el-col>
145 </el-row>
146 <InformationTable :tableData="ruleForm.qlrxx" :gyfs="ruleForm.gyfs" />
147 <div class="slxx_title">登记原因{{flag}}</div>
148 <el-row :gutter="10">
149 <el-col>
150 <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy">
151 <el-input class="textArea" type="textarea" v-model="ruleForm.djyy"></el-input>
152 </el-form-item>
153 </el-col>
154 </el-row>
155 </div>
156 <el-row class="btn">
157 <el-form-item :class="flag ? 'marginBot0' : ''">
158 <el-button type="primary" @click="onSubmit">保存</el-button>
159 </el-form-item>
160 </el-row>
161 </el-form>
162 </div>
163 </template>
164 <script>
165 import InformationTable from "./InformationTable";
166 import { Init, fristReg } from "@/api/jsydsyqFlow.js";
167 import { mapGetters } from "vuex";
168 export default {
169 async created () {
170 //var bsmSldy = this.$parent._data.unitData[0].bsmSldy;
171 this.propsParam = this.$attrs;
172 var formdata = new FormData();
173 formdata.append("bsmSldy", this.propsParam.bsmSldy);
174 Init(formdata).then((res) => {
175 if (res.code === 200 && res.result) {
176 this.ruleForm = {
177 ...res.result,
178 ...res.result.zdjbxxdatas,
179 ...res.result.qlxxdatas,
180 ...res.result.jsydsyqdatas,
181 };
182 }
183 });
184 },
185 components: { InformationTable },
186 computed: {
187 ...mapGetters(["dictData", "flag"]),
188 },
189 data () {
190 return {
191 disabled: true,
192 tdytOption: [],
193 qlsdfsOption: [],
194 czrOptions: [],
195 ruleForm: {
196 ywh: "",
197 slry: "",
198 slsj: "",
199 qllx: "",
200 djlx: "",
201 djqx: "",
202 zddm: "",
203 bdcdyh: "",
204 qlxzmc: "",
205 qlrxx: [],
206 zdmj: "",
207 zl: "",
208 tdyt: "",
209 qlsdfs: "",
210 qdjg: "",
211 tdsyqx: "",
212 syqqzsj: "",
213 fj: "",
214 djyy: "",
215 gyfs: "1",
216 // 是否分别持证
217 sffbcz: "",
218 // 持证人
219 czr: "",
220 },
221 //传递参数
222 propsParam: {},
223 rules: {},
224 };
225 },
226 methods: {
227 list (bsmSldy) {
228 var formdata = new FormData();
229 formdata.append("bsmSldy", bsmSldy);
230 Init(formdata).then((res) => {
231 if (res.code === 200 && res.result) {
232 this.ruleForm = {
233 ...res.result,
234 ...res.result.zdjbxxdatas,
235 ...res.result.qlxxdatas,
236 ...res.result.jsydsyqdatas,
237 };
238 }
239 });
240 },
241 onSubmit () {
242 fristReg(this.ruleForm).then((res) => {
243 if (res.code === 200 && res.result) {
244 console.log(res);
245 //this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas }
246 }
247 });
248 },
249 },
250 };
251 </script>
252 <style scoped lang='scss'>
253 @import "~@/styles/public.scss";
254
255 /deep/.el-form {
256 display: flex;
257 flex-direction: column;
258 height: calc(100vh - 130px);
259 background-color: aqua;
260 }
261
262 /deep/.el-form-item__label {
263 padding: 0;
264 }
265
266 /deep/.el-radio {
267 margin-right: 10px;
268 }
269
270 /deep/.el-select {
271 width: 100%;
272 }
273
274 /deep/.el-form-item {
275 margin-bottom: 8px;
276 }
277
278 .marginBot0 {
279 margin-bottom: 0 !important;
280 }
281
282 .slxx {
283 box-sizing: border-box;
284 }
285
286 .slxx_con {
287 flex: 1;
288 height: 100%;
289 background-color: #ffffff;
290 overflow-y: auto;
291 padding-right: 3px;
292 overflow-x: hidden;
293 }
294
295 .submit_btn {
296 height: 50px;
297 }
298
299 .slxx_title {
300 border-bottom: 1px solid $borderColor;
301 padding-left: 10px;
302 padding-bottom: 5px;
303 margin-bottom: 10px;
304 margin-top: 5px;
305 font-size: 16px;
306 font-weight: 500;
307 color: #4a4a4a;
308 }
309
310 .btn {
311 text-align: center;
312 padding-top: 10px;
313 height: 36px;
314 background-color: #ffffff;
315 padding: 5px 0;
316 }
317
318 .textArea {
319 /deep/.el-textarea__inner {
320 min-height: 90px !important;
321 }
322 }
323
324 /deep/.el-form-item__label {
325 padding-bottom: 0px;
326 }
327 </style>
...\ No newline at end of file ...\ No newline at end of file