Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
9 changed files
with
931 additions
and
273 deletions
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-17 10:39:57 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clmlmx-box"> | ||
8 | <div class="title">申请材料目录</div> | ||
9 | <lb-table :column="column" :key="key" :heightNumSetting="true" :pagination="false" :data="formData.data"> | ||
10 | </lb-table> | ||
11 | <div class="text-center"> | ||
12 | <el-button @click="$popupCacel">取消</el-button> | ||
13 | </div> | ||
14 | </div> | ||
15 | </template> | ||
16 | <script> | ||
17 | import store from '@/store/index.js' | ||
18 | import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js"; | ||
19 | export default { | ||
20 | props: { | ||
21 | formData: { | ||
22 | type: Object, | ||
23 | default: () => { | ||
24 | return {} | ||
25 | } | ||
26 | } | ||
27 | }, | ||
28 | data () { | ||
29 | return { | ||
30 | column: [ | ||
31 | { | ||
32 | width: "50", | ||
33 | label: '序号', | ||
34 | type: 'index' | ||
35 | }, | ||
36 | { | ||
37 | prop: "isrequired", | ||
38 | label: "是否必选", | ||
39 | width: "80", | ||
40 | render: (h, scope) => { | ||
41 | if (scope.row.sfxjcl === "1") { | ||
42 | return ( | ||
43 | <div> | ||
44 | <span>可选</span> | ||
45 | </div> | ||
46 | ); | ||
47 | } | ||
48 | else { | ||
49 | return ( | ||
50 | <div> | ||
51 | <span>必选</span> | ||
52 | </div> | ||
53 | ); | ||
54 | } | ||
55 | }, | ||
56 | }, | ||
57 | { | ||
58 | prop: "sjmc", | ||
59 | label: "材料名称", | ||
60 | }, | ||
61 | { | ||
62 | prop: "sjlx", | ||
63 | label: "材料类型", | ||
64 | width: "80", | ||
65 | render: (h, scope) => { | ||
66 | return ( | ||
67 | <div> | ||
68 | <span>{this.dicStatus(scope.row.sjlx, "A40")}</span> | ||
69 | </div> | ||
70 | ); | ||
71 | }, | ||
72 | }, | ||
73 | { | ||
74 | prop: "sjsl", | ||
75 | label: "份数", | ||
76 | width: "50" | ||
77 | }, | ||
78 | { | ||
79 | prop: "smzt", | ||
80 | label: "扫描状态", | ||
81 | width: "80", | ||
82 | render: (h, scope) => { | ||
83 | if (scope.row.children && scope.row.children.length > 0) { | ||
84 | return ( | ||
85 | <div> | ||
86 | <span>已扫描</span> | ||
87 | </div> | ||
88 | ); | ||
89 | } else { | ||
90 | return ( | ||
91 | <div> | ||
92 | <span>未扫描</span> | ||
93 | </div> | ||
94 | ); | ||
95 | } | ||
96 | }, | ||
97 | }, | ||
98 | { | ||
99 | label: "扫描页数", | ||
100 | width: "80", | ||
101 | render: (h, scope) => { | ||
102 | if (scope.row.children && scope.row.children.length > 0) { | ||
103 | return ( | ||
104 | <div> | ||
105 | <span>{scope.row.children.length}</span> | ||
106 | </div> | ||
107 | ); | ||
108 | } else { | ||
109 | return ( | ||
110 | <div> | ||
111 | <span>0</span> | ||
112 | </div> | ||
113 | ); | ||
114 | } | ||
115 | }, | ||
116 | }, | ||
117 | { | ||
118 | label: "操作", | ||
119 | width: "80", | ||
120 | render: (h, scope) => { | ||
121 | return ( | ||
122 | <div> | ||
123 | <el-button | ||
124 | type="text" | ||
125 | disabled={scope.$index == 0} | ||
126 | onClick={() => { | ||
127 | this.moveUpward(scope.$index, scope.row); | ||
128 | }} | ||
129 | > | ||
130 | 上移 | ||
131 | </el-button> | ||
132 | <el-button | ||
133 | type="text" | ||
134 | disabled={scope.$index + 1 == this.tableData.length} | ||
135 | onClick={() => { | ||
136 | this.moveDown(scope.$index, scope.row); | ||
137 | }} | ||
138 | > | ||
139 | 下移 | ||
140 | </el-button> | ||
141 | </div> | ||
142 | ); | ||
143 | }, | ||
144 | }, | ||
145 | ], | ||
146 | key: 0, | ||
147 | tableData: [] | ||
148 | } | ||
149 | }, | ||
150 | created () { | ||
151 | console.log(this.formData.data, 'formData'); | ||
152 | }, | ||
153 | methods: { | ||
154 | // 材料目录明细初始化 | ||
155 | clmlInitList () { | ||
156 | return new Promise(resolve => { | ||
157 | this.unitData = this.$parent.unitData; | ||
158 | var formdata = new FormData(); | ||
159 | formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); | ||
160 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
161 | InitClml(formdata).then((res) => { | ||
162 | if (res.code == 200) { | ||
163 | resolve(res.code) | ||
164 | if (res.result && res.result.length > 0) { | ||
165 | this.data = res.result; | ||
166 | } else { | ||
167 | this.data = [] | ||
168 | } | ||
169 | } else { | ||
170 | this.$message.error(res.message) | ||
171 | } | ||
172 | }) | ||
173 | }) | ||
174 | }, | ||
175 | // 上移 | ||
176 | moveUpward (index, row) { | ||
177 | let obj = { | ||
178 | xh: row.xh, | ||
179 | bsmSlsq: row.bsmSlsq, | ||
180 | moveDirection: "UP", | ||
181 | }; | ||
182 | // 接口待调 | ||
183 | moveClml(obj).then(async (res) => { | ||
184 | if (res.code == 200) { | ||
185 | let res = await this.clmlInitList() | ||
186 | if (res == 200) { | ||
187 | this.$message({ | ||
188 | message: '上移成功', | ||
189 | type: 'success' | ||
190 | }) | ||
191 | this.$parent.setTableData(this.data) | ||
192 | } | ||
193 | } else { | ||
194 | this.$message.error(res.message); | ||
195 | } | ||
196 | }) | ||
197 | }, | ||
198 | // 下移 | ||
199 | moveDown (index, row) { | ||
200 | let obj = { | ||
201 | xh: row.xh, | ||
202 | bsmSlsq: row.bsmSlsq, | ||
203 | moveDirection: "DOWN", | ||
204 | } | ||
205 | // 接口待调 | ||
206 | moveClml(obj).then(async (res) => { | ||
207 | if (res.code == 200) { | ||
208 | let res = await this.clmlInitList() | ||
209 | if (res == 200) { | ||
210 | this.$message({ | ||
211 | message: '下移成功', | ||
212 | type: 'success' | ||
213 | }) | ||
214 | } | ||
215 | } else { | ||
216 | this.$message.error(res.message); | ||
217 | } | ||
218 | }) | ||
219 | }, | ||
220 | // 材料目录删除 | ||
221 | handleDelete (index, row) { | ||
222 | let that = this | ||
223 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
224 | confirmButtonText: '确定', | ||
225 | cancelButtonText: '取消', | ||
226 | type: 'warning' | ||
227 | }).then(() => { | ||
228 | deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => { | ||
229 | if (res.code == 200) { | ||
230 | let res = await that.clmlInitList() | ||
231 | if (res == 200) { | ||
232 | that.$message({ | ||
233 | message: "删除成功", | ||
234 | type: "success", | ||
235 | }) | ||
236 | // this.$parent.setTableData(this.data) | ||
237 | } | ||
238 | } | ||
239 | }) | ||
240 | }).catch(() => { | ||
241 | this.$message({ | ||
242 | type: 'info', | ||
243 | message: '已取消删除' | ||
244 | }) | ||
245 | }) | ||
246 | }, | ||
247 | // 字典 | ||
248 | dicStatus (val, code) { | ||
249 | let data = store.getters.dictData[code], | ||
250 | name = "暂无"; | ||
251 | if (data) { | ||
252 | data.map((item) => { | ||
253 | if (item.dcode == val) { | ||
254 | name = item.dname; | ||
255 | } | ||
256 | }); | ||
257 | return name; | ||
258 | } | ||
259 | } | ||
260 | } | ||
261 | } | ||
262 | </script> | ||
263 | <style scoped lang='scss'> | ||
264 | @import "~@/styles/mixin.scss"; | ||
265 | .clmlmx-box { | ||
266 | margin: 0 auto; | ||
267 | |||
268 | .title { | ||
269 | text-align: center; | ||
270 | height: 60px; | ||
271 | line-height: 60px; | ||
272 | border: 1px solid #dfe6ec; | ||
273 | font-size: 20px; | ||
274 | background: #81d3f81a; | ||
275 | margin-bottom: -1px; | ||
276 | } | ||
277 | } | ||
278 | </style> |
1 | <template> | ||
2 | <div class="jtfccx-edit"> | ||
3 | <div class="jtfccx-edit-con"> | ||
4 | <el-form ref="form" :model="form" label-width="160px"> | ||
5 | <el-row> | ||
6 | <el-col :span="8"> | ||
7 | <el-form-item label="权属状态" label-width="140px"> | ||
8 | <el-select v-model="form.qszt"> | ||
9 | <el-option v-for="item in qsztList" :key="item.value" :label="item.label" :value="item.value"> | ||
10 | </el-option> | ||
11 | </el-select> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | <el-col :span="8"> | ||
15 | <el-form-item label="权利类型" label-width="140px"> | ||
16 | <el-input v-model="form.qllxmc" ></el-input> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | <el-col :span="8"> | ||
20 | <el-form-item label="登记类型" label-width="140px"> | ||
21 | <el-input v-model="form.djlxmc" ></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | <el-col :span="8"> | ||
25 | <el-form-item label="上手业务号" label-width="140px"> | ||
26 | <el-input v-model="form.ssywh" ></el-input> | ||
27 | </el-form-item> | ||
28 | </el-col> | ||
29 | <el-col :span="8"> | ||
30 | <el-form-item label="档案号" label-width="140px"> | ||
31 | <el-input v-model="form.dah" ></el-input> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | <el-col :span="8"> | ||
35 | <el-form-item label="业务号" label-width="140px"> | ||
36 | <el-input v-model="form.ywh" ></el-input> | ||
37 | </el-form-item> | ||
38 | </el-col> | ||
39 | <el-col :span="8"> | ||
40 | <el-form-item label="不动产单元号" label-width="140px"> | ||
41 | <el-input v-model="form.bdcdyh" ></el-input> | ||
42 | </el-form-item> | ||
43 | </el-col> | ||
44 | <el-col :span="8"> | ||
45 | <el-form-item label="坐落" label-width="140px"> | ||
46 | <el-input v-model="form.zl" ></el-input> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | <el-col :span="8"> | ||
50 | <el-form-item label="共有情况" label-width="140px"> | ||
51 | <el-input v-model="form.gyqk" ></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | <el-col :span="8"> | ||
55 | <el-form-item label="权利人类型" label-width="140px"> | ||
56 | <el-input v-model="form.qlrlx" ></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | <el-col :span="8"> | ||
60 | <el-form-item label="权利人" label-width="140px"> | ||
61 | <el-input v-model="form.qlrmc" ></el-input> | ||
62 | </el-form-item> | ||
63 | </el-col> | ||
64 | <el-col :span="8"> | ||
65 | <el-form-item label="证件种类" label-width="140px"> | ||
66 | <el-input v-model="form.qlrzjzl" ></el-input> | ||
67 | </el-form-item> | ||
68 | </el-col> | ||
69 | <el-col :span="8"> | ||
70 | <el-form-item label="证件号" label-width="140px"> | ||
71 | <el-input v-model="form.qlrzjhm" ></el-input> | ||
72 | </el-form-item> | ||
73 | </el-col> | ||
74 | <el-col :span="8"> | ||
75 | <el-form-item label="土地使用权人" label-width="140px"> | ||
76 | <el-input v-model="form.tdsyqr" ></el-input> | ||
77 | </el-form-item> | ||
78 | </el-col> | ||
79 | <el-col :span="8"> | ||
80 | <el-form-item label="独用土地面积(m²)" label-width="140px"> | ||
81 | <el-input v-model="form.dytdmj" ></el-input> | ||
82 | </el-form-item> | ||
83 | </el-col> | ||
84 | <el-col :span="8"> | ||
85 | <el-form-item label="分摊土地面积(m²)" label-width="140px"> | ||
86 | <el-input v-model="form.fttdmj" ></el-input> | ||
87 | </el-form-item> | ||
88 | </el-col> | ||
89 | <el-col :span="8"> | ||
90 | <el-form-item label="使用权起止时间" label-width="140px"> | ||
91 | <el-input v-model="form.syqqzsj" ></el-input> | ||
92 | </el-form-item> | ||
93 | </el-col> | ||
94 | <el-col :span="8"> | ||
95 | <el-form-item label="土地使用期限" label-width="140px"> | ||
96 | <el-input v-model="form.tdsyqx" ></el-input> | ||
97 | </el-form-item> | ||
98 | </el-col> | ||
99 | <el-col :span="8"> | ||
100 | <el-form-item label="房地产交易价格(万元)" label-width="140px"> | ||
101 | <el-input v-model="form.fdcjyjg" ></el-input> | ||
102 | </el-form-item> | ||
103 | </el-col> | ||
104 | <el-col :span="8"> | ||
105 | <el-form-item label="规划用途" label-width="140px"> | ||
106 | <el-input v-model="form.ytmc" ></el-input> | ||
107 | </el-form-item> | ||
108 | </el-col> | ||
109 | <el-col :span="8"> | ||
110 | <el-form-item label="房屋性质" label-width="140px"> | ||
111 | <el-input v-model="form.fwxzmc" ></el-input> | ||
112 | </el-form-item> | ||
113 | </el-col> | ||
114 | <el-col :span="8"> | ||
115 | <el-form-item label="房屋结构" label-width="140px"> | ||
116 | <el-input v-model="form.fwjgmc" ></el-input> | ||
117 | </el-form-item> | ||
118 | </el-col> | ||
119 | <el-col :span="8"> | ||
120 | <el-form-item label="所在层" label-width="140px"> | ||
121 | <el-input v-model="form.szc" ></el-input> | ||
122 | </el-form-item> | ||
123 | </el-col> | ||
124 | <el-col :span="8"> | ||
125 | <el-form-item label="总层数" label-width="140px"> | ||
126 | <el-input v-model="form.fj" ></el-input> | ||
127 | </el-form-item> | ||
128 | </el-col> | ||
129 | <el-col :span="8"> | ||
130 | <el-form-item label="建筑面积(m2)" label-width="140px"> | ||
131 | <el-input v-model="form.mj" ></el-input> | ||
132 | </el-form-item> | ||
133 | </el-col> | ||
134 | <el-col :span="8"> | ||
135 | <el-form-item label="专有建筑面积(m2)" label-width="140px"> | ||
136 | <el-input v-model="form.zyjzmj" ></el-input> | ||
137 | </el-form-item> | ||
138 | </el-col> | ||
139 | <el-col :span="8"> | ||
140 | <el-form-item label="分摊建筑面积(m2)" label-width="140px"> | ||
141 | <el-input v-model="form.jgsj" ></el-input> | ||
142 | </el-form-item> | ||
143 | </el-col> | ||
144 | <el-col :span="8"> | ||
145 | <el-form-item label="登记原因" label-width="140px"> | ||
146 | <el-input v-model="form.djyy" ></el-input> | ||
147 | </el-form-item> | ||
148 | </el-col> | ||
149 | <el-col :span="8"> | ||
150 | <el-form-item label="不动产权证号" label-width="140px"> | ||
151 | <el-input v-model="form.bdcqzh" ></el-input> | ||
152 | </el-form-item> | ||
153 | </el-col> | ||
154 | <el-col :span="8"> | ||
155 | <el-form-item label="登记时间" label-width="140px"> | ||
156 | <el-input v-model="form.djsj" ></el-input> | ||
157 | </el-form-item> | ||
158 | </el-col> | ||
159 | <el-col :span="8"> | ||
160 | <el-form-item label="登簿人" label-width="140px"> | ||
161 | <el-input v-model="form.dbr" ></el-input> | ||
162 | </el-form-item> | ||
163 | </el-col> | ||
164 | <el-col :span="8"> | ||
165 | <el-form-item label="附记" label-width="140px"> | ||
166 | <el-input v-model="form.fj" ></el-input> | ||
167 | </el-form-item> | ||
168 | </el-col> | ||
169 | <el-col :span="8"> | ||
170 | <el-form-item label="总层数" label-width="140px"> | ||
171 | <el-input v-model="form.fj" ></el-input> | ||
172 | </el-form-item> | ||
173 | </el-col> | ||
174 | </el-row> | ||
175 | <el-form-item class="btn"> | ||
176 | <el-button type="primary" @click="submitForm">保存</el-button> | ||
177 | <el-button @click="closeDialog">取消</el-button> | ||
178 | </el-form-item> | ||
179 | </el-form> | ||
180 | |||
181 | </div> | ||
182 | |||
183 | </div> | ||
184 | </template> | ||
185 | <script> | ||
186 | export default { | ||
187 | props: { | ||
188 | formData: { | ||
189 | type: Object, | ||
190 | default: () => { }, | ||
191 | }, | ||
192 | }, | ||
193 | data () { | ||
194 | return { | ||
195 | form:{}, | ||
196 | qsztList: [ | ||
197 | { | ||
198 | value: "0", | ||
199 | label: "临时", | ||
200 | }, | ||
201 | { | ||
202 | value: "1", | ||
203 | label: "现势", | ||
204 | }, | ||
205 | { | ||
206 | value: "2", | ||
207 | label: "历史", | ||
208 | }, | ||
209 | |||
210 | ], | ||
211 | label:"", | ||
212 | }; | ||
213 | }, | ||
214 | mounted () { | ||
215 | if (this.formData.data) { | ||
216 | this.$nextTick(() => { | ||
217 | this.form = Object.assign({}, this.formData.data) | ||
218 | this.form.qszt=this.form.qszt=='0'?"临时":this.form.qszt=='1'?"现势":"历史" | ||
219 | }) | ||
220 | } | ||
221 | }, | ||
222 | |||
223 | methods: { | ||
224 | //新增常用意见 | ||
225 | submitForm () { | ||
226 | |||
227 | this.$refs.form.validate(valid => { | ||
228 | if (valid) { | ||
229 | // addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => { | ||
230 | // if (res.code == 200) { | ||
231 | // this.$message.success("新增成功") | ||
232 | // this.closeaddDiglog(); | ||
233 | // this.getList() | ||
234 | // } else { | ||
235 | // this.$message.error(res.message) | ||
236 | // } | ||
237 | // }) | ||
238 | } else { | ||
239 | return false; | ||
240 | } | ||
241 | }); | ||
242 | }, | ||
243 | closeDialog () { | ||
244 | this.$popupCacel() | ||
245 | this.$refs['form'].resetFields(); | ||
246 | // this.resetTableFields(); | ||
247 | } | ||
248 | }, | ||
249 | }; | ||
250 | </script> | ||
251 | <style scoped lang="scss"> | ||
252 | @import "~@/styles/mixin.scss"; | ||
253 | @import "~@/styles/public.scss"; | ||
254 | |||
255 | |||
256 | .jtfccx-edit { | ||
257 | @include flex; | ||
258 | flex-direction: column; | ||
259 | overflow-y: hidden; | ||
260 | max-height: 85vh; | ||
261 | padding: 0 2px; | ||
262 | |||
263 | |||
264 | .btn{ | ||
265 | text-align: center; | ||
266 | |||
267 | } | ||
268 | } | ||
269 | </style> |
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-09 09:20:10 | ||
5 | --> | ||
6 | <template> | ||
7 | <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
8 | :isFullscreen="false"> | ||
9 | <el-form :model="ruleForm" ref="ruleForm" label-width="70px"> | ||
10 | <el-row> | ||
11 | <el-col :span="24"> | ||
12 | <el-form-item label="材料类型"> | ||
13 | <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择"> | ||
14 | <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
15 | </el-option> | ||
16 | </el-select> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | </el-row> | ||
20 | <el-row :gutter="20"> | ||
21 | <el-col :span="24"> | ||
22 | <el-form-item label="材料名称"> | ||
23 | <el-input v-model="ruleForm.clmc"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | </el-row> | ||
27 | </el-form> | ||
28 | </dialogBox> | ||
29 | </template> | ||
30 | |||
31 | <script> | ||
32 | import { mapGetters } from "vuex"; | ||
33 | export default { | ||
34 | props: { | ||
35 | value: { type: Boolean, default: false }, | ||
36 | }, | ||
37 | data () { | ||
38 | return { | ||
39 | myValue: this.value, | ||
40 | ruleForm: { | ||
41 | cllx: "", | ||
42 | clmc: "", | ||
43 | }, | ||
44 | }; | ||
45 | }, | ||
46 | computed: { | ||
47 | ...mapGetters(["dictData"]), | ||
48 | }, | ||
49 | watch: { | ||
50 | value (val) { | ||
51 | this.myValue = val; | ||
52 | }, | ||
53 | }, | ||
54 | methods: { | ||
55 | closeDialog () { | ||
56 | this.$emit("input", false); | ||
57 | this.ruleForm = { | ||
58 | cllx: "", | ||
59 | clmc: "", | ||
60 | } | ||
61 | }, | ||
62 | handleSubmit () { | ||
63 | this.$parent.addSave(this.ruleForm); | ||
64 | this.ruleForm = { | ||
65 | cllx: "", | ||
66 | clmc: "", | ||
67 | } | ||
68 | this.$emit("input", false); | ||
69 | }, | ||
70 | }, | ||
71 | }; | ||
72 | </script> | ||
73 | <style scoped lang="scss"> | ||
74 | .submit-button { | ||
75 | text-align: center; | ||
76 | height: 52px; | ||
77 | padding-top: 10px; | ||
78 | background-color: #fff; | ||
79 | } | ||
80 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-17 10:40:38 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clxx"> | ||
8 | <div class="right"> | ||
9 | <!-- 材料预览 --> | ||
10 | <div class="clyl-box"> | ||
11 | <div class="menu-tree"> | ||
12 | <el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button> | ||
13 | <div class="item"> | ||
14 | 材料目录({{tableData.length}}) | ||
15 | <div style="margin-top:10px"> | ||
16 | <div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div> | ||
17 | <div v-for="(item,index) in tableData" :key="item.bsmSj" | ||
18 | :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)"> | ||
19 | <span v-if="item.isrequired==1" class="required">必选</span> | ||
20 | {{ item.sjmc }} | ||
21 | <span class="cl_number">({{item.children ? item.children.length : 0}})</span> | ||
22 | </div> | ||
23 | </div> | ||
24 | </div> | ||
25 | <el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button> | ||
26 | </div> | ||
27 | <image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview" | ||
28 | @prevPriview="prevPriview" /> | ||
29 | </div> | ||
30 | </div> | ||
31 | <clxxAddDialog v-model="isDialog" /> | ||
32 | </div> | ||
33 | </template> | ||
34 | <script> | ||
35 | import { mapGetters } from "vuex"; | ||
36 | import clxxAddDialog from "./clxxAddDialog.vue"; | ||
37 | import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js"; | ||
38 | export default { | ||
39 | components: { clxxAddDialog}, | ||
40 | data () { | ||
41 | return { | ||
42 | isDialog: false, | ||
43 | iclass: "", | ||
44 | // 材料目录选中 | ||
45 | treeCheckIndex: 0, | ||
46 | treeCheckId: "", | ||
47 | key: 0, | ||
48 | tableData: [], | ||
49 | previewImg: { | ||
50 | // 收件标识码 | ||
51 | bsmSj: '', | ||
52 | bsmSlsq: this.$parent.bsmSlsq, | ||
53 | index: 0, | ||
54 | selectedIndex: 0, | ||
55 | imgList: [] | ||
56 | } | ||
57 | } | ||
58 | }, | ||
59 | computed: { | ||
60 | ...mapGetters(["dictData"]) | ||
61 | }, | ||
62 | created () { | ||
63 | this.clmlInitList(1) | ||
64 | }, | ||
65 | methods: { | ||
66 | // 自动预览 | ||
67 | nextPriview () { | ||
68 | if (this.treeCheckIndex < this.tableData.length) { | ||
69 | this.treeCheckIndex++ | ||
70 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
71 | this.previewImg.index = 0 | ||
72 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
73 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
74 | } | ||
75 | }, | ||
76 | prevPriview () { | ||
77 | if (this.treeCheckIndex >= 1) { | ||
78 | this.treeCheckIndex-- | ||
79 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
80 | this.previewImg.index = this.previewImg.imgList.length | ||
81 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
82 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
83 | } | ||
84 | }, | ||
85 | // 材料目录明细初始化 | ||
86 | clmlInitList (type) { | ||
87 | //type 1:列表初始化 2:新增材料 | ||
88 | return new Promise(resolve => { | ||
89 | this.unitData = this.$parent.unitData; | ||
90 | var formdata = new FormData(); | ||
91 | formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); | ||
92 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | ||
93 | InitClml(formdata).then((res) => { | ||
94 | if (res.code == 200) { | ||
95 | resolve(res.code) | ||
96 | if (res.result && res.result.length > 0) { | ||
97 | this.tableData = res.result; | ||
98 | if (type == 1) { | ||
99 | this.treeClick(this.tableData[0], 0); | ||
100 | } else { | ||
101 | //新增材料后刷新列表焦点置于新增的对象上 | ||
102 | this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1); | ||
103 | } | ||
104 | } | ||
105 | } else { | ||
106 | this.$message.error(res.message) | ||
107 | } | ||
108 | }) | ||
109 | }) | ||
110 | }, | ||
111 | setChecked (item) { | ||
112 | this.treeCheckId = item.bsmSj; | ||
113 | this.title = item.sjmc; | ||
114 | this.titleYs = 1; | ||
115 | this.titleNum = item.children.length; | ||
116 | this.previewImg.imgList = item.children; | ||
117 | this.previewImg.bsmSj = item.bsmSj; | ||
118 | }, | ||
119 | updateList (val) { | ||
120 | let that = this | ||
121 | if (val != null) { //删除最后一张图片时 val=null | ||
122 | this.tableData.forEach(item => { | ||
123 | if (item.bsmSj === val.bsmSj) { | ||
124 | item.children = val.children | ||
125 | } | ||
126 | }) | ||
127 | this.previewImg.imgList = _.cloneDeep(val.children) | ||
128 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
129 | this.previewImg.index = this.previewImg.index - 1 | ||
130 | } | ||
131 | } else { | ||
132 | this.previewImg.imgList = [] | ||
133 | this.tableData.forEach((item, index) => { | ||
134 | if (this.treeCheckId == item.bsmSj) { | ||
135 | item.children = [] | ||
136 | that.treeCheckIndex = index | ||
137 | } | ||
138 | }) | ||
139 | } | ||
140 | |||
141 | }, | ||
142 | // 添加材料目录 | ||
143 | handleAdd () { | ||
144 | this.isDialog = true; | ||
145 | }, | ||
146 | // 新增弹窗保存 | ||
147 | addSave (data) { | ||
148 | let obj = { | ||
149 | bsmSlsq: this.$parent.bsmSlsq, | ||
150 | isrequired: "1", | ||
151 | sjmc: data.clmc, | ||
152 | sjsl: 0, | ||
153 | smzt: '', | ||
154 | ys: 0, | ||
155 | sjlx: data.cllx, | ||
156 | sfxjcl: "1", // 是否必选 | ||
157 | }; | ||
158 | saveClml(obj).then(async (res) => { | ||
159 | if (res.code == 200) { | ||
160 | let res = await this.clmlInitList(2) | ||
161 | if (res == 200) this.$message({ | ||
162 | message: "新增成功", | ||
163 | type: "success", | ||
164 | }) | ||
165 | } | ||
166 | }); | ||
167 | }, | ||
168 | // 材料目录点击选中 | ||
169 | treeClick (item, index) { | ||
170 | this.previewImg.index = 0 | ||
171 | this.treeCheckId = item?.bsmSj | ||
172 | this.treeCheckIndex = index | ||
173 | this.previewImg.imgList = item?.children | ||
174 | this.previewImg.bsmSj = item?.bsmSj | ||
175 | }, | ||
176 | // 小图片点击 | ||
177 | imgClick (item, index) { | ||
178 | this.showImg = item; | ||
179 | this.titleYs = index + 1; | ||
180 | }, | ||
181 | // 字典 | ||
182 | dicStatus (val, code) { | ||
183 | let data = this.$store.getters.dictData[code], | ||
184 | name = "暂无"; | ||
185 | if (data) { | ||
186 | data.map((item) => { | ||
187 | if (item.dcode == val) { | ||
188 | name = item.dname | ||
189 | } | ||
190 | }); | ||
191 | return name | ||
192 | } | ||
193 | }, | ||
194 | //查看明细 | ||
195 | viewDetail () { | ||
196 | this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", { | ||
197 | data: this.tableData | ||
198 | }, "60%") | ||
199 | }, | ||
200 | //设置tableData | ||
201 | setTableData (tableData) { | ||
202 | this.$nextTick(res => { | ||
203 | this.tableData = tableData; | ||
204 | }) | ||
205 | }, | ||
206 | }, | ||
207 | }; | ||
208 | </script> | ||
209 | <style scoped lang='scss'> | ||
210 | @import "~@/styles/mixin.scss"; | ||
211 | |||
212 | .active { | ||
213 | background: $light-blue !important; | ||
214 | color: #fff; | ||
215 | } | ||
216 | |||
217 | .required { | ||
218 | font-size: 12px; | ||
219 | color: $pink; | ||
220 | float: left; | ||
221 | } | ||
222 | |||
223 | .cl_number { | ||
224 | float: right; | ||
225 | } | ||
226 | |||
227 | .clxx { | ||
228 | width: 100%; | ||
229 | display: flex; | ||
230 | padding-left: 5px; | ||
231 | height: calc(100vh - 125px); | ||
232 | |||
233 | .left { | ||
234 | display: flex; | ||
235 | flex-direction: column; | ||
236 | justify-content: space-between; | ||
237 | |||
238 | .item { | ||
239 | width: 28px; | ||
240 | height: 49%; | ||
241 | @include flex-center; | ||
242 | background-color: #e4e7ed; | ||
243 | border-bottom-right-radius: 10px; | ||
244 | padding: 5px; | ||
245 | cursor: pointer; | ||
246 | transition: all 0.3s; | ||
247 | |||
248 | &:hover { | ||
249 | @extend .active; | ||
250 | } | ||
251 | } | ||
252 | } | ||
253 | |||
254 | .right { | ||
255 | width: 100%; | ||
256 | height: 100%; | ||
257 | |||
258 | .clmlmx-box { | ||
259 | margin: 0 auto; | ||
260 | |||
261 | .title { | ||
262 | text-align: center; | ||
263 | height: 60px; | ||
264 | line-height: 60px; | ||
265 | border: 1px solid #dfe6ec; | ||
266 | font-size: 20px; | ||
267 | background: #81d3f81a; | ||
268 | margin-bottom: -1px; | ||
269 | } | ||
270 | } | ||
271 | |||
272 | .clyl-box { | ||
273 | width: 100%; | ||
274 | height: 100%; | ||
275 | display: flex; | ||
276 | |||
277 | .menu-tree { | ||
278 | width: 20%; | ||
279 | min-width: 160px; | ||
280 | height: 100%; | ||
281 | margin-right: 10px; | ||
282 | border-right: 1px dotted #d9d9d9; | ||
283 | padding: 0 15px; | ||
284 | |||
285 | .item { | ||
286 | line-height: 30px; | ||
287 | padding-top: 5px; | ||
288 | border-bottom: 1px solid #e8e8e8; | ||
289 | font-size: 16px; | ||
290 | text-align: center; | ||
291 | color: $light-blue; | ||
292 | |||
293 | .itemIcon { | ||
294 | float: right; | ||
295 | line-height: 60px; | ||
296 | cursor: pointer; | ||
297 | } | ||
298 | |||
299 | .child { | ||
300 | line-height: 32px; | ||
301 | border-bottom: 1px solid #e8e8e8; | ||
302 | padding-left: 10px; | ||
303 | color: #6b6b6b; | ||
304 | cursor: pointer; | ||
305 | box-sizing: border-box; | ||
306 | border-radius: 6px; | ||
307 | line-height: 20px; | ||
308 | transition: all 0.3s; | ||
309 | padding: 8px 0; | ||
310 | } | ||
311 | |||
312 | .child:hover { | ||
313 | color: $light-blue; | ||
314 | transform: scale(1.1); | ||
315 | } | ||
316 | |||
317 | .checked { | ||
318 | border: 1px solid $light-blue; | ||
319 | color: $light-blue; | ||
320 | } | ||
321 | } | ||
322 | } | ||
323 | |||
324 | .clyl-img { | ||
325 | width: 75%; | ||
326 | height: 100%; | ||
327 | background: #f3f4f7; | ||
328 | margin: 0 auto; | ||
329 | position: relative; | ||
330 | } | ||
331 | } | ||
332 | } | ||
333 | } | ||
334 | </style> |
1 | <!-- | ||
2 | * @Description: 功能:审批意见 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-17 10:41:24 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class='spyj loadingtext'> | ||
8 | <div class="box"> | ||
9 | <b class="spyj_title">审批表</b> | ||
10 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> | ||
11 | <div class="spyj_form" v-for="(item, index) in tableData" :key="index"> | ||
12 | <div class="item_left"> | ||
13 | {{ item.jdmc }}意见 | ||
14 | </div> | ||
15 | <div class="item_right"> | ||
16 | <el-row> | ||
17 | <el-col :span="24"> | ||
18 | <el-form-item label-width="0" class="opinion_item" prop="shyj"> | ||
19 | <el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" | ||
20 | v-if="item.stepShjy == '1' && ableOperation" v-model="ruleForm.shyj"></el-input> | ||
21 | <el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true"> | ||
22 | </el-input> | ||
23 | <el-button class="opinion_btn" @click="commonOpinion" | ||
24 | v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button> | ||
25 | </el-form-item> | ||
26 | </el-col> | ||
27 | </el-row> | ||
28 | <el-row> | ||
29 | <el-col :span="16"> | ||
30 | <el-form-item label="审查人" prop="shryxm"> | ||
31 | {{ item.shryxm }} | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | <el-col :span="8"> | ||
35 | <el-form-item label="审核时间" prop="shjssj" :key="refresh"> | ||
36 | {{ item.shjssj }} | ||
37 | </el-form-item> | ||
38 | </el-col> | ||
39 | </el-row> | ||
40 | </div> | ||
41 | </div> | ||
42 | <div class="submit_button" v-if="ableOperation"> | ||
43 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
44 | </div> | ||
45 | </el-form> | ||
46 | </div> | ||
47 | <el-empty v-if="isNoData" description="暂无数据"></el-empty> | ||
48 | </div> | ||
49 | </template> | ||
50 | <script> | ||
51 | import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js"; | ||
52 | import { mapGetters } from 'vuex' | ||
53 | export default { | ||
54 | computed: { | ||
55 | ...mapGetters(['userData', 'yjsqOptions']) | ||
56 | }, | ||
57 | data () { | ||
58 | return { | ||
59 | isNoData: false, | ||
60 | bsmSlsq: '', | ||
61 | //刷新值 | ||
62 | refresh: 10, | ||
63 | ableOperation: true, | ||
64 | bsmSlsq: this.$route.query.bsmSlsq, | ||
65 | bestepid: this.$route.query.bestepid, | ||
66 | ruleForm: {}, | ||
67 | rules: { | ||
68 | shyj: [ | ||
69 | { required: true, message: '请输入审批意见', trigger: 'blur' } | ||
70 | ], | ||
71 | }, | ||
72 | tableData: [], | ||
73 | propsParam: {} | ||
74 | } | ||
75 | }, | ||
76 | watch: { | ||
77 | yjsqOptions: { | ||
78 | handler (val) { | ||
79 | this.ruleForm.shyj = val | ||
80 | }, | ||
81 | deep: true, | ||
82 | immediate: true | ||
83 | }, | ||
84 | }, | ||
85 | mounted () { | ||
86 | this.propsParam = this.$attrs; | ||
87 | if (this.$route.query.viewtype) { | ||
88 | this.ableOperation = false | ||
89 | } | ||
90 | this.list(); | ||
91 | }, | ||
92 | methods: { | ||
93 | //审批意见数据初始化 | ||
94 | list () { | ||
95 | let that = this | ||
96 | this.$startLoading() | ||
97 | var formdata = new FormData(); | ||
98 | formdata.append("bsmBusiness", this.propsParam.bsmBusiness); | ||
99 | formdata.append("bestepid", this.$route.query.bestepid); | ||
100 | formdata.append("ableOperation", this.ableOperation) | ||
101 | getSpyjList(formdata).then((res) => { | ||
102 | this.$endLoading() | ||
103 | if (res.code === 200 && res.result) { | ||
104 | this.tableData = res.result ? res.result : [] | ||
105 | if (res.result.length == 0) { | ||
106 | that.isNoData = true | ||
107 | } | ||
108 | this.ruleForm = res.result[res.result.length - 1] | ||
109 | } | ||
110 | }) | ||
111 | }, | ||
112 | onSubmit () { | ||
113 | this.ruleForm.bsmSlsq = this.bsmSlsq | ||
114 | this.ruleForm.bestepid = this.bestepid | ||
115 | saveSpyjBySlsq(this.ruleForm).then(res => { | ||
116 | if (res.code === 200) { | ||
117 | this.$message.success("保存成功") | ||
118 | this.refresh += 1 | ||
119 | } else { | ||
120 | this.$message.error(res.message) | ||
121 | } | ||
122 | }) | ||
123 | }, | ||
124 | //打开常用意见列表弹窗 | ||
125 | commonOpinion () { | ||
126 | this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true) | ||
127 | }, | ||
128 | //使用常用意见 | ||
129 | useOpinion (opinion) { | ||
130 | this.ruleForm.shyj = opinion | ||
131 | } | ||
132 | } | ||
133 | } | ||
134 | </script> | ||
135 | <style scoped lang='scss'> | ||
136 | @import "~@/styles/mixin.scss"; | ||
137 | |||
138 | .spyj { | ||
139 | width: 100%; | ||
140 | height: 100%; | ||
141 | background-color: #f5f5f5; | ||
142 | padding: 5px; | ||
143 | .box { | ||
144 | overflow-x: auto; | ||
145 | width: 100%; | ||
146 | height: 95%; | ||
147 | background: #fff; | ||
148 | text-align: center; | ||
149 | padding: 4px; | ||
150 | overflow-y: scroll; | ||
151 | padding-top: 20px; | ||
152 | padding: 20px 40px; | ||
153 | } | ||
154 | .spyj_title { | ||
155 | line-height: 68px; | ||
156 | border: 1px solid $borderColor; | ||
157 | text-align: center; | ||
158 | font-size: 22px; | ||
159 | font-weight: 400; | ||
160 | background-color: #eceef2; | ||
161 | display: block; | ||
162 | border-bottom: none; | ||
163 | } | ||
164 | |||
165 | /deep/.el-form-item { | ||
166 | margin-bottom: 0; | ||
167 | } | ||
168 | |||
169 | .bottom10 { | ||
170 | margin-bottom: 15px; | ||
171 | } | ||
172 | |||
173 | .spyj_form { | ||
174 | display: flex; | ||
175 | border: 1px solid $borderColor; | ||
176 | |||
177 | .item_left { | ||
178 | width: 150px; | ||
179 | background-color: #f8f8fa; | ||
180 | color: #606266; | ||
181 | display: flex; | ||
182 | font-size: 14px; | ||
183 | text-indent: 80px; | ||
184 | align-items: center; | ||
185 | border-right: 1px solid $borderColor; | ||
186 | } | ||
187 | |||
188 | .item_right { | ||
189 | flex: 1; | ||
190 | width: 100%; | ||
191 | |||
192 | /deep/.el-form-item__label { | ||
193 | background-color: #f8f8fa; | ||
194 | } | ||
195 | /deep/.el-form-item__content { | ||
196 | display: block; | ||
197 | text-align: left; | ||
198 | text-indent: 10px; | ||
199 | } | ||
200 | .opinion_item { | ||
201 | /deep/.el-form-item__error { | ||
202 | margin-top: -16px !important; | ||
203 | left: 3px; | ||
204 | } | ||
205 | |||
206 | border-bottom: 1px solid $borderColor; | ||
207 | } | ||
208 | |||
209 | .opinion { | ||
210 | position: relative; | ||
211 | font-size: 14px; | ||
212 | |||
213 | /deep/.el-textarea__inner { | ||
214 | border: none; | ||
215 | } | ||
216 | } | ||
217 | |||
218 | .opinion_btn { | ||
219 | position: absolute; | ||
220 | right: 15px; | ||
221 | bottom: 10px; | ||
222 | } | ||
223 | } | ||
224 | } | ||
225 | |||
226 | .submit_button { | ||
227 | text-align: center; | ||
228 | margin: 15px 0; | ||
229 | } | ||
230 | } | ||
231 | </style> |
1 | <!-- | 1 | <!-- |
2 | * @Description :国有建设用地使用权 | 2 | * @Description :国有建设用地使用权 |
3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
4 | * @LastEditTime : 2023-06-02 17:11:35 | 4 | * @LastEditTime : 2023-06-05 15:40:51 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
... | @@ -78,6 +78,7 @@ | ... | @@ -78,6 +78,7 @@ |
78 | }, | 78 | }, |
79 | methods: { | 79 | methods: { |
80 | loadData () { | 80 | loadData () { |
81 | console.log(" this.propsParam", this.propsParam); | ||
81 | getJsydsyqList({ | 82 | getJsydsyqList({ |
82 | bdcdyid: this.propsParam.bdcdyid, | 83 | bdcdyid: this.propsParam.bdcdyid, |
83 | qllx: this.propsParam.qllx, | 84 | qllx: this.propsParam.qllx, | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-05-17 10:40:38 | 4 | * @LastEditTime: 2023-05-17 10:40:38 |
5 | --> | 5 | --> |
... | @@ -335,4 +335,4 @@ | ... | @@ -335,4 +335,4 @@ |
335 | } | 335 | } |
336 | } | 336 | } |
337 | } | 337 | } |
338 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
338 | </style> | ... | ... |
... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
7 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | 7 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> |
8 | <div v-if="this.isShowdrawer"> | 8 | <div v-if="this.isShowdrawer"> |
9 | <div class="title"> | 9 | <div class="title"> |
10 | 登记簿列表 | 10 | 登记簿补录业务列表 |
11 | </div> | 11 | </div> |
12 | <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick" | 12 | <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick" |
13 | :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]"> | 13 | :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]"> |
... | @@ -105,10 +105,13 @@ import { loadTreeData, getNode } from "./djbFrameData.js"; | ... | @@ -105,10 +105,13 @@ import { loadTreeData, getNode } from "./djbFrameData.js"; |
105 | bdcdyh: this.bdcdyh, | 105 | bdcdyh: this.bdcdyh, |
106 | qllx: this.qllx, | 106 | qllx: this.qllx, |
107 | bsmQlxx: this.bsmQlxx, | 107 | bsmQlxx: this.bsmQlxx, |
108 | bestepid:this.bestepid | ||
108 | }; | 109 | }; |
109 | // this.$parent.stepForm(); | 110 | // this.$parent.stepForm(); |
110 | }, | 111 | }, |
111 | handleNodeClick (data, node, elem) { | 112 | handleNodeClick (data, node, elem) { |
113 | console.log("this.currentSelectProps",this.currentSelectProps); | ||
114 | console.log("data",data); | ||
112 | this.$parent.loadComponent(this.currentSelectProps,data); | 115 | this.$parent.loadComponent(this.currentSelectProps,data); |
113 | this.$parent.tabset(); | 116 | this.$parent.tabset(); |
114 | }, | 117 | }, | ... | ... |
-
Please register or sign in to post a comment