b946136b by 夏齐

Merge remote-tracking branch 'origin/master'

2 parents b88920a7 8a70c6ec
Showing 35 changed files with 297 additions and 2371 deletions
1 <template>
2 <el-dialog :close-on-click-modal="false" title="户重新落宗" :visible.sync="isVisible" width="50%" @close="close"
3 :modal-append-to-body="false">
4 <div class="content">
5 <table>
6 <tr>
7 <td class="label">宗地:</td>
8 <td class="input">
9 <el-input placeholder="请选择宗地" v-model="zdxx" :disabled="true"></el-input>
10 </td>
11 <td>
12 <el-button type="primary" @click="xzzdVisible = true">选择宗地</el-button>
13 </td>
14 </tr>
15 <tr>
16 <td class="label">自然幢:</td>
17 <td class="input">
18 <el-select v-model="hcxlzData.zrzbsm" filterable placeholder="请选择" @change="zrzChange">
19 <el-option v-for="(item, index) in zrzList" :key="index" :label="item.label"
20 :value="item.bsm">
21 </el-option>
22 </el-select>
23 </td>
24 </tr>
25 <tr>
26 <td class="label">逻辑幢:</td>
27 <td class="input">
28 <el-select v-model="hcxlzData.ljzbsm" filterable placeholder="请选择" @change="ljzChange">
29 <el-option v-for="(item, index) in ljzList" :key="index" :label="item.ljzmc"
30 :value="item.bsm">
31 </el-option>
32 </el-select>
33 </td>
34 </tr>
35 <tr>
36 <td class="label">幢单元:</td>
37 <td class="input">
38 <el-select v-model="hcxlzData.zdybsm" filterable placeholder="请选择">
39 <el-option v-for="(item, index) in zdyList" :key="index" :label="item.zdymc"
40 :value="item.bsm">
41 </el-option>
42 </el-select>
43 </td>
44 </tr>
45 </table>
46 </div>
47 <div class="footer">
48 <el-button type="primary" @click="save">保存</el-button>
49 <el-button type="primary" @click="close">取消</el-button>
50 </div>
51 <!-- <zd-query-data :isCxlz=true :centerDialogVisible="xzzdVisible" @close="xzzdClose" @getData="getZdxx"
52 :isZdClose="true"></zd-query-data> -->
53 </el-dialog>
54 </template>
55
56 <script>
57 // import zdQueryData from '@/components/zdQueryData/zdQueryData'
58 // import { zdXlcd, hzl } from '@api/zd'
59 import { Message } from 'element-ui'
60 export default {
61 name: "hCxlz",
62 // components: { zdQueryData },
63 data () {
64 return {
65 zd: {},
66 zrz: {},
67 ljz: {},
68 zdy: {},
69 xzzdVisible: false,
70 isVisible: false,
71 zdxx: '', // 宗地信息
72 hcxlzData: {
73 bsms: [],
74 zrzbsm: '',
75 ljzbsm: '',
76 zdybsm: ''
77 },
78 total: 1,
79 zrzList: [],
80 ljzList: [],
81 zdyList: []
82 }
83 },
84 props: {
85 hCxlzVisble: {
86 type: Boolean,
87 default: false
88 },
89 bsms: {
90 type: Array
91 }
92 },
93 mounted () {
94 this.hcxlzData.bsms = this.bsms;
95 },
96 methods: {
97 ljzChange: function () {
98 const item = this.ljzList.find(i => i.bsm == this.hcxlzData.ljzbsm)
99 this.hcxlzData.zdybsm = ''
100 this.zdyList = item.list;
101 this.zdyList.push({
102 zdymc: '空',
103 bsm: ''
104 })
105 },
106 zrzChange: function () {
107 const item = this.zrzList.find(i => i.bsm === this.hcxlzData.zrzbsm);
108 this.hcxlzData.ljzbsm = '';
109 this.hcxlzData.zdybsm = '';
110 this.ljzList = item.ljzList;
111 this.ljzList.push({
112 ljzmc: '空',
113 bsm: ''
114 })
115 this.zdyList = item.zdyList;
116 this.zdyList.push({
117 zdymc: '空',
118 bsm: ''
119 })
120 },
121 getZrz: function (bsm) {
122 zdXlcd(bsm).then(res => {
123 if (res.success) {
124 this.zrzList = res.result;
125 this.xzzdClose();
126 } else {
127 Message.error(res.message)
128 }
129 })
130 },
131 getZdxx: function (val) {
132 this.zd = val
133 this.zdxx = val.xmmc + "(" + val.zddm + ")";
134 },
135 xzzdClose: function () {
136 this.xzzdVisible = false;
137 },
138 result: function () {
139 this.hcxlzData = {
140 zrzbsm: '',
141 ljzbsm: '',
142 zdybsm: ''
143 };
144 this.hcxlzData.bsms = this.bsms;
145 },
146 save () {
147 if (this.hcxlzData.zrzbsm === '') {
148 Message.error("请选择自然幢");
149 return;
150 }
151 hzl(this.hcxlzData).then(res => {
152 if (res.success) {
153 this.$router.push({
154 path: '/zrz',
155 query: {
156 bsm: this.hcxlzData.zrzbsm,
157 source: 2,
158 auth: '0,1,2'
159 }
160 })
161 } else {
162 Message.error(res.message)
163 }
164 });
165 },
166 close () {
167 this.$emit('close', false);
168 this.result();
169 },
170 },
171 watch: {
172 hCxlzVisble: function (val) {
173 this.isVisible = val
174 },
175 zd: function (val) {
176 this.hcxlzData.zrzbsm = '';
177 this.hcxlzData.zdybsm = '';
178 this.hcxlzData.ljzbsm = '';
179 this.getZrz(val.zdbsm)
180 }
181 }
182 }
183 </script>
184
185 <style scoped lang="scss">
186 .input-suffix {
187 input {
188 width: 210px;
189 height: 30px;
190 border-radius: 3px;
191 border-color: #BBB;
192 }
193 }
194
195 .content {
196 text-align: center;
197 }
198
199 table {
200 border-collapse: separate;
201 border-spacing: 10px;
202 display: inline-block;
203 text-align: center;
204
205 .label {
206 width: 60px;
207 font-size: 15px;
208 text-align: justify;
209 text-align-last: justify
210 }
211
212 .input {
213 width: 300px;
214
215 .el-select {
216 width: 300px;
217 }
218 }
219 }
220
221 .footer {
222 margin-top: 20px;
223 text-align: center;
224 }
225 </style>
1 <template>
2 <div>
3 <el-dialog :close-on-click-modal="false" title="移动户" :visible.sync="isVisible" width="50%" @close="close"
4 :modal-append-to-body="false">
5 <div>
6 <div class="bottom-radio">
7 <el-radio-group v-model="moveHdata.sxzylx">
8 <el-radio label="up">向上</el-radio>
9 <el-radio label="down">向下</el-radio>
10 <el-radio label="left">向左</el-radio>
11 <el-radio label="right">向右</el-radio>
12 </el-radio-group>
13 </div>
14 <div class="bottom-buttom">
15 <el-button type="primary" @click="save">确认</el-button>
16 <el-button type="primary" @click="cacel">取消</el-button>
17 </div>
18 </div>
19 </el-dialog>
20 </div>
21 </template>
22
23 <script>
24 // import { moveH } from '@api/lpb'
25 import { Message } from 'element-ui'
26
27 export default {
28 name: "moveH",
29 data () {
30 return {
31 isVisible: false,
32 moveHdata: {
33 hbsm: "",
34 sxzylx: "",
35 type: ""
36 }
37 }
38 },
39 props: {
40 moveHvisible: {
41 type: Boolean,
42 default: false
43 },
44 hbsm: {
45 type: String
46 },
47 type: {
48 type: String
49 }
50 },
51 methods: {
52 loading: function () {
53 this.$emit('loading')
54 },
55 save () {
56 this.moveHdata.hbsm = this.hbsm
57 this.moveHdata.type = this.type
58 // moveH(this.moveHdata).then(res => {
59 // console.log(res)
60 // if (res.success) {
61 // this.loading();
62 // this.close();
63 // Message.success("移动成功")
64 // } else {
65 // Message.error(res.message)
66 // }
67 // })
68 },
69 cacel () {
70 this.close()
71 },
72 close () {
73 this.$emit('close');
74 }
75 },
76 watch: {
77 moveHvisible (val) {
78 this.isVisible = val
79 }
80 }
81 }
82 </script>
83
84 <style scoped lang="scss">
85 .bottom-radio {
86 text-align: center;
87 }
88
89 .el-radio {
90 padding: 20px;
91 }
92
93 .bottom-buttom {
94 margin-top: 20px;
95 text-align: center;
96 }
97 </style>
1 <template>
2 <div>
3 <el-dialog :close-on-click-modal="false" title="批量层" :visible.sync="isVisible" width="50%" @close="close"
4 :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <td class="tdright">层建筑面积(㎡)</td>
9 <td>
10 <el-input v-model="qlcData.cjzmj"
11 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
12 </td>
13 <td class="tdright">
14 层套内建筑面积(㎡)
15 </td>
16 <td>
17 <el-input v-model="qlcData.ctnjzmj"
18 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
19 </td>
20 </tr>
21 <tr>
22 <td class="tdright">层阳台面积(㎡)</td>
23 <td>
24 <el-input v-model="qlcData.cytmj" class=""
25 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
26 </td>
27 <td class="tdright">
28 层半墙面积(㎡)
29 </td>
30 <td>
31 <el-input v-model="qlcData.cbqmj" class=""
32 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
33 </td>
34 </tr>
35 <tr>
36 <td class="tdright">层共有建筑面积(㎡)</td>
37 <td>
38 <el-input v-model="qlcData.cgyjzmj" class=""
39 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
40 </td>
41 <td class="tdright">
42 层分摊建筑面积(㎡)
43 </td>
44 <td>
45 <el-input v-model="qlcData.cftjzmj" class=""
46 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"
47 placeholder="层分摊建筑面积(㎡)"></el-input>
48 </td>
49 </tr>
50 <tr>
51 <td class="tdright">层高(m)</td>
52 <td>
53 <el-input v-model="qlcData.cg" class=""
54 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="层高(m)">
55 </el-input>
56 </td>
57 <td class="tdright">
58 水平投影面积(㎡)
59 </td>
60 <td>
61 <el-input v-model="qlcData.sptymj" class=""
62 oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="水平投影面积(㎡)">
63 </el-input>
64 </td>
65 </tr>
66 </table>
67 </div>
68 <div class="shop">
69 <el-button type="primary" @click="save">保存</el-button>
70 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
71 <el-button type="primary" @click="cancel">取消</el-button>
72 </div>
73 </el-dialog>
74 </div>
75 </template>
76
77 <script>
78 // import { updatePlc } from '@api/zrz'
79 export default {
80 name: "plC",
81 data () {
82 return {
83 isVisible: false,
84 qlcData: {
85 cbqmj: '', // 层半墙面积
86 cftjzmj: '', // 层分摊建筑面积
87 cg: '', // 层高
88 cgyjzmj: '', // 层共有建筑面积
89 cjzmj: '', // 层建筑面积
90 ctnjzmj: '', // 层套内建筑面积
91 cytmj: '', // 层阳台面积
92 sptymj: '' // 水平投影面积
93 }
94 }
95 },
96 props: {
97 bsms: {
98 type: Array,
99 },
100 plcVisible: {
101 type: Boolean,
102 default: function () {
103 return false
104 }
105 }
106 },
107 methods: {
108 lodding: function () {
109 this.$emit('lodding')
110 },
111 save: function () {
112 this.qlcData['bsms'] = this.bsms
113 // updatePlc(this.qlcData).then(res => {
114 // if (res.success) {
115 // Message.success("保存成功")
116 // this.lodding()
117 // this.close()
118 // } else {
119 // Message.error(res.message)
120 // }
121 // })
122 },
123 close: function () {
124 this.$emit('close')
125 this.isVisible = false
126 this.result()
127 },
128 cancel: function () {
129 this.$emit('close')
130 this.isVisible = false
131 },
132 result: function () {
133 this.qlcData = {
134 cbqmj: '', // 层半墙面积
135 cftjzmj: '', // 层分摊建筑面积
136 cg: '', // 层高
137 cgyjzmj: '', // 层共有建筑面积
138 cjzmj: '', // 层建筑面积
139 ctnjzmj: '', // 层套内建筑面积
140 cytmj: '', // 层阳台面积
141 sptymj: '' // 水平投影面积
142 }
143 }
144 },
145 watch: {
146 plcVisible (val) {
147 this.isVisible = val
148 }
149 }
150 }
151 </script>
152
153 <style scoped>
154 table {
155 margin-top: 10px;
156 background-color: #fff;
157 font-size: 14px;
158 width: 100%;
159 }
160
161 td {
162 text-align: center;
163 height: 36px;
164 min-width: 50px;
165 }
166
167 table:hover {
168 cursor: pointer;
169 }
170
171 .inputtitle {
172 line-height: 41px;
173 width: 95%;
174 border: none;
175 height: 98%;
176 outline: none;
177 }
178
179
180 .shop {
181 margin-top: 20px;
182 text-align: center;
183 }
184 </style>
1 <template>
2 <div>
3 <el-dialog :close-on-click-modal="false" title="批量户" :visible.sync="isVisible" width="72%" @close="close"
4 :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <td colspan="2" class="tdright">建筑面积(㎡)</td>
9 <td colspan="4"><input type="text" v-model="form.jzmj" class="inputtitle" /></td>
10 <td colspan="2" class="tdright">套内建筑面积(㎡)</td>
11 <td colspan="4"><input type="text" v-model="form.tnjzmj" class="inputtitle" /></td>
12 </tr>
13 <tr>
14 <td colspan="2" class="tdright">分摊建筑面积(㎡)</td>
15 <td colspan="4"><input type="text" v-model="form.ftjzmj" class="inputtitle" /></td>
16 <td colspan="2" class="tdright">地下部分建筑面积(㎡)</td>
17 <td colspan="4"><input type="text" v-model="form.dxbfjzmj" class="inputtitle" /></td>
18 </tr>
19 <tr>
20 <td colspan="2" class="tdright">其他建筑面积(㎡)</td>
21 <td colspan="4"><input type="text" v-model="form.qtjzmj" class="inputtitle" /></td>
22 <td colspan="2" class="tdright">分摊系数</td>
23 <td colspan="4"><input type="number" @blur="inputBlur($event)" ref="ftxs" v-model="form.ftxs"
24 class="inputtitle" /></td>
25 </tr>
26 <tr>
27 <td colspan="2" class="tdright">户型</td>
28 <td colspan="4">
29 <el-select class="selectTitle" v-model="form.hxbsm">
30 <el-option v-for="i in $store.state.hxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
31 </el-option>
32 </el-select>
33 </td>
34 <td colspan="2" class="tdright">户型结构</td>
35 <td colspan="4">
36 <el-select class="selectTitle" v-model="form.hxjgbsm">
37 <el-option v-for="i in $store.state.hxjgList" :key="i.bsm" :label="i.mc" :value="i.bsm">
38 </el-option>
39 </el-select>
40 </td>
41 </tr>
42 <tr>
43 <td colspan="2" class="tdright">共有土地面积(㎡)</td>
44 <td colspan="4"><input type="text" class="inputtitle" v-model="form.gytdmj" /></td>
45 <td colspan="2" class="tdright">分摊土地面积(㎡)</td>
46 <td colspan="4"><input type="text" class="inputtitle" v-model="form.fttdmj" /></td>
47 </tr>
48 <tr>
49 <td colspan="2" class="tdright">独有土地面积(㎡)</td>
50 <td colspan="4"><input type="text" class="inputtitle" v-model="form.dytdmj" /></td>
51 <td colspan="2" class="tdright">房屋类型</td>
52 <td colspan="4">
53 <el-select class="selectTitle" v-model="form.fwlxbsm">
54 <el-option v-for="i in $store.state.fwlxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
55 </el-option>
56 </el-select>
57 </td>
58 </tr>
59 <tr>
60 <td colspan="2" class="tdright">产别</td>
61 <td colspan="4">
62 <el-select class="selectTitle" v-model="form.fwcbbsm">
63 <el-option v-for="i in $store.state.cbOptions" :key="i.bsm" :label="i.mc"
64 :value="i.bsm"></el-option>
65 </el-select>
66 </td>
67 <td colspan="2" class="tdright">产权来源</td>
68 <td colspan="4">
69 <el-select class="selectTitle" v-model="form.fwcqlybsm">
70 <el-option v-for="i in $store.state.cqlyOptions" :key="i.bsm" :label="i.mc"
71 :value="i.bsm"></el-option>
72 </el-select>
73 </td>
74 </tr>
75 <tr>
76 <td colspan="2" class="tdright">房屋性质</td>
77 <td colspan="4">
78 <el-select class="selectTitle" v-model="form.fwxzbsm">
79 <el-option v-for="i in $store.state.fwxzOptions" :key="i.bsm" :label="i.mc"
80 :value="i.bsm"></el-option>
81 </el-select>
82 </td>
83 <td colspan="2"></td>
84 <td colspan="4"></td>
85 </tr>
86 <tr>
87 <td colspan="2" class="tdright">东墙体归属</td>
88 <td colspan="4"><input type="text" class="inputtitle" v-model="form.dqtgs" /></td>
89 <td colspan="2" class="tdright">南墙体归属</td>
90 <td colspan="4"><input type="text" class="inputtitle" v-model="form.nqtgs" /></td>
91 </tr>
92 <tr>
93 <td colspan="2" class="tdright">西墙体归属</td>
94 <td colspan="4"><input type="text" class="inputtitle" v-model="form.xqtgs" /></td>
95 <td colspan="2" class="tdright">北墙体归属</td>
96 <td colspan="4"><input type="text" class="inputtitle" v-model="form.bqtgs" /></td>
97 </tr>
98
99 <tr height="30" v-for="(item1, index) in form.fwytList" :key="index">
100 <td v-if="index === 0" colspan="2" :rowspan="ytTitleRowspan" align="center" id="ytTitle"
101 class="tdright">
102 <i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
103 @click="addYtInfo"></i>
104 <span>房屋用途</span>
105 </td>
106
107 <td width="30" colspan="1" align="center" class="tdright">
108 <i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px"
109 @click="deleteYtInfo(index)"></i>
110 规划用途
111 </td>
112 <td width="30" colspan="3" align="center">
113 <el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
114 :multiple="multiple" :placeholder="placeholder" :disabled="disabled"
115 :data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
116 :clearable="clearable" v-model="item1.fwytzdbsm"></el-select-tree>
117 </td>
118 <td width="30" colspan="2" align="center" class="tdright">用途</td>
119 <td width="30" colspan="4" align="center">
120 <el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
121 :multiple="multiple" :placeholder="placeholder" :disabled="disabled"
122 :data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
123 :clearable="clearable" v-model="item1.fwsjytbsm"></el-select-tree>
124 </td>
125 </tr>
126
127 <tr height="30" v-for="(item1, index) in form.fwjgList" :key="'jg' + index">
128 <td colspan="2" v-if="index === 0" :rowspan="fwjgTitleRowspan" align="center" class="tdright">
129 <i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
130 @click="addFwjgInfo"></i>
131 <span>房屋结构</span>
132 </td>
133 <td colspan="1" align="center">
134 <i class="iconfont iconicon-test" style="margin-right: 8px;color:#FA6400;font-size:30px"
135 @click="deleteFwjgInfo(index)"></i>
136 <span>房屋结构</span>
137 </td>
138 <td colspan="9">
139 <el-select style="width:100%" v-model="item1.fwjgzdbsm" placeholder="请选择">
140 <el-option v-for="item in $store.state.jgOptions" :key="item.bsm" :label="item.mc"
141 :value="item.bsm">
142 </el-option>
143 </el-select>
144 </td>
145 </tr>
146
147 <tr>
148 <td colspan="12" align="center">
149 <Qlxz ref="qlxzModule" :hasSyqx='false' :formData="form"></Qlxz>
150 </td>
151 </tr>
152
153 </table>
154 </div>
155 <div class="shop">
156 <el-button type="primary" @click="save">保存</el-button>
157 <el-button type="primary" @click="reset" icon="el-icon-refresh">重置</el-button>
158 <el-button type="primary" @click="cancel">取消</el-button>
159 </div>
160 </el-dialog>
161 </div>
162 </template>
163
164 <script>
165 import Qlxz from "@/components/formMenu/qlxz";
166 // import { batchUpdateQjH } from "@api/h";
167 export default {
168 name: "plH",
169 components: {
170 Qlxz
171 },
172 props: {
173 bsms: {
174 type: Array
175 },
176 plhVisible: {
177 type: Boolean,
178 default: false
179 }
180 },
181 data () {
182 return {
183 //树型结构
184 show: true,
185 clearable: true,
186 defaultExpandAll: true,
187 multiple: false,
188 placeholder: '请选择',
189 disabled: false,
190 checkStrictly: true,
191 treeProps: {
192 value: 'bsm',
193 children: 'children',
194 label: 'mc'
195 },
196 form: {
197 qszt: '0',
198 jzmj: '',
199 tnjzmj: '',
200 ftjzmj: '',
201 dxbfjzmj: '',
202 qtjzmj: '',
203 ftxs: '',
204 hxbsm: '',
205 hxjgbsm: '',
206 gytdmj: '',
207 fttdmj: '',
208 dytdmj: '',
209 fwlxbsm: '',
210 fwcbbsm: '',
211 fwcqlybsm: '',
212 fwxzbsm: '',
213 dqtgs: '',
214 nqtgs: '',
215 xqtgs: '',
216 bqtgs: '',
217 fwjgbsm: '',
218 fwytList: [{
219 glbsm: '', //关联标识码
220 fwytzdbsm: '', //房屋用途字典标识码
221 sx: '', //顺序
222 fwsjytbsm: '', //房屋实际用途字典标识码
223 }],
224 fwjgList: [{
225 fwjgzdbsm: '', //房屋结构字典标识码
226 glbsm: '', //关联标识码
227 sx: '', //顺序
228 }],
229 qlxzList: [{
230 qlxzdm: '', //权利性质代码
231 glbsm: '', //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
232 qlxzzdbsm: '', //权利性质字典表标识码
233 qlxzmc: '', //权利名称名称
234 zhqlxzlx: '', //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
235 addQjTdytRequestList: [{
236 }], //土地用途新增实体列表
237 }]
238 },
239 isVisible: false,
240 hx: [{
241 label: '一居室',
242 key: '1',
243 value: '一居室'
244 }, {
245 label: '二居室',
246 key: '2',
247 value: '二居室'
248 }, {
249 label: '三居室',
250 key: '3',
251 value: '三居室'
252 }
253 ],
254 ytTitleRowspan: 1, //用途的单元格垂直合并数量
255 fwjgTitleRowspan: 1, //房屋结构的单元格垂直合并数量
256 }
257 },
258 methods: {
259
260 inputBlur (e) {
261 if (e.target.value !== '' && +e.target.value > 0 && +e.target.value < 10) {
262 e.target.style.border = ""
263 } else {
264 e.target.style.border = "1px solid red";
265 e.target.style.boxSizing = 'border-box';
266 }
267 },
268
269 lodding: function () {
270 this.$emit('lodding')
271 },
272 addYtInfo () {
273 this.form.fwytList.push({
274 glbsm: '',
275 fwytzdbsm: '',
276 fwsjytbsm: '',
277 sx: '',
278 });
279 this.ytTitleRowspan = this.form.fwytList.length;
280 },
281 deleteYtInfo (index) {
282 if (this.form.fwytList.length <= 1) {
283 this.$message({
284 message: '不能删除,最少含有一条用途信息',
285 type: 'warning'
286 });
287 } else {
288 this.form.fwytList.splice(index, 1);
289 this.ytTitleRowspan = this.form.fwytList.length;
290 }
291 },
292 addFwjgInfo () {
293 this.form.fwjgList.push({
294 fwjgzdbsm: '', //房屋结构字典标识码
295 glbsm: '', //关联标识码
296 sx: '', //顺序
297 });
298 this.fwjgTitleRowspan = this.form.fwjgList.length;
299 },
300 deleteFwjgInfo (index) {
301 if (this.form.fwjgList.length <= 1) {
302 this.$message({
303 message: '不能删除,最少含有一条房屋结构信息',
304 type: 'warning'
305 });
306 } else {
307 this.form.fwjgList.splice(index, 1);
308 this.fwjgTitleRowspan = this.form.fwjgList.length;
309 }
310 },
311 close: function () {
312 this.$emit('close')
313 this.isVisible = false
314 this.reset()
315 },
316 reset: function () {
317 this.form = {
318 qszt: '0',
319 jzmj: '',
320 tnjzmj: '',
321 ftjzmj: '',
322 dxbfjzmj: '',
323 qtjzmj: '',
324 ftxs: '',
325 hxbsm: '',
326 hxjgbsm: '',
327 gytdmj: '',
328 fttdmj: '',
329 dytdmj: '',
330 fwlxbsm: '',
331 fwcbbsm: '',
332 fwcqlybsm: '',
333 fwxzbsm: '',
334 dqtgs: '',
335 nqtgs: '',
336 xqtgs: '',
337 bqtgs: '',
338 fwjgbsm: '',
339 fwytList: [{
340 glbsm: '', //关联标识码
341 fwytzdbsm: '', //房屋用途字典标识码
342 sx: '', //顺序
343 fwsjytbsm: '', //房屋实际用途字典标识码
344 }],
345 fwjgList: [{
346 fwjgzdbsm: '', //房屋结构字典标识码
347 glbsm: '', //关联标识码
348 sx: '', //顺序
349 }],
350 qlxzList: [{
351 qlxzdm: '', //权利性质代码
352 glbsm: '', //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
353 qlxzzdbsm: '', //权利性质字典表标识码
354 qlxzmc: '', //权利名称名称
355 zhqlxzlx: '', //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
356 addQjTdytRequestList: [{
357 }], //土地用途新增实体列表
358 }]
359 };
360 this.$refs.qlxzModule.reset();
361 this.ytTitleRowspan = 1; //用途的单元格垂直合并数量
362 this.fwjgTitleRowspan = 1; //房屋结构的单元格垂直合并数量
363 },
364 save: function () {
365
366 this.rules = [
367 {
368 data: this.form.ftxs,
369 name: '分摊系数',
370 dom: this.$refs.ftxs,
371 rule: /^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字
372 },
373 ];
374 let flag = true;
375 this.rules.forEach(item => {
376 if (item.data !== "") {
377 if (!item.rule.test(+item.data) || item.data == null) {
378 if (item.dom.$el) {
379 item.dom.$el.style.border = '1px solid red';
380 item.dom.$el.style.boxSizing = 'border-box';
381 } else {
382 item.dom.style.border = '1px solid red';
383 item.dom.style.boxSizing = 'border-box';
384 }
385 flag = false;
386 return false
387 }
388 }
389 })
390
391 this.form['hbsms'] = this.bsms
392 this.form.qlxzList = this.$refs.qlxzModule.getQlxzDataList();
393 this.$nextTick(() => {
394 if (flag) {
395 for (let i = 0; i < this.form.fwjgList.length; i++) {
396 if (this.form.fwjgList[i].fwjgzdbsm === '') {
397 this.form.fwjgList.splice(i, 1);
398 }
399 }
400 for (let i = 0; i < this.form.fwytList.length; i++) {
401 if (this.form.fwytList[i].fwsjytbsm === '') {
402 this.form.fwytList.splice(i, 1);
403 }
404 }
405 for (let i = 0; i < this.form.qlxzList.length; i++) {
406 if (this.form.qlxzList[i].qlxzdm === '') {
407 this.form.qlxzList.splice(i, 1);
408 }
409 }
410 console.log("批量户信息")
411 // batchUpdateQjH(this.form).then((res) => {
412 // if (res.code === 200) {
413 // this.lodding()
414 // this.$message.success("保存成功!")
415 // this.$nextTick(() => {
416 // this.reset();
417 // })
418 // this.close();
419 // } else {
420 // this.$message.error(res.message)
421 // }
422 // })
423 } else {
424 this.$message({
425 // message: item.name+'不能为空',
426 message: '表单数据有误',
427 type: "warning",
428 });
429 }
430 })
431 },
432 cancel: function () {
433 this.close()
434 }
435 },
436 mounted () {
437
438 },
439 watch: {
440 plhVisible (val) {
441 this.isVisible = val
442 }
443 }
444 }
445 </script>
446
447 <style scoped>
448 table {
449 margin-top: 10px;
450 background-color: #fff;
451 font-size: 14px;
452 width: 100%;
453 table-layout: fixed;
454 }
455
456 td {
457 text-align: center;
458 height: 36px;
459 min-width: 60px;
460 }
461
462 table:hover {
463 cursor: pointer;
464 }
465
466 .inputtitle {
467 line-height: 40px;
468 width: 95%;
469 border: none;
470 outline: none;
471 height: 95%;
472 }
473
474 .selectTitle {
475 width: 100%;
476 border-radius: 0;
477 -webkit-appearance: none;
478 -moz-appearance: none;
479 appearance: none;
480 border: none;
481 position: relative;
482 display: block;
483 }
484
485 .shop {
486 text-align: center;
487 margin-top: 20px;
488 }
489
490 /deep/.el-input__inner {
491 width: 100%;
492 border: 0;
493 }
494 </style>
1 <template>
2 <div class="">
3 <el-dialog :close-on-click-modal="false" title="批量室号" :visible.sync="isVisible" width="50%" @close="close"
4 :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <th>室号前缀</th>
9 <th>幢单元号</th>
10 <th>分割符A</th>
11 <th>层号前自动补0</th>
12 <th>层号</th>
13 <th>分割符B</th>
14 <th>户号前自动补零</th>
15 <th>户号</th>
16 <th>室号后缀</th>
17 </tr>
18 <tr>
19 <td>
20 <el-input v-model="plshData.shqz"></el-input>
21 </td>
22 <td>
23 <el-checkbox v-model="plshData.selectDyh"></el-checkbox>
24 </td>
25 <td>
26 <el-input v-model="plshData.fgfA"></el-input>
27 </td>
28 <td>
29 <el-checkbox v-model="plshData.chqbl"></el-checkbox>
30 </td>
31 <td>
32 <el-select v-model="plshData.c">
33 <el-option v-for="i in cs" :key="i.key" :label="i.label" :value="i.value"></el-option>
34 </el-select>
35 </td>
36 <td>
37 <el-input v-model="plshData.fgfB"></el-input>
38 </td>
39 <td>
40 <el-checkbox v-model="plshData.hhqbl"></el-checkbox>
41 </td>
42 <td>
43 </td>
44 <td>
45 <el-input v-model="plshData.shhz"></el-input>
46 </td>
47 </tr>
48 </table>
49 <div class="gz">
50 <span>室号规则:{{ gz }}</span>
51 </div>
52 <div class="xlgz">
53 <span>
54 样例1:1011 <span>(1单元01层01室)</span>([单元号][层号],勾选“层号自动补0”)
55 <br />
56 样例2:1131室<span>(1单元13层01室)</span>([单元号][层号][后缀],后缀填写'室')
57 <br />
58 样例3:101<span>(1层01室)</span>([层号],勾选“户号自动补0”)
59 <br />
60 样例4:1-011<span>(1单元-01层01室)</span>([单元号][分隔符A][层号],勾选“层号自动补0”)
61 <br />
62 样例5:1-12-1<span>(1单元12层01室)</span>([单元号][分隔符A][层号][分隔符B])
63 <br />
64 样例6:1-12<span>(1层12室)</span>([层号][分隔符B])
65 </span>
66 </div>
67 </div>
68 <div class="shop">
69 <el-button type="primary" @click="save">保存</el-button>
70 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
71 <el-button type="primary" @click="cancel">取消</el-button>
72 </div>
73 </el-dialog>
74 </div>
75 </template>
76
77 <script>
78 // import { updateSh } from '@api/zrz'
79 import { Message } from 'element-ui'
80
81 export default {
82 name: "plSh",
83 props: {
84 plShVisible: {
85 type: Boolean,
86 default: false
87 },
88 bsms: {
89 type: Array
90 }
91 },
92 data () {
93 return {
94 isVisible: false,
95 plshData: {
96 shqz: '',
97 selectDyh: false,
98 fgfA: '',
99 chqbl: false,
100 c: '',
101 fgfB: '',
102 hhqbl: false,
103 shhz: ''
104 },
105 cs: [
106 {
107 key: '1',
108 label: '名义层',
109 value: '1'
110 }, {
111 key: '2',
112 label: '实际层',
113 value: '2'
114 }, {
115 key: '3',
116 label: '空',
117 value: '3'
118 }
119 ]
120 }
121 },
122 methods: {
123 test: function () {
124 for (let key in this.plshData) {
125 if (key === 'chqbl') {
126 continue;
127 }
128 if (this.plshData[key] !== '' && this.plshData[key] !== '3' && this.plshData[key] !== false) {
129 return true;
130 }
131 }
132 return false;
133 },
134 lodding: function () {
135 this.$emit('lodding')
136 },
137 close: function () {
138 this.$emit("close")
139 this.isVisible = false
140 this.result();
141 },
142 result: function () {
143 this.plshData = {
144 shqz: '',
145 selectDyh: false,
146 fgfA: '',
147 chqbl: false,
148 hhqbl: false,
149 c: '',
150 fgfB: '',
151 shhz: ''
152 }
153 },
154 save: function () {
155 if (!this.test()) {
156 this.$message.info("请选择")
157 return;
158 }
159 this.plshData['bsms'] = this.bsms
160 // updateSh(this.plshData).then(res => {
161 // if (res.success) {
162 // this.lodding();
163 // this.close();
164
165 // } else {
166 // Message.error(res.message)
167 // }
168 // })
169 },
170 cancel: function () {
171 this.close()
172 }
173 },
174 computed: {
175 gz: function () {
176 let gz = "";
177 if (this.plshData.shqz !== "") {
178 gz += this.plshData.shqz
179 }
180 if (this.plshData.selectDyh) {
181 gz += "[单元号]"
182 }
183 if (this.plshData.fgfA !== "") {
184 gz += this.plshData.fgfA
185 }
186 if (+this.plshData.c === 1) {
187 gz += "[名义层]"
188 } else if (+this.plshData.c === 2) {
189 gz += "[实际层]"
190 }
191 if (this.plshData.fgfB !== "") {
192 gz += this.plshData.fgfB
193 }
194 gz += "[户号]";
195 if (this.plshData.shhz !== "") {
196 gz += this.plshData.shhz
197 }
198 return gz;
199 }
200 },
201 watch: {
202 plShVisible: function (val) {
203 this.isVisible = val
204 }
205 }
206 }
207 </script>
208
209 <style scoped lang="scss">
210 table {
211 margin-top: 10px;
212 background-color: #fff;
213 font-size: 14px;
214 width: 100%;
215
216 :hover {
217 cursor: pointer;
218 }
219 }
220
221 th {
222 height: 36px;
223 }
224
225 td {
226 text-align: center;
227 height: 36px;
228 min-width: 60px;
229 }
230
231 .xl {
232 color: blue;
233 float: right;
234 }
235
236 .xl:hover {
237 cursor: pointer;
238 }
239
240 .inputtitle {
241 line-height: 38px;
242 width: 90%;
243 border: none;
244 outline: none;
245 }
246
247 .shop {
248 text-align: center;
249 margin-top: 20px;
250 }
251
252 .gz {
253 color: #b2b2b2;
254 font-size: 14px;
255 margin-top: 40px;
256 }
257
258 .xlgz {
259 span {
260 font-size: 16px;
261 line-height: 22px;
262
263 span {
264 color: red;
265 }
266 }
267 }
268 </style>
1 <template>
2 <div>
3 <el-dialog :close-on-click-modal="false" title="批量坐落" :visible.sync="isVisible" width="60%" @close="close"
4 :modal-append-to-body="false">
5 <div>
6 <table border="1">
7 <tr>
8 <th>前缀</th>
9 <th>宗地</th>
10 <th>自然幢</th>
11 <th>逻辑幢</th>
12 <th>幢单元</th>
13 <th></th>
14 <th></th>
15 <th>后缀</th>
16 </tr>
17 <tr>
18 <td>
19 <el-input v-model="plzlData.qz"></el-input>
20 </td>
21 <td>
22 <el-select v-model="plzlData.zd">
23 <el-option v-for="i in zdgz" :key="i.label" :label="i.label" :value="i.value"
24 :disabled="i.disabled">
25 </el-option>
26 </el-select>
27 </td>
28 <td>
29 <el-select v-model="plzlData.zrz">
30 <el-option v-for="i in zrzgz" :key="i.label" :label="i.label" :value="i.value"
31 :disabled="i.disabled">
32 </el-option>
33 </el-select>
34 </td>
35 <td>
36 <el-select v-model="plzlData.ljz">
37 <el-option v-for="i in ljzgz" :key="i.label" :label="i.label" :value="i.value">
38
39 </el-option>
40 </el-select>
41 </td>
42 <td>
43 <el-select v-model="plzlData.zdy">
44 <el-option v-for="i in zdygz" :key="i.label" :label="i.label" :value="i.value">
45
46 </el-option>
47 </el-select>
48 </td>
49 <td>
50 <el-select v-model="plzlData.c">
51 <el-option v-for="i in cgz" :key="i.label" :label="i.label" :value="i.value">
52
53 </el-option>
54 </el-select>
55 </td>
56 <td>
57 <el-select v-model="plzlData.h">
58 <el-option v-for="i in hgz" :key="i.label" :label="i.label" :value="i.value">
59
60 </el-option>
61 </el-select>
62 </td>
63 <td>
64 <el-input v-model="plzlData.hz"></el-input>
65 </td>
66 </tr>
67 </table>
68 <div class="gz">
69 <span>户坐落规则:{{ gz }}</span>
70 </div>
71 </div>
72 <div class="shop">
73 <el-button type="primary" @click="save">保存</el-button>
74 <el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
75 <el-button type="primary" @click="close">取消</el-button>
76 </div>
77 </el-dialog>
78 </div>
79 </template>
80
81 <script>
82 // import { updateZl } from '@api/zrz'
83 import { Message } from 'element-ui'
84
85 export default {
86 name: "plZl",
87 props: {
88 plZlVisible: {
89 type: Boolean,
90 default: false
91 },
92 bsms: {
93 type: Array
94 }
95 },
96 data () {
97 return {
98 isVisible: false,
99 plzlData: {
100 qz: '',
101 zd: '3',
102 zrz: '3',
103 ljz: '3',
104 zdy: '3',
105 c: '3',
106 h: '3',
107 hz: ''
108 },
109 zdgz: [
110 {
111 label: '宗地坐落',
112 value: '1',
113 disabled: false
114 }, {
115 label: "宗地名称",
116 value: '2',
117 disabled: false
118 }, {
119 label: "空",
120 value: '3',
121 disabled: false
122 }
123 ],
124 zrzgz: [
125 {
126 label: '自然幢坐落',
127 value: '1',
128 disabled: false
129 }, {
130 label: "自然幢名称",
131 value: '2',
132 disabled: false
133 }, {
134 label: "空",
135 value: '3'
136 }
137 ],
138 ljzgz: [
139 {
140 label: '逻辑幢名称',
141 value: '1'
142 }, {
143 label: "逻辑幢号",
144 value: '2'
145 }, {
146 label: "空",
147 value: '3'
148 }
149 ],
150 zdygz: [
151 {
152 label: '幢单元名称',
153 value: '1'
154 }, {
155 label: "幢单元号",
156 value: '2'
157 }, {
158 label: "空",
159 value: '3'
160 }
161 ],
162 cgz: [
163 {
164 key: '1',
165 label: '名义层',
166 value: '1'
167 }, {
168 key: '2',
169 label: '实际层',
170 value: '2'
171 }, {
172 label: "空",
173 value: '3'
174 }
175 ],
176 hgz: [
177 {
178 key: '1',
179 label: '室号',
180 value: '1'
181 }, {
182 key: '2',
183 label: '户号',
184 value: '2'
185 }, {
186 label: "空",
187 value: '3'
188 }
189 ]
190 }
191 },
192 methods: {
193 lodding: function () {
194 this.$emit('lodding')
195 },
196 save: function () {
197 if (!this.test()) {
198 this.$message.info("请选择")
199 return;
200 }
201 this.plzlData['bsms'] = this.bsms;
202 // updateZl(this.plzlData).then(res => {
203 // if (res.success) {
204 // this.lodding()
205 // this.close();
206 // } else {
207 // Message.error(res.message)
208 // }
209 // })
210 },
211 test: function () {
212 for (let key in this.plzlData) {
213 if (this.plzlData[key] !== '' && this.plzlData[key] !== '3') {
214 return true;
215 }
216 }
217 return false;
218 },
219 cancel: function () {
220 this.close();
221 },
222 close: function () {
223 this.$emit("close")
224 this.isVisible = false
225 this.result();
226 },
227 result: function () {
228 this.plzlData = {
229 qz: '',
230 zd: '',
231 zrz: '',
232 ljz: '',
233 zdy: '',
234 c: '',
235 h: '',
236 hz: ''
237 }
238 }
239 },
240 computed: {
241 gz: function () {
242 // [前缀][宗地][自然幢][单元][室号][室号][后缀]
243 let gz = "";
244 if (this.plzlData.qz !== '') {
245 gz += this.plzlData.qz
246 }
247 if (+this.plzlData.zd === 1) {
248 gz += "[宗地坐落]";
249 } else if (+this.plzlData.zd === 2) {
250 gz += "[宗地名称]";
251 }
252
253 if (+this.plzlData.zrz === 1) {
254 gz += "[自然幢坐落]"
255 } else if (+this.plzlData.zrz === 2) {
256 gz += "[自然幢名称]";
257 }
258 if (+this.plzlData.ljz === 1) {
259 gz += "[逻辑幢名称]"
260 } else if (+this.plzlData.ljz === 2) {
261 gz += "[逻辑幢号]"
262 }
263 if (+this.plzlData.zdy === 1) {
264 gz += "[幢单元名称]";
265 } else if (+this.plzlData.zdy === 2) {
266 gz += "[幢单元号]"
267 }
268 if (+this.plzlData.c === 1) {
269 gz += "[名义层]"
270 } else if (+this.plzlData.c === 2) {
271 gz += "[实际层]"
272 }
273 if (+this.plzlData.h === 1) {
274 gz += "[室号]"
275 } else if (+this.plzlData.h === 2) {
276 gz += "[户号]"
277 }
278 if (this.plzlData.hz !== "") {
279 gz += this.plzlData.hz
280 }
281 if (gz === "") {
282 gz += "无"
283 }
284 return gz;
285 }
286 },
287 watch: {
288 plZlVisible: function (val) {
289 this.isVisible = val
290 },
291 plzlData: {
292 handler (val) {
293 this.zrzgz[0].disabled = +val.zd === 1;
294 this.zdgz[0].disabled = +val.zrz === 1;
295 },
296 deep: true
297 }
298 }
299 }
300 </script>
301
302 <style scoped lang="scss">
303 table {
304 margin-top: 10px;
305 background-color: #fff;
306 font-size: 14px;
307 width: 100%;
308
309 :hover {
310 cursor: pointer;
311 }
312 }
313
314 th {
315 height: 36px;
316 }
317
318 td {
319 text-align: center;
320 height: 36px;
321 min-width: 60px;
322 }
323
324 .xl {
325 color: blue;
326 float: right;
327 }
328
329 .xl:hover {
330 cursor: pointer;
331 }
332
333 .inputtitle {
334 line-height: 38px;
335 width: 90%;
336 border: none;
337 outline: none;
338 }
339
340 .shop {
341 text-align: center;
342 margin-top: 20px;
343 }
344
345 .gz {
346 color: #b2b2b2;
347 font-size: 12px;
348 margin-top: 40px;
349 }
350
351 .xlgz {
352 span {
353 font-size: 16px;
354 line-height: 22px;
355
356 span {
357 color: red;
358 }
359 }
360 }
361 </style>
...@@ -25,7 +25,6 @@ router.beforeEach(async (to, from, next) => { ...@@ -25,7 +25,6 @@ router.beforeEach(async (to, from, next) => {
25 await store.dispatch('user/getUserInfo') 25 await store.dispatch('user/getUserInfo')
26 router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) 26 router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }])
27 const routeTo = Cookies.get('routerTo') 27 const routeTo = Cookies.get('routerTo')
28 console.log(routeTo)
29 if (routeTo && routeTo !== '/') { 28 if (routeTo && routeTo !== '/') {
30 next({ ...to, replace: true }) 29 next({ ...to, replace: true })
31 } else { 30 } else {
......
...@@ -41,6 +41,14 @@ export const constantRoutes = [ ...@@ -41,6 +41,14 @@ export const constantRoutes = [
41 }, 41 },
42 // 业务流程只读框架 42 // 业务流程只读框架
43 { 43 {
44 path: '/workFrameViewcs',
45 component: () => import('@/views/workflow/workFrameView1.vue'),
46 name: 'workFrameViewcs',
47 hidden: true,
48 meta: { title: '发起申请2' }
49 },
50 // 业务流程只读框架
51 {
44 path: '/workFrameView', 52 path: '/workFrameView',
45 component: () => import('@/views/workflow/workFrameView.vue'), 53 component: () => import('@/views/workflow/workFrameView.vue'),
46 name: 'workFrameView', 54 name: 'workFrameView',
......
...@@ -12,8 +12,5 @@ const getters = { ...@@ -12,8 +12,5 @@ const getters = {
12 addDict: state => state.dict.addDict, 12 addDict: state => state.dict.addDict,
13 dictData: state => state.dict.dictData, 13 dictData: state => state.dict.dictData,
14 djbxx: state => state.djbxx.djbxx, 14 djbxx: state => state.djbxx.djbxx,
15 // 受理信息
16 oldDetail: state => state.slxx.oldDetail,
17 newDetail: state => state.slxx.newDetail
18 } 15 }
19 export default getters 16 export default getters
......
...@@ -5,7 +5,6 @@ import getters from './getters' ...@@ -5,7 +5,6 @@ import getters from './getters'
5 Vue.use(Vuex) 5 Vue.use(Vuex)
6 // https://webpack.js.org/guides/dependency-management/#requirecontext 6 // https://webpack.js.org/guides/dependency-management/#requirecontext
7 const modulesFiles = require.context('./modules', true, /\.js$/) 7 const modulesFiles = require.context('./modules', true, /\.js$/)
8
9 // you do not need `import app from './modules/app'` 8 // you do not need `import app from './modules/app'`
10 // it will auto require all vuex module from modules file 9 // it will auto require all vuex module from modules file
11 const modules = modulesFiles.keys().reduce((modules, modulePath) => { 10 const modules = modulesFiles.keys().reduce((modules, modulePath) => {
......
...@@ -3,7 +3,7 @@ import Cookies from 'js-cookie' ...@@ -3,7 +3,7 @@ import Cookies from 'js-cookie'
3 const state = { 3 const state = {
4 size: 'small', 4 size: 'small',
5 theme: '#409EFF', 5 theme: '#409EFF',
6 splitScreen: false 6 splitScreen: false,
7 } 7 }
8 8
9 const mutations = { 9 const mutations = {
...@@ -16,7 +16,7 @@ const mutations = { ...@@ -16,7 +16,7 @@ const mutations = {
16 }, 16 },
17 SET_SCREEN (state, val) { 17 SET_SCREEN (state, val) {
18 state.splitScreen = val; 18 state.splitScreen = val;
19 } 19 },
20 } 20 }
21 21
22 const actions = { 22 const actions = {
...@@ -28,7 +28,7 @@ const actions = { ...@@ -28,7 +28,7 @@ const actions = {
28 }, 28 },
29 settScreen ({ commit }, val) { 29 settScreen ({ commit }, val) {
30 commit('SET_SCREEN', val) 30 commit('SET_SCREEN', val)
31 } 31 },
32 } 32 }
33 33
34 export default { 34 export default {
......
1 const state = {
2 oldDetail: {},
3 newDetail: {}
4 }
5
6 const mutations = {
7 SET_OLDDETAIL: (state, data) => {
8 state.oldDetail = data
9 },
10 SET_NEWDETAIL: (state, data) => {
11 state.newDetail = data
12 }
13 }
14
15 const actions = {
16 setQlrxxOld ({ commit }, data) {
17 commit('SET_OLDDETAIL', data)
18 },
19 setQlrxxNew ({ commit }, data) {
20 commit('SET_NEWDETAIL', data)
21 }
22 }
23
24 export default {
25 namespaced: true,
26 state,
27 mutations,
28 actions
29 }
30
1 const state = {
2 transfer: false
3 }
4
5 const mutations = {
6 SET_TRANSFER: (state, data) => {
7 state.transfer = data
8 },
9 }
10
11 const actions = {
12 setTransfere ({ commit }, data) {
13 commit('SET_TRANSFER', data)
14 }
15 }
16
17 export default {
18 namespaced: true,
19 state,
20 mutations,
21 actions
22 }
...@@ -12,49 +12,8 @@ ...@@ -12,49 +12,8 @@
12 </el-input> 12 </el-input>
13 </el-col> 13 </el-col>
14 </el-row> 14 </el-row>
15 <el-row class="searchContent">
16 <el-col :span="24">
17 <div class="fl">
18 <el-button class="radioBtn" label="1" border @click="create"><i
19 class="iconfont iconchuangjianloupan"></i>创建楼盘</el-button>
20 <el-button class="radioBtn" v-show='this.scyclx == "0"' label="2" border @click="plScYcChange"><i
21 class="iconfont iconshiyucezhuanhuan"></i>预测转实测</el-button>
22 <el-button class="radioBtn" v-show='this.scyclx == "1"' label="2" border @click="plScYcChange"><i
23 class="iconfont iconshiyucezhuanhuan"></i>实测转预测</el-button>
24 <el-button class="radioBtn" label="3" border @click="openPl('h')"><i class="iconfont iconpilianghu"></i> 批量户
25 </el-button>
26 <el-button class="radioBtn" label="4" border @click="openPlC"><i class="iconfont iconpiliangceng"></i>批量层
27 </el-button>
28 <el-button class="radioBtn" label="5" border @click="openPl('sh')"><i
29 class="iconfont iconpiliangshihao"></i>批量室号</el-button>
30 <el-button class="radioBtn" label="6" border @click="openPl('zl')"><i
31 class="iconfont iconpiliangzuola"></i>批量坐落</el-button>
32 <el-button class="radioBtn" label="7" border @click="addBdcdyh"><i
33 class="iconfont iconpiliangdanyuanhao"></i>批量单元号</el-button>
34 <el-button class="radioBtn" label="7" border @click="batchCommit"><i
35 class="iconfont iconhuzhongxinlazong"></i>批量提交</el-button>
36 <el-button class="radioBtn" label="7" border @click="batchDelete"><i class="iconfont iconshanchu"></i>批量删除
37 </el-button>
38 <el-button class="radioBtn" label="7" border @click="batchUpload"><i
39 class="iconfont iconshangchuan"></i>批量上传</el-button>
40 <el-button class="radioBtn" label="7" border @click="batchCancelChoosed"><i
41 class="iconfont iconquxiaoxuanze"></i>取消选中</el-button>
42 </div>
43 </el-col>
44 </el-row>
45 <div class="change">
46 <i class="iconfont iconloupanbiaoxinxi" v-show="bjztFlag" @click="bjztChange" title="详细信息"></i>
47 <i class="iconfont iconloupanbiaobianji" v-show="!bjztFlag" @click="bjztChange" title="编辑楼盘"></i>
48 </div>
49 </div> --> 15 </div> -->
50 <div class="tab-content" ref="tabContent" :style="{ height: lpbContentHight + 'px' }" v-show="bjztFlag"> 16 <div class="tab-content" ref="tabContent" :style="{ height: lpbContentHight + 'px' }" v-show="bjztFlag">
51 <!-- 左侧树结构 -->
52 <!-- <div class="lp-tree" :class="createFlag ? 'w260' : 'w0'">
53 <LineTree :pd="pd" class="treeData" :islpb="islpb" @loading="loading"></LineTree>
54 <p @click="createFlag = false" style="width:20px;float:left;margin-top: 12px;margin-left:10px;cursor:pointer;">
55 X
56 </p>
57 </div> -->
58 <!-- 楼盘表主体 --> 17 <!-- 楼盘表主体 -->
59 <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }"> 18 <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }">
60 <lpbContent ref="lpbContent" :zrzbsm="formData.bsm" :key="time"></lpbContent> 19 <lpbContent ref="lpbContent" :zrzbsm="formData.bsm" :key="time"></lpbContent>
...@@ -154,69 +113,19 @@ ...@@ -154,69 +113,19 @@
154 </div> 113 </div>
155 </div> 114 </div>
156 </div> 115 </div>
157 <!-- 详细信息 -->
158 <!-- <xxxx v-show="!bjztFlag"></xxxx> -->
159 <!-- 右键菜单弹出框 根据菜单类型(menuType)和右键点击的楼盘类型(treeData.type)来区分弹框内容 -->
160 <!-- <el-dialog :close-on-click-modal="false" :title="taskTitle" :visible.sync="dialogVisible" width="50%">
161 <div class="addCh" v-if="menuType == 'ljz'">
162 <addLjz ref="ljz" :ljzbsm="curBsm"></addLjz>
163 </div>
164 <div class="addCh" v-if="menuType == 'zdy'">
165 <addZdy ref="zdy" :zdybsm="curBsm"></addZdy>
166 </div>
167 <div class="addCh" v-if="menuType == 'c'">
168 <editCinfo ref="c" :cbsm="curBsm"></editCinfo>
169 </div>
170 <div class="addCh" v-if="menuType == 'ch'">
171 <addCh ref="ch" :scyclx="scyclx" :dialogVisible="dialogVisible" :treeData="treeData"></addCh>
172 </div>
173 <div class="btnGroup">
174 <el-button type="primary" @click="saveInfo">保存</el-button>
175 <el-button type="primary" @click="resetInfo" icon="el-icon-refresh">重置</el-button>
176 <el-button type="primary" @click="dialogVisible = false">取消</el-button>
177 </div>
178 </el-dialog>
179 批量操作弹出框
180 <pl-h :plh-visible="plhVisible" :bsms="bsms" @close="plhClose" @lodding="lodding"></pl-h>
181 <pl-zl :pl-zl-visible="plzlVisible" :bsms="bsms" @close="plZlClose" @lodding="lodding"></pl-zl>
182 <pl-c :plc-visible="plcVisible" :bsms="cbsmList" @close="plcClose" @lodding="lodding"></pl-c>
183 <pl-sh :plShVisible="plShVisible" :bsms="bsms" @close="plshClose" @lodding="lodding"></pl-sh>
184 <el-dialog :close-on-click-modal="false" title="批量上传" :visible.sync="uploadVisible" width="30%">
185 <div class="wrap">
186 <div class="main-button">
187 <el-upload class="upload-demo" action="/api/file/uploadListByGlbsm" :data="fileData"
188 :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove"
189 :before-upload="uploadProgress" :on-success="uploadSuccess" :on-error="uploadError" :show-file-list="false"
190 multiple :limit="1" :on-exceed="handleExceed">
191 <el-button type="primary" icon="iconfont iconshangchuan">上传附件</el-button>
192 </el-upload>
193 </div>
194 <el-button type="primary" class="download" @click="uploadVisible = false">取消</el-button>
195
196 </div>
197 <span slot="footer" class="dialog-footer">
198 </span>
199 </el-dialog> -->
200 </div> 116 </div>
201 </template> 117 </template>
202 118
203 <script> 119 <script>
204 import { Message } from "element-ui" 120 import { Message } from "element-ui"
205 import PlC from "@/components/plc/plC";
206 import PlSh from "@/components/plsh/plSh";
207 import PlH from "@/components/plh/plH";
208 import PlZl from "@/components/plzl/plZl";
209 // import LineTree from "@/components/lineTree/lineTree";
210 import addLjz from "./ljz/index"; 121 import addLjz from "./ljz/index";
211 import addZdy from "./zdy/index"; 122 import addZdy from "./zdy/index";
212 import addCh from "./ch/index"; 123 import addCh from "./ch/index";
213 import editCinfo from "./c/index"; 124 import editCinfo from "./c/index";
214 import lpbContent from "./lpbContent/index"; 125 import lpbContent from "./lpbContent/index";
215 // import { getLpbMenuTree, batchScYcChange, getLpbTj, batchGeneratorBdcdyh, getLpbFwytAndQlxz, batchCommit, batchDelete, getLpbQsxtj } from "@api/lpb";
216 // import xxxx from '../xxxx/index'
217 126
218 export default { 127 export default {
219 name: "bjlp", 128 name: "lpb",
220 props: { 129 props: {
221 formData: { 130 formData: {
222 type: Object, 131 type: Object,
...@@ -224,30 +133,17 @@ export default { ...@@ -224,30 +133,17 @@ export default {
224 } 133 }
225 }, 134 },
226 components: { 135 components: {
227 // LineTree,
228 addLjz, 136 addLjz,
229 addZdy, 137 addZdy,
230 addCh, 138 addCh,
231 lpbContent, 139 lpbContent,
232 PlC,
233 PlSh,
234 PlH,
235 PlZl,
236 // xxxx,
237 editCinfo 140 editCinfo
238 }, 141 },
239 data () { 142 data () {
240 return { 143 return {
241 bsms: [], 144 bsms: [],
242 dialogVisible: false, 145 dialogVisible: false,
243 plcVisible: false,
244 plhVisible: false,
245 plShVisible: false,
246 plzlVisible: false,
247 scyclx: "0", //1是实测 0是预测 146 scyclx: "0", //1是实测 0是预测
248 radio1: "",
249 radio2: "",
250 createFlag: false,
251 bdcdyh: "", 147 bdcdyh: "",
252 islpb: true, 148 islpb: true,
253 pd: [], //创建楼盘的树结构数据 149 pd: [], //创建楼盘的树结构数据
...@@ -319,7 +215,6 @@ export default { ...@@ -319,7 +215,6 @@ export default {
319 lpbContentwidth: "", 215 lpbContentwidth: "",
320 time: "", 216 time: "",
321 dyztBsmList: {}, //单元状态bsmList 217 dyztBsmList: {}, //单元状态bsmList
322 cbsmList: [], // 层bsmlist
323 bjztFlag: true, 218 bjztFlag: true,
324 taskTitle: '添加', 219 taskTitle: '添加',
325 curBsm: '', 220 curBsm: '',
...@@ -336,8 +231,6 @@ export default { ...@@ -336,8 +231,6 @@ export default {
336 this.getHeight(); 231 this.getHeight();
337 }, 232 },
338 mounted () { 233 mounted () {
339 //获取楼盘表树结构
340 // this.getLpbMenuTree(formData.zrzbsm);
341 //获取各项单元状态的户bsm 234 //获取各项单元状态的户bsm
342 // this.getDyztBsmList(); 235 // this.getDyztBsmList();
343 //获取房屋用途统计数据 236 //获取房屋用途统计数据
...@@ -348,62 +241,11 @@ export default { ...@@ -348,62 +241,11 @@ export default {
348 }, 100); 241 }, 100);
349 }, 242 },
350 methods: { 243 methods: {
351 //批量提交
352 batchCommit () {
353 if (this.bsms.length <= 0) {
354 Message.warning("请选择操作户")
355 return
356 } else {
357 if (this.qsztList.indexOf('1') > -1) {
358 Message.warning("已提交的户无法继续操作")
359 } else {
360 batchCommit(this.bsms).then(res => {
361 if (res.code === 200) {
362 Message.success("提交成功");
363 this.getlpbData();
364 } else {
365 this.$message.error(res.message);
366 }
367 })
368 }
369 }
370 },
371 //批量删除
372 batchDelete () {
373 if (this.bsms.length <= 0) {
374 Message.warning("请选择操作户")
375 return
376 } else {
377 if (this.qsztList.indexOf('1') > -1) {
378 Message.warning("已提交的户无法继续操作")
379 } else {
380 batchDelete(this.bsms).then(res => {
381 if (res.code === 200) {
382 Message.success("删除成功");
383 this.getlpbData();
384 } else {
385 this.$message.error(res.message);
386 }
387 })
388 }
389 }
390 },
391 //批量上传 start
392 batchUpload () {
393 if (this.bsms.length < 1) {
394 Message.warning("请选择操作户")
395 return
396 } else {
397 this.uploadVisible = true
398 }
399 },
400 //取消选中 244 //取消选中
401 batchCancelChoosed () { 245 batchCancelChoosed () {
402 this.cbsmList = [];
403 this.bsms = []; 246 this.bsms = [];
404 this.qsztList = []; 247 this.qsztList = [];
405 this.$refs.lpbContent.hbsmList = []; 248 this.$refs.lpbContent.hbsmList = [];
406 this.$refs.lpbContent.cbsmList = [];
407 this.$refs.lpbContent.choosedList = []; 249 this.$refs.lpbContent.choosedList = [];
408 this.$refs.lpbContent.$refs.hBsm.forEach((item) => { 250 this.$refs.lpbContent.$refs.hBsm.forEach((item) => {
409 item.style.border = ''; 251 item.style.border = '';
...@@ -414,144 +256,19 @@ export default { ...@@ -414,144 +256,19 @@ export default {
414 item.className = ""; 256 item.className = "";
415 }); 257 });
416 }, 258 },
417 uploadError (err, file, fileList) {
418 Message.error("上传文件失败")
419 console.log("上传文件失败", err)
420 },
421 uploadProgress () {
422 vm.loadingShow('正在上传中')
423 },
424 uploadSuccess (res, file, fileList) {
425 vm.loadingHide();
426 Message.success("上传成功")
427 this.uploadVisible = false;
428 },
429 handleRemove (file, fileList) {
430 console.log(file, fileList);
431 },
432 handlePreview (file) {
433 console.log(file);
434 },
435 handleExceed (files, fileList) {
436 // this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
437 this.$message.warning("上传失败")
438 },
439 beforeRemove (file, fileList) {
440 return this.$confirm(`确定移除 ${file.name}?`);
441 },
442 //批量上传 end
443 259
444 loading () { 260 loading () {
445 this.getLpbMenuTree(this.$store.state.zrzbsm); 261 this.getLpbMenuTree(this.$store.state.zrzbsm);
446 }, 262 },
447 openPlC () {
448 if (this.cbsmList.length <= 0) {
449 Message.warning("请选择层")
450 return
451 }
452 this.plcVisible = true
453 },
454 openPl (val) {
455 if (this.bsms.length <= 0) {
456 Message.warning("请选择操作户")
457 return
458 } else {
459 if (this.qsztList.indexOf('1') > -1) {
460 Message.warning("已提交的户无法继续操作")
461 } else {
462 switch (val) {
463 case 'h':
464 this.plhVisible = true;
465 break;
466 case 'zl':
467 this.plzlVisible = true;
468 break;
469 case 'sh':
470 this.plShVisible = true;
471 break;
472 default:
473 break;
474 }
475 }
476 }
477 },
478 lodding () { 263 lodding () {
479 this.getlpbData(); 264 this.getlpbData();
480 }, 265 },
481 plZlClose () { 266
482 this.plzlVisible = false;
483 },
484 plcClose () {
485 this.plcVisible = false;
486 },
487 plhClose () {
488 this.plhVisible = false;
489 },
490 plshClose () {
491 this.plShVisible = false;
492 },
493 //改变编辑或详细信息状态
494 bjztChange () {
495 this.bjztFlag = !this.bjztFlag;
496 },
497 //改变实预测数据类型
498 scyclxChange (val) {
499 //清空已选中层户
500 this.cbsmList = [];
501 this.bsms = [];
502 this.qsztList = [];
503 this.$refs.lpbContent.hbsmList = [];
504 this.$nextTick(() => {
505 //户
506 if (this.$refs.lpbContent.$refs.hBsm) {
507 this.$refs.lpbContent.$refs.hBsm.forEach(item => {
508 item.style.borderColor = 'rgb(230, 230, 230)';
509 if (item.className == "tdSelect") {
510 item.className = "";
511 }
512 });
513 }
514 //层
515 if (this.$refs.lpbContent.$refs.cBsm) {
516 this.$refs.lpbContent.$refs.cBsm.forEach(item => {
517 console.log(item.className, 'item.className');
518 item.className = "floor";
519 });
520 }
521 })
522 //获取图例数据
523 this.getDyztBsmList();
524 this.getLpbFwytAndQlxz();
525 //重新渲染楼盘表
526 this.$refs.lpbContent.dataChange();
527 },
528 //获取高度计算lpb内容区高度 267 //获取高度计算lpb内容区高度
529 getHeight () { 268 getHeight () {
530 this.lpbContentHight = window.innerHeight - 190; 269 this.lpbContentHight = window.innerHeight - 190;
531 }, 270 },
532 //创建楼盘 271
533 create () {
534 this.createFlag = true;
535 },
536 //获取自然幢树结构数据
537 getLpbMenuTree (zrzbsm) {
538 getLpbMenuTree(zrzbsm)
539 .then((res) => {
540 this.pd = res.result;
541 })
542 .catch((error) => { });
543 },
544 //打开新建楼盘树结构右键菜单唤起的弹框
545 openLpbDialog (data, type) {
546 this.treeData = data;
547 this.menuType = type;
548 this.$nextTick(() => {
549 this.resetInfo();
550 });
551 this.dialogVisible = true;
552 this.taskTitle = '添加';
553 this.curBsm = '';
554 },
555 //弹框中的保存按钮,根据不同菜单点击类型调用不同子组件的保存方法 272 //弹框中的保存按钮,根据不同菜单点击类型调用不同子组件的保存方法
556 saveInfo () { 273 saveInfo () {
557 switch (this.menuType) { 274 switch (this.menuType) {
...@@ -609,20 +326,6 @@ export default { ...@@ -609,20 +326,6 @@ export default {
609 this.bsms = data; 326 this.bsms = data;
610 } 327 }
611 }, 328 },
612 //获取选中户信息
613 getQsztList (data, type) {
614 if (type) {
615 // 双击
616
617 } else {
618 //单击 TO DO
619 this.qsztList = data;
620 }
621 },
622 //获取选中层bsmlist
623 getCbsm (data) {
624 this.cbsmList = data;
625 },
626 inputChange () { 329 inputChange () {
627 console.log(this.bdcdyh, 'this.bdcdyh'); 330 console.log(this.bdcdyh, 'this.bdcdyh');
628 if (this.bdcdyh != "") { 331 if (this.bdcdyh != "") {
...@@ -643,22 +346,6 @@ export default { ...@@ -643,22 +346,6 @@ export default {
643 //改变楼盘表子组件的key值,重新渲染 346 //改变楼盘表子组件的key值,重新渲染
644 // this.time = new Date().getTime(); 347 // this.time = new Date().getTime();
645 }, 348 },
646 //实预测装换
647 plScYcChange () {
648 let data = {
649 zrzbsm: this.$store.state.zrzbsm,
650 scyclx: this.scyclx,
651 };
652 batchScYcChange(data).then((res) => {
653 if (res.code === 200) {
654 this.$message.success("实预测转换成功");
655 this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, '1');
656 this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, '0');
657 } else if (res.code === 500) {
658 this.$message.warning(res.message);
659 }
660 });
661 },
662 //切换房屋状态 349 //切换房屋状态
663 handleChoosedH (bsms, color) { 350 handleChoosedH (bsms, color) {
664 //每次切换房屋状态,将之前高亮的户边框颜色重置为默认 351 //每次切换房屋状态,将之前高亮的户边框颜色重置为默认
...@@ -676,30 +363,6 @@ export default { ...@@ -676,30 +363,6 @@ export default {
676 this.$refs.lpbContent.borderColor = color; 363 this.$refs.lpbContent.borderColor = color;
677 }) 364 })
678 }, 365 },
679 //批量添加不动产单元号
680 addBdcdyh () {
681 if (this.qsztList.indexOf('1') > -1) {
682 Message.warning("已提交的户无法继续操作")
683 } else {
684 batchGeneratorBdcdyh(this.$store.state.zrzh, this.pd[0].bsm, 0).then(
685 (res) => {
686 if (res.code === 200) {
687 this.$message.success("生成完成!");
688 } else if (res.code === 206) {
689 let hasGenerateCount = res.result.hasGenerateCount;
690 let unGenerateCount = res.result.unGenerateCount;
691 if (+unGenerateCount === 0) {
692 this.$message.warning("不存在未生成不动产单元号的户,无需生成不动产单元号!")
693 return
694 }
695 this.open(hasGenerateCount, unGenerateCount);
696 } else {
697 this.$message.warning(res.message)
698 }
699 }
700 );
701 }
702 },
703 366
704 open (hasGenerateCount, unGenerateCount) { 367 open (hasGenerateCount, unGenerateCount) {
705 368
...@@ -850,13 +513,6 @@ export default { ...@@ -850,13 +513,6 @@ export default {
850 this.lpbContentwidth += 204; 513 this.lpbContentwidth += 204;
851 } 514 }
852 }, 515 },
853 createFlag (n) {
854 if (n) {
855 this.lpbContentwidth -= 260;
856 } else {
857 this.lpbContentwidth += 260;
858 }
859 },
860 selectedZt (n) { 516 selectedZt (n) {
861 this.legendToggleFlag = true; 517 this.legendToggleFlag = true;
862 }, 518 },
...@@ -871,7 +527,6 @@ export default { ...@@ -871,7 +527,6 @@ export default {
871 .edit { 527 .edit {
872 height: 100%; 528 height: 100%;
873 background-color: #F4F9FF; 529 background-color: #F4F9FF;
874
875 .tab-header { 530 .tab-header {
876 border: 1px solid #dedede; 531 border: 1px solid #dedede;
877 box-sizing: border-box; 532 box-sizing: border-box;
...@@ -879,19 +534,16 @@ export default { ...@@ -879,19 +534,16 @@ export default {
879 background-color: #ffffff; 534 background-color: #ffffff;
880 margin-bottom: 10px; 535 margin-bottom: 10px;
881 position: relative; 536 position: relative;
882
883 .searchContent { 537 .searchContent {
884 margin-left: 62px; 538 margin-left: 62px;
885 box-sizing: border-box; 539 box-sizing: border-box;
886 padding: 0 20px; 540 padding: 0 20px;
887
888 .searchInput { 541 .searchInput {
889 transition: 0.5s; 542 transition: 0.5s;
890 margin-left: 20px; 543 margin-left: 20px;
891 display: inline-block; 544 display: inline-block;
892 } 545 }
893 } 546 }
894
895 .change { 547 .change {
896 position: absolute; 548 position: absolute;
897 left: 0; 549 left: 0;
...@@ -899,7 +551,6 @@ export default { ...@@ -899,7 +551,6 @@ export default {
899 height: 100%; 551 height: 100%;
900 width: 80px; 552 width: 80px;
901 border-right: 1px solid #dedede; 553 border-right: 1px solid #dedede;
902
903 i { 554 i {
904 cursor: pointer; 555 cursor: pointer;
905 color: #0090FF; 556 color: #0090FF;
...@@ -914,12 +565,10 @@ export default { ...@@ -914,12 +565,10 @@ export default {
914 margin-left: 10px; 565 margin-left: 10px;
915 padding: 12px 10px; 566 padding: 12px 10px;
916 border: 0; 567 border: 0;
917
918 i { 568 i {
919 font-size: 13px; 569 font-size: 13px;
920 padding-right: 4px; 570 padding-right: 4px;
921 } 571 }
922
923 /deep/.el-radio-button__inner { 572 /deep/.el-radio-button__inner {
924 border: 1px solid #dcdfe6; 573 border: 1px solid #dcdfe6;
925 border-radius: 4px; 574 border-radius: 4px;
...@@ -932,12 +581,10 @@ export default { ...@@ -932,12 +581,10 @@ export default {
932 border: 1px solid #dedede; 581 border: 1px solid #dedede;
933 background-color: #ffffff; 582 background-color: #ffffff;
934 display: flex; 583 display: flex;
935
936 .lp-tree { 584 .lp-tree {
937 height: 100%; 585 height: 100%;
938 overflow: hidden; 586 overflow: hidden;
939 transition: 0.5s; 587 transition: 0.5s;
940
941 .treeData { 588 .treeData {
942 margin-top: 20px; 589 margin-top: 20px;
943 margin-left: 26px; 590 margin-left: 26px;
......
...@@ -182,81 +182,19 @@ ...@@ -182,81 +182,19 @@
182 <el-checkbox v-model="zrzChecked" @change='lpbSelectAll'>{{ lpbData.xmmc }}</el-checkbox> 182 <el-checkbox v-model="zrzChecked" @change='lpbSelectAll'>{{ lpbData.xmmc }}</el-checkbox>
183 </div> 183 </div>
184 </div> 184 </div>
185 <ul v-show="lpbChVisible" :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" class="contextmenu">
186 <li v-show="rightClickFlag == 'h'" @click="handleAddH">添加</li>
187 <li v-show="rightClickFlag == 'h'" @click="handleMoveH">移动</li>
188 <li v-show="rightClickFlag == 'h'" @click="handleSyczh">实预测转换</li>
189 <li v-show="rightClickFlag == 'c'" @click="handleAddC('up')">
190 向上添加层
191 </li>
192 <li v-show="rightClickFlag == 'c'" @click="handleAddC('down')">
193 向下添加层
194 </li>
195 <li v-show="rightClickFlag == 'c'" @click="handleDeleteC">删除层</li>
196 <!-- 合并 -->
197 <li v-show="rightClickFlag == 'hb'" :class="canHb != 'zyhb' ? 'cantHb' : ''" @click="handleHb('zyhb')">左右合并</li>
198 <li v-show="rightClickFlag == 'hb'" :class="canHb != 'sxhb' ? 'cantHb' : ''" @click="handleHb('sxhb')">上下合并</li>
199 <!-- 分割 -->
200 <li v-show="rightClickFlag == 'fg'" @click="handleFg">户分割</li>
201 <!-- 范围属性变更 -->
202 <li v-show="rightClickFlag == 'fwsxbg'" @click="handleFwsxbg">变更信息</li>
203 <!-- 重新落宗 -->
204 <li v-show="rightClickFlag == 'cxlz'" @click="handleCxlz">重新落宗</li>
205
206
207 </ul>
208 <!-- 层操作弹框 -->
209 <el-dialog :close-on-click-modal="false" :title="addCData.title" :visible.sync="addCVisible" width="50%">
210 <el-form :model="addCData">
211 <el-form-item label="层号" :label-width="formLabelWidth">
212 <el-input disabled v-model="addCData.sjc" autocomplete="off"></el-input>
213 </el-form-item>
214 <el-form-item label="实际层" :label-width="formLabelWidth">
215 <el-input disabled v-model="addCData.sjc" autocomplete="off"></el-input>
216 </el-form-item>
217 <el-form-item label="添加的户数" :label-width="formLabelWidth">
218 <el-input v-model="addCData.hcount" autocomplete="off"></el-input>
219 </el-form-item>
220 </el-form>
221 <div class="btnGroup">
222 <el-button type="primary" @click="saveAddC">保存</el-button>
223 <el-button type="primary" @click="addCVisible = false">取消</el-button>
224 </div>
225 </el-dialog>
226 <!-- 户分割弹框 -->
227 <el-dialog :close-on-click-modal="false" title="户分割" :visible.sync="hfgDialogVisible" width="800px">
228 <el-form :model="fgData">
229 <el-form-item label="分割户数" required="" :label-width="formLabelWidth">
230 <el-input :disabled="fgData.fgfx != 0" v-model="fgData.fghs" autocomplete="off"></el-input>
231 </el-form-item>
232 </el-form>
233 <div class="btnGroup">
234 <el-button type="primary" @click="savefgData">保存</el-button>
235 <el-button type="primary" @click="hfgDialogVisible = false">取消</el-button>
236 </div>
237 </el-dialog>
238 <move-h :hbsm="chData.bsm" @close="moveHClose" :move-hvisible="moveHvisible" :type="scyclx"
239 @loading="loadingData($store.state.zrzbsm, $parent.scyclx)"></move-h>
240 <!-- 双击户的弹出框 --> 185 <!-- 双击户的弹出框 -->
241 <el-dialog :close-on-click-modal="false" title="户编辑" class="hbjDialog" :visible.sync="hbjVisible" width="80%"> 186 <el-dialog :close-on-click-modal="false" title="户编辑" class="hbjDialog" :visible.sync="hbjVisible" width="80%">
242 <hbj ref="hbj" :bsm="hbsm" :scyclx="scyclx" :lpbParent="lpbParent"></hbj> 187 <hbj ref="hbj" :bsm="hbsm" :scyclx="scyclx" :lpbParent="lpbParent"></hbj>
243 </el-dialog> 188 </el-dialog>
244 <!-- 户重新落宗 -->
245 <h-cxlz :h-cxlz-visble="hcxlzVisible" :bsms="hbsmList" @close="hcxlzVisible = false"></h-cxlz>
246 </div> 189 </div>
247 </template> 190 </template>
248 <script> 191 <script>
249 import moveH from "@/components/moveH/moveH";
250 import HCxlz from "@/components/hCxlz/hCxlz";
251 import { getLpb } from '@/api/lpb' 192 import { getLpb } from '@/api/lpb'
252 // import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb";
253 // import { hhb, hfg } from "@api/h";
254 import { Message } from 'element-ui'; 193 import { Message } from 'element-ui';
255 // import { fwsxbgbl } from "@api/common";
256 import hbj from "../hbj/lpb-hbj/index"; 194 import hbj from "../hbj/lpb-hbj/index";
257 export default { 195 export default {
258 name: "", 196 name: "",
259 components: { moveH, hbj, HCxlz, }, 197 components: { hbj },
260 props: { 198 props: {
261 zrzbsm: { 199 zrzbsm: {
262 type: String, 200 type: String,
...@@ -273,14 +211,12 @@ export default { ...@@ -273,14 +211,12 @@ export default {
273 }, 211 },
274 data () { 212 data () {
275 return { 213 return {
276 moveHvisible: false,
277 lpbData: { 214 lpbData: {
278 ljzs: [], 215 ljzs: [],
279 cs: [], 216 cs: [],
280 zdys: [], 217 zdys: [],
281 }, 218 },
282 hbjVisible: false, 219 hbjVisible: false,
283 hcxlzVisible: false,
284 lpbContentWidth: 0, 220 lpbContentWidth: 0,
285 ljzWidth: 10000, 221 ljzWidth: 10000,
286 zdyWidth: 1000, 222 zdyWidth: 1000,
...@@ -391,10 +327,6 @@ export default { ...@@ -391,10 +327,6 @@ export default {
391 } 327 }
392 // console.log("查询searchNum" + searchNum); 328 // console.log("查询searchNum" + searchNum);
393 }, 329 },
394 //接收范围属性变更传入的hbsm
395 getFwsxbgHbsm (bsm) {
396 this.hbsmList.push(bsm);
397 },
398 //自然幢下元素高度宽度计算 330 //自然幢下元素高度宽度计算
399 dataChange () { 331 dataChange () {
400 //计算逻辑幢宽度 20为marginRight值 332 //计算逻辑幢宽度 20为marginRight值
...@@ -674,184 +606,7 @@ export default { ...@@ -674,184 +606,7 @@ export default {
674 closeMenu () { 606 closeMenu () {
675 this.lpbChVisible = false; 607 this.lpbChVisible = false;
676 }, 608 },
677 //户右键菜单 start
678 handleAddH () { },
679 handleMoveH () {
680 // 移动户
681 console.log(this.$parent.scyclx, "实预测类型");
682 this.moveHvisible = true;
683 },
684 moveHClose () {
685 this.moveHvisible = false;
686 },
687 handleDeleteH () { },
688 handleSyczh () { },
689 //end 609 //end
690 // 层右键菜单 start
691 //添加
692 handleAddC (type) {
693 this.addCData.title = type == "up" ? "向上添加层" : "向下添加层";
694 this.addCVisible = true;
695 this.addCData.sjc =
696 type == "up"
697 ? Number(this.chData.sjc) + 1
698 : Number(this.chData.sjc) - 1;
699 this.addCData.cbsm = this.chData.bsm;
700 this.addCData.scyclx = this.$parent.scyclx;
701 },
702 //删除
703 handleDeleteC () {
704 let params = {
705 cbsm: this.chData.bsm,
706 scyclx: this.$parent.scyclx,
707 };
708 this.$confirm("是否确认删除该层?", "提示", {
709 confirmButtonText: "确定",
710 cancelButtonText: "取消",
711 type: "warning",
712 })
713 .then(() => {
714 deleteCByBsm(params).then((res) => {
715 if (res.code == 200) {
716 this.$message({
717 message: "删除成功",
718 type: "success",
719 });
720 this.getLpb(this.$store.state.zrzbsm, this.$parent.scyclx);
721 } else {
722 this.$message({
723 message: res.message,
724 type: "warning",
725 });
726 }
727 })
728 })
729 .catch(() => { });
730 },
731 //确认添加
732 saveAddC () {
733 insertUpDownC(this.addCData).then((res) => {
734 if (res.code == 200) {
735 this.$message({
736 message: "添加成功",
737 type: "success",
738 });
739 this.getLpb(this.$store.state.zrzbsm, this.$parent.scyclx);
740 this.addCVisible = false;
741 } else {
742 this.$message({
743 message: res.message,
744 type: "warning"
745 })
746 }
747 })
748 },
749 //户合并
750 handleHb (type) {
751 let olbBsms = '';
752 this.hbsmList.forEach((item, index) => {
753 olbBsms += index < this.hbsmList.length - 1 ? item + ',' : item
754 })
755 if (type == this.canHb) {
756 this.$confirm("是否确认合并选中户?", "提示", {
757 confirmButtonText: "确定",
758 cancelButtonText: "取消",
759 type: "warning",
760 })
761 .then(() => {
762 //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO
763 let params = {
764 "newuserbsm": "",
765 "oldBsms": olbBsms,
766 "scyclx": this.$parent.scyclx,
767 "ljzbsm": this.fghbChoosedList[0].ljzbsm,
768 "zdybsm": this.fghbChoosedList[0].zdybsm,
769 "zrzbsm": this.fghbChoosedList[0].zrzbsm
770 }
771 // hhb(params).then((res) => {
772 // vm.loadingHide();
773 // if (res.code == 200) {
774 // Message.success('合并成功');
775 // // 清除选中户
776 // this.clearChoosedH();
777 // this.fghbChoosedList = [];
778 // // 更新楼盘表
779 // this.getLpb(this.zrzbsm, this.$parent.scyclx);
780 // } else {
781 // Message.error(res.message);
782 // }
783 // })
784 // .catch((error) => {
785 // vm.loadingHide();
786 // console.log(error);
787 // });
788 })
789 .catch(() => { });
790 } else {
791
792 }
793 },
794 //户分割
795 handleFg () {
796 this.hfgDialogVisible = true;
797 },
798 //户分割保存
799 savefgData () {
800 // hfg(this.fgData).then((res) => {
801 // vm.loadingHide();
802 // if (res.code == 200) {
803 // Message.success('分割成功');
804 // // 清除选中户
805 // this.hfgDialogVisible = false
806 // this.clearChoosedH();
807 // this.fghbChoosedList = [];
808 // // 更新楼盘表
809 // this.getLpb(this.zrzbsm, this.$parent.scyclx);
810 // } else {
811 // Message.error(res.message);
812 // }
813 // })
814 // .catch((error) => {
815 // vm.loadingHide();
816 // console.log(error);
817 // });
818 },
819 //范围属性变更
820 handleFwsxbg () {
821 let params = { bsm: this.chData.bsm, type: 'h' };
822 this.$confirm('是否确定范围属性变更?', '提示', {
823 confirmButtonText: '确定',
824 cancelButtonText: '取消',
825 type: 'warning'
826 }).then(() => {
827 // fwsxbgbl(params)
828 // .then((res) => {
829 // if (res.code == 200) {
830 // this.$message({
831 // message: '变更成功',
832 // type: "success",
833 // });
834 // this.getLpb(this.zrzbsm, this.scyclx);
835 // } else {
836 // this.$message({
837 // message: res.message,
838 // type: "warning",
839 // })
840 // }
841 // }).catch((error) => {
842
843 // });
844 }).catch(() => {
845
846 });
847 },
848 //户重新落宗
849 handleCxlz () {
850 if (this.hbsmList.indexOf(this.chData.bsm) == -1) {
851 this.hbsmList.push(this.chData.bsm);
852 }
853 this.hcxlzVisible = true
854 },
855 //楼盘表户全选 610 //楼盘表户全选
856 lpbSelectAll (val) { 611 lpbSelectAll (val) {
857 if (val) { 612 if (val) {
......
1 <template> 1 <template>
2 <div class="content"> 2 <div class="content">
3 <div class="left"> 3 <div class="left">
4 <el-tree 4 <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick"
5 ref="tree" 5 :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]">
6 :data="treedata"
7 :props="defaultProps"
8 @node-click="handleNodeClick"
9 :default-expand-all="true"
10 :expand-on-click-node="false"
11 node-key="id"
12 :default-checked-keys="[showTab]"
13 >
14 </el-tree> 6 </el-tree>
15 </div> 7 </div>
16 <div class="right"> 8 <div class="right">
...@@ -22,7 +14,7 @@ ...@@ -22,7 +14,7 @@
22 import { getBdcqljqtsx } from "@/api/registerBook.js"; 14 import { getBdcqljqtsx } from "@/api/registerBook.js";
23 import { loadTreeData, getNode } from "./djbFrameData.js"; 15 import { loadTreeData, getNode } from "./djbFrameData.js";
24 export default { 16 export default {
25 data() { 17 data () {
26 return { 18 return {
27 //接收参数 19 //接收参数
28 // propsParam: this.$attrs, 20 // propsParam: this.$attrs,
...@@ -44,11 +36,11 @@ export default { ...@@ -44,11 +36,11 @@ export default {
44 }; 36 };
45 }, 37 },
46 props: ["formData"], 38 props: ["formData"],
47 mounted() { 39 mounted () {
48 this.loadData(); 40 this.loadData();
49 }, 41 },
50 methods: { 42 methods: {
51 loadData() { 43 loadData () {
52 getBdcqljqtsx({ 44 getBdcqljqtsx({
53 bdcdyid: this.formData.bdcdyid, 45 bdcdyid: this.formData.bdcdyid,
54 bdcdyh: this.formData.bdcdyh, 46 bdcdyh: this.formData.bdcdyh,
...@@ -56,7 +48,7 @@ export default { ...@@ -56,7 +48,7 @@ export default {
56 if (res.code === 200) { 48 if (res.code === 200) {
57 this.treedata = loadTreeData(res.result, this.formData.bdcdyh); 49 this.treedata = loadTreeData(res.result, this.formData.bdcdyh);
58 this.$nextTick(function () { 50 this.$nextTick(function () {
59 this.defaultNode = getNode(this.formData.qllx, {linShi:0,xianShi:0,liShi:0}, ""); 51 this.defaultNode = getNode(this.formData.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, "");
60 this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 52 this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点
61 this.loadComponent(this.defaultNode.form); 53 this.loadComponent(this.defaultNode.form);
62 }); 54 });
...@@ -69,10 +61,10 @@ export default { ...@@ -69,10 +61,10 @@ export default {
69 bsmQlxx: this.formData.bsmQlxx, 61 bsmQlxx: this.formData.bsmQlxx,
70 }; 62 };
71 }, 63 },
72 handleNodeClick(data, node, elem) { 64 handleNodeClick (data, node, elem) {
73 this.loadComponent(data.form); 65 this.loadComponent(data.form);
74 }, 66 },
75 loadComponent(form) { 67 loadComponent (form) {
76 this.componentTag = (r) => 68 this.componentTag = (r) =>
77 require.ensure([], () => r(require("@/views/registerBook/" + form))); 69 require.ensure([], () => r(require("@/views/registerBook/" + form)));
78 }, 70 },
...@@ -80,6 +72,10 @@ export default { ...@@ -80,6 +72,10 @@ export default {
80 }; 72 };
81 </script> 73 </script>
82 <style scoped lang="scss"> 74 <style scoped lang="scss">
75 /deep/.rollTable {
76 height: calc(100vh - 240px) !important;
77 }
78
83 .content { 79 .content {
84 width: 100%; 80 width: 100%;
85 height: 100%; 81 height: 100%;
...@@ -113,7 +109,7 @@ export default { ...@@ -113,7 +109,7 @@ export default {
113 height: 45px; 109 height: 45px;
114 } 110 }
115 111
116 /deep/ .el-tree-node:focus > .el-tree-node__content { 112 /deep/ .el-tree-node:focus>.el-tree-node__content {
117 background-color: #f5f5f5; 113 background-color: #f5f5f5;
118 color: #0079fe; 114 color: #0079fe;
119 border-right: 4px solid #0079fe; 115 border-right: 4px solid #0079fe;
...@@ -123,7 +119,7 @@ export default { ...@@ -123,7 +119,7 @@ export default {
123 white-space: pre-wrap; 119 white-space: pre-wrap;
124 } 120 }
125 121
126 /deep/ .is-current > .el-tree-node__content { 122 /deep/ .is-current>.el-tree-node__content {
127 background-color: #f5f5f5; 123 background-color: #f5f5f5;
128 color: #0079fe; 124 color: #0079fe;
129 border-right: 4px solid #0079fe; 125 border-right: 4px solid #0079fe;
......
...@@ -3,6 +3,7 @@ import { ...@@ -3,6 +3,7 @@ import {
3 leftMenu, 3 leftMenu,
4 stepExpandInfo, 4 stepExpandInfo,
5 record, 5 record,
6 completeTask,
6 getNextLinkInfo, 7 getNextLinkInfo,
7 } from "@/api/fqsq.js"; 8 } from "@/api/fqsq.js";
8 export default { 9 export default {
...@@ -157,10 +158,8 @@ export default { ...@@ -157,10 +158,8 @@ export default {
157 }) 158 })
158 break; 159 break;
159 case "back": //退回按钮 160 case "back": //退回按钮
160 this.$popup({ 161 this.$popup("退回", "workflow/components/th", {
161 title: "退回", 162 height: "200px",
162 editItem: "workflow/components/th",
163 height: "400px",
164 width: '30%', 163 width: '30%',
165 formData: { 164 formData: {
166 bsmSlsq: this.bsmSlsq, 165 bsmSlsq: this.bsmSlsq,
...@@ -190,9 +189,7 @@ export default { ...@@ -190,9 +189,7 @@ export default {
190 }); 189 });
191 break; 190 break;
192 case "stop": //终止按钮 191 case "stop": //终止按钮
193 this.$popup({ 192 this.$popup("终止", "workflow/components/stop", {
194 title: "终止",
195 editItem: "workflow/components/stop",
196 height: "330px", 193 height: "330px",
197 width: '30%', 194 width: '30%',
198 formData: { 195 formData: {
...@@ -246,7 +243,7 @@ export default { ...@@ -246,7 +243,7 @@ export default {
246 sendToNext (obj) { 243 sendToNext (obj) {
247 const h = this.$createElement; 244 const h = this.$createElement;
248 this.$msgbox({ 245 this.$msgbox({
249 title: "您确定转出吗?", 246 title: "您确定转出吗?1",
250 message: h("div", { style: "margin: auto" }, [ 247 message: h("div", { style: "margin: auto" }, [
251 h("span", null, "下个环节名称:"), 248 h("span", null, "下个环节名称:"),
252 h("i", { style: "color: teal" }, obj.taskName), 249 h("i", { style: "color: teal" }, obj.taskName),
...@@ -267,12 +264,9 @@ export default { ...@@ -267,12 +264,9 @@ export default {
267 if (res.code === 200) { 264 if (res.code === 200) {
268 instance.confirmButtonLoading = false; 265 instance.confirmButtonLoading = false;
269 this.$message.success("转件成功"); 266 this.$message.success("转件成功");
270 setTimeout(() => { 267 window.opener.location.reload(); //刷新父窗口
271 window.opener = null;
272 window.open("about:blank", "_self");
273 window.close(); 268 window.close();
274 this.$emit("input", false); 269 this.$emit("input", false);
275 }, 1000);
276 } else { 270 } else {
277 instance.confirmButtonLoading = false; 271 instance.confirmButtonLoading = false;
278 instance.confirmButtonText = "确定"; 272 instance.confirmButtonText = "确定";
...@@ -291,12 +285,14 @@ export default { ...@@ -291,12 +285,14 @@ export default {
291 }); 285 });
292 }, 286 },
293 sendToEnd () { 287 sendToEnd () {
288 let that = this
294 const h = this.$createElement; 289 const h = this.$createElement;
295 this.$msgbox({ 290 this.$msgbox({
296 title: "您确定转出吗?", 291 title: "您确定转出吗?2",
297 message: "此环节为流程结束环节,转出后流程将结束", 292 message: "此环节为流程结束环节,转出后流程将结束",
298 showCancelButton: true, 293 showCancelButton: true,
299 beforeClose: (action, instance, done) => { 294 beforeClose: (action, instance, done) => {
295 console.log(action, 'actionaction');
300 if (action === "confirm") { 296 if (action === "confirm") {
301 instance.confirmButtonLoading = true; 297 instance.confirmButtonLoading = true;
302 instance.confirmButtonText = "执行中..."; 298 instance.confirmButtonText = "执行中...";
...@@ -307,19 +303,17 @@ export default { ...@@ -307,19 +303,17 @@ export default {
307 }).then((res) => { 303 }).then((res) => {
308 if (res.code === 200) { 304 if (res.code === 200) {
309 instance.confirmButtonLoading = false; 305 instance.confirmButtonLoading = false;
310 this.$message.success("转件成功"); 306 that.$message.success("转件成功");
311 setTimeout(() => { 307 localStorage.setItem('transfer', true)
312 window.opener = null; 308 window.opener.location.reload(); //刷新父窗口
313 window.open("about:blank", "_self");
314 window.close(); 309 window.close();
315 this.$emit("input", false); 310 that.$emit("input", false);
316 }, 1000);
317 } else { 311 } else {
318 instance.confirmButtonLoading = false; 312 instance.confirmButtonLoading = false;
319 instance.confirmButtonText = "确定"; 313 instance.confirmButtonText = "确定";
320 this.$message.error(res.message); 314 this.$message.error(res.message);
321 } 315 }
322 }); 316 })
323 } else { 317 } else {
324 done(); 318 done();
325 } 319 }
......
1 import { getForm } from "../flowform";
2 import { getHomeNoticeList } from "@/api/home.js"
3 export default {
4 data () {
5 return {
6 noticeList: [],
7 }
8 },
9 created () {
10 getHomeNoticeList().then(res => {
11 if (res.result) {
12 this.noticeList = res.result.noticeList
13 }
14 })
15 },
16 methods: {
17 //右侧表单选项卡事件
18 beforeLeave (activeName, oldActiveName) {
19 if (activeName && activeName != 0) this.getFromRouter(activeName)
20 },
21 //切换选项卡内容组件
22 getFromRouter (tabname) {
23 this.componentTag = getForm(tabname, this.$route.query.sqywbm);
24 }
25 }
26 }
...@@ -151,9 +151,6 @@ export default { ...@@ -151,9 +151,6 @@ export default {
151 window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) 151 window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
152 window.removeEventListener('unload', e => this.unloadHandler(e)) 152 window.removeEventListener('unload', e => this.unloadHandler(e))
153 }, 153 },
154 computed: {
155 ...mapGetters(["oldDetail", "newDetail"])
156 },
157 methods: { 154 methods: {
158 beforeunloadHandler () { 155 beforeunloadHandler () {
159 this._beforeUnload_time = new Date().getTime() 156 this._beforeUnload_time = new Date().getTime()
...@@ -346,9 +343,7 @@ export default { ...@@ -346,9 +343,7 @@ export default {
346 }); 343 });
347 break; 344 break;
348 case "stop": //终止按钮 345 case "stop": //终止按钮
349 this.$popup({ 346 this.$popup("终止", "workflow/components/stop", {
350 title: "终止",
351 editItem: "workflow/components/stop",
352 height: "330px", 347 height: "330px",
353 width: '30%', 348 width: '30%',
354 formData: { 349 formData: {
...@@ -422,7 +417,6 @@ export default { ...@@ -422,7 +417,6 @@ export default {
422 }, 417 },
423 //申请单元点击事件 418 //申请单元点击事件
424 unitClick (index) { 419 unitClick (index) {
425
426 if (index >= 0) { 420 if (index >= 0) {
427 this.currentSelectProps = this.unitData[index]; 421 this.currentSelectProps = this.unitData[index];
428 this.currentSelectProps.batchOperation = false; 422 this.currentSelectProps.batchOperation = false;
...@@ -447,10 +441,6 @@ export default { ...@@ -447,10 +441,6 @@ export default {
447 }); 441 });
448 } 442 }
449 }); 443 });
450 // if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) {
451 // this.currentSelectProps = this.unitData[index];
452 // this.fresh += 1;
453 // }
454 }, 444 },
455 //批量按钮判断 445 //批量按钮判断
456 judgeBatchShow () { 446 judgeBatchShow () {
......
...@@ -74,11 +74,12 @@ ...@@ -74,11 +74,12 @@
74 <script> 74 <script>
75 import { mapGetters } from "vuex" 75 import { mapGetters } from "vuex"
76 import WorkFlow from "./mixin/index" 76 import WorkFlow from "./mixin/index"
77 import publicFlow from "./mixin/public.js"
77 import { getStepFormInfo } from "@/api/fqsq.js"; 78 import { getStepFormInfo } from "@/api/fqsq.js";
79 import { getForm } from './flowform'
78 import NoticeBar from '@/components/NoticeBar/index' 80 import NoticeBar from '@/components/NoticeBar/index'
79 import { deleteFlow, unClaimTask } from "@/api/ywbl.js"; 81 import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
80 import ProcessViewer from './components/processViewer.vue' 82 import ProcessViewer from './components/processViewer.vue'
81 import { getForm } from "./flowform.js";
82 import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue"; 83 import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue";
83 export default { 84 export default {
84 components: { 85 components: {
...@@ -86,10 +87,9 @@ export default { ...@@ -86,10 +87,9 @@ export default {
86 NoticeBar, 87 NoticeBar,
87 ProcessViewer 88 ProcessViewer
88 }, 89 },
89 mixins: [WorkFlow], 90 mixins: [WorkFlow, publicFlow],
90 data () { 91 data () {
91 return { 92 return {
92 noticeList: [],
93 isDialog: false, 93 isDialog: false,
94 // 流程图 94 // 流程图
95 // 折叠 95 // 折叠
...@@ -127,15 +127,11 @@ export default { ...@@ -127,15 +127,11 @@ export default {
127 window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) 127 window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
128 window.removeEventListener('unload', e => this.unloadHandler(e)) 128 window.removeEventListener('unload', e => this.unloadHandler(e))
129 }, 129 },
130 computed: {
131 ...mapGetters(["oldDetail", "newDetail"])
132 },
133 methods: { 130 methods: {
134 beforeunloadHandler () { 131 beforeunloadHandler () {
135 this._beforeUnload_time = new Date().getTime() 132 this._beforeUnload_time = new Date().getTime()
136 }, 133 },
137 unloadHandler (e) { 134 unloadHandler (e) {
138 thsi.$alert("234234");
139 this._gap_time = new Date().getTime() - this._beforeUnload_time 135 this._gap_time = new Date().getTime() - this._beforeUnload_time
140 //判断是窗口关闭还是刷新 136 //判断是窗口关闭还是刷新
141 if (this._gap_time <= 10) { 137 if (this._gap_time <= 10) {
...@@ -192,11 +188,10 @@ export default { ...@@ -192,11 +188,10 @@ export default {
192 bsmSlsq: this.bsmSlsq, 188 bsmSlsq: this.bsmSlsq,
193 dataList: this.unitData, 189 dataList: this.unitData,
194 }, 190 },
195 cancel: function () { }, //取消事件的回调
196 confirm: function () { 191 confirm: function () {
197 that.loadBdcdylist(); 192 that.loadBdcdylist();
198 }, //确认事件的回调 193 }
199 }); 194 })
200 }, 195 },
201 //申请单元点击事件 196 //申请单元点击事件
202 unitClick (index) { 197 unitClick (index) {
...@@ -208,7 +203,7 @@ export default { ...@@ -208,7 +203,7 @@ export default {
208 } 203 }
209 getStepFormInfo(this.currentSelectProps).then((res) => { 204 getStepFormInfo(this.currentSelectProps).then((res) => {
210 if (res.code === 200) { 205 if (res.code === 200) {
211 this.fresh += 1; 206 this.fresh++;
212 //获取单元对应的所有表单信息 207 //获取单元对应的所有表单信息
213 this.tabList = res.result; 208 this.tabList = res.result;
214 //默认加载第一个表单信息 209 //默认加载第一个表单信息
...@@ -224,14 +219,6 @@ export default { ...@@ -224,14 +219,6 @@ export default {
224 }) 219 })
225 } 220 }
226 }) 221 })
227 },
228 //表单选项卡事件
229 beforeLeave (activeName, oldActiveName) {
230 if (activeName && activeName != 0) this.getFromRouter(activeName)
231 },
232 //切换选项卡内容组件
233 getFromRouter (tabname) {
234 this.componentTag = getForm(tabname, this.$route.query.sqywbm);
235 } 222 }
236 } 223 }
237 } 224 }
......
1 <template>
2 <div class="container">
3 <!-- 顶部内容框 -->
4 <div class="topButton">
5 <!-- 左侧业务功能按钮 -->
6 <ul>
7 <li @click="operation(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(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 <NoticeBar class="NoticeBar" :noticeList="noticeList" />
20 </div>
21 <!-- 内容框架 -->
22 <div class="containerFrame">
23 <!-- 左侧菜单栏 -->
24 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
25 <div v-if="this.isShowdrawer">
26 <div class="title">申请单元列表({{ unitData.length }})</div>
27 <el-menu :default-active="activeIndex" @select="unitClick">
28 <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
29 <div>
30 <p>{{ item.bdcdyh }}</p>
31 <p class="title-detail">{{ item.zl }}</p>
32 </div>
33 </el-menu-item>
34 </el-menu>
35 </div>
36 <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
37 () => {
38 this.isShowdrawer = !this.isShowdrawer;
39 }
40 "></div>
41 <div class="map-drawer-expand map-drawer" v-else @click="
42 () => {
43 this.isShowdrawer = !this.isShowdrawer;
44 }
45 "></div>
46 </div>
47 <div class="leftCon">
48 <!-- 分屏左侧预览 -->
49 <div v-if="splitScreen" class="splitScreen-con">
50 <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" />
51 </div>
52 <!-- 表单内容区域 -->
53 <div class="rightContainer">
54 <el-tabs v-model="tabName" :before-leave="beforeLeave">
55 <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index">
56 </el-tab-pane>
57 </el-tabs>
58 <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
59 </div>
60 </div>
61 </div>
62 </div>
63 </template>
64 <style scoped lang='scss'>
65 @import "~@/styles/mixin.scss";
66 @import "./workFrame.scss";
67 </style>
68 <script>
69 import {
70 leftMenu,
71 stepExpandInfo,
72 getStepFormInfo
73 } from "@/api/fqsq.js"
74 import publicFlow from "./mixin/public.js"
75 import NoticeBar from '@/components/NoticeBar/index'
76 import { getWorkFlowImage } from "@/api/jsydsyqFlow.js"
77 export default {
78 mixins: [publicFlow],
79 components: {
80 NoticeBar
81 },
82 data () {
83 return {
84 // 流程图
85 imgSrc: '',
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 formdata.append("type", "READ_ONLY");
131 stepExpandInfo(formdata).then((res) => {
132 if (res.code === 200) {
133 this.leftButtonList = res.result.button;
134 this.rightButtonList = res.result.operation;
135 }
136 })
137 },
138 //流程环节操作按钮
139 operation (item) {
140 //按钮 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书
141 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
142 let that = this;
143 switch (item.value) {
144 case "B1":
145 getWorkFlowImage(this.bsmSlsq).then(res => {
146 this.imgSrc = URL.createObjectURL(res)
147 this.$popup({
148 title: '流程图',
149 editItem: 'workflow/components/flowChart',
150 formData: this.imgSrc
151 })
152 })
153 break;
154 case "B5":
155 this.zsylFlag = true;
156 break;
157 case "B2": //材料分屏按钮
158 this.splitScreen = this.splitScreen ? false : true;
159 this.$store.dispatch('app/settScreen', this.splitScreen)
160 if (this.splitScreen) {
161 //如果当前选项卡为材料信息内容,递减到上一个选项卡内容
162 if (this.tabName == this.clxxTab.value) {
163 this.tabName = this.tabList[this.clxxIndex - 1].value;
164 this.getFromRouter(this.tabList[this.clxxIndex - 1].value);
165 }
166 this.tabList.splice(this.clxxIndex, 1);
167 } else {
168 this.tabList.splice(this.clxxIndex, 1, this.clxxTab);
169 }
170 break;
171 case "signout":
172 window.close();
173 break;
174 }
175 },
176 //读取申请单元信息
177 loadBdcdylist () {
178 var formdata = new FormData();
179 formdata.append("bsmSlsq", this.bsmSlsq);
180 formdata.append("bestepid", this.bestepid);
181 leftMenu(formdata).then((res) => {
182 if (res.code === 200) {
183 this.unitData = res.result;
184 this.currentSelectProps = res.result[0];
185 this.unitClick(0);
186 }
187 })
188 },
189 //申请单元点击事件
190 unitClick (index) {
191 this.currentSelectProps = this.unitData[index];
192 this.currentSelectProps.type = 'ONLY_READ';
193 getStepFormInfo(this.currentSelectProps).then((res) => {
194 if (res.code === 200) {
195 this.fresh++;
196 //获取单元对应的所有表单信息
197 this.tabList = res.result;
198 //默认加载第一个表单信息
199 this.tabName = res.result[0].value;
200 }
201 });
202 }
203 }
204 }
205 </script>
...\ No newline at end of file ...\ No newline at end of file
...@@ -79,7 +79,7 @@ export default { ...@@ -79,7 +79,7 @@ export default {
79 components: { searchBox }, 79 components: { searchBox },
80 mixins: [table, searchMin], 80 mixins: [table, searchMin],
81 computed: { 81 computed: {
82 ...mapGetters(['dictData']), 82 ...mapGetters(['dictData', 'transfer'])
83 }, 83 },
84 data () { 84 data () {
85 return { 85 return {
...@@ -102,6 +102,9 @@ export default { ...@@ -102,6 +102,9 @@ export default {
102 } 102 }
103 } 103 }
104 }, 104 },
105 created () {
106 this.queryClick()
107 },
105 mounted () { 108 mounted () {
106 sendThis(this); 109 sendThis(this);
107 this.queryClick() 110 this.queryClick()
...@@ -169,8 +172,8 @@ export default { ...@@ -169,8 +172,8 @@ export default {
169 }) 172 })
170 }, 173 },
171 ywhClick (item) { 174 ywhClick (item) {
172 const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); 175 // const { href } = this.$router.resolve('/workFrame?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm);
173 // const { href } = this.$router.resolve('/workFramecs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm); 176 const { href } = this.$router.resolve('/workFramecs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm);
174 window.open(href, '_blank'); 177 window.open(href, '_blank');
175 //从待办箱进入的调取任务领取接口 178 //从待办箱进入的调取任务领取接口
176 claimTask(item.bsmSlsq, item.bestepid) 179 claimTask(item.bsmSlsq, item.bestepid)
......
...@@ -135,7 +135,8 @@ export default { ...@@ -135,7 +135,8 @@ export default {
135 this.queryClick() 135 this.queryClick()
136 }, 136 },
137 ywhClick (item) { 137 ywhClick (item) {
138 const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1'); 138 // const { href } = this.$router.resolve('/workFrameView?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1');
139 const { href } = this.$router.resolve('/workFrameViewcs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&viewtype=1');
139 window.open(href, '_blank'); 140 window.open(href, '_blank');
140 } 141 }
141 } 142 }
......
...@@ -198,7 +198,7 @@ export default { ...@@ -198,7 +198,7 @@ export default {
198 this.bdcdysz = val 198 this.bdcdysz = val
199 }, 199 },
200 handleLpbClick (item) { 200 handleLpbClick (item) {
201 this.$popup('楼盘表', 'components/bjlp/index', { 201 this.$popup('楼盘表', 'lpb/index', {
202 width: '85%', 202 width: '85%',
203 formData: { 203 formData: {
204 bsm: item.bsm 204 bsm: item.bsm
......
1 <template> 1 <template>
2 <dialogBox :title="title" width="85%" :isButton="false" :isMain="true" @closeDialog="closeDialog" v-model="myValue"> 2 <dialogBox :title="title" width="85%" :isButton="false" :isMain="true" @closeDialog="closeDialog" v-model="myValue">
3 <component :is="editItem" @closeDialog="closeDialog" v-bind="$attrs" :isJump="isJump" id="slectBdc" 3 <component :is="editItem" @closeDialog="closeDialog" v-bind="$attrs" :isJump="isJump" id="slectBdc"
4 @updateDialog="updateDialog" :djywbm="djywbm" :key="key" :djqxObj="djqxObj"/> 4 @updateDialog="updateDialog" :djywbm="djywbm" :key="key" :djqxObj="djqxObj" />
5 </dialogBox> 5 </dialogBox>
6 </template> 6 </template>
7 <script> 7 <script>
...@@ -11,11 +11,11 @@ export default { ...@@ -11,11 +11,11 @@ export default {
11 isJump: { type: Boolean, default: false }, 11 isJump: { type: Boolean, default: false },
12 value: { type: Boolean, default: true }, 12 value: { type: Boolean, default: true },
13 djywbm: { type: String, default: '' }, 13 djywbm: { type: String, default: '' },
14 djqxObj: { type: Object, default: {} } 14 djqxObj: { type: Object, default: () => { } }
15 }, 15 },
16 data () { 16 data () {
17 return { 17 return {
18 title:"", 18 title: "",
19 key: 0, 19 key: 0,
20 editItem: '', 20 editItem: '',
21 myValue: this.value 21 myValue: this.value
...@@ -37,7 +37,7 @@ export default { ...@@ -37,7 +37,7 @@ export default {
37 }, 37 },
38 methods: { 38 methods: {
39 loadView (view) { 39 loadView (view) {
40 this.title ="申请业务:"+this.djqxObj.djywmc; 40 this.title = "申请业务:" + this.djqxObj.djywmc;
41 return r => require.ensure([], () => r(require(`./components/${view}.vue`))) 41 return r => require.ensure([], () => r(require(`./components/${view}.vue`)))
42 }, 42 },
43 closeDialog () { 43 closeDialog () {
......
...@@ -114,7 +114,7 @@ export default { ...@@ -114,7 +114,7 @@ export default {
114 }); 114 });
115 }, 115 },
116 handleLpbClick (item) { 116 handleLpbClick (item) {
117 this.$popup('楼盘表', 'components/bjlp/index', { 117 this.$popup('楼盘表', 'lpb/index', {
118 width: '90%', 118 width: '90%',
119 height: "92%", 119 height: "92%",
120 formData: { 120 formData: {
......
...@@ -96,11 +96,11 @@ export default { ...@@ -96,11 +96,11 @@ export default {
96 //打开楼盘表 96 //打开楼盘表
97 openlpbClick (scope) { 97 openlpbClick (scope) {
98 // var zrzbsm = scope.row.bsm; 98 // var zrzbsm = scope.row.bsm;
99 this.$popup('楼盘表', 'components/bjlp/index', { 99 this.$popup('楼盘表', 'lpb/index', {
100 width: '90%', 100 width: '90%',
101 height: "92%", 101 height: "92%",
102 formData: { 102 formData: {
103 bsm: '' 103 bsm: scope.row.bsm
104 } 104 }
105 }) 105 })
106 // getLpb({ zrzbsm: zrzbsm }) 106 // getLpb({ zrzbsm: zrzbsm })
......