7963b2d5 by 田浩浩
2 parents ec9c9217 79dfe818
Showing 55 changed files with 1002 additions and 2521 deletions
1 import request from '@/utils/request'
2 import SERVER from './config'
3
4 // 新增系统通知
5 export function addSysNotice (data) {
6 return request({
7 url: SERVER.SERVERAPI + '/rest/system/sysNotice/addSysNotice',
8 method: 'post',
9 data
10 })
11 }
12
13 //编辑系统通知
14 export function updateSysNotice (data) {
15 return request({
16 url: SERVER.SERVERAPI + '/rest/system/sysNotice/updateSysNotice',
17 method: 'post',
18 data
19 })
20 }
21
22 // 获取通知列表
23 export function getSysNoticeList (data) {
24 return request({
25 url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysNoticeList',
26 method: 'post',
27 data
28 })
29 }
30
31 //获取法律法规列表
32 export function getSysPolicyList (data) {
33 return request({
34 url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysPolicyList',
35 method: 'post',
36 data
37 })
38 }
39
40 //删除系统通知
41 export function deleteSysNotice (params) {
42 return request({
43 url: SERVER.SERVERAPI + '/rest/system/sysNotice/deleteSysNotice',
44 method: 'get',
45 params: params
46 })
47 }
48
49 //发布通知
50 export function publishNotice (params) {
51 return request({
52 url: SERVER.SERVERAPI + '/rest/system/sysNotice/publishNotice',
53 method: 'get',
54 params: params
55 })
56 }
57
58 //取消发布通知
59 export function unPublishNotice (params) {
60 return request({
61 url: SERVER.SERVERAPI + '/rest/system/sysNotice/unPublishNotice',
62 method: 'get',
63 params: params
64 })
65 }
66
67 //设置已读状态
68 export function setReadStatus (params) {
69 return request({
70 url: SERVER.SERVERAPI + '/rest/system/sysNotice/setReadStatus',
71 method: 'get',
72 params: params
73 })
74 }
75
76 //一键设置已读
77 export function setAllRead () {
78 return request({
79 url: SERVER.SERVERAPI + '/rest/system/sysNotice/setAllRead',
80 method: 'get'
81 })
82 }
...@@ -90,3 +90,85 @@ export function updateSysSqywmbsz (data) { ...@@ -90,3 +90,85 @@ export function updateSysSqywmbsz (data) {
90 data 90 data
91 }) 91 })
92 } 92 }
93
94
95 // 通知
96 // 新增系统通知
97 export function addSysNotice (data) {
98 return request({
99 url: SERVER.SERVERAPI + '/rest/system/sysNotice/addSysNotice',
100 method: 'post',
101 data
102 })
103 }
104
105 //编辑系统通知
106 export function updateSysNotice (data) {
107 return request({
108 url: SERVER.SERVERAPI + '/rest/system/sysNotice/updateSysNotice',
109 method: 'post',
110 data
111 })
112 }
113
114 // 获取通知列表
115 export function getSysNoticeList (data) {
116 return request({
117 url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysNoticeList',
118 method: 'post',
119 data
120 })
121 }
122
123 //获取法律法规列表
124 export function getSysPolicyList (data) {
125 return request({
126 url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysPolicyList',
127 method: 'post',
128 data
129 })
130 }
131
132 //删除系统通知
133 export function deleteSysNotice (params) {
134 return request({
135 url: SERVER.SERVERAPI + '/rest/system/sysNotice/deleteSysNotice',
136 method: 'get',
137 params: params
138 })
139 }
140
141 //发布通知
142 export function publishNotice (params) {
143 return request({
144 url: SERVER.SERVERAPI + '/rest/system/sysNotice/publishNotice',
145 method: 'get',
146 params: params
147 })
148 }
149
150 //取消发布通知
151 export function unPublishNotice (params) {
152 return request({
153 url: SERVER.SERVERAPI + '/rest/system/sysNotice/unPublishNotice',
154 method: 'get',
155 params: params
156 })
157 }
158
159 //设置已读状态
160 export function setReadStatus (params) {
161 return request({
162 url: SERVER.SERVERAPI + '/rest/system/sysNotice/setReadStatus',
163 method: 'get',
164 params: params
165 })
166 }
167
168 //一键设置已读
169 export function setAllRead () {
170 return request({
171 url: SERVER.SERVERAPI + '/rest/system/sysNotice/setAllRead',
172 method: 'get'
173 })
174 }
......
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 {
......
...@@ -31,6 +31,22 @@ export const constantRoutes = [ ...@@ -31,6 +31,22 @@ export const constantRoutes = [
31 hidden: true, 31 hidden: true,
32 meta: { title: '发起申请' } 32 meta: { title: '发起申请' }
33 }, 33 },
34 // 业务流程框架
35 {
36 path: '/workFramecs',
37 component: () => import('@/views/workflow/workFrame1.vue'),
38 name: 'workFramecs',
39 hidden: true,
40 meta: { title: '发起申请1' }
41 },
42 // 业务流程只读框架
43 {
44 path: '/workFrameViewcs',
45 component: () => import('@/views/workflow/workFrameView1.vue'),
46 name: 'workFrameViewcs',
47 hidden: true,
48 meta: { title: '发起申请2' }
49 },
34 // 业务流程只读框架 50 // 业务流程只读框架
35 { 51 {
36 path: '/workFrameView', 52 path: '/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 }
...@@ -39,13 +39,13 @@ service.interceptors.response.use( ...@@ -39,13 +39,13 @@ service.interceptors.response.use(
39 * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了) 39 * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了)
40 */ 40 */
41 if (response.status == 200) { 41 if (response.status == 200) {
42 if (response.data.code == 500) { 42 // if (response.data.code == 500) {
43 Message({ 43 // Message({
44 message: response.data.message, 44 // message: response.data.message,
45 type: 'error', 45 // type: 'error',
46 duration: 5 * 1000 46 // duration: 5 * 1000
47 }) 47 // })
48 } 48 // }
49 return response.data; 49 return response.data;
50 } else { 50 } else {
51 handleErrorData(response.data); 51 handleErrorData(response.data);
......
1 <template> 1 <template>
2 <dialogBox title="配置常办项目" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" 2 <dialogBox title="配置常办项目" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%"
3 @closeDialog="closeDialog" v-model="value"> 3 @closeDialog="closeDialog" v-model="myValue">
4 <el-form ref="ruleForm" :model="ruleForm" label-width="100px"> 4 <el-tree :data="projectList" show-checkbox node-key="id" :default-checked-keys="defaultCheckeds" ref="tree"
5 <el-tree :data="projectList" show-checkbox node-key="id" ref="tree" default-expand-all :props="defaultProps" 5 default-expand-all :props="defaultProps" @check-change="handleClick"></el-tree>
6 @check-change="handleClick"></el-tree>
7 </el-form>
8 </dialogBox> 6 </dialogBox>
9 </template> 7 </template>
10 <script> 8 <script>
11 import { getMenuInfo } from "@/api/user.js"; 9 import { getMenuInfo } from "@/api/user.js";
12 import { saveFrequentProjectsList } from "@/api/home.js"; 10 import { saveFrequentProjectsList, getHomeFrequentProjects } from "@/api/home.js";
13 export default { 11 export default {
14 props: { 12 props: {
15 value: { type: Boolean, default: false }, 13 value: { type: Boolean, default: false },
...@@ -17,10 +15,9 @@ export default { ...@@ -17,10 +15,9 @@ export default {
17 }, 15 },
18 data () { 16 data () {
19 return { 17 return {
18 myValue: false,
19 defaultCheckeds: [],
20 projectList: [], 20 projectList: [],
21 ruleForm: {
22
23 },
24 checkedItem: [], 21 checkedItem: [],
25 defaultProps: { 22 defaultProps: {
26 children: "children", 23 children: "children",
...@@ -36,8 +33,15 @@ export default { ...@@ -36,8 +33,15 @@ export default {
36 uniqueValue: ''//最后拿到的唯一选择的moduldCode值,相当于id 33 uniqueValue: ''//最后拿到的唯一选择的moduldCode值,相当于id
37 } 34 }
38 }, 35 },
39 mounted () { 36 watch: {
37 value (val) {
38 this.myValue = val
39 if (val) {
40 this.queryClick() 40 this.queryClick()
41 }
42 }
43 },
44 mounted () {
41 this.dealCheckedItem(); 45 this.dealCheckedItem();
42 }, 46 },
43 methods: { 47 methods: {
...@@ -58,9 +62,19 @@ export default { ...@@ -58,9 +62,19 @@ export default {
58 }) 62 })
59 }, 63 },
60 queryClick () { 64 queryClick () {
65 let that = this
61 getMenuInfo().then(res => { 66 getMenuInfo().then(res => {
62 this.projectList = res.result 67 this.projectList = res.result.slice(0, -2)
63 }) 68 })
69 function lookForAllId (arr = []) {
70 for (let item of that.bindItem) {
71 arr.push(item.id)
72 if (item.children && item.children.length) lookForAllId(item.children, arr)
73 }
74 return arr
75 }
76 that.defaultCheckeds = lookForAllId()
77 console.log(that.defaultCheckeds);
64 }, 78 },
65 dealCheckedItem () { 79 dealCheckedItem () {
66 }, 80 },
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 <el-button type="primary" @click="setFrequencyProject()">配置常办</el-button> 9 <el-button type="primary" @click="setFrequencyProject()">配置常办</el-button>
10 </div> 10 </div>
11 <ul class="workbench flexst"> 11 <ul class="workbench flexst">
12 <li v-for="(item, index) in projectList" class="pointer" :key="index" 12 <li v-for="(item, index) in projectList" @click="handleProject(item)" class="pointer" :key="index"
13 :style="{ backgroundColor: newsListColor[index] }"> 13 :style="{ backgroundColor: newsListColor[index] }">
14 <i class="el-icon-s-claim"></i> 14 <i class="el-icon-s-claim"></i>
15 {{ item.name }} 15 {{ item.name }}
...@@ -107,7 +107,6 @@ ...@@ -107,7 +107,6 @@
107 import * as G2 from '@antv/g2' 107 import * as G2 from '@antv/g2'
108 import vueSeamlessScroll from "vue-seamless-scroll" 108 import vueSeamlessScroll from "vue-seamless-scroll"
109 import { getHomeNoticeList, getHomeTodoList, getHomeDoneList, getHomeFrequentProjects } from "@/api/home.js"; 109 import { getHomeNoticeList, getHomeTodoList, getHomeDoneList, getHomeFrequentProjects } from "@/api/home.js";
110 import { setReadStatus } from "@/api/notice.js";
111 import addDialog from "./components/addProject.vue"; 110 import addDialog from "./components/addProject.vue";
112 export default { 111 export default {
113 name: 'home', 112 name: 'home',
...@@ -188,6 +187,10 @@ export default { ...@@ -188,6 +187,10 @@ export default {
188 this.queryProjectList();//获取常办项目列表 187 this.queryProjectList();//获取常办项目列表
189 }, 188 },
190 methods: { 189 methods: {
190 handleProject (item) {
191 let url = item.uri.split('/').slice(0, 3).join('/')
192 this.$router.push(url)
193 },
191 handleView (pdfUrl) { 194 handleView (pdfUrl) {
192 const href = pdfUrl 195 const href = pdfUrl
193 window.open(href, '_blank'); 196 window.open(href, '_blank');
......
...@@ -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;
......
...@@ -21,42 +21,37 @@ ...@@ -21,42 +21,37 @@
21 </div> 21 </div>
22 </template> 22 </template>
23 23
24 <script> 24 <script>
25 import { getJtfcInfo } from "@/api/sqcxjl"; 25 import imgPath from "./djbyb.png"
26 import imgPath from "./打印登记薄.png" //先导入
27
28 export default { 26 export default {
29 components: {}, 27 components: {},
30 props: ["formData"], 28 props: ["formData"],
31 29
32 created() { 30 created () {
33 var sqcxdata = this.formData.sqcxdata; 31 var sqcxdata = this.formData.sqcxdata;
34 this.ruleForm = sqcxdata; 32 this.ruleForm = sqcxdata;
35 }, 33 },
36 34
37 data() { 35 data () {
38 return { 36 return {
39 ruleForm: { 37 ruleForm: {
40 cxsj: "", 38 cxsj: "",
41 bdcdyh: "", 39 bdcdyh: "",
42 }, 40 },
43 imgUrl:imgPath, 41 imgUrl: imgPath,
44 }; 42 };
45 }, 43 },
46 44 mounted () { },
47 mounted() {},
48
49 methods: {}, 45 methods: {},
50 }; 46 };
51 </script> 47 </script>
52 <style scoped lang="scss"> 48 <style scoped lang="scss">
53 @import "~@/styles/mixin.scss"; 49 @import "~@/styles/mixin.scss";
54 50
55 .table1 { 51 .table1 {
56 border-spacing: 0; 52 border-spacing: 0;
57 border-collapse: collapse; 53 border-collapse: collapse;
58 width: 100%; 54 width: 100%;
59
60 } 55 }
61 56
62 .table1 td { 57 .table1 td {
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
39 import { mapGetters } from "vuex"; 39 import { mapGetters } from "vuex";
40 import table from "@/utils/mixin/table"; 40 import table from "@/utils/mixin/table";
41 import { datas, sendThis } from "./dydjbdata"; 41 import { datas, sendThis } from "./dydjbdata";
42 import { getJtfcPage } from "@/api/jtfc"; 42 import { getJtfcPage } from "@/api/sqcx";
43 43
44 export default { 44 export default {
45 name: "dydjb", 45 name: "dydjb",
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
46 46
47 <script> 47 <script>
48 import personInfoTable from '@/views/components/personInfoTable' 48 import personInfoTable from '@/views/components/personInfoTable'
49 import { addJtfcCxjgXx } from '@/api/jtfc' 49 import { addJtfcCxjgXx } from '@/api/sqcx'
50 import { datas, sendThis } from "./addjtfcdata"; 50 import { datas, sendThis } from "./addjtfcdata";
51 51
52 export default { 52 export default {
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
36 <script> 36 <script>
37 import table from "@/utils/mixin/table"; 37 import table from "@/utils/mixin/table";
38 import { datas, sendThis } from "./jtfcdata"; 38 import { datas, sendThis } from "./jtfcdata";
39 import { getJtfcPage } from "@/api/jtfc"; 39 import { getJtfcPage } from "@/api/sqcx";
40 import addjtfc from "./components/addjtfc.vue"; 40 import addjtfc from "./components/addjtfc.vue";
41 export default { 41 export default {
42 name: "jtfc", 42 name: "jtfc",
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
37 <script> 37 <script>
38 import table from "@/utils/mixin/table"; 38 import table from "@/utils/mixin/table";
39 import { datas, sendThis } from "./sqcxjldata"; 39 import { datas, sendThis } from "./sqcxjldata";
40 import { getJtfcPage } from "@/api/jtfc"; 40 import { getJtfcPage } from "@/api/sqcx";
41 export default { 41 export default {
42 name: "sqcxjl", 42 name: "sqcxjl",
43 mixins: [table], 43 mixins: [table],
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 </template> 25 </template>
26 26
27 <script> 27 <script>
28 import { addSysNotice } from "@/api/notice.js" 28 import { addSysNotice } from "@/api/system.js"
29 import { upload } from "@/api/system.js" 29 import { upload } from "@/api/system.js"
30 export default { 30 export default {
31 props: { 31 props: {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
31 <script> 31 <script>
32 import table from "@/utils/mixin/table"; 32 import table from "@/utils/mixin/table";
33 import { datas, sendThis } from "./flfgdata"; 33 import { datas, sendThis } from "./flfgdata";
34 import { getSysPolicyList, deleteSysNotice } from "@/api/notice.js" 34 import { getSysPolicyList, deleteSysNotice } from "@/api/system.js"
35 import addDialog from "./components/addDialog.vue"; 35 import addDialog from "./components/addDialog.vue";
36 export default { 36 export default {
37 name: "flfg", 37 name: "flfg",
......
...@@ -45,16 +45,15 @@ ...@@ -45,16 +45,15 @@
45 </el-form> 45 </el-form>
46 </dialogBox> 46 </dialogBox>
47 </template> 47 </template>
48
49 <script> 48 <script>
50 import { addSysNotice,updateSysNotice } from "@/api/notice.js"; 49 import { addSysNotice, updateSysNotice } from "@/api/system.js";
51 import { upload } from "@/api/system.js"; 50 import { upload } from "@/api/system.js";
52 import { quillEditor } from "vue-quill-editor"; 51 import { quillEditor } from "vue-quill-editor";
53 export default { 52 export default {
54 props: { 53 props: {
55 value: { type: Boolean, default: false }, 54 value: { type: Boolean, default: false },
56 isButtonFlag: { type: Boolean, default: true }, 55 isButtonFlag: { type: Boolean, default: true },
57 title: {type:String, default: '新增系统通知'} 56 title: { type: String, default: '新增系统通知' }
58 }, 57 },
59 components: { quillEditor }, 58 components: { quillEditor },
60 data () { 59 data () {
...@@ -145,15 +144,15 @@ export default { ...@@ -145,15 +144,15 @@ export default {
145 } 144 }
146 } 145 }
147 }, 146 },
148 mounted () {}, 147 mounted () { },
149 methods: { 148 methods: {
150 submitForm () { 149 submitForm () {
151 let that = this; 150 let that = this;
152 that.$refs.ruleForm.validate(valid => { 151 that.$refs.ruleForm.validate(valid => {
153 if (valid) { 152 if (valid) {
154 if(that.ruleForm.bsmNotice){ 153 if (that.ruleForm.bsmNotice) {
155 that.editNotice(); 154 that.editNotice();
156 }else{ 155 } else {
157 that.addNotice(); 156 that.addNotice();
158 } 157 }
159 } else { 158 } else {
...@@ -168,7 +167,7 @@ export default { ...@@ -168,7 +167,7 @@ export default {
168 this.resetRuleForm(); 167 this.resetRuleForm();
169 }, 168 },
170 //新增通知 169 //新增通知
171 addNotice(){ 170 addNotice () {
172 addSysNotice(this.ruleForm).then(res => { 171 addSysNotice(this.ruleForm).then(res => {
173 if (res.code == 200) { 172 if (res.code == 200) {
174 this.$message.success("保存成功"); 173 this.$message.success("保存成功");
...@@ -181,7 +180,7 @@ export default { ...@@ -181,7 +180,7 @@ export default {
181 }); 180 });
182 }, 181 },
183 //编辑通知 182 //编辑通知
184 editNotice(){ 183 editNotice () {
185 updateSysNotice(this.ruleForm).then(res => { 184 updateSysNotice(this.ruleForm).then(res => {
186 if (res.code == 200) { 185 if (res.code == 200) {
187 this.$message.success("编辑成功"); 186 this.$message.success("编辑成功");
...@@ -223,7 +222,7 @@ export default { ...@@ -223,7 +222,7 @@ export default {
223 clipboardPictureChange (file) { 222 clipboardPictureChange (file) {
224 this.uploadPicture(file) 223 this.uploadPicture(file)
225 }, 224 },
226 getDetailInfo(item){ 225 getDetailInfo (item) {
227 this.ruleForm = item 226 this.ruleForm = item
228 }, 227 },
229 uploadPicture (file) { 228 uploadPicture (file) {
......
...@@ -33,13 +33,13 @@ ...@@ -33,13 +33,13 @@
33 :data="tableData.data"> 33 :data="tableData.data">
34 </lb-table> 34 </lb-table>
35 </div> 35 </div>
36 <addDialog ref="addDialog" v-model="isDialog" :isButtonFlag="isButtonFlag" :title="dialogTitle"/> 36 <addDialog ref="addDialog" v-model="isDialog" :isButtonFlag="isButtonFlag" :title="dialogTitle" />
37 </div> 37 </div>
38 </template> 38 </template>
39 <script> 39 <script>
40 import table from "@/utils/mixin/table"; 40 import table from "@/utils/mixin/table";
41 import { datas, sendThis } from "./xttzdata"; 41 import { datas, sendThis } from "./xttzdata";
42 import { getSysNoticeList, deleteSysNotice, publishNotice, unPublishNotice } from "@/api/notice.js" 42 import { getSysNoticeList, deleteSysNotice, publishNotice, unPublishNotice } from "@/api/system.js"
43 import addDialog from "./components/addDialog.vue"; 43 import addDialog from "./components/addDialog.vue";
44 export default { 44 export default {
45 name: "xttz", 45 name: "xttz",
...@@ -91,7 +91,7 @@ export default { ...@@ -91,7 +91,7 @@ export default {
91 this.$refs.addDialog.getDetailInfo(item); 91 this.$refs.addDialog.getDetailInfo(item);
92 this.dialogTitle = '系统通知详情' 92 this.dialogTitle = '系统通知详情'
93 }) 93 })
94 }else{ 94 } else {
95 this.isButtonFlag = true; 95 this.isButtonFlag = true;
96 this.dialogTitle = '新增系统通知' 96 this.dialogTitle = '新增系统通知'
97 } 97 }
...@@ -164,7 +164,7 @@ export default { ...@@ -164,7 +164,7 @@ export default {
164 }); 164 });
165 }, 165 },
166 //编辑通知 166 //编辑通知
167 editNotice(item) { 167 editNotice (item) {
168 this.$nextTick(() => { 168 this.$nextTick(() => {
169 this.isButtonFlag = true; 169 this.isButtonFlag = true;
170 this.$refs.addDialog.getDetailInfo(item); 170 this.$refs.addDialog.getDetailInfo(item);
......
...@@ -25,13 +25,13 @@ ...@@ -25,13 +25,13 @@
25 :data="tableData.data"> 25 :data="tableData.data">
26 </lb-table> 26 </lb-table>
27 </div> 27 </div>
28 <addDialog ref="addDialog" v-model="isDialog" :isButtonFlag="isButtonFlag" :title="dialogTitle"/> 28 <addDialog ref="addDialog" v-model="isDialog" :isButtonFlag="isButtonFlag" :title="dialogTitle" />
29 </div> 29 </div>
30 </template> 30 </template>
31 <script> 31 <script>
32 import table from "@/utils/mixin/table"; 32 import table from "@/utils/mixin/table";
33 import { datas, sendThis } from "./xttzviewdata"; 33 import { datas, sendThis } from "./xttzviewdata";
34 import { getSysNoticeList,setReadStatus,setAllRead} from "@/api/notice.js" 34 import { getSysNoticeList, setReadStatus, setAllRead } from "@/api/system.js"
35 import addDialog from "./components/addDialog.vue"; 35 import addDialog from "./components/addDialog.vue";
36 export default { 36 export default {
37 name: "xttzview", 37 name: "xttzview",
...@@ -80,10 +80,10 @@ export default { ...@@ -80,10 +80,10 @@ export default {
80 this.isDialog = true; 80 this.isDialog = true;
81 }) 81 })
82 let that = this; 82 let that = this;
83 if(item.isRead == 1){ 83 if (item.isRead == 1) {
84 setReadStatus({bsmNotice: item.bsmNotice}).then(res => { 84 setReadStatus({ bsmNotice: item.bsmNotice }).then(res => {
85 if(res.code == 200){ 85 if (res.code == 200) {
86 that.$nextTick(()=> { 86 that.$nextTick(() => {
87 item.isRead = 2 87 item.isRead = 2
88 }) 88 })
89 } 89 }
...@@ -91,12 +91,12 @@ export default { ...@@ -91,12 +91,12 @@ export default {
91 } 91 }
92 }, 92 },
93 //一键已读 93 //一键已读
94 toReadAll(){ 94 toReadAll () {
95 setAllRead().then(res => { 95 setAllRead().then(res => {
96 if(res.code == 200){ 96 if (res.code == 200) {
97 this.$message.success('设置成功') 97 this.$message.success('设置成功')
98 this.queryClick(); 98 this.queryClick();
99 }else{ 99 } else {
100 this.$message.error("设置失败") 100 this.$message.error("设置失败")
101 } 101 }
102 }) 102 })
......
1 //流程环节操作按钮 1 //流程环节操作按钮
2 export function getForm(tabName, djywbm) { 2 export function getForm (tabName, djywbm) {
3 console.log("88888888" + tabName);
4 let form; 3 let form;
5 switch (tabName) { 4 switch (tabName) {
6 case "jsydsyqslxx100": 5 case "jsydsyqslxx100":
......
...@@ -8,7 +8,7 @@ class data extends filter { ...@@ -8,7 +8,7 @@ class data extends filter {
8 constructor() { 8 constructor() {
9 super() 9 super()
10 } 10 }
11 columns() { 11 columns () {
12 return { 12 return {
13 //发证列表 13 //发证列表
14 fzgrid: [ 14 fzgrid: [
...@@ -20,13 +20,6 @@ class data extends filter { ...@@ -20,13 +20,6 @@ class data extends filter {
20 { 20 {
21 prop: "bdcqzlx", 21 prop: "bdcqzlx",
22 label: "不动产权证类型", 22 label: "不动产权证类型",
23 // render: (h, scope) => {
24 // if (scope.row.bdcqzlx == "1") {
25 // return (<div>不动产权证书</div>)
26 // } else {
27 // return (<div>不动产登记证明</div>)
28 // }
29 // }
30 }, 23 },
31 { 24 {
32 prop: "qllx", 25 prop: "qllx",
...@@ -82,13 +75,6 @@ class data extends filter { ...@@ -82,13 +75,6 @@ class data extends filter {
82 prop: "bdcqzlx", 75 prop: "bdcqzlx",
83 label: "不动产权证类型", 76 label: "不动产权证类型",
84 width: '120', 77 width: '120',
85 // render: (h, scope) => {
86 // if (scope.row.bdcqzlx == "1") {
87 // return (<div>不动产权证书</div>)
88 // } else {
89 // return (<div>不动产登记证明</div>)
90 // }
91 // }
92 }, 78 },
93 { 79 {
94 prop: "qllx", 80 prop: "qllx",
......
1 import { getWorkFlowImage } from "@/api/jsydsyqFlow.js";
2 import {
3 leftMenu,
4 stepExpandInfo,
5 record,
6 completeTask,
7 getNextLinkInfo,
8 } from "@/api/fqsq.js";
9 export default {
10 data () {
11 return {
12 //是否开启材料分屏
13 splitScreen: false,
14 //设置表单组件是否刷选值
15 fresh: 10,
16 //左侧菜单数据集合
17 unitData: [],
18 //顶部左侧按钮集合
19 leftButtonList: [],
20 //顶部右侧按钮集合
21 rightButtonList: [],
22 //批量按钮名称
23 batchButtonName: '',
24 }
25 },
26 mounted () {
27 this.flowInitParam();
28 this.loadBdcdylist();
29 },
30 methods: {
31 //读取申请单元信息
32 loadBdcdylist () {
33 var formdata = new FormData();
34 formdata.append("bsmSlsq", this.bsmSlsq);
35 formdata.append("bestepid", this.bestepid);
36 leftMenu(formdata).then((res) => {
37 if (res.code === 200) {
38 if (res.result) {
39 this.unitData = res.result;
40 this.currentSelectProps = res.result[0];
41 this.judgeBatchShow();
42 if (this.showBatch) {
43 //满足批量查封/批量抵押按钮出现 即先展示批量表单
44 this.unitClick(-1);
45 } else {
46 //默认选择单元列表第一个
47 this.unitClick(0);
48 }
49 }
50 }
51 });
52 },
53 //批量按钮判断
54 judgeBatchShow () {
55 this.showBatch = false;
56 let qllx = this.$route.query.sqywbm.substring(0, 3);
57 if (this.unitData.length > 1) {
58 switch (qllx) {
59 case 'B39':
60 this.showBatch = true;
61 this.batchButtonName = '批量查封';
62 break;
63 case 'A37':
64 this.showBatch = true;
65 this.batchButtonName = '批量抵押';
66 break;
67 }
68 }
69 },
70 //加载流程初始参数
71 flowInitParam () {
72 var formdata = new FormData();
73 formdata.append("bsmSlsq", this.bsmSlsq);
74 formdata.append("bestepid", this.bestepid);
75 stepExpandInfo(formdata).then((res) => {
76 if (res.code === 200) {
77 this.leftButtonList = res.result.button;
78 this.rightButtonList = res.result.operation;
79 }
80 });
81 },
82 //流程环节操作按钮
83 operation (item) {
84 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿
85 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
86 let that = this;
87 switch (item.value) {
88 case "B0":
89 // let type = queueDjywmc(this.$route.query.sqywbm)
90 this.isDialog = true;
91 break;
92 case "B1":
93 getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => {
94 let { result } = res
95 this.$popup("流程图", "workflow/components/processViewer", {
96 formData: {
97 xml: result.xml,
98 finishedInfo: {
99 finishedTaskSet: result.finishedTaskSet,
100 unfinishedTaskSet: result.unfinishedTaskSet,
101 rejectedTaskSet: result.rejectedTaskSet,
102 finishedSequenceFlowSet: result.finishedSequenceFlowSet
103 },
104 allCommentList: result.historyTaskList
105 }
106 })
107 })
108 break;
109 case "B2": //材料分屏按钮
110 this.splitScreen = this.splitScreen ? false : true;
111 this.$store.dispatch("app/settScreen", this.splitScreen);
112 if (this.splitScreen) {
113 //如果当前选项卡为材料信息内容,递减到上一个选项卡内容
114 if (this.tabName == this.clxxTab.value) {
115 this.tabName = this.tabList[this.clxxIndex - 1].value;
116 this.getFromRouter(this.tabList[this.clxxIndex - 1].value);
117 }
118 //删除材料信息选项卡数据
119 this.tabList.splice(this.clxxIndex, 1);
120 } else {
121 //新增材料信息选项卡数据
122 this.tabList.splice(this.clxxIndex, 0, this.clxxTab);
123 }
124 break;
125 case "B4":
126 this.$popup("登记簿详情", "registerBook/djbFrame", {
127 formData: this.currentSelectProps,
128 width: "1220px",
129 height: "790px",
130 cancel: () => {
131 console.log("取消回调");
132 },
133 confirm: () => {
134 console.log("确认回调");
135 },
136 });
137 break;
138 case "B5":
139 this.$popup("证书预览", "workflow/components/zsyl", {
140 height: "600px",
141 width: "800px",
142 formData: {
143 bsmSlsq: this.bsmSlsq,
144 entryType: '1'
145 },
146 })
147 break;
148 case "B7":
149 this.$popup("证书领取", "workflow/components/zslq", {
150 width: '900px',
151 formData: { bsmSlsq: this.$route.query.bsmSlsq },
152 })
153 break;
154 case "back": //退回按钮
155 this.$popup("退回", "workflow/components/th", {
156 height: "200px",
157 width: '30%',
158 formData: {
159 bsmSlsq: this.bsmSlsq,
160 bestepid: this.bestepid
161 },
162 btnShow: true,
163 cancel: () => {
164 console.log("取消回调");
165 },
166 confirm: () => {
167 console.log("确认回调");
168 },
169 })
170 break;
171 case "transfer": //转件按钮
172 getNextLinkInfo({
173 bsmSlsq: this.bsmSlsq,
174 bestepid: this.bestepid,
175 }).then((res) => {
176 if (res.code === 200) {
177 if (res.result) {
178 this.sendToNext(res.result);
179 } else {
180 this.sendToEnd();
181 }
182 }
183 });
184 break;
185 case "stop": //终止按钮
186 this.$popup("终止", "workflow/components/stop", {
187 height: "330px",
188 width: '30%',
189 formData: {
190 bsmSlsq: this.bsmSlsq,
191 bestepid: this.bestepid,
192 },
193 btnShow: true,
194 cancel: () => {
195 console.log("取消回调");
196 },
197 confirm: () => {
198 console.log("确认回调");
199 },
200 })
201 break;
202 case "signout":
203 window.close();
204 //取消认领
205 unClaimTask(this.bsmSlsq, this.bestepid)
206 break;
207 case "B9":
208 var formdata = new FormData();
209 formdata.append("bsmSlsq", this.bsmSlsq);
210 formdata.append("bestepid", this.bestepid);
211 this.$confirm("请确认是否登簿", "提示", {
212 iconClass: "el-icon-question", //自定义图标样式
213 confirmButtonText: "确认", //确认按钮文字更换
214 cancelButtonText: "取消", //取消按钮文字更换
215 showClose: true, //是否显示右上角关闭按钮
216 type: "warning", //提示类型 success/info/warning/error
217 }).then(function () {
218 record(formdata).then((res) => {
219 if (res.code === 200) {
220 if (res.result.length === 1) {
221 res.result[0].state ? that.$alert("登簿成功!") : that.$alert(res.result[0].msg);;
222 }
223 else {
224 that.$alert('<div>' + res.result[0].ywh + ',' + res.result[0].msg + '</div>', '登簿明细', {
225 dangerouslyUseHTMLString: true
226 });
227 }
228 } else {
229 that.$alert(res.message);
230 }
231 });
232 });
233 break;
234 }
235 },
236 //发送下一个环节
237 sendToNext (obj) {
238 const h = this.$createElement;
239 this.$msgbox({
240 title: "您确定转出吗?1",
241 message: h("div", { style: "margin: auto" }, [
242 h("span", null, "下个环节名称:"),
243 h("i", { style: "color: teal" }, obj.taskName),
244 h("div", null, ""),
245 h("span", null, "下个环节经办人: "),
246 h("i", { style: "color: teal" }, obj.usernames.join(",")),
247 ]),
248 showCancelButton: true,
249 beforeClose: (action, instance, done) => {
250 if (action === "confirm") {
251 instance.confirmButtonLoading = true;
252 instance.confirmButtonText = "执行中...";
253 completeTask({
254 bsmSlsq: this.bsmSlsq,
255 shyj: "this.bestepid",
256 stepform: JSON.stringify(this.tabList),
257 }).then((res) => {
258 if (res.code === 200) {
259 instance.confirmButtonLoading = false;
260 this.$message.success("转件成功");
261 window.opener.location.reload(); //刷新父窗口
262 window.close();
263 this.$emit("input", false);
264 } else {
265 instance.confirmButtonLoading = false;
266 instance.confirmButtonText = "确定";
267 this.$message.error(res.message);
268 }
269 });
270 } else {
271 done();
272 }
273 },
274 }).then((action) => {
275 this.$message({
276 type: "info",
277 message: "action: " + action,
278 });
279 });
280 },
281 sendToEnd () {
282 let that = this
283 const h = this.$createElement;
284 this.$msgbox({
285 title: "您确定转出吗?2",
286 message: "此环节为流程结束环节,转出后流程将结束",
287 showCancelButton: true,
288 beforeClose: (action, instance, done) => {
289 console.log(action, 'actionaction');
290 if (action === "confirm") {
291 instance.confirmButtonLoading = true;
292 instance.confirmButtonText = "执行中...";
293 completeTask({
294 bsmSlsq: this.bsmSlsq,
295 shyj: "this.bestepid",
296 stepform: JSON.stringify(this.tabList),
297 }).then((res) => {
298 if (res.code === 200) {
299 instance.confirmButtonLoading = false;
300 that.$message.success("转件成功");
301 localStorage.setItem('transfer', true)
302 window.opener.location.reload(); //刷新父窗口
303 window.close();
304 that.$emit("input", false);
305 } else {
306 instance.confirmButtonLoading = false;
307 instance.confirmButtonText = "确定";
308 this.$message.error(res.message);
309 }
310 })
311 } else {
312 done();
313 }
314 },
315 }).then((action) => {
316 this.$message({
317 type: "info",
318 message: "action: " + action,
319 });
320 });
321 }
322 }
323 }
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 }
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
4 <div class="topButton"> 4 <div class="topButton">
5 <!-- 左侧业务功能按钮 --> 5 <!-- 左侧业务功能按钮 -->
6 <ul> 6 <ul>
7 <li @click="operation(index, item)" v-for="(item, index) in leftButtonList" :key="index"> 7 <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index">
8 <svg-icon class="icon" :icon-class="item.icon" /> 8 <svg-icon class="icon" :icon-class="item.icon" />
9 <span class="iconName">{{ item.name }}</span> 9 <span class="iconName">{{ item.name }}</span>
10 </li> 10 </li>
11 </ul> 11 </ul>
12 <!-- 右侧流程按钮 --> 12 <!-- 右侧流程按钮 -->
13 <ul> 13 <ul>
14 <li @click="operation(index, item)" v-for="(item, index) in rightButtonList" :key="index"> 14 <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index">
15 <svg-icon class="icon" :icon-class="item.icon" /> 15 <svg-icon class="icon" :icon-class="item.icon" />
16 <span class="iconName">{{ item.name }}</span> 16 <span class="iconName">{{ item.name }}</span>
17 </li> 17 </li>
...@@ -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()
...@@ -231,24 +228,11 @@ export default { ...@@ -231,24 +228,11 @@ export default {
231 if (res.code === 200) { 228 if (res.code === 200) {
232 this.leftButtonList = res.result.button; 229 this.leftButtonList = res.result.button;
233 this.rightButtonList = res.result.operation; 230 this.rightButtonList = res.result.operation;
234 //this.tabList = res.result.form;
235 //默认选择第一个选项卡内容
236 // this.tabName = res.result.form[0].value;
237 // let that = this;
238 // this.tabList.forEach(function (item, index) {
239 // if (item.value == "clxx") {
240 // that.clxxIndex = index;
241 // that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
242 // that.clxxTab = item;
243 // }
244 // });
245 // //默认加载第一个选项卡的组件内容
246 // this.getFromRouter(res.result.form[0].value);
247 } 231 }
248 }); 232 });
249 }, 233 },
250 //流程环节操作按钮 234 //流程环节操作按钮
251 operation (index, item) { 235 operation (item) {
252 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 236 //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿
253 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout 237 //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
254 let that = this; 238 let that = this;
...@@ -350,18 +334,16 @@ export default { ...@@ -350,18 +334,16 @@ export default {
350 bestepid: this.bestepid, 334 bestepid: this.bestepid,
351 }).then((res) => { 335 }).then((res) => {
352 if (res.code === 200) { 336 if (res.code === 200) {
353 if(res.result){ 337 if (res.result) {
354 this.sendToNext(res.result); 338 this.sendToNext(res.result);
355 }else{ 339 } else {
356 this.sendToEnd(); 340 this.sendToEnd();
357 } 341 }
358 } 342 }
359 }); 343 });
360 break; 344 break;
361 case "stop": //终止按钮 345 case "stop": //终止按钮
362 this.$popup({ 346 this.$popup("终止", "workflow/components/stop", {
363 title: "终止",
364 editItem: "workflow/components/stop",
365 height: "330px", 347 height: "330px",
366 width: '30%', 348 width: '30%',
367 formData: { 349 formData: {
...@@ -435,7 +417,6 @@ export default { ...@@ -435,7 +417,6 @@ export default {
435 }, 417 },
436 //申请单元点击事件 418 //申请单元点击事件
437 unitClick (index) { 419 unitClick (index) {
438
439 if (index >= 0) { 420 if (index >= 0) {
440 this.currentSelectProps = this.unitData[index]; 421 this.currentSelectProps = this.unitData[index];
441 this.currentSelectProps.batchOperation = false; 422 this.currentSelectProps.batchOperation = false;
...@@ -460,10 +441,6 @@ export default { ...@@ -460,10 +441,6 @@ export default {
460 }); 441 });
461 } 442 }
462 }); 443 });
463 // if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) {
464 // this.currentSelectProps = this.unitData[index];
465 // this.fresh += 1;
466 // }
467 }, 444 },
468 //批量按钮判断 445 //批量按钮判断
469 judgeBatchShow () { 446 judgeBatchShow () {
...@@ -484,12 +461,6 @@ export default { ...@@ -484,12 +461,6 @@ export default {
484 }, 461 },
485 //表单选项卡事件 462 //表单选项卡事件
486 beforeLeave (activeName, oldActiveName) { 463 beforeLeave (activeName, oldActiveName) {
487 // if (!_.isEqual(this.oldDetail, this.newDetail)) {
488 // this.$message.error('界面内容有所变化,请先保存')
489 // return false
490 // } else {
491 // if (activeName && activeName != 0) this.getFromRouter(activeName)
492 // }
493 if (activeName && activeName != 0) this.getFromRouter(activeName) 464 if (activeName && activeName != 0) this.getFromRouter(activeName)
494 }, 465 },
495 //切换选项卡内容组件 466 //切换选项卡内容组件
...@@ -545,7 +516,7 @@ export default { ...@@ -545,7 +516,7 @@ export default {
545 }); 516 });
546 }); 517 });
547 }, 518 },
548 sendToEnd() { 519 sendToEnd () {
549 const h = this.$createElement; 520 const h = this.$createElement;
550 this.$msgbox({ 521 this.$msgbox({
551 title: "您确定转出吗?", 522 title: "您确定转出吗?",
......
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 class="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 class="title" @click="unitClick(-1)">{{ batchButtonName }}</div>
26 <div v-if="this.isShowdrawer">
27 <div class="title">
28 申请单元列表({{ unitData.length }})
29 <el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button>
30 </div>
31 <el-menu :default-active="activeIndex" @select="unitClick">
32 <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
33 <div>
34 <p>{{ item.bdcdyh }}</p>
35 <p class="title-detail">{{ item.zl }}</p>
36 </div>
37 <i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i>
38 </el-menu-item>
39 </el-menu>
40 </div>
41 <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
42 () => {
43 this.isShowdrawer = !this.isShowdrawer;
44 }
45 "></div>
46 <div class="map-drawer-expand map-drawer" v-else @click="
47 () => {
48 this.isShowdrawer = !this.isShowdrawer;
49 }
50 "></div>
51 </div>
52 <div class="leftCon">
53 <!-- 分屏左侧预览 -->
54 <div v-if="splitScreen" class="splitScreen-con">
55 <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" />
56 </div>
57 <!-- 表单内容区域 -->
58 <div class="rightContainer">
59 <el-tabs v-model="tabName" :before-leave="beforeLeave">
60 <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value">
61 </el-tab-pane>
62 </el-tabs>
63 <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
64 </div>
65 </div>
66 </div>
67 <fqsqDialog v-model="isDialog" :djywbm="$route.query.sqywbm" :isJump="true" @updateDialog="updateDialog" />
68 </div>
69 </template>
70 <style scoped lang='scss'>
71 @import "~@/styles/mixin.scss";
72 @import "./workFrame.scss";
73 </style>
74 <script>
75 import { mapGetters } from "vuex"
76 import WorkFlow from "./mixin/index"
77 import publicFlow from "./mixin/public.js"
78 import { getStepFormInfo } from "@/api/fqsq.js";
79 import { getForm } from './flowform'
80 import NoticeBar from '@/components/NoticeBar/index'
81 import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
82 import ProcessViewer from './components/processViewer.vue'
83 import fqsqDialog from "@/views/ywbl/ywsq/slectBdc.vue";
84 export default {
85 components: {
86 fqsqDialog,
87 NoticeBar,
88 ProcessViewer
89 },
90 mixins: [WorkFlow, publicFlow],
91 data () {
92 return {
93 isDialog: false,
94 // 流程图
95 // 折叠
96 isShowdrawer: true,
97 // 默认选中
98 activeIndex: "0",
99 //受理申请标识码
100 bsmSlsq: this.$route.query.bsmSlsq,
101 //当前流程所在环节
102 bestepid: this.$route.query.bestepid,
103 //设置那个表单选中
104 tabName: "",
105 //表单集合
106 tabList: [],
107 //选择加载哪一个组件
108 componentTag: "",
109 //设置表单传递数据
110 currentSelectProps: {},
111 //材料分屏表单
112 clxxForm: "",
113 //材料信息选择卡索引
114 clxxIndex: "",
115 //材料信息选项卡对象
116 clxxTab: {},
117 //页面监听时间
118 _beforeUnload_time: ""
119 }
120 },
121 mounted () {
122 //添加页面监听事件
123 window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
124 window.addEventListener('unload', e => this.unloadHandler(e))
125 },
126 destroyed () {
127 window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
128 window.removeEventListener('unload', e => this.unloadHandler(e))
129 },
130 methods: {
131 beforeunloadHandler () {
132 this._beforeUnload_time = new Date().getTime()
133 },
134 unloadHandler (e) {
135 this._gap_time = new Date().getTime() - this._beforeUnload_time
136 //判断是窗口关闭还是刷新
137 if (this._gap_time <= 10) {
138 //取消认领
139 unClaimTask(this.bsmSlsq, this.bestepid)
140 }
141 },
142 changeLoadIndex () {
143 this.loadIndex++
144 },
145 closeDialog () {
146 this.myValue = false
147 },
148 // 更新列表
149 updateDialog () {
150 this.loadBdcdylist();
151 },
152 // 删除左侧列表
153 handleDel (item) {
154 this.$confirm("确定要删除吗, 是否继续?", "提示", {
155 confirmButtonText: "确定",
156 cancelButtonText: "取消",
157 type: "warning",
158 })
159 .then(() => {
160 var formdata = new FormData();
161 formdata.append("bsmSldyList", item.bsmSldy.split(","));
162 formdata.append("bsmSlsq", this.bsmSlsq);
163 deleteFlow(formdata).then((res) => {
164 if (res.code == 200) {
165 this.$message.success("删除成功");
166 this.loadBdcdylist();
167 } else {
168 this.$message.error(res.message);
169 }
170 });
171 })
172 .catch(() => {
173 this.$message({
174 type: "info",
175 message: "已取消删除",
176 });
177 });
178 },
179 handleBatchDel () {
180 let that = this;
181 this.$popup({
182 title: "批量删除",
183 width: "50%",
184 btnShow: true,
185 editItem: "workflow/components/batchDel",
186 height: "600px",
187 formData: {
188 bsmSlsq: this.bsmSlsq,
189 dataList: this.unitData,
190 },
191 confirm: function () {
192 that.loadBdcdylist();
193 }
194 })
195 },
196 //申请单元点击事件
197 unitClick (index) {
198 if (index >= 0) {
199 this.currentSelectProps = this.unitData[index];
200 this.currentSelectProps.batchOperation = false;
201 } else {
202 this.currentSelectProps.batchOperation = true;
203 }
204 getStepFormInfo(this.currentSelectProps).then((res) => {
205 if (res.code === 200) {
206 this.fresh++;
207 //获取单元对应的所有表单信息
208 this.tabList = res.result;
209 //默认加载第一个表单信息
210 this.tabName = res.result[0].value;
211 //处理分屏材料信息
212 let that = this;
213 this.tabList.forEach(function (item, index) {
214 if (item.value == "clxx") {
215 that.clxxIndex = index;
216 that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
217 that.clxxTab = item;
218 }
219 })
220 }
221 })
222 }
223 }
224 }
225 </script>
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,7 +172,8 @@ export default { ...@@ -169,7 +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);
176 const { href } = this.$router.resolve('/workFramecs?bsmSlsq=' + item.bsmSlsq + '&bestepid=' + item.bestepid + '&bsmBusiness=' + '&sqywbm=' + item.djywbm);
173 window.open(href, '_blank'); 177 window.open(href, '_blank');
174 //从待办箱进入的调取任务领取接口 178 //从待办箱进入的调取任务领取接口
175 claimTask(item.bsmSlsq, item.bestepid) 179 claimTask(item.bsmSlsq, item.bestepid)
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
47 <div class="triangle"></div> 47 <div class="triangle"></div>
48 </div> 48 </div>
49 49
50 <el-button type="primary" style="float: right;margin-right: 20px; " @click="onClick">数据查看</el-button> 50 <el-button type="primary" style="float: right;margin-right: 20px; " @click="dataSelectClick">数据查看</el-button>
51 51
52 <el-row :gutter="10" v-if="ruleForm.qlxx"> 52 <el-row :gutter="10" v-if="ruleForm.qlxx">
53 <el-col :span="8"> 53 <el-col :span="8">
...@@ -137,9 +137,10 @@ ...@@ -137,9 +137,10 @@
137 <el-col :span="14" v-if="ruleForm.qlxx"> 137 <el-col :span="14" v-if="ruleForm.qlxx">
138 <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:"> 138 <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:">
139 <el-radio-group :disabled="$route.query.viewtype==1" v-model="ruleForm.slywxx.gyfs"> 139 <el-radio-group :disabled="$route.query.viewtype==1" v-model="ruleForm.slywxx.gyfs">
140 <el-radio label="1">单独所有</el-radio> 140 <el-radio label="0">单独所有</el-radio>
141 <el-radio label="2">共同共有</el-radio> 141 <el-radio label="1">共同共有</el-radio>
142 <el-radio label="3">按份所有</el-radio> 142 <el-radio label="2">按份所有</el-radio>
143 <el-radio label="3">其它共有</el-radio>
143 </el-radio-group> 144 </el-radio-group>
144 </el-form-item> 145 </el-form-item>
145 </el-col> 146 </el-col>
...@@ -188,6 +189,7 @@ ...@@ -188,6 +189,7 @@
188 import InformationTable from "@/views/workflow/components/InformationTable"; 189 import InformationTable from "@/views/workflow/components/InformationTable";
189 import {Init, saveBatchData} from "@/api/fwsyqFlow.js"; 190 import {Init, saveBatchData} from "@/api/fwsyqFlow.js";
190 import { mapGetters } from "vuex"; 191 import { mapGetters } from "vuex";
192 import SERVER from "@/api/config";
191 export default { 193 export default {
192 async created () { 194 async created () {
193 this.propsParam = this.$attrs; 195 this.propsParam = this.$attrs;
...@@ -252,8 +254,8 @@ export default { ...@@ -252,8 +254,8 @@ export default {
252 }; 254 };
253 }, 255 },
254 methods: { 256 methods: {
255 onClick(){ 257 dataSelectClick(){
256 this.$popup("房屋信息比对","ywbl/fdcq2/slxxCompareDetai", 258 this.$popup("房屋信息比对",SERVER.SERVERAPI + "/rest/ywbl/fdcq2/slxxCompareDetai",
257 { 259 {
258 formData: { 260 formData: {
259 bsmSldy: this.propsParam.bsmSldy, 261 bsmSldy: this.propsParam.bsmSldy,
......
...@@ -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 })
......