111
Showing
27 changed files
with
0 additions
and
3658 deletions
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-17 13:51:29 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "qllxmc", | ||
54 | label: "权利类型" | ||
55 | }, | ||
56 | { | ||
57 | prop: "bdcqzh", | ||
58 | label: "不动产权证号" | ||
59 | }, | ||
60 | { | ||
61 | prop: "qlrmc", | ||
62 | label: "权利人" | ||
63 | }, | ||
64 | { | ||
65 | prop: "qlrzjhm", | ||
66 | label: "证件号码" | ||
67 | }, | ||
68 | { | ||
69 | prop: "bdcdyh", | ||
70 | label: "不动产单元号" | ||
71 | }, | ||
72 | { | ||
73 | prop: "qlxzmc", | ||
74 | label: "权利性质" | ||
75 | }, | ||
76 | { | ||
77 | prop: "qlytmc", | ||
78 | label: "用途" | ||
79 | }, | ||
80 | { | ||
81 | prop: "qlmjmc", | ||
82 | label: "面积" | ||
83 | }, | ||
84 | { | ||
85 | prop: "zl", | ||
86 | label: "坐落" | ||
87 | }, | ||
88 | ], | ||
89 | column: this.qlrCommonTable | ||
90 | } | ||
91 | }, | ||
92 | watch: { | ||
93 | tableData: { | ||
94 | handler: function (val, oldVal) { | ||
95 | let that = this | ||
96 | if (val.length == 0 || !val) { | ||
97 | that.tableDataList = _.cloneDeep([{ | ||
98 | sqrmc: '', | ||
99 | dlrzjlx: '', | ||
100 | dlrzjh: '', | ||
101 | fr: '' | ||
102 | }]) | ||
103 | } else { | ||
104 | that.tableDataList = _.cloneDeep(val) | ||
105 | } | ||
106 | }, | ||
107 | immediate: true, | ||
108 | deep: true | ||
109 | }, | ||
110 | gyfs: { | ||
111 | handler (newVal, oldValue) { | ||
112 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
113 | if (newVal == '1') { | ||
114 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
115 | } else if ((newVal == '2')) { | ||
116 | this.column = dataList | ||
117 | } else { | ||
118 | this.column = _.cloneDeep(dataList) | ||
119 | this.column.splice( | ||
120 | 2, 0, { | ||
121 | prop: "qlbl", | ||
122 | label: "份数" | ||
123 | }) | ||
124 | } | ||
125 | }, | ||
126 | immediate: true | ||
127 | } | ||
128 | }, | ||
129 | methods: { | ||
130 | } | ||
131 | } | ||
132 | </script> | ||
133 | <style scoped lang='scss'> | ||
134 | /deep/.el-table th { | ||
135 | height: 30px !important; | ||
136 | } | ||
137 | /deep/.el-table--small .el-table__cell { | ||
138 | padding: 5px; | ||
139 | } | ||
140 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-17 13:51:29 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "yg", | ||
54 | label: "原告" | ||
55 | }, | ||
56 | { | ||
57 | prop: "cfjg", | ||
58 | label: "查封机关" | ||
59 | }, | ||
60 | { | ||
61 | prop: "cfwh", | ||
62 | label: "查封文号" | ||
63 | }, | ||
64 | { | ||
65 | prop: "cfqssj", | ||
66 | label: "查封开始时间" | ||
67 | }, | ||
68 | { | ||
69 | prop: "cfjssj", | ||
70 | label: "查封结束时间" | ||
71 | }, | ||
72 | { | ||
73 | prop: "cflxmc", | ||
74 | label: "查封类型" | ||
75 | }, | ||
76 | { | ||
77 | prop: "ywrmc", | ||
78 | label: "被执行人" | ||
79 | }, | ||
80 | { | ||
81 | prop: "bcfzh", | ||
82 | label: "被查封证号" | ||
83 | }, | ||
84 | { | ||
85 | prop: "bdcdyh", | ||
86 | label: "不动产单元号" | ||
87 | }, | ||
88 | { | ||
89 | prop: "zl", | ||
90 | label: "坐落" | ||
91 | }, | ||
92 | |||
93 | |||
94 | ], | ||
95 | column: this.qlrCommonTable | ||
96 | } | ||
97 | }, | ||
98 | watch: { | ||
99 | tableData: { | ||
100 | handler: function (val, oldVal) { | ||
101 | let that = this | ||
102 | if (val.length == 0 || !val) { | ||
103 | that.tableDataList = _.cloneDeep([{ | ||
104 | sqrmc: '', | ||
105 | dlrzjlx: '', | ||
106 | dlrzjh: '', | ||
107 | fr: '' | ||
108 | }]) | ||
109 | } else { | ||
110 | that.tableDataList = _.cloneDeep(val) | ||
111 | } | ||
112 | }, | ||
113 | immediate: true, | ||
114 | deep: true | ||
115 | }, | ||
116 | gyfs: { | ||
117 | handler (newVal, oldValue) { | ||
118 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
119 | if (newVal == '1') { | ||
120 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
121 | } else if ((newVal == '2')) { | ||
122 | this.column = dataList | ||
123 | } else { | ||
124 | this.column = _.cloneDeep(dataList) | ||
125 | this.column.splice( | ||
126 | 2, 0, { | ||
127 | prop: "qlbl", | ||
128 | label: "份数" | ||
129 | }) | ||
130 | } | ||
131 | }, | ||
132 | immediate: true | ||
133 | } | ||
134 | }, | ||
135 | methods: { | ||
136 | } | ||
137 | } | ||
138 | </script> | ||
139 | <style scoped lang='scss'> | ||
140 | /deep/.el-table th { | ||
141 | height: 30px !important; | ||
142 | } | ||
143 | /deep/.el-table--small .el-table__cell { | ||
144 | padding: 5px; | ||
145 | } | ||
146 | </style> |
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-19 10:15:07 | ||
5 | --> | ||
6 | <template> | ||
7 | <dialogBox title="新建材料信息" width="25%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
8 | :isFullscreen="false"> | ||
9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | ||
10 | <el-row> | ||
11 | <el-col :span="24"> | ||
12 | <el-form-item label="材料类型" prop="cllx"> | ||
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="材料名称" prop="clmc"> | ||
23 | <el-input v-model="ruleForm.clmc"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | </el-row> | ||
27 | <el-row :gutter="20"> | ||
28 | <el-col :span="24"> | ||
29 | <el-form-item | ||
30 | label="是否公共材料"> | ||
31 | <el-radio-group | ||
32 | v-model="ruleForm.sfggcl"> | ||
33 | <el-radio label="1">是</el-radio> | ||
34 | <el-radio label="0">否</el-radio> | ||
35 | </el-radio-group> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | </el-row> | ||
39 | </el-form> | ||
40 | </dialogBox> | ||
41 | </template> | ||
42 | |||
43 | <script> | ||
44 | import { mapGetters } from "vuex"; | ||
45 | export default { | ||
46 | props: { | ||
47 | value: { type: Boolean, default: false }, | ||
48 | }, | ||
49 | data () { | ||
50 | return { | ||
51 | myValue: this.value, | ||
52 | ruleForm: { | ||
53 | cllx: "", | ||
54 | clmc: "", | ||
55 | sfggcl: "0" | ||
56 | }, | ||
57 | rules: { | ||
58 | cllx: [ | ||
59 | { required: true, message: '请选择材料类型', trigger: 'change' } | ||
60 | ], | ||
61 | clmc: [ | ||
62 | { required: true, message: '请输入材料名称', trigger: 'blur' } | ||
63 | ], | ||
64 | clbm: [ | ||
65 | { required: true, message: '请输入材料编码', trigger: 'blur' } | ||
66 | ] | ||
67 | } | ||
68 | } | ||
69 | }, | ||
70 | computed: { | ||
71 | ...mapGetters(["dictData"]), | ||
72 | }, | ||
73 | watch: { | ||
74 | value (val) { | ||
75 | this.myValue = val; | ||
76 | }, | ||
77 | }, | ||
78 | methods: { | ||
79 | /** | ||
80 | * @description: closeDialog | ||
81 | * @author: renchao | ||
82 | */ | ||
83 | closeDialog () { | ||
84 | this.$emit("input", false); | ||
85 | this.ruleForm = { | ||
86 | cllx: "", | ||
87 | clmc: "", | ||
88 | sfggcl: "0" | ||
89 | } | ||
90 | }, | ||
91 | /** | ||
92 | * @description: handleSubmit | ||
93 | * @author: renchao | ||
94 | */ | ||
95 | handleSubmit () { | ||
96 | this.$refs['ruleForm'].validate((valid) => { | ||
97 | if (valid) { | ||
98 | this.$parent.addSave(this.ruleForm); | ||
99 | this.ruleForm = { | ||
100 | cllx: "", | ||
101 | clmc: "", | ||
102 | sfggcl: "0" | ||
103 | } | ||
104 | this.$emit("input", false); | ||
105 | } else { | ||
106 | return false; | ||
107 | } | ||
108 | }) | ||
109 | } | ||
110 | } | ||
111 | }; | ||
112 | </script> | ||
113 | <style scoped lang="scss"> | ||
114 | .submit-button { | ||
115 | text-align: center; | ||
116 | height: 52px; | ||
117 | padding-top: 10px; | ||
118 | background-color: #fff; | ||
119 | } | ||
120 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-10-24 17:16:18 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clmlmx-box"> | ||
8 | <lb-table :column="column" :key="key" row-key="bsmSj" ref="listTable" :heightNumSetting="true" :calcHeight="600" | ||
9 | :pagination="false" :data="tableData"> | ||
10 | </lb-table> | ||
11 | <div class="text-center"> | ||
12 | <el-button @click="$popupCacel">取消</el-button> | ||
13 | <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button> | ||
14 | </div> | ||
15 | </div> | ||
16 | </template> | ||
17 | <script> | ||
18 | import Vue from 'vue' | ||
19 | import Sortable from 'sortablejs' | ||
20 | import store from '@/store/index.js' | ||
21 | import { updateClml } from "@/api/clxx.js"; | ||
22 | export default { | ||
23 | props: { | ||
24 | formData: { | ||
25 | type: Object, | ||
26 | default: () => { | ||
27 | return {} | ||
28 | } | ||
29 | } | ||
30 | }, | ||
31 | data () { | ||
32 | return { | ||
33 | loading: false, | ||
34 | sortable: null, | ||
35 | column: [ | ||
36 | { | ||
37 | prop: "isrequired", | ||
38 | label: "是否必选", | ||
39 | width: "80", | ||
40 | render: (h, scope) => { | ||
41 | if (scope.row.isrequired === "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 | label: "材料名称", | ||
59 | render: (h, scope) => { | ||
60 | return ( | ||
61 | (this.formData.ableOperation && scope.row.sfxjcl == '1') ? | ||
62 | <el-input value={scope.row.sjmc} onInput={(val) => { scope.row.sjmc = val }}></el-input> : <span>{scope.row.sjmc}</span> | ||
63 | ) | ||
64 | } | ||
65 | }, | ||
66 | { | ||
67 | label: "材料类型", | ||
68 | width: "110", | ||
69 | render: (h, scope) => { | ||
70 | return ( | ||
71 | this.formData.ableOperation ? | ||
72 | <el-select value={scope.row.sjlx} | ||
73 | onChange={(val) => { scope.row.sjlx = val }}> | ||
74 | { | ||
75 | store.getters.dictData['A40'].map(option => { | ||
76 | return ( | ||
77 | <el-option label={option.dname} value={option.dcode}></el-option> | ||
78 | ) | ||
79 | }) | ||
80 | } | ||
81 | </el-select> : <span>{this.dicStatus(scope.row.sjlx, "A40")}</span> | ||
82 | ) | ||
83 | } | ||
84 | }, | ||
85 | { | ||
86 | prop: "sjsl", | ||
87 | label: "收件数量", | ||
88 | width: "80", | ||
89 | render: (h, scope) => { | ||
90 | return ( | ||
91 | (this.formData.ableOperation) ? | ||
92 | <el-input value={scope.row.sjsl} onInput={(val) => { scope.row.sjsl = val }}></el-input> : <span>{ | ||
93 | scope.row.sjsl | ||
94 | }</span> | ||
95 | ) | ||
96 | } | ||
97 | }, | ||
98 | { | ||
99 | label: "扫描时间", | ||
100 | width: "140", | ||
101 | render: (h, scope) => { | ||
102 | return ( | ||
103 | <span>{scope.row.sjsj}</span> | ||
104 | ) | ||
105 | } | ||
106 | }, | ||
107 | { | ||
108 | label: "页数", | ||
109 | width: "60", | ||
110 | render: (h, scope) => { | ||
111 | if (scope.row.ys && scope.row.ys > 0) { | ||
112 | return ( | ||
113 | <div> | ||
114 | <span>{scope.row.ys}</span> | ||
115 | </div> | ||
116 | ); | ||
117 | } else { | ||
118 | return ( | ||
119 | <div> | ||
120 | <span>0</span> | ||
121 | </div> | ||
122 | ); | ||
123 | } | ||
124 | }, | ||
125 | }, | ||
126 | { | ||
127 | label: "是否新建材料", | ||
128 | width: "80", | ||
129 | render: (h, scope) => { | ||
130 | if (scope.row.sfxjcl && scope.row.sfxjcl == '1') { | ||
131 | return ( | ||
132 | <span>是</span> | ||
133 | ); | ||
134 | } else { | ||
135 | return ( | ||
136 | <span>否</span> | ||
137 | ); | ||
138 | } | ||
139 | }, | ||
140 | }, | ||
141 | { | ||
142 | label: "操作", | ||
143 | width: "100", | ||
144 | render: (h, scope) => { | ||
145 | return ( | ||
146 | <el-button | ||
147 | type="text" | ||
148 | icon="el-icon-delete" | ||
149 | disabled={!(scope.row.ys == 0 && scope.row.sfxjcl == '1') || !this.formData.ableOperation} | ||
150 | onClick={() => { | ||
151 | this.handleDelete(scope.$index, scope.row); | ||
152 | }} | ||
153 | > | ||
154 | 删除 | ||
155 | </el-button> | ||
156 | ) | ||
157 | } | ||
158 | } | ||
159 | ], | ||
160 | key: 0, | ||
161 | tableData: [] | ||
162 | } | ||
163 | }, | ||
164 | watch: { | ||
165 | 'formData.data': { | ||
166 | handler: function (val, oldVal) { | ||
167 | this.tableData = _.cloneDeep(val) | ||
168 | }, | ||
169 | immediate: true, | ||
170 | deep: true | ||
171 | } | ||
172 | }, | ||
173 | mounted () { | ||
174 | this.initSort() | ||
175 | }, | ||
176 | beforeDestroy () { | ||
177 | if (this.sortable) { | ||
178 | this.sortable.destroy(); | ||
179 | } | ||
180 | }, | ||
181 | methods: { | ||
182 | handleSubmit () { | ||
183 | this.loading = true | ||
184 | store.dispatch('user/reWorkFresh', false) | ||
185 | updateClml(this.tableData, this.formData.bsmSldy, Vue.prototype.$currentRoute.query.bsmSlsq).then(res => { | ||
186 | this.loading = false | ||
187 | if (res.code == 200) { | ||
188 | this.$message({ | ||
189 | message: '保存成功', | ||
190 | type: 'success' | ||
191 | }) | ||
192 | this.$popupCacel() | ||
193 | store.dispatch('user/reWorkFresh', true) | ||
194 | } | ||
195 | }).catch(() => { | ||
196 | this.loading = false | ||
197 | }) | ||
198 | }, | ||
199 | /** | ||
200 | * @description: 材料目录删除 | ||
201 | * @param {*} index | ||
202 | * @param {*} row | ||
203 | */ | ||
204 | handleDelete (index, row) { | ||
205 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
206 | confirmButtonText: '确定', | ||
207 | cancelButtonText: '取消', | ||
208 | type: 'warning' | ||
209 | }).then(() => { | ||
210 | this.tableData.splice(index, 1); | ||
211 | }).catch(() => { | ||
212 | this.$message({ | ||
213 | type: 'info', | ||
214 | message: '已取消删除' | ||
215 | }) | ||
216 | }) | ||
217 | }, | ||
218 | initSort () { | ||
219 | const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0] | ||
220 | this.sortable = Sortable.create(el, { | ||
221 | ghostClass: 'sortable-ghost', | ||
222 | setData: function (dataTransfer) { | ||
223 | dataTransfer.setData('Text', '') | ||
224 | }, | ||
225 | onEnd: evt => { | ||
226 | const targetRow = this.tableData.splice(evt.oldIndex, 1)[0]; | ||
227 | this.tableData.splice(evt.newIndex, 0, targetRow); | ||
228 | } | ||
229 | }) | ||
230 | }, | ||
231 | dicStatus (val, code) { | ||
232 | let data = store.getters.dictData[code], | ||
233 | name = '暂无' | ||
234 | if (data) { | ||
235 | data.map((item) => { | ||
236 | if (item.dcode == val) { | ||
237 | name = item.dname | ||
238 | } | ||
239 | }) | ||
240 | return name | ||
241 | } | ||
242 | } | ||
243 | } | ||
244 | } | ||
245 | </script> | ||
246 | <style scoped lang='scss'> | ||
247 | @import "~@/styles/mixin.scss"; | ||
248 | .clmlmx-box { | ||
249 | margin: 0 auto; | ||
250 | .title { | ||
251 | text-align: center; | ||
252 | height: 60px; | ||
253 | line-height: 60px; | ||
254 | border: 1px solid #dfe6ec; | ||
255 | font-size: 20px; | ||
256 | background: #81d3f81a; | ||
257 | margin-bottom: -1px; | ||
258 | } | ||
259 | } | ||
260 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-04 14:13:28 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="tableData.columns" heightNumSetting :pagination="false" :key="key" :data="tableData.data"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import { mapGetters } from 'vuex' | ||
12 | import { getSzRecordList } from "@/api/bdcqz.js"; | ||
13 | import table from "@/utils/mixin/table"; | ||
14 | import { szxxdatas } from "../../javascript/szxxdata"; | ||
15 | export default { | ||
16 | components: { | ||
17 | |||
18 | }, | ||
19 | mixins: [table], | ||
20 | computed: { | ||
21 | ...mapGetters(["dictData"]), | ||
22 | }, | ||
23 | props: { | ||
24 | formData: { | ||
25 | type: Object, | ||
26 | default: {} | ||
27 | } | ||
28 | }, | ||
29 | data () { | ||
30 | return { | ||
31 | key: 0, | ||
32 | dataIndex: 0, | ||
33 | dialog: false, | ||
34 | details: {}, | ||
35 | tableData: { | ||
36 | total: 0, | ||
37 | columns: szxxdatas.columns(), | ||
38 | data: [], | ||
39 | }, | ||
40 | } | ||
41 | }, | ||
42 | mounted () { | ||
43 | this.query() | ||
44 | }, | ||
45 | methods: { | ||
46 | /** | ||
47 | * @description: query | ||
48 | * @author: renchao | ||
49 | */ | ||
50 | query () { | ||
51 | getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then(res => { | ||
52 | if (res.code == 200) { | ||
53 | this.tableData.data = res.result; | ||
54 | this.key++ | ||
55 | } | ||
56 | }) | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | </script> | ||
61 | <style scoped lang='scss'> | ||
62 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-11-23 17:20:01 | ||
5 | --> | ||
6 | <template> | ||
7 | <iframe :src="ip +'/txdw/#/' + formData.bsmZd" frameborder="0" style="width: 100%; height:710px;"></iframe> | ||
8 | </template> | ||
9 | <script> | ||
10 | export default { | ||
11 | props: { | ||
12 | formData: { | ||
13 | type: Object, | ||
14 | default: () => { | ||
15 | return {} | ||
16 | } | ||
17 | } | ||
18 | }, | ||
19 | data () { | ||
20 | return { | ||
21 | ip: window._config.services.management | ||
22 | } | ||
23 | } | ||
24 | } | ||
25 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-19 14:45:09 | ||
5 | --> | ||
6 | <template> | ||
7 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | ||
8 | <el-row> | ||
9 | <el-col :span="8"> | ||
10 | <el-form-item label="发证人姓名"> | ||
11 | <el-input v-model="ruleForm.fzrmc" disabled></el-input> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | <el-col :span="8"> | ||
15 | <el-form-item label="发证时间"> | ||
16 | <el-input v-model="ruleForm.fzsj" disabled></el-input> | ||
17 | </el-form-item> | ||
18 | </el-col> | ||
19 | <el-col :span="8"> | ||
20 | <el-form-item label="发证数量"> | ||
21 | <el-input v-model="ruleForm.fzsl" disabled></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | </el-row> | ||
25 | <lb-table :column="tableData.columns" @row-dblclick="handleRowClick" ref="table" @selection-change="handleSelectionChange" | ||
26 | :data="tableData.data" | ||
27 | :pagination="false" | ||
28 | :calcHeight="300"> | ||
29 | </lb-table> | ||
30 | <el-row> | ||
31 | <el-col :span="3"> | ||
32 | <el-form-item label="身份证读卡器"> | ||
33 | <el-button type="text" icon="el-icon-tickets" @click="readClick">读取</el-button> | ||
34 | </el-form-item> | ||
35 | </el-col> | ||
36 | <el-col :span="5"> | ||
37 | <el-form-item label="领证人" prop="lzrxm" label-width="70px"> | ||
38 | <el-input v-model="ruleForm.lzrxm"></el-input> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | <el-col :span="5"> | ||
42 | <el-form-item label="证件类型" prop="lzrzjlb" label-width="80px"> | ||
43 | <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择"> | ||
44 | <el-option v-for="item in lzrzjlbData" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
45 | </el-option> | ||
46 | </el-select> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | <el-col :span="5"> | ||
50 | <el-form-item label="证件号" prop="lzrzjh" label-width="70px"> | ||
51 | <el-input v-model="ruleForm.lzrzjh"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | <el-col :span="5"> | ||
55 | <el-form-item label="领证人电话" prop="lzrdh"> | ||
56 | <el-input v-model="ruleForm.lzrdh"></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | </el-row> | ||
60 | <el-form-item class="text-center"> | ||
61 | <el-button @click="$popupCacel">取消</el-button> | ||
62 | <el-button type="primary" @click="handleSubmit">确定</el-button> | ||
63 | </el-form-item> | ||
64 | </el-form> | ||
65 | </template> | ||
66 | <script> | ||
67 | const checkPhone = (rule, value, callback) => { | ||
68 | let regPone = null | ||
69 | let mobile = /^(1[3456789]\d{9})$/ //手机号 | ||
70 | let tel = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/ // 座机 | ||
71 | if (value && value[0] === '0') {// 检查 value 是否存在并且不是 null 或者 undefined | ||
72 | regPone = tel | ||
73 | } else if (value && value[0] !== '0') { | ||
74 | regPone = mobile | ||
75 | } | ||
76 | if (regPone === null) { | ||
77 | return callback( | ||
78 | new Error('请输入电话') | ||
79 | ) | ||
80 | } else if (!regPone.test(value)) { | ||
81 | return callback( | ||
82 | new Error("请输入正确的电话格式,其中座机格式'区号-座机号码'") | ||
83 | ) | ||
84 | } else { | ||
85 | callback() | ||
86 | } | ||
87 | }; | ||
88 | import Vue from 'vue' | ||
89 | import store from '@/store/index.js' | ||
90 | import table from "@/utils/mixin/table"; | ||
91 | import { getIdCardInfo } from '@/utils/operation.js' | ||
92 | import { getUnclaimedBdcqz, issueCertificate, getBdcqzQlr } from "@/api/bdcqz.js"; | ||
93 | import { datas } from "../../javascript/fzxxdata"; | ||
94 | export default { | ||
95 | props: { | ||
96 | formData: { | ||
97 | type: Object, | ||
98 | default: () => { | ||
99 | return {} | ||
100 | } | ||
101 | } | ||
102 | }, | ||
103 | mixins: [table], | ||
104 | data () { | ||
105 | return { | ||
106 | lzrzjlbData: store.getters.dictData['A30'], | ||
107 | ruleForm: { | ||
108 | fzrmc: '', | ||
109 | fzsj: '', | ||
110 | fzsl: '', | ||
111 | bdcqzList: [], | ||
112 | lzrxm: '', | ||
113 | lzrzjlb: '', | ||
114 | lzrzjh: '', | ||
115 | lzrdh: '' | ||
116 | }, | ||
117 | rules: { | ||
118 | lzrxm: [ | ||
119 | { required: true, message: '请输入领证人', trigger: 'blur' } | ||
120 | ], | ||
121 | lzrzjlb: [ | ||
122 | { required: true, message: '请选择证件类型', trigger: 'change' } | ||
123 | ], | ||
124 | lzrzjh: [ | ||
125 | { required: true, message: '请输入证件号', trigger: 'blur' } | ||
126 | ], | ||
127 | lzrdh: [ | ||
128 | { required: true, validator: checkPhone, trigger: ["blur"] } | ||
129 | ] | ||
130 | }, | ||
131 | tableData: { | ||
132 | total: 0, | ||
133 | columns: datas.columns().lzgrid, | ||
134 | data: [] | ||
135 | } | ||
136 | } | ||
137 | }, | ||
138 | mounted () { | ||
139 | this.$nextTick(() => { | ||
140 | this.loadGrid() | ||
141 | }) | ||
142 | }, | ||
143 | methods: { | ||
144 | /** | ||
145 | * @description: 身份证打卡器 | ||
146 | * @author: renchao | ||
147 | */ | ||
148 | readClick () { | ||
149 | function getObjectByValue (arrayOfObjects, value) { | ||
150 | var name = '' | ||
151 | arrayOfObjects.forEach(item => { | ||
152 | if (item.dname.includes(value)) name = item.dcode | ||
153 | }) | ||
154 | return name | ||
155 | } | ||
156 | getIdCardInfo(this.BASE_API.gaopaiyi).then(res => { | ||
157 | if (this.BASE_API.gaopaiyi == 'jy') { | ||
158 | const { | ||
159 | Name, | ||
160 | IdNo, | ||
161 | } = JSON.parse(res) | ||
162 | if (Name) { | ||
163 | this.ruleForm.lzrxm = Name; | ||
164 | this.ruleForm.lzrzjlb = '1'; | ||
165 | this.ruleForm.lzrzjh = IdNo; | ||
166 | this.$message({ | ||
167 | message: '读取成功!', | ||
168 | type: 'success' | ||
169 | }) | ||
170 | } else { | ||
171 | this.$message({ | ||
172 | message: '请放置身份证', | ||
173 | type: 'warning' | ||
174 | }) | ||
175 | } | ||
176 | } else { | ||
177 | if (res.data.code == 0) { | ||
178 | let data = res.data.IDCardInfo | ||
179 | this.ruleForm.lzrxm = data.name | ||
180 | this.ruleForm.lzrzjlb = '1' | ||
181 | this.ruleForm.lzrzjh = data.cardID | ||
182 | this.$message({ | ||
183 | message: '读取成功!', | ||
184 | type: 'success' | ||
185 | }) | ||
186 | } else { | ||
187 | this.$message({ | ||
188 | message: res.data.message, | ||
189 | type: 'warning' | ||
190 | }) | ||
191 | } | ||
192 | } | ||
193 | }) | ||
194 | }, | ||
195 | /** | ||
196 | * @description: 列表初始化 | ||
197 | * @author: renchao | ||
198 | */ | ||
199 | loadGrid () { | ||
200 | let that = this | ||
201 | getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => { | ||
202 | if (res.code === 200) { | ||
203 | this.tableData.data = res.result.list; | ||
204 | this.$nextTick(() => { | ||
205 | this.tableData.data.forEach(item => { | ||
206 | that.$refs.table.toggleRowSelection(item) | ||
207 | }) | ||
208 | }) | ||
209 | this.ruleForm.fzrmc = res.result.fzrmc | ||
210 | this.ruleForm.fzsj = res.result.fzsj | ||
211 | this.ruleForm.fzsl = res.result.fzsl | ||
212 | this.ruleForm.bdcqzList = res.result.list; | ||
213 | res.result.list.length && this.getQlr(res.result.list[0].bsmBdcqz) | ||
214 | } | ||
215 | }) | ||
216 | }, | ||
217 | /** | ||
218 | * @description: 获取权利人信息 | ||
219 | * @author: renchao | ||
220 | */ | ||
221 | getQlr (bsmBdcqz) { | ||
222 | getBdcqzQlr(bsmBdcqz).then(res => { | ||
223 | if (res.code === 200) { | ||
224 | this.ruleForm.lzrxm = res.result.qlrmc; | ||
225 | this.ruleForm.lzrzjlb = res.result.zjzl; | ||
226 | this.ruleForm.lzrzjh = res.result.zjh; | ||
227 | this.ruleForm.lzrdh = res.result.dh; | ||
228 | } | ||
229 | }) | ||
230 | }, | ||
231 | /** | ||
232 | * @description: handleSelectionChange | ||
233 | * @param {*} val | ||
234 | * @author: renchao | ||
235 | */ | ||
236 | handleSelectionChange (val) { | ||
237 | this.ruleForm.bdcqzList = val | ||
238 | }, | ||
239 | /** | ||
240 | * @description: handleRowClick | ||
241 | * @param {*} row | ||
242 | * @author: renchao | ||
243 | */ | ||
244 | handleRowClick (row) { | ||
245 | this.$refs.table.toggleRowSelection(row) | ||
246 | }, | ||
247 | /** | ||
248 | * @description: handleSubmit | ||
249 | * @author: renchao | ||
250 | */ | ||
251 | handleSubmit () { | ||
252 | this.$refs.ruleForm.validate(valid => { | ||
253 | if (valid) { | ||
254 | issueCertificate(this.ruleForm).then(res => { | ||
255 | if (res.code == 200) { | ||
256 | this.$message.success('保存成功'); | ||
257 | //刷新列表 | ||
258 | store.dispatch('user/reWorkFresh', true) | ||
259 | this.$popupCacel() | ||
260 | } else { | ||
261 | this.$message.error(res.message) | ||
262 | } | ||
263 | }) | ||
264 | } else { | ||
265 | return false; | ||
266 | } | ||
267 | }) | ||
268 | } | ||
269 | } | ||
270 | } | ||
271 | </script> | ||
272 | <style scoped lang="scss"> | ||
273 | @import "~@/styles/mixin.scss"; | ||
274 | </style> | ||
275 | |||
276 |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-11-15 15:41:43 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..."> | ||
8 | <!-- 表单部分 --> | ||
9 | <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1" style="margin-top:-15px"> | ||
10 | <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz" | ||
11 | v-for="(item, index) in headTabBdcqz" :key="index"> | ||
12 | </el-tab-pane> | ||
13 | </el-tabs> | ||
14 | <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty> | ||
15 | <div v-else> | ||
16 | <div style="height:540px"> | ||
17 | <el-form class="zs" :model="bdcqz" v-if="this.bdcqz.bdcqzlx==1" ref="ruleForm" label-width="100px"> | ||
18 | <el-row> | ||
19 | <el-col :span="24"> | ||
20 | <el-form-item label="权利人"> | ||
21 | <el-input v-model="bdcqz.qlr"></el-input> | ||
22 | </el-form-item> | ||
23 | </el-col> | ||
24 | </el-row> | ||
25 | <el-row> | ||
26 | <el-col :span="24"> | ||
27 | <el-form-item label="共有情况"> | ||
28 | <el-select v-model="bdcqz.gyqk" class="width100" placeholder="请选择"> | ||
29 | <el-option | ||
30 | v-for="item in gyqkList" | ||
31 | :key="item.dcode" | ||
32 | :label="item.dname" | ||
33 | :value="item.dcode"> | ||
34 | </el-option> | ||
35 | </el-select> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | </el-row> | ||
39 | <el-row> | ||
40 | <el-col :span="24"> | ||
41 | <el-form-item label="坐落"> | ||
42 | <el-input v-model="bdcqz.zl"></el-input> | ||
43 | </el-form-item> | ||
44 | </el-col> | ||
45 | </el-row> | ||
46 | <el-row> | ||
47 | <el-col :span="24"> | ||
48 | <el-form-item label="不动产单元号"> | ||
49 | <el-input v-model="bdcqz.bdcdyh"></el-input> | ||
50 | </el-form-item> | ||
51 | </el-col> | ||
52 | </el-row> | ||
53 | <el-row> | ||
54 | <el-col :span="24"> | ||
55 | <el-form-item label="权利类型"> | ||
56 | <el-input v-model="bdcqz.qllx"></el-input> | ||
57 | </el-form-item> | ||
58 | </el-col> | ||
59 | </el-row> | ||
60 | <el-row> | ||
61 | <el-col :span="24"> | ||
62 | <el-form-item label="权利性质 "> | ||
63 | <el-input v-model="bdcqz.qlxz"></el-input> | ||
64 | </el-form-item> | ||
65 | </el-col> | ||
66 | </el-row> | ||
67 | <el-row> | ||
68 | <el-col :span="24"> | ||
69 | <el-form-item label="用途"> | ||
70 | <el-input v-model="bdcqz.yt"></el-input> | ||
71 | </el-form-item> | ||
72 | </el-col> | ||
73 | </el-row> | ||
74 | <el-row> | ||
75 | <el-col :span="24"> | ||
76 | <el-form-item label="面积"> | ||
77 | <el-input v-model="bdcqz.mj"></el-input> | ||
78 | </el-form-item> | ||
79 | </el-col> | ||
80 | </el-row> | ||
81 | <el-row> | ||
82 | <el-col :span="24"> | ||
83 | <el-form-item label="使用期限 "> | ||
84 | <el-input v-model="bdcqz.syqx"></el-input> | ||
85 | </el-form-item> | ||
86 | </el-col> | ||
87 | </el-row> | ||
88 | <el-row> | ||
89 | <el-col :span="24"> | ||
90 | <el-form-item label="权利其他状况"> | ||
91 | <el-input v-model="bdcqz.qlqtzk" :rows="4" type="textarea"></el-input> | ||
92 | </el-form-item> | ||
93 | </el-col> | ||
94 | </el-row> | ||
95 | <el-row> | ||
96 | <el-col :span="24"> | ||
97 | <el-form-item label="附记"> | ||
98 | <el-input v-model="bdcqz.fj" :rows="4" type="textarea"></el-input> | ||
99 | </el-form-item> | ||
100 | </el-col> | ||
101 | </el-row> | ||
102 | </el-form> | ||
103 | <el-form :model="bdcqz" class="zm" v-else ref="ruleForm" label-width="110px"> | ||
104 | <el-row> | ||
105 | <el-col :span="24"> | ||
106 | <el-form-item label="证明权利或事项"> | ||
107 | <el-input v-model="bdcqz.zmqlhsx"></el-input> | ||
108 | </el-form-item> | ||
109 | </el-col> | ||
110 | </el-row> | ||
111 | <el-row> | ||
112 | <el-col :span="24"> | ||
113 | <el-form-item label="权利人(申请人)"> | ||
114 | <el-input v-model="bdcqz.qlr"></el-input> | ||
115 | </el-form-item> | ||
116 | </el-col> | ||
117 | </el-row> | ||
118 | <el-row> | ||
119 | <el-col :span="24"> | ||
120 | <el-form-item label="义务人"> | ||
121 | <el-input v-model="bdcqz.ywr"></el-input> | ||
122 | </el-form-item> | ||
123 | </el-col> | ||
124 | </el-row> | ||
125 | <el-row> | ||
126 | <el-col :span="24"> | ||
127 | <el-form-item label="坐落"> | ||
128 | <el-input v-model="bdcqz.zl"></el-input> | ||
129 | </el-form-item> | ||
130 | </el-col> | ||
131 | </el-row> | ||
132 | <el-row> | ||
133 | <el-col :span="24"> | ||
134 | <el-form-item label="不动产单元号"> | ||
135 | <el-input v-model="bdcqz.bdcdyh"></el-input> | ||
136 | </el-form-item> | ||
137 | </el-col> | ||
138 | </el-row> | ||
139 | <el-row> | ||
140 | <el-col :span="24"> | ||
141 | <el-form-item label="其他状况"> | ||
142 | <el-input v-model="bdcqz.qlqtzk" :rows="6" type="textarea"></el-input> | ||
143 | </el-form-item> | ||
144 | </el-col> | ||
145 | </el-row> | ||
146 | <el-row> | ||
147 | <el-col :span="24"> | ||
148 | <el-form-item label="附记"> | ||
149 | <el-input v-model="bdcqz.fj" :rows="6" type="textarea"></el-input> | ||
150 | </el-form-item> | ||
151 | </el-col> | ||
152 | </el-row> | ||
153 | </el-form> | ||
154 | </div> | ||
155 | <div style="text-align:center"> | ||
156 | <el-button @click="$popupCacel">取消</el-button> | ||
157 | <el-button type="primary" @click="handleSubmit">保存</el-button> | ||
158 | </div> | ||
159 | </div> | ||
160 | </div> | ||
161 | </template> | ||
162 | |||
163 | <script> | ||
164 | import store from '@/store/index.js' | ||
165 | import { getSlsqBdcqzList, editBdcqz } from "@/api/bdcqz.js" | ||
166 | export default { | ||
167 | name: "zsxg", | ||
168 | props: { | ||
169 | formData: { | ||
170 | type: Object, | ||
171 | default: {} | ||
172 | } | ||
173 | }, | ||
174 | data () { | ||
175 | return { | ||
176 | gyqkList: store.getters.dictData['A34'], | ||
177 | key: 0, | ||
178 | noData: false, | ||
179 | loading: false, | ||
180 | bdcqz: {}, | ||
181 | //tab切换栏数组 | ||
182 | headTabBdcqz: [], | ||
183 | //tab选择绑定值 | ||
184 | activeName: '', | ||
185 | } | ||
186 | }, | ||
187 | mounted () { | ||
188 | this.getHeadTabBdcqz() | ||
189 | }, | ||
190 | methods: { | ||
191 | /** | ||
192 | * @description: 获取受理申请下全部不动产权证 | ||
193 | * @author: renchao | ||
194 | */ | ||
195 | getHeadTabBdcqz () { | ||
196 | this.loading = true | ||
197 | getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => { | ||
198 | if (res.code == 200) { | ||
199 | this.noData = true | ||
200 | if (res.result && res.result.length > 0) { | ||
201 | this.bdcqz = res.result[0] | ||
202 | this.headTabBdcqz = _.cloneDeep(res.result) | ||
203 | if (this.formData.bsmBdcqz) { | ||
204 | this.activeName = this.formData.bsmBdcqz | ||
205 | } else { | ||
206 | this.activeName = res.result[0].bsmBdcqz | ||
207 | } | ||
208 | } | ||
209 | } | ||
210 | this.loading = false | ||
211 | }) | ||
212 | }, | ||
213 | handleClick (tab) { | ||
214 | this.bdcqz = _.cloneDeep(this.headTabBdcqz[tab.index]) | ||
215 | }, | ||
216 | handleSubmit () { | ||
217 | editBdcqz(this.bdcqz).then(res => { | ||
218 | if (res.code == 200) { | ||
219 | this.$message.success('保存成功'); | ||
220 | //刷新列表 | ||
221 | this.$popupCacel() | ||
222 | } else { | ||
223 | this.$message.error(res.message) | ||
224 | } | ||
225 | }) | ||
226 | } | ||
227 | } | ||
228 | } | ||
229 | </script> | ||
230 | <style scoped lang="scss"> | ||
231 | @import "~@/styles/mixin.scss"; | ||
232 | </style> |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-17 13:51:29 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | { | ||
53 | prop: "qlrmc", | ||
54 | label: "抵押权人" | ||
55 | }, | ||
56 | { | ||
57 | prop: "ywrmc", | ||
58 | label: "抵押人" | ||
59 | }, | ||
60 | { | ||
61 | prop: "bdcqzh", | ||
62 | label: "不动产登记证明号" | ||
63 | }, | ||
64 | { | ||
65 | prop: "dyjelx", | ||
66 | label: "抵押金额类型" | ||
67 | }, | ||
68 | { | ||
69 | prop: "dyfsmc", | ||
70 | label: "抵押方式" | ||
71 | }, | ||
72 | { | ||
73 | prop: "qdjgmc", | ||
74 | label: "抵押金额" | ||
75 | }, | ||
76 | { | ||
77 | prop: "qlmjmc", | ||
78 | label: "抵押面积1" | ||
79 | }, | ||
80 | { | ||
81 | prop: "zwlxqssj", | ||
82 | label: "债务履行开始时间" | ||
83 | }, | ||
84 | { | ||
85 | prop: "zwlxjssj", | ||
86 | label: "债务履行结束时间" | ||
87 | }, | ||
88 | { | ||
89 | prop: "bdcdyh", | ||
90 | label: "不动产单元号" | ||
91 | }, | ||
92 | { | ||
93 | prop: "zl", | ||
94 | label: "坐落" | ||
95 | }, | ||
96 | |||
97 | |||
98 | ], | ||
99 | column: this.qlrCommonTable | ||
100 | } | ||
101 | }, | ||
102 | watch: { | ||
103 | tableData: { | ||
104 | handler: function (val, oldVal) { | ||
105 | let that = this | ||
106 | if (val.length == 0 || !val) { | ||
107 | that.tableDataList = _.cloneDeep([{ | ||
108 | sqrmc: '', | ||
109 | dlrzjlx: '', | ||
110 | dlrzjh: '', | ||
111 | fr: '' | ||
112 | }]) | ||
113 | } else { | ||
114 | that.tableDataList = _.cloneDeep(val) | ||
115 | } | ||
116 | }, | ||
117 | immediate: true, | ||
118 | deep: true | ||
119 | }, | ||
120 | gyfs: { | ||
121 | handler (newVal, oldValue) { | ||
122 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
123 | if (newVal == '1') { | ||
124 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
125 | } else if ((newVal == '2')) { | ||
126 | this.column = dataList | ||
127 | } else { | ||
128 | this.column = _.cloneDeep(dataList) | ||
129 | this.column.splice( | ||
130 | 2, 0, { | ||
131 | prop: "qlbl", | ||
132 | label: "份数" | ||
133 | }) | ||
134 | } | ||
135 | }, | ||
136 | immediate: true | ||
137 | } | ||
138 | }, | ||
139 | methods: { | ||
140 | } | ||
141 | } | ||
142 | </script> | ||
143 | <style scoped lang='scss'> | ||
144 | /deep/.el-table th { | ||
145 | height: 30px !important; | ||
146 | } | ||
147 | /deep/.el-table--small .el-table__cell { | ||
148 | padding: 5px; | ||
149 | } | ||
150 | </style> |
1 | <!-- | ||
2 | * @Description: 房屋多幢明细 | ||
3 | * @Autor: | ||
4 | * @LastEditTime: 2023-09-01 13:29:29 | ||
5 | --> | ||
6 | <template> | ||
7 | <div> | ||
8 | <el-table | ||
9 | :data="tableDataList" | ||
10 | border | ||
11 | :pagination="false" | ||
12 | :key="key" | ||
13 | :header-cell-style="{ 'text-align': 'center' }" | ||
14 | :heightNumSetting="true" | ||
15 | :minHeight="150" | ||
16 | height="150" | ||
17 | style="width: 100%"> | ||
18 | <el-table-column prop="index" width="50" :render-header="renderHeader"> | ||
19 | <template slot-scope="scope"> | ||
20 | <div style="text-align: center">{{ scope.$index + 1 }}</div> | ||
21 | </template> | ||
22 | </el-table-column> | ||
23 | <el-table-column prop="bdcdyh" label="不动产单元号" min-width="100"> | ||
24 | <template slot-scope="scope"> | ||
25 | <div style="text-align: center">{{ scope.row.bdcdyh }}</div> | ||
26 | </template> | ||
27 | </el-table-column> | ||
28 | <el-table-column prop="xmmc" label="项目名称" min-width="100"> | ||
29 | <template slot-scope="scope"> | ||
30 | <el-input | ||
31 | class="item" | ||
32 | :disabled="!ableOperation" | ||
33 | v-model="scope.row.xmmc" | ||
34 | placeholder="请输入内容" | ||
35 | @input="updaterow(scope.row)"> | ||
36 | </el-input> | ||
37 | </template> | ||
38 | </el-table-column> | ||
39 | <el-table-column prop="fwxz" label="房屋性质" min-width="100"> | ||
40 | <template slot-scope="scope"> | ||
41 | <treeselect | ||
42 | v-model="scope.row.fwxz" | ||
43 | :disabled="!ableOperation" | ||
44 | noOptionsText="暂无数据" | ||
45 | placeholder="" | ||
46 | :show-count="true" | ||
47 | :options="dictData['A19']" | ||
48 | :normalizer="normalizer" | ||
49 | :appendToBody="true" | ||
50 | z-index="9999" | ||
51 | @input="updaterow(scope.row)" /> | ||
52 | </template> | ||
53 | </el-table-column> | ||
54 | <el-table-column prop="ghyt" label="房屋用途" min-width="100"> | ||
55 | <template slot-scope="scope"> | ||
56 | <treeselect | ||
57 | v-model="scope.row.ghyt" | ||
58 | :disabled="!ableOperation" | ||
59 | noOptionsText="暂无数据" | ||
60 | placeholder="" | ||
61 | :show-count="true" | ||
62 | :options="dictData['A17']" | ||
63 | :normalizer="normalizer" | ||
64 | :appendToBody="true" | ||
65 | z-index="9999" | ||
66 | @input="updaterow(scope.row)" /> | ||
67 | </template> | ||
68 | </el-table-column> | ||
69 | <el-table-column prop="fwjg" label="房屋结构" min-width="100"> | ||
70 | <template slot-scope="scope"> | ||
71 | <treeselect | ||
72 | v-model="scope.row.fwjg" | ||
73 | :disabled="!ableOperation" | ||
74 | noOptionsText="暂无数据" | ||
75 | placeholder="" | ||
76 | :show-count="true" | ||
77 | :options="dictData['A46']" | ||
78 | :normalizer="normalizer" | ||
79 | :appendToBody="true" | ||
80 | z-index="9999" | ||
81 | @input="updaterow(scope.row)" /> | ||
82 | </template> | ||
83 | </el-table-column> | ||
84 | <el-table-column prop="jzmj" label="建筑面积" min-width="100"> | ||
85 | <template slot-scope="scope"> | ||
86 | <el-input | ||
87 | maxlength="12" | ||
88 | class="item" | ||
89 | :disabled="!ableOperation" | ||
90 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null" | ||
91 | v-model="scope.row.jzmj" | ||
92 | placeholder="请输入内容" | ||
93 | @input="updaterow(scope.row)"> | ||
94 | </el-input> | ||
95 | </template> | ||
96 | </el-table-column> | ||
97 | <el-table-column prop="jgsj" label="竣工时间" min-width="100"> | ||
98 | <template slot-scope="scope"> | ||
99 | <el-date-picker | ||
100 | v-model="scope.row.jgsj" | ||
101 | type="date" | ||
102 | :disabled="!ableOperation" | ||
103 | placeholder="选择日期" | ||
104 | value-format="yyyy-MM-dd HH:mm:ss" | ||
105 | format="yyyy-MM-dd" | ||
106 | @input="updaterow(scope.row)"> | ||
107 | </el-date-picker> | ||
108 | </template> | ||
109 | </el-table-column> | ||
110 | <el-table-column prop="zcs" label="总层数" min-width="100"> | ||
111 | <template slot-scope="scope"> | ||
112 | <el-input | ||
113 | class="item" | ||
114 | :disabled="!ableOperation" | ||
115 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null" | ||
116 | v-model="scope.row.zcs" | ||
117 | placeholder="请输入内容" | ||
118 | @input="updaterow(scope.row)"> | ||
119 | </el-input> | ||
120 | </template> | ||
121 | </el-table-column> | ||
122 | <el-table-column prop="zts" label="总套数" min-width="100"> | ||
123 | <template slot-scope="scope"> | ||
124 | <el-input | ||
125 | class="item" | ||
126 | :disabled="!ableOperation" | ||
127 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null" | ||
128 | v-model="scope.row.zts" | ||
129 | placeholder="请输入内容" | ||
130 | @input="updaterow(scope.row)"> | ||
131 | </el-input> | ||
132 | </template> | ||
133 | </el-table-column> | ||
134 | </el-table> | ||
135 | </div> | ||
136 | </template> | ||
137 | <script> | ||
138 | import { mapGetters } from "vuex"; | ||
139 | |||
140 | export default { | ||
141 | computed: { | ||
142 | ...mapGetters(["dictData"]), | ||
143 | }, | ||
144 | props: { | ||
145 | tableData: { | ||
146 | type: Array, | ||
147 | default: function () { | ||
148 | return []; | ||
149 | }, | ||
150 | }, | ||
151 | ableOperation: { | ||
152 | type: Boolean, | ||
153 | default: false, | ||
154 | }, | ||
155 | |||
156 | }, | ||
157 | data () { | ||
158 | return { | ||
159 | // 键名转换,方法默认是label和children进行树状渲染 | ||
160 | key: 0, | ||
161 | tableDataList: [], | ||
162 | normalizer (node) { | ||
163 | if (node.children == null || node.children == "null") { | ||
164 | delete node.children; | ||
165 | } | ||
166 | return { | ||
167 | id: node.dcode, | ||
168 | label: node.dname, | ||
169 | children: node.children, | ||
170 | }; | ||
171 | }, | ||
172 | }; | ||
173 | }, | ||
174 | mounted () { | ||
175 | }, | ||
176 | watch: { | ||
177 | tableData: { | ||
178 | handler: function (val, oldVal) { | ||
179 | let that = this; | ||
180 | this.$nextTick(() => { | ||
181 | if (val.length == 0 || !val) { | ||
182 | that.tableDataList = _.cloneDeep([ | ||
183 | { | ||
184 | yt: null, | ||
185 | qssj: "", | ||
186 | jssj: "", | ||
187 | tdsyqx: "", | ||
188 | }, | ||
189 | ]); | ||
190 | } else { | ||
191 | that.tableDataList = _.cloneDeep(val); | ||
192 | } | ||
193 | }); | ||
194 | }, | ||
195 | immediate: true, | ||
196 | deep: true, | ||
197 | }, | ||
198 | }, | ||
199 | methods: { | ||
200 | /** | ||
201 | * @description: renderHeader | ||
202 | * @author: renchao | ||
203 | */ | ||
204 | renderHeader () { | ||
205 | return ( | ||
206 | <div> | ||
207 | {"序号"} | ||
208 | </div> | ||
209 | ); | ||
210 | }, | ||
211 | updaterow (a) { | ||
212 | this.$emit("updateFdcwxmList", this.tableDataList); | ||
213 | } | ||
214 | } | ||
215 | } | ||
216 | </script> | ||
217 | <style scoped lang="scss"> | ||
218 | .el-input { | ||
219 | border: none !important; | ||
220 | } | ||
221 | |||
222 | /deep/ .el-table__row { | ||
223 | border: none !important; | ||
224 | } | ||
225 | |||
226 | .el-date-editor.el-input { | ||
227 | width: 100%; | ||
228 | } | ||
229 | |||
230 | /deep/ .el-table th { | ||
231 | height: 30px !important; | ||
232 | } | ||
233 | </style> | ||
234 |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-28 16:28:43 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues"> | ||
8 | <!-- 发证信息 --> | ||
9 | <div class="from-clues-header"> | ||
10 | <el-form :model="ruleForm"> | ||
11 | <el-row :gutter="20"> | ||
12 | <el-col :span="6"> | ||
13 | <el-form-item label="印刷序列号"> | ||
14 | <el-input v-model="ruleForm.ysxlh" clearable placeholder="请输入印刷序列号"></el-input> | ||
15 | </el-form-item> | ||
16 | </el-col> | ||
17 | <el-col :span="6"> | ||
18 | <el-form-item label="证书号"> | ||
19 | <el-input v-model="ruleForm.zsh" clearable placeholder="请输入证书号"></el-input> | ||
20 | </el-form-item> | ||
21 | </el-col> | ||
22 | <el-col :span="6"> | ||
23 | <el-form-item label="权利人"> | ||
24 | <el-input v-model="ruleForm.qlr" clearable placeholder="请输入权利人"></el-input> | ||
25 | </el-form-item> | ||
26 | </el-col> | ||
27 | <el-col :span="6" class="btnColRight" v-if="viewEdit"> | ||
28 | <el-form-item> | ||
29 | <el-button type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button> | ||
30 | <el-button type="primary" icon="el-icon-search" @click="zslqClick">证书领取</el-button> | ||
31 | </el-form-item> | ||
32 | </el-col> | ||
33 | </el-row> | ||
34 | </el-form> | ||
35 | </div> | ||
36 | <div class="from-clues-content"> | ||
37 | <lb-table border :column="tableData.columns" :heightNum="210" :data="tableData.data" :pagination="false"> | ||
38 | </lb-table> | ||
39 | </div> | ||
40 | </div> | ||
41 | </template> | ||
42 | <script> | ||
43 | import { mapGetters } from 'vuex' | ||
44 | import store from '@/store/index.js' | ||
45 | import table from "@/utils/mixin/table"; | ||
46 | import { datas } from "../javascript/fzxxdata"; | ||
47 | import { getCertificateList } from "@/api/bdcqz.js"; | ||
48 | export default { | ||
49 | mixins: [table], | ||
50 | data () { | ||
51 | return { | ||
52 | //表单是否可操作 | ||
53 | viewEdit: false, | ||
54 | ruleForm: { | ||
55 | ysxlh: '', | ||
56 | zsh: '', | ||
57 | qlr: '', | ||
58 | bsmSldy: '' | ||
59 | }, | ||
60 | tableData: { | ||
61 | total: 0, | ||
62 | columns: datas.columns().fzgrid, | ||
63 | data: [] | ||
64 | }, | ||
65 | dialogVisible: false | ||
66 | } | ||
67 | }, | ||
68 | created () { | ||
69 | this.viewEdit = this.$parent.currentSelectTab.ableOperation | ||
70 | }, | ||
71 | computed: { | ||
72 | ...mapGetters(['workFresh']) | ||
73 | }, | ||
74 | watch: { | ||
75 | workFresh: { | ||
76 | handler (newVal, oldVal) { | ||
77 | if (newVal) this.queryClick() | ||
78 | } | ||
79 | } | ||
80 | }, | ||
81 | methods: { | ||
82 | /** | ||
83 | * @description: queryClick | ||
84 | * @author: renchao | ||
85 | */ | ||
86 | queryClick () { | ||
87 | this.ruleForm.bsmSlsq = this.$route.query.bsmSlsq; | ||
88 | getCertificateList(this.ruleForm).then(res => { | ||
89 | if (res.code === 200) { | ||
90 | this.tableData.data = res.result ? res.result : [] | ||
91 | } | ||
92 | }) | ||
93 | }, | ||
94 | /** | ||
95 | * @description: | ||
96 | * @author: renchao | ||
97 | */ | ||
98 | zslqClick () { | ||
99 | store.dispatch('user/reWorkFresh', false) | ||
100 | this.$popupDialog("不动产权证领取", "workflow/components/dialog/zslq", {}, '80%', true) | ||
101 | } | ||
102 | } | ||
103 | } | ||
104 | </script> | ||
105 | <style scoped lang='scss'> | ||
106 | @import "~@/styles/public.scss"; | ||
107 | </style> |
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-07-17 13:50:53 | ||
5 | --> | ||
6 | <template> | ||
7 | <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> | ||
8 | </lb-table> | ||
9 | </template> | ||
10 | <script> | ||
11 | import addQlr from './dialog/addQlr.vue' | ||
12 | import { mapGetters } from 'vuex' | ||
13 | export default { | ||
14 | components: { | ||
15 | addQlr | ||
16 | }, | ||
17 | computed: { | ||
18 | ...mapGetters(["dictData"]), | ||
19 | }, | ||
20 | props: { | ||
21 | tableData: { | ||
22 | type: Array, | ||
23 | default: function () { | ||
24 | return [] | ||
25 | } | ||
26 | }, | ||
27 | gyfs: { | ||
28 | type: String, | ||
29 | default: '1' | ||
30 | } | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | key: 0, | ||
35 | dataIndex: 0, | ||
36 | dialog: false, | ||
37 | details: {}, | ||
38 | tableDataList: [], | ||
39 | qlrCommonTable: [ | ||
40 | { | ||
41 | label: '序号', | ||
42 | type: 'index', | ||
43 | width: '50', | ||
44 | render: (h, scope) => { | ||
45 | return ( | ||
46 | <div> | ||
47 | {scope.$index + 1} | ||
48 | </div> | ||
49 | ) | ||
50 | } | ||
51 | }, | ||
52 | // { | ||
53 | // prop: "bdcdyh", | ||
54 | // label: "不动产单元号" | ||
55 | // }, | ||
56 | { | ||
57 | prop: "zl", | ||
58 | label: "坐落" | ||
59 | }, | ||
60 | { | ||
61 | prop: "shbw", | ||
62 | label: "室号部位" | ||
63 | }, | ||
64 | { | ||
65 | prop: "fwxzmc", | ||
66 | label: "房屋性质" | ||
67 | }, | ||
68 | { | ||
69 | prop: "sjc", | ||
70 | label: "层号" | ||
71 | }, | ||
72 | { | ||
73 | prop: "jzmj", | ||
74 | label: "建筑面积" | ||
75 | }, | ||
76 | { | ||
77 | prop: "fwlxmc", | ||
78 | label: "房屋类型" | ||
79 | }, | ||
80 | { | ||
81 | prop: "showfwyt", | ||
82 | label: "房屋用途" | ||
83 | }, | ||
84 | { | ||
85 | prop: "showfwjg", | ||
86 | label: "房屋结构" | ||
87 | }, | ||
88 | ], | ||
89 | column: this.qlrCommonTable | ||
90 | } | ||
91 | }, | ||
92 | watch: { | ||
93 | tableData: { | ||
94 | handler: function (val, oldVal) { | ||
95 | let that = this; | ||
96 | if (val.length == 0 || !val) { | ||
97 | } else { | ||
98 | that.tableDataList = _.cloneDeep(val) | ||
99 | } | ||
100 | }, | ||
101 | immediate: true, | ||
102 | deep: true | ||
103 | }, | ||
104 | gyfs: { | ||
105 | handler (newVal, oldValue) { | ||
106 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
107 | if (newVal == '1') { | ||
108 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
109 | } else if ((newVal == '2')) { | ||
110 | this.column = dataList | ||
111 | } else { | ||
112 | this.column = _.cloneDeep(dataList) | ||
113 | this.column.splice( | ||
114 | 2, 0, { | ||
115 | prop: "qlbl", | ||
116 | label: "份数" | ||
117 | }) | ||
118 | } | ||
119 | }, | ||
120 | immediate: true | ||
121 | } | ||
122 | }, | ||
123 | methods: { | ||
124 | } | ||
125 | } | ||
126 | </script> | ||
127 | <style scoped lang="scss"> | ||
128 | /deep/.el-table th { | ||
129 | height: 30px !important; | ||
130 | } | ||
131 | /deep/.el-table--small .el-table__cell { | ||
132 | padding: 5px; | ||
133 | } | ||
134 | </style> | ||
135 |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-14 17:19:26 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="slxx sdqxx"> | ||
8 | <el-form | ||
9 | :model="ruleForm" | ||
10 | ref="ruleForm" | ||
11 | v-Loading="loading" | ||
12 | :label-position="flag ? 'top' : ''" | ||
13 | :inline="flag" | ||
14 | label-width="130px"> | ||
15 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
16 | <div class="slxx_title title-block"> | ||
17 | 电力信息 | ||
18 | <div class="triangle"></div> | ||
19 | </div> | ||
20 | <el-row :gutter="10"> | ||
21 | <el-col :span="8"> | ||
22 | <el-form-item label="服务代码:"> | ||
23 | <el-input v-model="ruleForm.serviceCode"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | <el-col :span="8"> | ||
27 | <el-form-item label="行政区划区县代码:"> | ||
28 | <el-input v-model="ruleForm.areacode"></el-input> | ||
29 | </el-form-item> | ||
30 | </el-col> | ||
31 | <el-col :span="8"> | ||
32 | <el-form-item label="登记系统业务号:"> | ||
33 | <el-input v-model="ruleForm.ywh"></el-input> | ||
34 | </el-form-item> | ||
35 | </el-col> | ||
36 | </el-row> | ||
37 | |||
38 | <el-row :gutter="10"> | ||
39 | <el-col :span="8"> | ||
40 | <el-form-item label="推送日期:"> | ||
41 | <el-input v-model="ruleForm.SENDTIME"></el-input> | ||
42 | </el-form-item> | ||
43 | </el-col> | ||
44 | <el-col :span="8"> | ||
45 | <el-form-item label="原户主姓名:"> | ||
46 | <el-input v-model="ruleForm.mcOld"></el-input> | ||
47 | </el-form-item> | ||
48 | </el-col> | ||
49 | <el-col :span="8"> | ||
50 | <el-form-item label="原户主身份证号码:"> | ||
51 | <el-input v-model="ruleForm.zjhmOld"></el-input> | ||
52 | </el-form-item> | ||
53 | </el-col> | ||
54 | </el-row> | ||
55 | <el-row :gutter="10"> | ||
56 | <el-col :span="8"> | ||
57 | <el-form-item label="原户主联系电话:"> | ||
58 | <el-input v-model="ruleForm.lxdhOld"></el-input> | ||
59 | </el-form-item> | ||
60 | </el-col> | ||
61 | <el-col :span="8"> | ||
62 | <el-form-item label="新户主姓名:"> | ||
63 | <el-input v-model="ruleForm.mcNew"></el-input> | ||
64 | </el-form-item> | ||
65 | </el-col> | ||
66 | <el-col :span="8"> | ||
67 | <el-form-item label="新户主身份证号码:"> | ||
68 | <el-input v-model="ruleForm.zjhmNew"></el-input> | ||
69 | </el-form-item> | ||
70 | </el-col> | ||
71 | </el-row> | ||
72 | <el-row :gutter="10"> | ||
73 | <el-col :span="8"> | ||
74 | <el-form-item label="新户主联系电话:"> | ||
75 | <el-input v-model="ruleForm.lxdhNew"></el-input> | ||
76 | </el-form-item> | ||
77 | </el-col> | ||
78 | <el-col :span="8"> | ||
79 | <el-form-item label="房产证编号:"> | ||
80 | <el-input v-model="ruleForm.fczbh"></el-input> | ||
81 | </el-form-item> | ||
82 | </el-col> | ||
83 | <el-col :span="8"> | ||
84 | <el-form-item label="是否过户:"> | ||
85 | <el-switch | ||
86 | v-model="ruleForm.sfgh" | ||
87 | :active-value='1' | ||
88 | active-text="是" | ||
89 | :inactive-value="0" | ||
90 | inactive-text="否"> | ||
91 | </el-switch> | ||
92 | </el-form-item> | ||
93 | </el-col> | ||
94 | |||
95 | </el-row> | ||
96 | <el-row :gutter="10"> | ||
97 | <el-col :span="24"> | ||
98 | <el-form-item label="房屋坐落(地址):"> | ||
99 | <el-input v-model="ruleForm.fwzl" type="textarea" | ||
100 | :rows="2"></el-input> | ||
101 | </el-form-item> | ||
102 | </el-col> | ||
103 | </el-row> | ||
104 | <el-row class="btn" v-if="viewEdit"> | ||
105 | <el-form-item> | ||
106 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
107 | </el-form-item> | ||
108 | </el-row> | ||
109 | </div> | ||
110 | </el-form> | ||
111 | </div> | ||
112 | </template> | ||
113 | <script> | ||
114 | import { mapGetters } from "vuex"; | ||
115 | import { getDlxxByBsmSldy, saveOrUpdateDlxx } from "@/api/sfxx.js"; | ||
116 | export default { | ||
117 | computed: { | ||
118 | ...mapGetters(["dictData", "flag"]), | ||
119 | }, | ||
120 | mounted () { | ||
121 | // this.loading = true | ||
122 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
123 | this.propsParam = this.$attrs; | ||
124 | var formdata = new FormData(); | ||
125 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
126 | formdata.append("djlx", this.propsParam.djlx); | ||
127 | formdata.append("isEdit", this.viewEdit); | ||
128 | console.log(this.propsParam) | ||
129 | this.getDlxxByBsmSldy() | ||
130 | }, | ||
131 | data () { | ||
132 | return { | ||
133 | loading: false, | ||
134 | //表单是否可操作 | ||
135 | viewEdit: false, | ||
136 | ruleForm: { | ||
137 | SFGH: 1 | ||
138 | } | ||
139 | } | ||
140 | }, | ||
141 | methods: { | ||
142 | getDlxxByBsmSldy() { | ||
143 | getDlxxByBsmSldy(this.propsParam.bsmSldy).then((res) => { | ||
144 | if (res.code === 200) { | ||
145 | if (res.result != null) { | ||
146 | this.ruleForm = res.result | ||
147 | } | ||
148 | } | ||
149 | }); | ||
150 | }, | ||
151 | saveOrUpdateDlxx() { | ||
152 | saveOrUpdateDlxx(this.ruleForm).then((res) => { | ||
153 | if (res.code === 200) { | ||
154 | this.$message.success("成功") | ||
155 | } | ||
156 | }); | ||
157 | }, | ||
158 | onSubmit () { | ||
159 | this.saveOrUpdateDlxx() | ||
160 | } | ||
161 | } | ||
162 | } | ||
163 | </script> | ||
164 | <style scoped lang="scss"> | ||
165 | @import "~@/styles/public.scss"; | ||
166 | @import "~@/styles/slxx/slxx.scss"; | ||
167 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-12-29 16:35:50 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class='sfxx'> | ||
8 | <div class="sfxx-left"> | ||
9 | <div class="slxx_title title-block"> | ||
10 | 基本信息 | ||
11 | <div class="triangle"></div> | ||
12 | </div> | ||
13 | <ul> | ||
14 | <li> | ||
15 | <p>业务号</p> | ||
16 | <p>{{detail.ywh}}</p> | ||
17 | </li> | ||
18 | <li> | ||
19 | <p>申请登记类型</p> | ||
20 | <p>{{detail.sqdjlx}}</p> | ||
21 | </li> | ||
22 | <li> | ||
23 | <p>联系人</p> | ||
24 | <p>{{detail.lxr}}</p> | ||
25 | </li> | ||
26 | <li> | ||
27 | <p>联系人电话</p> | ||
28 | <p>{{detail.lxdh}}</p> | ||
29 | </li> | ||
30 | <li> | ||
31 | <p>缴费人</p> | ||
32 | <p><el-input v-model="detail.jfr"></el-input></p> | ||
33 | </li> | ||
34 | <li> | ||
35 | <p>缴费单号</p> | ||
36 | <p><el-input v-model="detail.jfdh"></el-input></p> | ||
37 | </li> | ||
38 | <li> | ||
39 | <p>应收金额</p> | ||
40 | <p style="color:red">{{detail.ysje}}元</p> | ||
41 | </li> | ||
42 | <li> | ||
43 | <p>实收金额</p> | ||
44 | <p><el-input v-model="detail.ssje"></el-input></p> | ||
45 | </li> | ||
46 | <li> | ||
47 | <p>备注</p> | ||
48 | <p><el-input v-model="detail.bz"></el-input></p> | ||
49 | </li> | ||
50 | </ul> | ||
51 | </div> | ||
52 | <div class="sfxx-right"> | ||
53 | <div class="slxx_title title-block"> | ||
54 | 收费明细 | ||
55 | <!-- <div class="triangle"></div> --> | ||
56 | <el-button type="primary" @click="hanldeAdd" style="float:right;margin-top:-5px">增加</el-button> | ||
57 | </div> | ||
58 | <el-table :data="tableData.data" border :height="355"> | ||
59 | <el-table-column v-for="item in tableData.columns" :key="item.index" :prop="item.prop" :label="item.label" align="center"> | ||
60 | </el-table-column> | ||
61 | <el-table-column label="操作" width="50"> | ||
62 | <template slot-scope="scope"> | ||
63 | <el-button type="text" @click="handleDelete(scope.row)">删除</el-button> | ||
64 | </template> | ||
65 | </el-table-column> | ||
66 | </el-table> | ||
67 | <div class="slxx_title title-block"> | ||
68 | 票据 | ||
69 | <div style="height:250px"> | ||
70 | <img src="../../../image/pj.jpg" alt="" style="height:100%"> | ||
71 | </div> | ||
72 | </div> | ||
73 | </div> | ||
74 | </div> | ||
75 | </template> | ||
76 | <script> | ||
77 | import { mapGetters } from "vuex"; | ||
78 | import { getSfmxList, deleteSfmx } from "@/api/sfxx.js"; | ||
79 | export default { | ||
80 | components: {}, | ||
81 | data () { | ||
82 | return { | ||
83 | detail: { | ||
84 | ywh: '', | ||
85 | sqdjlx: '', | ||
86 | lxr: '', | ||
87 | lxdh: '', | ||
88 | jfr: '', | ||
89 | jfdh: '', | ||
90 | ysje: '', | ||
91 | ssje: '', | ||
92 | bz: '' | ||
93 | }, | ||
94 | tableData: { | ||
95 | columns: [ | ||
96 | { | ||
97 | prop: "sfdw", | ||
98 | label: "收费单位", | ||
99 | }, | ||
100 | { | ||
101 | label: '是否额外收费', | ||
102 | align: 'center', | ||
103 | render: (h, scope) => { | ||
104 | return ( | ||
105 | <div> | ||
106 | {scope.row.sfewsf == '1' ? <span>是</span> : <span>否</span>} | ||
107 | </div> | ||
108 | ) | ||
109 | } | ||
110 | }, | ||
111 | { | ||
112 | prop: "sfry", | ||
113 | label: "收费人员", | ||
114 | }, | ||
115 | { | ||
116 | prop: "sfkmmc", | ||
117 | label: "收费科目名称", | ||
118 | }, | ||
119 | { | ||
120 | prop: "sjffr", | ||
121 | label: "实际付费人", | ||
122 | }, | ||
123 | { | ||
124 | prop: "ssje", | ||
125 | label: "实收金额", | ||
126 | }, | ||
127 | { | ||
128 | prop: "ysje", | ||
129 | label: "应收金额", | ||
130 | } | ||
131 | ], | ||
132 | data: [] | ||
133 | } | ||
134 | } | ||
135 | }, | ||
136 | computed: { | ||
137 | ...mapGetters(["workFresh"]), | ||
138 | }, | ||
139 | watch: { | ||
140 | workFresh: { | ||
141 | handler (newVal, oldVal) { | ||
142 | if (newVal) this.getList(); | ||
143 | }, | ||
144 | }, | ||
145 | }, | ||
146 | mounted () { | ||
147 | this.getList() | ||
148 | }, | ||
149 | methods: { | ||
150 | getList () { | ||
151 | let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness | ||
152 | getSfmxList(bsmBusiness).then(res => { | ||
153 | this.tableData.data = res.result | ||
154 | }) | ||
155 | }, | ||
156 | hanldeAdd () { | ||
157 | let bsmBusiness = this.$route.query.bsmBusiness ? this.$route.query.bsmBusiness : window.currentSelect.bsmBusiness | ||
158 | this.$popupDialog('新增', 'workflow/components/dialog/xzsf', { bsmBusiness: bsmBusiness }, '50%', true) | ||
159 | }, | ||
160 | handleDelete (row) { | ||
161 | let that = this | ||
162 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
163 | confirmButtonText: '确定', | ||
164 | cancelButtonText: '取消', | ||
165 | type: 'warning' | ||
166 | }).then(() => { | ||
167 | deleteSfmx(row.bsmSf).then(res => { | ||
168 | if (res.code == 200) { | ||
169 | that.$message({ | ||
170 | message: '删除成功!', | ||
171 | type: 'success' | ||
172 | }) | ||
173 | that.getList() | ||
174 | } else { | ||
175 | that.$message({ | ||
176 | type: 'info', | ||
177 | message: res.message | ||
178 | }) | ||
179 | } | ||
180 | }) | ||
181 | }).catch(() => { | ||
182 | this.$message({ | ||
183 | type: 'info', | ||
184 | message: '已取消删除' | ||
185 | }) | ||
186 | }) | ||
187 | |||
188 | } | ||
189 | } | ||
190 | } | ||
191 | </script> | ||
192 | <style scoped lang='scss'> | ||
193 | @import "~@/styles/public.scss"; | ||
194 | .sfxx { | ||
195 | display: flex; | ||
196 | padding: 10px; | ||
197 | height: 100%; | ||
198 | box-sizing: border-box; | ||
199 | &-left { | ||
200 | width: 50%; | ||
201 | margin-right: 10px; | ||
202 | ul { | ||
203 | border-radius: 3px; | ||
204 | } | ||
205 | li:last-child { | ||
206 | border-bottom: 1px solid #e8e5e5; | ||
207 | } | ||
208 | li { | ||
209 | display: flex; | ||
210 | border: 1px solid #e8e5e5; | ||
211 | border-bottom: none; | ||
212 | |||
213 | p:nth-child(1) { | ||
214 | width: 35%; | ||
215 | text-align: center; | ||
216 | background-color: #fafafa; | ||
217 | border-right: 1px solid #e8e5e5; | ||
218 | padding: 10px 0; | ||
219 | } | ||
220 | p:nth-child(2) { | ||
221 | width: 65%; | ||
222 | display: flex; | ||
223 | align-items: center; | ||
224 | box-sizing: border-box; | ||
225 | margin: 0 10px; | ||
226 | } | ||
227 | } | ||
228 | } | ||
229 | &-right { | ||
230 | width: 50%; | ||
231 | margin-left: 10px; | ||
232 | } | ||
233 | } | ||
234 | </style> |
1 | <!-- | ||
2 | * @Description: 审批意见 | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-26 08:45:07 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="spyj" v-Loading="loading"> | ||
8 | <div class="box"> | ||
9 | <div class="spyj_title"> | ||
10 | <div class="righttitle">审批表</div> | ||
11 | </div> | ||
12 | |||
13 | <div v-for="(item, index) in tableData" :key="index"> | ||
14 | <el-form | ||
15 | :model="tableData[index]" | ||
16 | label-width="120px" | ||
17 | ref="ruleForm'"> | ||
18 | <div class="spyj_form"> | ||
19 | <div class="item_left"> | ||
20 | <div class="right">{{ item.jdmc }}意见</div> | ||
21 | </div> | ||
22 | <div class="item_right"> | ||
23 | <el-row> | ||
24 | <el-col :span="24"> | ||
25 | <el-form-item | ||
26 | label-width="0" | ||
27 | class="opinion_item"> | ||
28 | <el-input | ||
29 | :disabled="!viewEdit || item.show" | ||
30 | type="textarea" | ||
31 | :rows="4" | ||
32 | class="opinion" | ||
33 | placeholder="" | ||
34 | v-model="item.shyj"></el-input> | ||
35 | <el-button | ||
36 | class="opinion_btn" | ||
37 | @click="commonOpinion(index)" | ||
38 | :disabled="!viewEdit|| item.show">常用意见</el-button> | ||
39 | </el-form-item> | ||
40 | </el-col> | ||
41 | </el-row> | ||
42 | <el-row> | ||
43 | <el-col :span="16"> | ||
44 | <el-form-item label="审查人"> | ||
45 | {{ item.shryxm }} | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | <el-col :span="8"> | ||
49 | <el-form-item disabled label="审核时间" :key="refresh"> | ||
50 | {{ item.shjssj }} | ||
51 | </el-form-item> | ||
52 | </el-col> | ||
53 | </el-row> | ||
54 | </div> | ||
55 | </div> | ||
56 | </el-form> | ||
57 | </div> | ||
58 | <div class="submit_button" v-if="viewEdit"> | ||
59 | <el-button type="primary" :disabled="shows" @click="onSubmit()">保存</el-button> | ||
60 | </div> | ||
61 | </div> | ||
62 | </div> | ||
63 | </template> | ||
64 | <script> | ||
65 | import { saveSpyjBySlsq, getSpyjList } from "@/api/opinion.js"; | ||
66 | import { mapGetters } from "vuex"; | ||
67 | import { getNewDatesh } from "@/utils/util"; | ||
68 | export default { | ||
69 | computed: { | ||
70 | ...mapGetters(["dqhj", "yjsqOptions", "userInfo"]), | ||
71 | }, | ||
72 | data () { | ||
73 | return { | ||
74 | loading: false, | ||
75 | currentindex: 0, | ||
76 | refresh: 10, | ||
77 | viewEdit: false, | ||
78 | bsmSlsq: this.$route.query.bsmSlsq, | ||
79 | bestepid: this.$route.query.bestepid, | ||
80 | propsParam: {}, | ||
81 | tableData: [], | ||
82 | shows: false, | ||
83 | }; | ||
84 | }, | ||
85 | |||
86 | watch: { | ||
87 | yjsqOptions: { | ||
88 | handler (val) { | ||
89 | this.add(val.opinion); | ||
90 | }, | ||
91 | deep: true, | ||
92 | immediate: true, | ||
93 | }, | ||
94 | dqhj: { | ||
95 | handler (val) { | ||
96 | this.propsParam = this.$attrs; | ||
97 | this.dataset() | ||
98 | this.getShList(); | ||
99 | |||
100 | }, | ||
101 | deep: true, | ||
102 | immediate: true, | ||
103 | }, | ||
104 | |||
105 | }, | ||
106 | methods: { | ||
107 | /** | ||
108 | * @description: dataset | ||
109 | * @param {*} 数据处理 | ||
110 | * @author: renchao | ||
111 | */ | ||
112 | dataset () { | ||
113 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
114 | }, | ||
115 | /** | ||
116 | * @description: getShList | ||
117 | * @param {*} obj | ||
118 | * @author: renchao | ||
119 | */ | ||
120 | getShList () { | ||
121 | this.loading = true | ||
122 | var formdata = new FormData(); | ||
123 | formdata.append("bsmBusiness", this.propsParam.bsmBusiness); | ||
124 | formdata.append("bestepid", this.$route.query.bestepid); | ||
125 | |||
126 | getSpyjList(formdata).then((res) => { | ||
127 | if (res.code === 200 && res.result) { | ||
128 | this.tableData = res.result; | ||
129 | if (this.shows) { | ||
130 | this.shows = false; | ||
131 | } | ||
132 | var index = this.tableData.findIndex( | ||
133 | (item) => item.jddm === this.$parent.dqhj | ||
134 | ); | ||
135 | if (index == -1) { | ||
136 | switch (this.$parent.dqhj) { | ||
137 | case "cs": | ||
138 | this.tableData.push({ jdmc: "初审", jddm: "cs", sxh: 1 }); | ||
139 | break; | ||
140 | case "fs": | ||
141 | this.tableData.push({ jdmc: "复审", jddm: "fs", sxh: 2 }); | ||
142 | break; | ||
143 | case "hd": | ||
144 | this.tableData.push({ jdmc: "核定", jddm: "hd", sxh: 3 }); | ||
145 | break; | ||
146 | } | ||
147 | } | ||
148 | this.tableData.forEach((item) => { | ||
149 | item.show = true; | ||
150 | if (this.$parent.dqhj == item.jddm) { | ||
151 | item["stepid"] = this.$route.query.bestepid; | ||
152 | item.shjssj = getNewDatesh(); | ||
153 | item.shkssj = getNewDatesh(); | ||
154 | item["shryxm"] = this.userInfo.name; | ||
155 | item["userid"] = this.userInfo.id; | ||
156 | item.show = false; | ||
157 | } | ||
158 | }); | ||
159 | this.loading = false | ||
160 | } | ||
161 | }) | ||
162 | }, | ||
163 | /** | ||
164 | * @description: onSubmit | ||
165 | * @author: renchao | ||
166 | */ | ||
167 | onSubmit () { | ||
168 | |||
169 | this.tableData.forEach((item, index) => { | ||
170 | item["bsmBusiness"] = this.propsParam.bsmBusiness; | ||
171 | item["czjg"] = "1"; | ||
172 | }); | ||
173 | var index = this.tableData.findIndex( | ||
174 | (item) => item.shyj == null || item.shyj == "" | ||
175 | ); | ||
176 | if (index == -1) { | ||
177 | this.shows = true; | ||
178 | saveSpyjBySlsq(this.tableData).then((res) => { | ||
179 | if (res.code === 200) { | ||
180 | this.$message.success("保存成功"); | ||
181 | this.refresh += 1; | ||
182 | this.getShList(); | ||
183 | } else { | ||
184 | this.$message.error(res.message); | ||
185 | } | ||
186 | }); | ||
187 | } else { | ||
188 | this.$message.error("意见不能为空"); | ||
189 | } | ||
190 | |||
191 | }, | ||
192 | //打开常用意见列表弹窗 | ||
193 | /** | ||
194 | * @description: 打开常用意见列表弹窗 | ||
195 | * @param {*} index | ||
196 | * @author: renchao | ||
197 | */ | ||
198 | commonOpinion (index) { | ||
199 | this.currentindex = index; | ||
200 | this.$popupDialog( | ||
201 | "常用意见", | ||
202 | "workflow/components/dialog/commonOpinion", | ||
203 | {}, | ||
204 | "70%", | ||
205 | true | ||
206 | ); | ||
207 | }, | ||
208 | /** | ||
209 | * @description: add | ||
210 | * @param {*} val | ||
211 | * @author: renchao | ||
212 | */ | ||
213 | add (val) { | ||
214 | if (val != "" && this.tableData.length > 0) { | ||
215 | this.$set(this.tableData[this.currentindex], "shyj", val); | ||
216 | } | ||
217 | }, | ||
218 | }, | ||
219 | }; | ||
220 | </script> | ||
221 | <style scoped lang="scss"> | ||
222 | @import "~@/styles/mixin.scss"; | ||
223 | |||
224 | .spyj { | ||
225 | width: 100%; | ||
226 | height: 100%; | ||
227 | background-color: #f5f5f5; | ||
228 | .box { | ||
229 | overflow-x: auto; | ||
230 | width: 100%; | ||
231 | height: 95%; | ||
232 | background: #fff; | ||
233 | text-align: center; | ||
234 | padding: 4px; | ||
235 | overflow-y: scroll; | ||
236 | padding-top: 20px; | ||
237 | padding: 20px 40px; | ||
238 | .spyj_title { | ||
239 | width: 100%; | ||
240 | height: 80px; | ||
241 | border: 1px solid $borderColor; | ||
242 | background-color: #eceef2; | ||
243 | display: flex; | ||
244 | } | ||
245 | .leftadd { | ||
246 | width: 3%; | ||
247 | height: 100%; | ||
248 | display: flex; | ||
249 | font-size: 14px; | ||
250 | text-indent: 20px; | ||
251 | align-items: center; | ||
252 | border: 1px solid $borderColor; | ||
253 | } | ||
254 | .righttitle { | ||
255 | width: 80%; | ||
256 | height: 100%; | ||
257 | line-height: 80px; | ||
258 | border: 1px solid $borderColor; | ||
259 | margin: auto; | ||
260 | font-size: 22px; | ||
261 | font-weight: 400; | ||
262 | } | ||
263 | } | ||
264 | |||
265 | /deep/.el-form-item { | ||
266 | margin-bottom: 0; | ||
267 | } | ||
268 | |||
269 | .bottom10 { | ||
270 | margin-bottom: 15px; | ||
271 | } | ||
272 | |||
273 | .spyj_form { | ||
274 | display: flex; | ||
275 | border: 1px solid $borderColor; | ||
276 | |||
277 | .item_left { | ||
278 | width: 150px; | ||
279 | background-color: #f8f8fa; | ||
280 | color: #606266; | ||
281 | display: flex; | ||
282 | font-size: 14px; | ||
283 | text-indent: 50px; | ||
284 | align-items: center; | ||
285 | border-right: 1px solid $borderColor; | ||
286 | } | ||
287 | |||
288 | .item_right { | ||
289 | flex: 1; | ||
290 | width: 100%; | ||
291 | |||
292 | /deep/.el-form-item__label { | ||
293 | background-color: #f8f8fa; | ||
294 | } | ||
295 | /deep/.el-form-item__content { | ||
296 | display: block; | ||
297 | text-align: left; | ||
298 | } | ||
299 | .opinion_item { | ||
300 | /deep/.el-form-item__error { | ||
301 | margin-top: -16px !important; | ||
302 | left: 3px; | ||
303 | } | ||
304 | border-bottom: 1px solid $borderColor; | ||
305 | } | ||
306 | |||
307 | .opinion { | ||
308 | position: relative; | ||
309 | font-size: 14px; | ||
310 | |||
311 | /deep/.el-textarea__inner { | ||
312 | border: none; | ||
313 | } | ||
314 | } | ||
315 | |||
316 | .opinion_btn { | ||
317 | position: absolute; | ||
318 | right: 15px; | ||
319 | bottom: 10px; | ||
320 | } | ||
321 | } | ||
322 | } | ||
323 | |||
324 | .submit_button { | ||
325 | text-align: center; | ||
326 | margin: 15px 0; | ||
327 | } | ||
328 | |||
329 | .el-date-editor.el-input { | ||
330 | width: 100%; | ||
331 | } | ||
332 | } | ||
333 | </style> |
1 | <template> | ||
2 | <div class="slxx swxx"> | ||
3 | <el-form | ||
4 | :model="ruleForm" | ||
5 | ref="ruleForm" | ||
6 | v-Loading="loading" | ||
7 | :label-position="flag ? 'top' : ''" | ||
8 | :inline="flag" | ||
9 | label-width="120px"> | ||
10 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
11 | <div class="slxx_title title-block"> | ||
12 | 不动产信息 | ||
13 | <div class="triangle"></div> | ||
14 | </div> | ||
15 | <el-row :gutter="10"> | ||
16 | <el-col :span="8"> | ||
17 | <el-form-item label="不动产单元号:"> | ||
18 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
19 | </el-form-item> | ||
20 | </el-col> | ||
21 | <el-col :span="8"> | ||
22 | <el-form-item label="原产证号:"> | ||
23 | <el-input disabled v-model="ruleForm.yfczh"></el-input> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | <el-col :span="8"> | ||
27 | <el-form-item label="面积(m3):"> | ||
28 | <el-input disabled v-model="ruleForm.mj"></el-input> | ||
29 | </el-form-item> | ||
30 | </el-col> | ||
31 | </el-row> | ||
32 | <el-row :gutter="10"> | ||
33 | <el-col :span="8"> | ||
34 | <el-form-item label="权利类型:"> | ||
35 | <el-input disabled v-model="ruleForm.qllxmc"></el-input> | ||
36 | </el-form-item> | ||
37 | </el-col> | ||
38 | <el-col :span="8"> | ||
39 | <el-form-item label="用途:"> | ||
40 | <el-input disabled v-model="ruleForm.yt"></el-input> | ||
41 | </el-form-item> | ||
42 | </el-col> | ||
43 | <el-col :span="8"> | ||
44 | <el-form-item label="坐落:"> | ||
45 | <el-input disabled v-model="ruleForm.zl"></el-input> | ||
46 | </el-form-item> | ||
47 | </el-col> | ||
48 | </el-row> | ||
49 | <div class="slxx_title title-block"> | ||
50 | 买方信息 | ||
51 | <div class="triangle"></div> | ||
52 | </div> | ||
53 | <lb-table :column="column" :pagination="false" :heightNumSetting="true" | ||
54 | :data="ruleForm.tableDataList"> | ||
55 | </lb-table> | ||
56 | <div class="slxx_title title-block"> | ||
57 | 卖方信息 | ||
58 | <div class="triangle"></div> | ||
59 | </div> | ||
60 | <lb-table :column="column1" :pagination="false" :heightNumSetting="true" | ||
61 | :data="ruleForm.tableDataList"> | ||
62 | </lb-table> | ||
63 | <div class="slxx_title title-block"> | ||
64 | 合同信息 | ||
65 | <div class="triangle"></div> | ||
66 | </div> | ||
67 | <el-row :gutter="10"> | ||
68 | <el-col :span="8"> | ||
69 | <el-form-item label="合同编号:"> | ||
70 | <el-input v-model="ruleForm.htbh"></el-input> | ||
71 | </el-form-item> | ||
72 | </el-col> | ||
73 | <el-col :span="8"> | ||
74 | <el-form-item label="合同金额(万元):"> | ||
75 | <el-input v-model="ruleForm.htje"></el-input> | ||
76 | </el-form-item> | ||
77 | </el-col> | ||
78 | <el-col :span="8"> | ||
79 | <el-form-item label="签订时间:"> | ||
80 | <el-date-picker | ||
81 | class="width100" | ||
82 | v-model="ruleForm.qdsj" | ||
83 | type="date" | ||
84 | placeholder="选择日期" | ||
85 | value-format="yyyy-MM-dd HH:mm:ss" | ||
86 | format="yyyy-MM-dd"> | ||
87 | </el-date-picker> | ||
88 | </el-form-item> | ||
89 | </el-col> | ||
90 | </el-row> | ||
91 | <div class="slxx_title title-block"> | ||
92 | 缴税信息 | ||
93 | <div class="triangle"></div> | ||
94 | </div> | ||
95 | <lb-table :column="column2" :pagination="false" :heightNumSetting="true" | ||
96 | :data="ruleForm.tableDataList"> | ||
97 | </lb-table> | ||
98 | </div> | ||
99 | <el-row class="btn" v-if="viewEdit"> | ||
100 | <el-form-item> | ||
101 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
102 | </el-form-item> | ||
103 | </el-row> | ||
104 | </el-form> | ||
105 | </div> | ||
106 | </template> | ||
107 | <script> | ||
108 | import { mapGetters } from "vuex"; | ||
109 | export default { | ||
110 | computed: { | ||
111 | ...mapGetters(["dictData", "flag"]), | ||
112 | }, | ||
113 | mounted () { | ||
114 | // this.loading = true | ||
115 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
116 | this.propsParam = this.$attrs; | ||
117 | var formdata = new FormData(); | ||
118 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
119 | formdata.append("djlx", this.propsParam.djlx); | ||
120 | formdata.append("isEdit", this.viewEdit); | ||
121 | // Init(formdata).then((res) => { | ||
122 | // if (res.code === 200 && res.result) { | ||
123 | // } | ||
124 | // }); | ||
125 | }, | ||
126 | data () { | ||
127 | return { | ||
128 | loading: false, | ||
129 | //表单是否可操作 | ||
130 | viewEdit: false, | ||
131 | column: [ | ||
132 | { | ||
133 | prop: "qlrxm", | ||
134 | label: "权利人姓名" | ||
135 | }, | ||
136 | { | ||
137 | prop: "gyqk", | ||
138 | label: "共有情况" | ||
139 | }, | ||
140 | { | ||
141 | prop: "zjzl", | ||
142 | label: "身份证号种类" | ||
143 | }, | ||
144 | { | ||
145 | prop: "zjhm", | ||
146 | label: "证件号码" | ||
147 | }, | ||
148 | ], | ||
149 | column1: [{ | ||
150 | prop: "ywrxm", | ||
151 | label: "义务人姓名" | ||
152 | }, | ||
153 | { | ||
154 | prop: "zjzl", | ||
155 | label: "身份证号种类" | ||
156 | }, | ||
157 | { | ||
158 | prop: "zjhm", | ||
159 | label: "证件号码" | ||
160 | }], | ||
161 | column2: [{ | ||
162 | type: 'index', | ||
163 | label: "序号", | ||
164 | width: '50' | ||
165 | }, | ||
166 | { | ||
167 | prop: "nsr", | ||
168 | label: "纳税人" | ||
169 | }, | ||
170 | { | ||
171 | prop: "sz", | ||
172 | label: "税种" | ||
173 | }, | ||
174 | { | ||
175 | prop: "jsyj", | ||
176 | label: "计税依据" | ||
177 | }, | ||
178 | { | ||
179 | prop: "sl", | ||
180 | label: "税率" | ||
181 | }, | ||
182 | { | ||
183 | prop: "jsje", | ||
184 | label: "计税金额" | ||
185 | }], | ||
186 | ruleForm: { | ||
187 | tableDataList: [] | ||
188 | } | ||
189 | } | ||
190 | }, | ||
191 | methods: { | ||
192 | onSubmit () { } | ||
193 | } | ||
194 | } | ||
195 | </script> | ||
196 | <style scoped lang="scss"> | ||
197 | @import "~@/styles/public.scss"; | ||
198 | @import "~@/styles/slxx/slxx.scss"; | ||
199 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-30 15:46:45 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="szxx"> | ||
8 | <el-card | ||
9 | :class="classJudge(item)" | ||
10 | v-for="(item, index) in tableData" | ||
11 | :key="index"> | ||
12 | <div slot="header" class="szxx_header"> | ||
13 | <span class="header_type">{{ | ||
14 | item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明" | ||
15 | }}</span> | ||
16 | <div class="header_text">{{ item.bdcqzh }}</div> | ||
17 | </div> | ||
18 | <div class="szxx_body card_padding"> | ||
19 | <div class="text color_iray"> | ||
20 | <span>{{ item.qllx }}</span> | ||
21 | </div> | ||
22 | <div class="text color_red"> | ||
23 | <span>{{ item.qlr }}</span><span class="color_iray">({{ item.qllx }})</span> | ||
24 | </div> | ||
25 | <div class="text color_iray"> | ||
26 | <span>{{ item.gyqk }}</span> | ||
27 | </div> | ||
28 | <div class="text color_red"> | ||
29 | <span>{{ item.bdcdyh }}</span> | ||
30 | </div> | ||
31 | <div class="text color_iray"> | ||
32 | <span>{{ item.zl }}</span> | ||
33 | </div> | ||
34 | <div class="text color_red"> | ||
35 | <span>{{ item.yt }}</span> | ||
36 | </div> | ||
37 | <div class="text color_iray"> | ||
38 | <span>{{ item.mj }}</span> | ||
39 | </div> | ||
40 | <div class="text color_red"> | ||
41 | <span>{{ item.syqx }}</span> | ||
42 | </div> | ||
43 | <div class="text color_iray"> | ||
44 | <span>印刷序列号:{{ item.ysxlh }}</span> | ||
45 | </div> | ||
46 | </div> | ||
47 | <div class="card_padding" v-if="viewEdit"> | ||
48 | <div class="top_line middle_margin"></div> | ||
49 | <div class="text tac" v-if="item.ysxlh"> | ||
50 | <el-button | ||
51 | class="operation_button" | ||
52 | type="text" | ||
53 | @click="openInvalidDiglog(item)">再次打印({{ item.szcs }})</el-button> | ||
54 | <el-button | ||
55 | class="operation_button" | ||
56 | type="text" | ||
57 | @click="openRecordPop(item)">缮证记录</el-button> | ||
58 | </div> | ||
59 | <div class="text tac" v-else> | ||
60 | <el-button | ||
61 | class="operation_button" | ||
62 | type="text" | ||
63 | @click="openZsylDialog(item, 2)">证书打印({{ item.szcs }})</el-button> | ||
64 | <el-button | ||
65 | class="operation_button" | ||
66 | type="text" | ||
67 | @click="openRecordPop(item)">缮证记录</el-button> | ||
68 | </div> | ||
69 | </div> | ||
70 | </el-card> | ||
71 | |||
72 | <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty> | ||
73 | </div> | ||
74 | </template> | ||
75 | <script> | ||
76 | import { mapGetters } from "vuex"; | ||
77 | import store from "@/store/index.js"; | ||
78 | import { getSlsqBdcqzList } from "@/api/bdcqz.js"; | ||
79 | export default { | ||
80 | props: {}, | ||
81 | data () { | ||
82 | return { | ||
83 | //表单是否可操作 | ||
84 | viewEdit: false, | ||
85 | dialog: false, | ||
86 | tableData: [], | ||
87 | bdcqzlx: 1, | ||
88 | bdcqz: {}, | ||
89 | }; | ||
90 | }, | ||
91 | computed: { | ||
92 | ...mapGetters(["workFresh"]), | ||
93 | }, | ||
94 | watch: { | ||
95 | workFresh: { | ||
96 | handler (newVal, oldVal) { | ||
97 | if (newVal) this.list(); | ||
98 | }, | ||
99 | }, | ||
100 | }, | ||
101 | created () { | ||
102 | this.list(); | ||
103 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | ||
104 | }, | ||
105 | methods: { | ||
106 | /** | ||
107 | * @description: 初始化列表 | ||
108 | * @author: renchao | ||
109 | */ | ||
110 | list () { | ||
111 | return new Promise((resolve, reject) => { | ||
112 | var bsmSlsq = this.$route.query.bsmSlsq; | ||
113 | getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => { | ||
114 | resolve(res.code); | ||
115 | if (res.code === 200) { | ||
116 | this.tableData = res.result; | ||
117 | if (res.result) { | ||
118 | this.bdcqz = res.result[0]; | ||
119 | } | ||
120 | } | ||
121 | }); | ||
122 | }); | ||
123 | }, | ||
124 | /** | ||
125 | * @description: 打开证书预览弹窗 | ||
126 | * @param {*} item | ||
127 | * @param {*} type | ||
128 | * @author: renchao | ||
129 | */ | ||
130 | openZsylDialog (item, type) { | ||
131 | store.dispatch("user/reWorkFresh", false); | ||
132 | if (type == 1) { | ||
133 | this.$popupDialog( | ||
134 | "证书证明预览", | ||
135 | "workflow/components/dialog/zsyl", | ||
136 | { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq }, | ||
137 | '1230px', | ||
138 | true | ||
139 | ); | ||
140 | } else { | ||
141 | this.$popupDialog( | ||
142 | "证书证明打印", | ||
143 | "workflow/components/dialog/zsdy", | ||
144 | { ...item }, | ||
145 | "76%", | ||
146 | true | ||
147 | ); | ||
148 | } | ||
149 | }, | ||
150 | /** | ||
151 | * @description: 再次打印 | ||
152 | * @param {*} item | ||
153 | * @author: renchao | ||
154 | */ | ||
155 | openInvalidDiglog (item) { | ||
156 | this.$popupDialog( | ||
157 | "证书证明打印", | ||
158 | "workflow/components/dialog/zsdy", | ||
159 | { ...item }, | ||
160 | "76%", | ||
161 | true | ||
162 | ); | ||
163 | }, | ||
164 | /** | ||
165 | * @description: openRecordPop | ||
166 | * @param {*} item | ||
167 | * @author: renchao | ||
168 | */ | ||
169 | openRecordPop (item) { | ||
170 | this.$popupDialog( | ||
171 | "缮证记录", | ||
172 | "workflow/components/dialog/szRecord", | ||
173 | { bsmBdcqz: item.bsmBdcqz }, | ||
174 | "60%", | ||
175 | true | ||
176 | ); | ||
177 | }, | ||
178 | /** | ||
179 | * @description: classJudge 判断class | ||
180 | * @param {*} item | ||
181 | * @author: renchao | ||
182 | */ | ||
183 | classJudge (item) { | ||
184 | let className = "box-card"; | ||
185 | if (item.bdcqzlx == 1) { | ||
186 | className += " zs-card"; | ||
187 | } else { | ||
188 | className += " zm-card"; | ||
189 | } | ||
190 | if (item.szcs == 0) { | ||
191 | className += " no-print"; | ||
192 | } | ||
193 | return className; | ||
194 | }, | ||
195 | }, | ||
196 | }; | ||
197 | </script> | ||
198 | <style scoped lang="scss"> | ||
199 | @import "~@/styles/public.scss"; | ||
200 | .szxx { | ||
201 | box-sizing: border-box; | ||
202 | padding-right: 15px; | ||
203 | width: 100%; | ||
204 | height: 100%; | ||
205 | overflow-y: scroll; | ||
206 | padding-bottom: 55px; | ||
207 | |||
208 | .box-card { | ||
209 | float: left; | ||
210 | width: 350px; | ||
211 | margin: 10px; | ||
212 | box-shadow: none; | ||
213 | background-image: url("~@/image/zm-bg.png"); | ||
214 | background-size: 100% 100%; | ||
215 | border: 1px solid transparent; | ||
216 | /deep/ .el-card__header { | ||
217 | padding: 12px 66px; | ||
218 | background-size: auto; | ||
219 | border-bottom: 0; | ||
220 | position: relative; | ||
221 | } | ||
222 | .szxx_header { | ||
223 | color: #8b4534; | ||
224 | } | ||
225 | .szxx_body { | ||
226 | height: 330px; | ||
227 | } | ||
228 | } | ||
229 | .zs-card { | ||
230 | border: 1px solid #a6b0be; | ||
231 | background-image: none; | ||
232 | /deep/ .el-card__header { | ||
233 | background-image: url("~@/image/zs-red.png"); | ||
234 | .szxx_header { | ||
235 | color: #ffe47c; | ||
236 | } | ||
237 | } | ||
238 | .top_line { | ||
239 | border-top: 1px solid #d3dbe5; | ||
240 | width: 330px; | ||
241 | margin: 0 auto 10px; | ||
242 | } | ||
243 | } | ||
244 | .zm-card { | ||
245 | /deep/ .el-card__header { | ||
246 | &:after { | ||
247 | content: ""; | ||
248 | display: inline-block; | ||
249 | width: 330px; | ||
250 | height: 1px; | ||
251 | background-color: #b28676; | ||
252 | position: absolute; | ||
253 | left: 10px; | ||
254 | bottom: 0; | ||
255 | } | ||
256 | } | ||
257 | } | ||
258 | .zm-card.no-print { | ||
259 | background-image: url("~@/image/zm-gray.png"); | ||
260 | |||
261 | /deep/ .el-card__header { | ||
262 | &:after { | ||
263 | background-color: #6d7278; | ||
264 | } | ||
265 | } | ||
266 | .szxx_header { | ||
267 | color: #6d7278; | ||
268 | } | ||
269 | } | ||
270 | .zs-card.no-print { | ||
271 | /deep/ .el-card__header { | ||
272 | background-image: url("~@/image/zs-gray.png"); | ||
273 | .szxx_header { | ||
274 | color: #ffffff; | ||
275 | } | ||
276 | } | ||
277 | } | ||
278 | } | ||
279 | |||
280 | .szxx_header { | ||
281 | // color: #ffffff; | ||
282 | // font-weight: bolder; | ||
283 | font-size: 16px; | ||
284 | |||
285 | .header_type { | ||
286 | display: flex; | ||
287 | justify-content: center; | ||
288 | align-content: center; | ||
289 | } | ||
290 | |||
291 | .header_text { | ||
292 | text-align: center; | ||
293 | margin-top: 2px; | ||
294 | line-height: 22px; | ||
295 | } | ||
296 | } | ||
297 | |||
298 | .text { | ||
299 | margin-bottom: 8px; | ||
300 | text-align: left; | ||
301 | text-indent: 16px; | ||
302 | } | ||
303 | .text.tac { | ||
304 | text-align: center; | ||
305 | } | ||
306 | |||
307 | .color_iray { | ||
308 | color: #6d7278; | ||
309 | } | ||
310 | |||
311 | .color_red { | ||
312 | color: #ab0c0c; | ||
313 | } | ||
314 | |||
315 | .middle_margin { | ||
316 | margin-bottom: 10px; | ||
317 | } | ||
318 | |||
319 | .operation_button { | ||
320 | border: 1px solid #5c95e5; | ||
321 | padding: 5px; | ||
322 | text-align: center; | ||
323 | } | ||
324 | |||
325 | .card_padding { | ||
326 | padding-top: 8px; | ||
327 | font-size: 14px; | ||
328 | line-height: 22px; | ||
329 | } | ||
330 | /deep/.el-card__body { | ||
331 | padding: 0px; | ||
332 | } | ||
333 | </style> |
src/views/workflow/components/th.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-08-02 14:24:20 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues"> | ||
8 | <!-- 表单部分 --> | ||
9 | <div class="from-clues-header"> | ||
10 | <div class="title">请选择要退回到的环节:</div> | ||
11 | <el-form ref="queryForm" label-width="90px"> | ||
12 | <ul style="margin-bottom: 15px"> | ||
13 | <li | ||
14 | v-for="(item, index) in dataList" | ||
15 | class="listDetail" | ||
16 | :key="index" | ||
17 | @click="changeSelectItem(item)"> | ||
18 | <p class="icon"> | ||
19 | <el-radio | ||
20 | v-model="selectActivity" | ||
21 | :label="item.activityId" | ||
22 | @change="changeSelectItem(item)"></el-radio> | ||
23 | </p> | ||
24 | <p>{{ item.activityName }}</p> | ||
25 | <p v-for="(child, childIndex) in item.assignee" :key="childIndex"> | ||
26 | {{ child.name }} | ||
27 | </p> | ||
28 | </li> | ||
29 | </ul> | ||
30 | <div class="title">退回意见:</div> | ||
31 | <el-form-item> | ||
32 | <el-input | ||
33 | class="textArea" | ||
34 | type="textarea" | ||
35 | v-model="outstepopinion" | ||
36 | placeholder="请输入退回意见"></el-input> | ||
37 | </el-form-item> | ||
38 | <el-form-item> | ||
39 | <el-button style="float:right" @click="cancelBack">取消</el-button> | ||
40 | <el-button type="primary" @click="onSubmit" style="float:right">退回</el-button> | ||
41 | </el-form-item> | ||
42 | </el-form> | ||
43 | </div> | ||
44 | </div> | ||
45 | </template> | ||
46 | |||
47 | <script> | ||
48 | |||
49 | import { getTaskBackNode, sendBackTask } from "@/api/workFlow.js" | ||
50 | import { popupCacel } from "@/utils/popup.js"; | ||
51 | |||
52 | export default { | ||
53 | props: { | ||
54 | formData: { | ||
55 | type: Object, | ||
56 | default: {}, | ||
57 | }, | ||
58 | }, | ||
59 | data () { | ||
60 | return { | ||
61 | selectActivity: "", | ||
62 | dataList: [], | ||
63 | outstepopinion: "", | ||
64 | selectItem: {}, | ||
65 | }; | ||
66 | }, | ||
67 | created () { | ||
68 | this.getBackNode(); | ||
69 | }, | ||
70 | methods: { | ||
71 | /** | ||
72 | * @description: onSubmit | ||
73 | * @author: renchao | ||
74 | */ | ||
75 | onSubmit () { | ||
76 | if (!this.outstepopinion) { | ||
77 | this.$message.error("请填写退回意见"); | ||
78 | } else { | ||
79 | sendBackTask({ | ||
80 | bsmSlsq: this.formData.bsmSlsq, | ||
81 | backNodeList: [this.selectItem], | ||
82 | message: this.outstepopinion | ||
83 | }).then((res) => { | ||
84 | if (res.code == 200) { | ||
85 | this.$message.success("退回成功"); | ||
86 | setTimeout(() => { | ||
87 | if (window.opener && window.opener.getBpageList) { | ||
88 | window.opener.getBpageList(); | ||
89 | } else { | ||
90 | window.opener.frames[0].getBpageList(); | ||
91 | } | ||
92 | window.close(); | ||
93 | this.$emit("input", false); | ||
94 | }, 1000); | ||
95 | } else { | ||
96 | this.$message.error(res.message); | ||
97 | } | ||
98 | }); | ||
99 | } | ||
100 | }, | ||
101 | /** | ||
102 | * @description: changeSelectItem | ||
103 | * @param {*} item | ||
104 | * @author: renchao | ||
105 | */ | ||
106 | changeSelectItem (item) { | ||
107 | this.selectItem = item; | ||
108 | this.selectActivity = item.activityId; | ||
109 | }, | ||
110 | //获取可回退环节信息 | ||
111 | /** | ||
112 | * @description: 获取可回退环节信息 | ||
113 | * @author: renchao | ||
114 | */ | ||
115 | getBackNode () { | ||
116 | getTaskBackNode(this.formData).then((res) => { | ||
117 | if (res.code == 200) { | ||
118 | this.dataList = res.result; | ||
119 | console.log("this.dataList", this.dataList); | ||
120 | if (res.result) { | ||
121 | this.selectActivity = res.result[0].activityId; | ||
122 | this.selectItem = res.result[0]; | ||
123 | } | ||
124 | } | ||
125 | }); | ||
126 | }, | ||
127 | |||
128 | /** | ||
129 | * @description: cancelBack | ||
130 | * @author: renchao | ||
131 | */ | ||
132 | cancelBack () { | ||
133 | popupCacel(); | ||
134 | } | ||
135 | } | ||
136 | } | ||
137 | </script> | ||
138 | <style scoped lang="scss"> | ||
139 | @import "~@/styles/mixin.scss"; | ||
140 | |||
141 | .listDetail { | ||
142 | display: flex; | ||
143 | align-items: center; | ||
144 | width: 100%; | ||
145 | |||
146 | p { | ||
147 | line-height: 30px; | ||
148 | height: 30px; | ||
149 | @include flex-center; | ||
150 | flex: 1; | ||
151 | width: 100%; | ||
152 | border: 1px solid rgb(233, 235, 237); | ||
153 | margin-top: -1px; | ||
154 | margin-left: -1px; | ||
155 | } | ||
156 | |||
157 | .icon { | ||
158 | flex: 0 0 60px; | ||
159 | } | ||
160 | } | ||
161 | |||
162 | .title { | ||
163 | margin-bottom: 10px; | ||
164 | } | ||
165 | |||
166 | .textArea { | ||
167 | /deep/.el-textarea__inner { | ||
168 | min-height: 90px !important; | ||
169 | } | ||
170 | } | ||
171 | /deep/.el-radio .el-radio__label { | ||
172 | display: none; | ||
173 | } | ||
174 | </style> |
src/views/workflow/components/zc.vue
deleted
100644 → 0
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2024-01-19 16:43:43 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="from-clues"> | ||
8 | <!-- 表单部分 --> | ||
9 | <div class="from-clues-header"> | ||
10 | <el-form ref="queryForm" label-width="180px" v-if="this.formData.obj"> | ||
11 | <el-form-item label="下一环节名称:"> | ||
12 | {{ this.formData.obj.taskName }} | ||
13 | </el-form-item> | ||
14 | <el-form-item label="下一环节办理人:"> | ||
15 | {{ this.formData.obj.usernames.join(",") }} | ||
16 | </el-form-item> | ||
17 | </el-form> | ||
18 | <el-form ref="queryForm" label-width="180px" v-else> | ||
19 | <el-form-item label=""> | ||
20 | 此环节为流程最后环节,转出后流程将结束 | ||
21 | </el-form-item> | ||
22 | </el-form> | ||
23 | <div class="invalid-reson">审批意见:</div> | ||
24 | <el-input | ||
25 | class="opinion" | ||
26 | v-model="shyj" | ||
27 | placeholder="请输入审批意见" | ||
28 | type="textarea" | ||
29 | :rows="4"></el-input> | ||
30 | <!-- <el-button | ||
31 | class="opinion_btn" | ||
32 | @click="commonOpinion" | ||
33 | >常用意见</el-button | ||
34 | > --> | ||
35 | <el-button style="float: right" @click="cancelBack">取消转出</el-button> | ||
36 | <el-button type="primary" @click="submitForm" :loading="loading" style="float: right">确定转出</el-button> | ||
37 | </div> | ||
38 | </div> | ||
39 | </template> | ||
40 | |||
41 | <script> | ||
42 | import { completeTask, getNextLinkInfo } from "@/api/workFlow.js"; | ||
43 | import { popupCacel } from "@/utils/popup.js"; | ||
44 | import { mapGetters } from 'vuex' | ||
45 | export default { | ||
46 | components: {}, | ||
47 | |||
48 | props: { | ||
49 | formData: { | ||
50 | type: Object, | ||
51 | default: {}, | ||
52 | }, | ||
53 | }, | ||
54 | computed: { | ||
55 | ...mapGetters(['yjsqOptions']) | ||
56 | }, | ||
57 | data () { | ||
58 | return { | ||
59 | loading: false, | ||
60 | queryForm: {}, | ||
61 | shyj: "", | ||
62 | }; | ||
63 | }, | ||
64 | |||
65 | watch: { | ||
66 | // yjsqOptions: { | ||
67 | // handler (val) { | ||
68 | // if(val){ | ||
69 | // this.shyj = val | ||
70 | // } | ||
71 | |||
72 | // }, | ||
73 | // }, | ||
74 | }, | ||
75 | mounted () { | ||
76 | // this.queryForm= this.queryForm.obj | ||
77 | }, | ||
78 | methods: { | ||
79 | /** | ||
80 | * @description: submitForm | ||
81 | * @author: renchao | ||
82 | */ | ||
83 | commonOpinion () { | ||
84 | this.$popupDialog( | ||
85 | "常用意见", | ||
86 | "workflow/components/dialog/commonOpinion", | ||
87 | {}, | ||
88 | "70%", | ||
89 | true | ||
90 | ); | ||
91 | }, | ||
92 | submitForm () { | ||
93 | this.loading = true | ||
94 | this.queryForm = { | ||
95 | bsmSlsq: this.formData.bsmSlsq, | ||
96 | shyj: this.shyj, | ||
97 | stepform: JSON.stringify(this.formData.tabList), | ||
98 | }; | ||
99 | completeTask(this.queryForm).then((res) => { | ||
100 | this.loading = false | ||
101 | if (res.code === 200) { | ||
102 | this.$message.success("转件成功"); | ||
103 | popupCacel(); | ||
104 | setTimeout(() => { | ||
105 | window.close(); | ||
106 | this.$emit("input", false); | ||
107 | if (window.opener && window.opener.getBpageList) { | ||
108 | window.opener.getBpageList(); | ||
109 | } else { | ||
110 | window.opener.frames[0].getBpageList(); | ||
111 | } | ||
112 | }, 360); | ||
113 | } else { | ||
114 | this.$message.error(res.message); | ||
115 | } | ||
116 | }).catch(() => { | ||
117 | this.loading = false | ||
118 | }) | ||
119 | }, | ||
120 | |||
121 | /** | ||
122 | * @description: closeDialog | ||
123 | * @author: renchao | ||
124 | */ | ||
125 | cancelBack () { | ||
126 | popupCacel(); | ||
127 | }, | ||
128 | }, | ||
129 | }; | ||
130 | </script> | ||
131 | <style scoped lang="scss"> | ||
132 | @import "~@/styles/mixin.scss"; | ||
133 | .el-button { | ||
134 | margin-top: 20px; | ||
135 | margin-right: 10px; | ||
136 | } | ||
137 | |||
138 | .opinion { | ||
139 | position: relative; | ||
140 | font-size: 14px; | ||
141 | } | ||
142 | |||
143 | .opinion_btn { | ||
144 | position: absolute; | ||
145 | right: 35px; | ||
146 | bottom: 80px; | ||
147 | } | ||
148 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-18 14:06:16 | ||
5 | --> | ||
6 | <template> | ||
7 | <div style="width:100%;height:100%;"> | ||
8 | <canvas id="mxcad" style="width:100%;height:100%;"> | ||
9 | </canvas> | ||
10 | </div> | ||
11 | </template> | ||
12 | <script> | ||
13 | import Mx from "mxdraw" | ||
14 | export default { | ||
15 | mounted () { | ||
16 | // 动态加载 js库核心代码 | ||
17 | Mx.loadCoreCode().then(() => { | ||
18 | // Mx.MxFun.setMxServer("ws://localhost:5090") // 开启socket通信 可编辑图纸 | ||
19 | // 创建控件对象 | ||
20 | Mx.MxFun.createMxObject({ | ||
21 | canvasId: "mxcad", // canvas元素的id | ||
22 | cadFile: "buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸 | ||
23 | callback: (mxDraw, { | ||
24 | canvas, | ||
25 | canvasParent | ||
26 | }) => { | ||
27 | // 可以拿到canvas元素和它的父级元素 | ||
28 | // 拿到图层数据 | ||
29 | mxDraw.addEvent('uiSetLayerData', (listLayer) => { | ||
30 | console.log(listLayer) | ||
31 | }) | ||
32 | }, | ||
33 | isNewFile: true // 是否新建文件 | ||
34 | }) | ||
35 | }) | ||
36 | }, | ||
37 | } | ||
38 | </script> | ||
39 | <style scoped lang="scss"> | ||
40 | #mxcad { | ||
41 | pointer-events: none; | ||
42 | } | ||
43 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-08-29 12:55:07 | ||
5 | */ | ||
6 | import filter from '@/utils/filter.js' | ||
7 | let vm = null | ||
8 | |||
9 | const sendThis = (_this) => { | ||
10 | vm = _this | ||
11 | } | ||
12 | class data extends filter { | ||
13 | constructor() { | ||
14 | super() | ||
15 | } | ||
16 | columns () { | ||
17 | return { | ||
18 | //发证列表 | ||
19 | fzgrid: [ | ||
20 | { | ||
21 | label: '序号', | ||
22 | type: 'index', | ||
23 | width: '50' | ||
24 | }, | ||
25 | { | ||
26 | prop: "fzrmc", | ||
27 | label: "发证人" | ||
28 | }, | ||
29 | { | ||
30 | prop: "bdcqzlx", | ||
31 | label: "不动产权证类型", | ||
32 | width: '130', | ||
33 | render: (h, scope) => { | ||
34 | return ( | ||
35 | <div> | ||
36 | <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span> | ||
37 | <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span> | ||
38 | </div> | ||
39 | ) | ||
40 | } | ||
41 | }, | ||
42 | { | ||
43 | label: "权利类型", | ||
44 | width: '100', | ||
45 | render: (h, scope) => { | ||
46 | return ( | ||
47 | <el-tooltip effect="dark" content={scope.row.qllx} placement="top" popper-class="tooltip-width "> | ||
48 | <span class="ellipsis-table"> {scope.row.qllx}</span> | ||
49 | </el-tooltip> | ||
50 | ) | ||
51 | } | ||
52 | }, | ||
53 | { | ||
54 | label: "面积(㎡)", | ||
55 | width: '100', | ||
56 | render: (h, scope) => { | ||
57 | return ( | ||
58 | <el-tooltip effect="dark" content={scope.row.mj} placement="top" popper-class="tooltip-width "> | ||
59 | <span class="ellipsis-table"> {scope.row.mj}</span> | ||
60 | </el-tooltip> | ||
61 | ) | ||
62 | } | ||
63 | }, | ||
64 | { | ||
65 | prop: "fzsj", | ||
66 | label: "发证时间", | ||
67 | width: '140', | ||
68 | }, | ||
69 | { | ||
70 | prop: "lzrxm", | ||
71 | label: "领证人姓名" | ||
72 | }, | ||
73 | ], | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | let datas = new data() | ||
78 | export { | ||
79 | datas, | ||
80 | sendThis | ||
81 | } |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-05-17 10:39:03 | ||
5 | */ | ||
6 | import filter from '@/utils/filter.js' | ||
7 | let vm = null | ||
8 | |||
9 | const sendThis = (_this) => { | ||
10 | vm = _this | ||
11 | } | ||
12 | class data extends filter { | ||
13 | constructor() { | ||
14 | super() | ||
15 | } | ||
16 | columns () { | ||
17 | return [ | ||
18 | { | ||
19 | width:"50px", | ||
20 | label: '序号', | ||
21 | type: 'index', | ||
22 | render: (h, scope) => { | ||
23 | return ( | ||
24 | <div> | ||
25 | {scope.$index + 1} | ||
26 | </div> | ||
27 | ) | ||
28 | } | ||
29 | }, | ||
30 | { | ||
31 | prop: "szry", | ||
32 | label: "缮证人员", | ||
33 | }, | ||
34 | { | ||
35 | prop: "szsj", | ||
36 | label: "缮证时间", | ||
37 | }, | ||
38 | { | ||
39 | label: "是否作废", | ||
40 | render: (h, scope) => { | ||
41 | if (scope.row.sfzf == '0') { | ||
42 | return <div>否</div> | ||
43 | } else { | ||
44 | return <div>已作废</div> | ||
45 | } | ||
46 | } | ||
47 | }, | ||
48 | { | ||
49 | prop: "bz", | ||
50 | label: "备注信息", | ||
51 | }, | ||
52 | ] | ||
53 | } | ||
54 | } | ||
55 | let szxxdatas = new data() | ||
56 | export { | ||
57 | szxxdatas, | ||
58 | sendThis | ||
59 | } |
-
Please register or sign in to post a comment