Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
54 changed files
with
3081 additions
and
1215 deletions
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-05-16 14:05:25 | 4 | * @LastEditTime: 2023-09-15 09:32:40 |
5 | */ | 5 | */ |
6 | import request from '@/utils/request' | 6 | import request from '@/utils/request' |
7 | import { log } from 'bpmn-js-token-simulation' | 7 | import { log } from 'bpmn-js-token-simulation' |
... | @@ -25,7 +25,7 @@ export function addRepairRecord (data) { | ... | @@ -25,7 +25,7 @@ export function addRepairRecord (data) { |
25 | */ | 25 | */ |
26 | export function deleteFlow (params) { | 26 | export function deleteFlow (params) { |
27 | return request({ | 27 | return request({ |
28 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq='+params, | 28 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq=' + params, |
29 | method: 'get', | 29 | method: 'get', |
30 | }) | 30 | }) |
31 | } | 31 | } |
... | @@ -37,7 +37,7 @@ export function deleteFlow (params) { | ... | @@ -37,7 +37,7 @@ export function deleteFlow (params) { |
37 | */ | 37 | */ |
38 | export function deleteRepairRecord (params) { | 38 | export function deleteRepairRecord (params) { |
39 | return request({ | 39 | return request({ |
40 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair='+params, | 40 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair=' + params, |
41 | method: 'get', | 41 | method: 'get', |
42 | }) | 42 | }) |
43 | } | 43 | } |
... | @@ -49,7 +49,7 @@ export function deleteRepairRecord (params) { | ... | @@ -49,7 +49,7 @@ export function deleteRepairRecord (params) { |
49 | */ | 49 | */ |
50 | export function init (params) { | 50 | export function init (params) { |
51 | return request({ | 51 | return request({ |
52 | url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair='+params.bsmRepair+'&isEdit='+params.isEdit, | 52 | url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair=' + params.bsmRepair + '&isEdit=' + params.isEdit, |
53 | method: 'get', | 53 | method: 'get', |
54 | }) | 54 | }) |
55 | } | 55 | } |
... | @@ -61,7 +61,7 @@ export function init (params) { | ... | @@ -61,7 +61,7 @@ export function init (params) { |
61 | */ | 61 | */ |
62 | export function leftMenubl (params) { | 62 | export function leftMenubl (params) { |
63 | return request({ | 63 | return request({ |
64 | url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq='+params, | 64 | url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq=' + params, |
65 | method: 'get', | 65 | method: 'get', |
66 | params | 66 | params |
67 | }) | 67 | }) |
... | @@ -110,7 +110,7 @@ export function getZtQlxx (params) { | ... | @@ -110,7 +110,7 @@ export function getZtQlxx (params) { |
110 | * @param {*} data | 110 | * @param {*} data |
111 | * @author: renchao | 111 | * @author: renchao |
112 | */ | 112 | */ |
113 | export function startBusinessFlow (data) { | 113 | export function startBusinessFlow (data) { |
114 | return request({ | 114 | return request({ |
115 | url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow', | 115 | url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow', |
116 | method: 'post', | 116 | method: 'post', |
... | @@ -122,7 +122,7 @@ export function getZtQlxx (params) { | ... | @@ -122,7 +122,7 @@ export function getZtQlxx (params) { |
122 | * @param {*} data | 122 | * @param {*} data |
123 | * @author: renchao | 123 | * @author: renchao |
124 | */ | 124 | */ |
125 | export function addidea (data) { | 125 | export function addidea (data) { |
126 | return request({ | 126 | return request({ |
127 | url: SERVER.SERVERAPI + '/rest/djbRepair/sh', | 127 | url: SERVER.SERVERAPI + '/rest/djbRepair/sh', |
128 | method: 'post', | 128 | method: 'post', |
... | @@ -134,9 +134,9 @@ export function getZtQlxx (params) { | ... | @@ -134,9 +134,9 @@ export function getZtQlxx (params) { |
134 | * @param {*} data | 134 | * @param {*} data |
135 | * @author: renchao | 135 | * @author: renchao |
136 | */ | 136 | */ |
137 | export function getShList (data) { | 137 | export function getShList (data) { |
138 | return request({ | 138 | return request({ |
139 | url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair='+data.bsmRepair, | 139 | url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair=' + data.bsmRepair, |
140 | method: 'post', | 140 | method: 'post', |
141 | data | 141 | data |
142 | }) | 142 | }) |
... | @@ -147,10 +147,24 @@ export function getZtQlxx (params) { | ... | @@ -147,10 +147,24 @@ export function getZtQlxx (params) { |
147 | * @param {*} data | 147 | * @param {*} data |
148 | * @author: renchao | 148 | * @author: renchao |
149 | */ | 149 | */ |
150 | export function getQlxxByQlxxBsm (params) { | 150 | export function getQlxxByQlxxBsm (params) { |
151 | return request({ | 151 | return request({ |
152 | url: SERVER.SERVERAPI + '/rest/djbRepair/getQlxxByQlxxBsm', | 152 | url: SERVER.SERVERAPI + '/rest/djbRepair/getQlxxByQlxxBsm', |
153 | method: 'get', | 153 | method: 'get', |
154 | params | 154 | params |
155 | }) | 155 | }) |
156 | } | 156 | } |
157 | |||
158 | |||
159 | /** | ||
160 | * @description: 初始化材料信息 | ||
161 | * @param {*} data | ||
162 | * @author: renchao | ||
163 | */ | ||
164 | export function repairInitClml (data) { | ||
165 | return request({ | ||
166 | url: SERVER.SERVERAPI + '/rest/djbRepair/repairInitClml', | ||
167 | method: 'post', | ||
168 | data | ||
169 | }) | ||
170 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-11 10:01:32 | 4 | * @LastEditTime: 2023-09-14 16:21:51 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <el-image-viewer :on-close="closeViewer" :url-list="urlList"> | 7 | <el-image-viewer :on-close="closeViewer" :url-list="urlList" :initial-index="initialIndex"> |
8 | </el-image-viewer> | 8 | </el-image-viewer> |
9 | </template> | 9 | </template> |
10 | <script> | 10 | <script> |
... | @@ -19,6 +19,10 @@ | ... | @@ -19,6 +19,10 @@ |
19 | default: function () { | 19 | default: function () { |
20 | return [] | 20 | return [] |
21 | } | 21 | } |
22 | }, | ||
23 | initialIndex: { | ||
24 | type: Number, | ||
25 | default: 0 | ||
22 | } | 26 | } |
23 | }, | 27 | }, |
24 | data () { | 28 | data () { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-11 10:18:11 | 4 | * @LastEditTime: 2023-09-14 17:11:15 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <transition name="msgbox-fade"> | 7 | <transition name="msgbox-fade"> |
... | @@ -160,7 +160,7 @@ | ... | @@ -160,7 +160,7 @@ |
160 | .mask-content { | 160 | .mask-content { |
161 | padding: 5px 20px 30px 20px; | 161 | padding: 5px 20px 30px 20px; |
162 | width: 100%; | 162 | width: 100%; |
163 | min-height: 20%; | 163 | min-height: 253px; |
164 | max-height: 90vh; | 164 | max-height: 90vh; |
165 | overflow-y: scroll; | 165 | overflow-y: scroll; |
166 | } | 166 | } | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 15:36:42 | 4 | * @LastEditTime: 2023-09-14 16:16:57 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="rlPopup"> | 7 | <div class="rlPopup"> |
... | @@ -148,6 +148,7 @@ | ... | @@ -148,6 +148,7 @@ |
148 | } else { | 148 | } else { |
149 | this.previewImg.index = this.previewImg.index + 1 | 149 | this.previewImg.index = this.previewImg.index + 1 |
150 | } | 150 | } |
151 | this.initialIndex = this.previewImg.index | ||
151 | this.$emit('updateList', { children: res.result, bsmSj: this.previewImg.bsmSj }) | 152 | this.$emit('updateList', { children: res.result, bsmSj: this.previewImg.bsmSj }) |
152 | this.$message({ | 153 | this.$message({ |
153 | message: '移动成功!', | 154 | message: '移动成功!', |
... | @@ -234,6 +235,7 @@ | ... | @@ -234,6 +235,7 @@ |
234 | */ | 235 | */ |
235 | showCurrent (index) { | 236 | showCurrent (index) { |
236 | this.previewImg.index = index | 237 | this.previewImg.index = index |
238 | this.initialIndex = index | ||
237 | }, | 239 | }, |
238 | /** | 240 | /** |
239 | * @description: closeViewer | 241 | * @description: closeViewer | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-07 15:04:46 | ||
5 | --> | ||
6 | <template> | ||
7 | <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
8 | :isFullscreen="false"> | ||
9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px"> | ||
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 cllxList" :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-form> | ||
28 | </dialogBox> | ||
29 | </template> | ||
30 | <script> | ||
31 | import store from '@/store/index.js' | ||
32 | export default { | ||
33 | props: { | ||
34 | value: { type: Boolean, default: false }, | ||
35 | }, | ||
36 | data () { | ||
37 | return { | ||
38 | cllxList: store.getters.dictData['A40'], | ||
39 | myValue: this.value, | ||
40 | ruleForm: { | ||
41 | cllx: "", | ||
42 | clmc: "", | ||
43 | }, | ||
44 | rules: { | ||
45 | cllx: [ | ||
46 | { required: true, message: '请选择材料类型', trigger: 'change' } | ||
47 | ], | ||
48 | clmc: [ | ||
49 | { required: true, message: '请输入材料名称', trigger: 'blur' } | ||
50 | ] | ||
51 | } | ||
52 | } | ||
53 | }, | ||
54 | watch: { | ||
55 | value (val) { | ||
56 | this.myValue = val; | ||
57 | }, | ||
58 | }, | ||
59 | methods: { | ||
60 | /** | ||
61 | * @description: closeDialog | ||
62 | * @author: renchao | ||
63 | */ | ||
64 | closeDialog () { | ||
65 | this.$emit("input", false); | ||
66 | this.ruleForm = { | ||
67 | cllx: "", | ||
68 | clmc: "", | ||
69 | } | ||
70 | }, | ||
71 | /** | ||
72 | * @description: handleSubmit | ||
73 | * @author: renchao | ||
74 | */ | ||
75 | handleSubmit () { | ||
76 | this.$refs['ruleForm'].validate((valid) => { | ||
77 | if (valid) { | ||
78 | this.$parent.addSave(this.ruleForm); | ||
79 | this.ruleForm = { | ||
80 | cllx: "", | ||
81 | clmc: "", | ||
82 | } | ||
83 | this.$emit("input", false); | ||
84 | } else { | ||
85 | return false; | ||
86 | } | ||
87 | }) | ||
88 | } | ||
89 | } | ||
90 | }; | ||
91 | </script> | ||
92 | <style scoped lang="scss"> | ||
93 | .submit-button { | ||
94 | text-align: center; | ||
95 | height: 52px; | ||
96 | padding-top: 10px; | ||
97 | background-color: #fff; | ||
98 | } | ||
99 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-14 11:14:54 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clmlmx-box"> | ||
8 | <lb-table :column="column" :key="key" row-key="bsmMaterial" ref="listTable" :heightNumSetting="true" :calcHeight="500" :pagination="false" | ||
9 | :data="tableData"> | ||
10 | </lb-table> | ||
11 | <div class="text-center"> | ||
12 | <el-button @click="handleCancel">取消</el-button> | ||
13 | <el-button type="primary" @click="handleSubmit" :loading="loading">保存</el-button> | ||
14 | </div> | ||
15 | </div> | ||
16 | </template> | ||
17 | <script> | ||
18 | import store from '@/store/index.js' | ||
19 | import Sortable from 'sortablejs' | ||
20 | import { ywPopupCacel } from "@/utils/popup.js"; | ||
21 | import { editCompanyMaterialList } from "@/api/company.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 | label: "材料名称", | ||
38 | render: (h, scope) => { | ||
39 | return ( | ||
40 | (scope.row.sfxjcl == '1') ? | ||
41 | <el-input value={scope.row.clmc} onInput={(val) => { scope.row.clmc = val }}></el-input> : <span>{scope.row.clmc}</span> | ||
42 | ) | ||
43 | } | ||
44 | }, | ||
45 | { | ||
46 | label: "材料类型", | ||
47 | width: "110", | ||
48 | render: (h, scope) => { | ||
49 | return ( | ||
50 | <el-select value={scope.row.cllx} | ||
51 | onChange={(val) => { scope.row.cllx = val }}> | ||
52 | { | ||
53 | store.getters.dictData['A40'].map(option => { | ||
54 | return ( | ||
55 | <el-option label={option.dname} value={option.dcode}></el-option> | ||
56 | ) | ||
57 | }) | ||
58 | } | ||
59 | </el-select> | ||
60 | ) | ||
61 | } | ||
62 | }, | ||
63 | { | ||
64 | label: "页数", | ||
65 | width: "80", | ||
66 | render: (h, scope) => { | ||
67 | if (scope.row.count && scope.row.count > 0) { | ||
68 | return ( | ||
69 | <div> | ||
70 | <span>{scope.row.count}</span> | ||
71 | </div> | ||
72 | ); | ||
73 | } else { | ||
74 | return ( | ||
75 | <div> | ||
76 | <span>0</span> | ||
77 | </div> | ||
78 | ); | ||
79 | } | ||
80 | }, | ||
81 | }, | ||
82 | { | ||
83 | label: "操作", | ||
84 | width: "100", | ||
85 | render: (h, scope) => { | ||
86 | return ( | ||
87 | <el-button | ||
88 | type="text" | ||
89 | icon="el-icon-delete" | ||
90 | disabled={scope.row.count != 0} | ||
91 | onClick={() => { | ||
92 | this.handleDelete(scope.$index, scope.row); | ||
93 | }} | ||
94 | > | ||
95 | 删除 | ||
96 | </el-button> | ||
97 | ) | ||
98 | } | ||
99 | } | ||
100 | ], | ||
101 | key: 0, | ||
102 | tableData: [] | ||
103 | } | ||
104 | }, | ||
105 | mounted () { | ||
106 | this.initSort() | ||
107 | this.tableData = _.cloneDeep(this.formData.data) | ||
108 | }, | ||
109 | beforeDestroy () { | ||
110 | if (this.sortable) { | ||
111 | this.sortable.destroy(); | ||
112 | } | ||
113 | }, | ||
114 | watch: { | ||
115 | 'formData.data': { | ||
116 | handler: function (val, oldVal) { | ||
117 | this.tableData = _.cloneDeep(val) | ||
118 | }, | ||
119 | immediate: true, | ||
120 | deep: true | ||
121 | } | ||
122 | }, | ||
123 | methods: { | ||
124 | handleCancel () { | ||
125 | ywPopupCacel() | ||
126 | }, | ||
127 | handleSubmit () { | ||
128 | this.loading = true | ||
129 | store.dispatch('user/reWorkFresh', false) | ||
130 | editCompanyMaterialList(this.tableData, this.formData.bsmCompany).then(res => { | ||
131 | this.loading = false | ||
132 | if (res.code == 200) { | ||
133 | this.$message({ | ||
134 | message: '保存成功', | ||
135 | type: 'success' | ||
136 | }) | ||
137 | store.dispatch('user/reWorkFresh', true) | ||
138 | ywPopupCacel() | ||
139 | } | ||
140 | }).catch(() => { | ||
141 | this.loading = false | ||
142 | }) | ||
143 | }, | ||
144 | /** | ||
145 | * @description: 材料目录删除 | ||
146 | * @param {*} index | ||
147 | * @param {*} row | ||
148 | * @author: renchao | ||
149 | */ | ||
150 | handleDelete (index, row) { | ||
151 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
152 | confirmButtonText: '确定', | ||
153 | cancelButtonText: '取消', | ||
154 | type: 'warning' | ||
155 | }).then(() => { | ||
156 | this.tableData.splice(index, 1); | ||
157 | }).catch(() => { | ||
158 | this.$message({ | ||
159 | type: 'info', | ||
160 | message: '已取消删除' | ||
161 | }) | ||
162 | }) | ||
163 | }, | ||
164 | initSort () { | ||
165 | const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0] | ||
166 | this.sortable = Sortable.create(el, { | ||
167 | ghostClass: 'sortable-ghost', | ||
168 | setData: function (dataTransfer) { | ||
169 | dataTransfer.setData('Text', '') | ||
170 | }, | ||
171 | onEnd: evt => { | ||
172 | const targetRow = this.tableData.splice(evt.oldIndex, 1)[0]; | ||
173 | this.tableData.splice(evt.newIndex, 0, targetRow); | ||
174 | } | ||
175 | }) | ||
176 | } | ||
177 | } | ||
178 | } | ||
179 | </script> | ||
180 | <style scoped lang='scss'> | ||
181 | @import "~@/styles/mixin.scss"; | ||
182 | .clmlmx-box { | ||
183 | margin: 0 auto; | ||
184 | .title { | ||
185 | text-align: center; | ||
186 | height: 60px; | ||
187 | line-height: 60px; | ||
188 | border: 1px solid #dfe6ec; | ||
189 | font-size: 20px; | ||
190 | background: #81d3f81a; | ||
191 | margin-bottom: -1px; | ||
192 | } | ||
193 | } | ||
194 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-14 16:24:07 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="rlPopup"> | ||
8 | <div class="prev handle-btn" v-if="!isScan" @click="prev()"> | ||
9 | <i class="el-icon-arrow-left"></i> | ||
10 | </div> | ||
11 | <div class="next handle-btn" v-if="!isScan" @click="next()"> | ||
12 | <i class="el-icon-arrow-right"></i> | ||
13 | </div> | ||
14 | <div class="img-list-wrap" v-Loading="loading"> | ||
15 | <img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪"> | ||
16 | <div v-for="(img, i) in previewImg.imgList" :key="i" v-else> | ||
17 | <photo-zoom :url="img.fileurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2" | ||
18 | overlayStyle="width: 100%;height:100%"> | ||
19 | </photo-zoom> | ||
20 | </div> | ||
21 | </div> | ||
22 | <!--缩略图--> | ||
23 | <div class="thumb-wrap"> | ||
24 | <div class="thumb-wrap-button"> | ||
25 | <el-button type="primary" @click="clickImage" v-if="previewImg.imgList.length>0">(放大) 显示(缩小)</el-button> | ||
26 | <el-upload class="fileUpdate" ref="upload" :key="key" action="" :show-file-list="false" :multiple="true" :auto-upload="false" | ||
27 | :on-change="handleChange" | ||
28 | accept=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg"> | ||
29 | <el-button icon="el-icon-upload" type="primary" v-if="ableOperation">上传</el-button> | ||
30 | </el-upload> | ||
31 | <!-- 左移右移 --> | ||
32 | <el-button type="primary" @click="handleMove('left')" v-if="ableOperation">左移</el-button> | ||
33 | <el-button type="primary" @click="handleMove('right')" v-if="ableOperation">右移</el-button> | ||
34 | <el-button type="primary" icon="el-icon-delete-solid" @click="handleDelete" | ||
35 | v-if="thumbnailImages.length>0 && ableOperation">删除</el-button> | ||
36 | <div v-if="ableOperation" class="pl-5"> | ||
37 | <el-button type="primary" @click="handleOpenScan" v-if="ableOperation" :loading="loading">{{scanTitle}}</el-button> | ||
38 | <el-button type="primary" @click="handleViewScan" v-if="isScan && ableOperation">拍照</el-button> | ||
39 | </div> | ||
40 | </div> | ||
41 | <ul> | ||
42 | <li v-for="(img, index) in thumbnailImages" :key="index" :class="{ active: previewImg.index === index }" | ||
43 | @click="showCurrent(index)"> | ||
44 | <img :src="img.fileurl"> | ||
45 | </li> | ||
46 | </ul> | ||
47 | </div> | ||
48 | <!-- 点开后的视图 --> | ||
49 | <publicPicture v-if="showViewer" :url-list="allLi" :initialIndex="initialIndex" @close-viewer="closeViewer"> | ||
50 | </publicPicture> | ||
51 | </div> | ||
52 | </template> | ||
53 | <script> | ||
54 | import PhotoZoom from '@/components/PhotoZoom' | ||
55 | import { getAltimeterInfo, getUuid } from '@/utils/operation.js' | ||
56 | import { uploadBatch, deleteFile, move } from "@/api/company.js" | ||
57 | import publicPicture from '@/components/publicPicture/index.vue' | ||
58 | export default { | ||
59 | name: 'PreviewImage', | ||
60 | props: { | ||
61 | previewImg: { | ||
62 | type: Object, | ||
63 | default: () => { } | ||
64 | }, | ||
65 | ableOperation: { | ||
66 | type: Boolean, | ||
67 | default: true | ||
68 | } | ||
69 | }, | ||
70 | components: { | ||
71 | PhotoZoom, | ||
72 | publicPicture | ||
73 | }, | ||
74 | data () { | ||
75 | return { | ||
76 | loading: false, | ||
77 | key: 0, | ||
78 | isScan: false, | ||
79 | // 打开高拍仪 | ||
80 | scanTitle: '打开高拍仪', | ||
81 | transform: { | ||
82 | scale: 1, | ||
83 | degree: 0 | ||
84 | }, | ||
85 | maxFileLength: 0, | ||
86 | // 缩略图 | ||
87 | thumbnailImages: [], | ||
88 | showViewer: false, | ||
89 | initialIndex: 0, | ||
90 | allLi: [], | ||
91 | } | ||
92 | }, | ||
93 | watch: { | ||
94 | previewImg: { | ||
95 | handler (newValue, oldValue) { | ||
96 | if (newValue.imgList && newValue.imgList.length > 0) { | ||
97 | this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fileurl) | ||
98 | this.thumbnailImages = newValue.imgList | ||
99 | } else { | ||
100 | this.allLi = [] | ||
101 | this.thumbnailImages = [] | ||
102 | } | ||
103 | }, | ||
104 | deep: true, | ||
105 | immediate: true | ||
106 | } | ||
107 | }, | ||
108 | created () { | ||
109 | this.maxLength = 0; | ||
110 | this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl) | ||
111 | this.thumbnailImages = this.previewImg.imgList | ||
112 | }, | ||
113 | computed: { | ||
114 | isFirst () { | ||
115 | return this.previewImg.index === 0 | ||
116 | }, | ||
117 | isLast () { | ||
118 | return this.previewImg.index === this.previewImg.imgList.length - 1 | ||
119 | } | ||
120 | }, | ||
121 | methods: { | ||
122 | /** | ||
123 | * @description: 打开高拍仪 | ||
124 | * @author: renchao | ||
125 | */ | ||
126 | handleOpenScan () { | ||
127 | this.isScan = !this.isScan | ||
128 | if (this.isScan) { | ||
129 | this.loading = true | ||
130 | this.$message({ | ||
131 | message: '正在启动程序请稍等', | ||
132 | type: 'success' | ||
133 | }) | ||
134 | setTimeout(() => { | ||
135 | this.scanTitle = '关闭高拍仪' | ||
136 | this.loading = false | ||
137 | }, 3000) | ||
138 | } else { | ||
139 | this.scanTitle = '打开高拍仪' | ||
140 | } | ||
141 | }, | ||
142 | /** | ||
143 | * @description: 左右移动 | ||
144 | * @param {*} direction | ||
145 | * @author: renchao | ||
146 | */ | ||
147 | handleMove (direction) { | ||
148 | move(this.previewImg.imgList[this.previewImg.index].bsmFile, direction).then(res => { | ||
149 | if (res.code == 200) { | ||
150 | if (direction == 'left') { | ||
151 | this.previewImg.index = this.previewImg.index - 1 | ||
152 | } else { | ||
153 | this.previewImg.index = this.previewImg.index + 1 | ||
154 | } | ||
155 | this.initialIndex = this.previewImg.index | ||
156 | this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial }) | ||
157 | this.$message({ | ||
158 | message: '移动成功!', | ||
159 | type: 'success' | ||
160 | }) | ||
161 | } else { | ||
162 | this.$message.error(res.message); | ||
163 | } | ||
164 | }) | ||
165 | }, | ||
166 | /** | ||
167 | * @description: 拍照 | ||
168 | * @author: renchao | ||
169 | */ | ||
170 | handleViewScan () { | ||
171 | function dataURLtoBlob (base64String) { | ||
172 | const arr = base64String.split(','); | ||
173 | if (arr.length !== 2) { | ||
174 | throw new Error('Invalid Base64 format'); | ||
175 | } | ||
176 | const mime = arr[0].match(/:(.*?);/)[1]; | ||
177 | if (!mime) { | ||
178 | throw new Error('Cannot retrieve MIME type'); | ||
179 | } | ||
180 | const bstr = atob(arr[1]); | ||
181 | const n = bstr.length; | ||
182 | const u8arr = new Uint8Array(n); | ||
183 | for (let i = 0; i < n; i++) { | ||
184 | u8arr[i] = bstr.charCodeAt(i); | ||
185 | } | ||
186 | return new Blob([u8arr], { type: mime }); | ||
187 | } | ||
188 | function blobToFile (blob) { | ||
189 | let name = getUuid(8) + '.jpg' | ||
190 | const file = new File([blob], name); | ||
191 | return file; | ||
192 | } | ||
193 | getAltimeterInfo().then(res => { | ||
194 | let blob = dataURLtoBlob('data:image/png;base64,' + res.data.photoBase64); | ||
195 | let file = blobToFile(blob); | ||
196 | var formData = new FormData(); | ||
197 | formData.append('file', file) | ||
198 | formData.append("bsmMaterial ", this.previewImg.bsmMaterial); | ||
199 | formData.append("bsmSlsq", this.previewImg.bsmSlsq); | ||
200 | uploadSjClmx(formData).then((res) => { | ||
201 | if (res.code == 200) { | ||
202 | this.$emit('updateList', res.result) | ||
203 | this.$message({ | ||
204 | message: '上传成功!', | ||
205 | type: 'success' | ||
206 | }) | ||
207 | } | ||
208 | }) | ||
209 | }) | ||
210 | }, | ||
211 | /** | ||
212 | * @description: prev | ||
213 | * @author: renchao | ||
214 | */ | ||
215 | prev () { | ||
216 | let len = this.previewImg.imgList.length | ||
217 | if (this.isFirst || len == 0) { | ||
218 | this.$emit('prevPriview') | ||
219 | } else { | ||
220 | this.$parent.previewImg.index = (this.$parent.previewImg.index - 1 + len) % len | ||
221 | } | ||
222 | }, | ||
223 | /** | ||
224 | * @description: next | ||
225 | * @author: renchao | ||
226 | */ | ||
227 | next () { | ||
228 | let len = this.previewImg.imgList.length | ||
229 | if (this.isLast || len == 0) { | ||
230 | this.$emit('nextPriview') | ||
231 | } else { | ||
232 | this.$parent.previewImg.index = (this.$parent.previewImg.index + 1) % len | ||
233 | } | ||
234 | }, | ||
235 | /** | ||
236 | * @description: showCurrent | ||
237 | * @param {*} index | ||
238 | * @author: renchao | ||
239 | */ | ||
240 | showCurrent (index) { | ||
241 | this.previewImg.index = index | ||
242 | this.initialIndex = index | ||
243 | }, | ||
244 | /** | ||
245 | * @description: closeViewer | ||
246 | * @author: renchao | ||
247 | */ | ||
248 | closeViewer () { | ||
249 | this.showViewer = false | ||
250 | }, | ||
251 | /** | ||
252 | * @description: clickImage | ||
253 | * @author: renchao | ||
254 | */ | ||
255 | clickImage () { | ||
256 | this.showViewer = true | ||
257 | }, | ||
258 | /** | ||
259 | * @description: handleChange | ||
260 | * @param {*} file | ||
261 | * @param {*} files | ||
262 | * @author: renchao | ||
263 | */ | ||
264 | async handleChange (file, fileList) { | ||
265 | let length = fileList.length; | ||
266 | this.maxFileLength = Math.max(length, this.maxFileLength) | ||
267 | var formData = new FormData(); | ||
268 | setTimeout(() => { | ||
269 | if (this.maxFileLength !== length) { | ||
270 | return | ||
271 | } | ||
272 | let num = 0, max = 0; | ||
273 | const isLt5M = file.size / 1024 / 1024 < 5; | ||
274 | fileList.forEach(item => { | ||
275 | if (!isLt5M) { | ||
276 | max++ | ||
277 | } | ||
278 | if (!['image/jpeg', 'image/png', 'image/jpg', 'image/gif'].includes(item.raw.type)) { | ||
279 | num++ | ||
280 | } else { | ||
281 | formData.append('file', item.raw) | ||
282 | } | ||
283 | }) | ||
284 | if (num >= 1) { | ||
285 | this.$message.error("请选择jpeg/png/jpg/bmp/gif格式的图片后重试") | ||
286 | // 移除不支持的文件类型 | ||
287 | this.key++ | ||
288 | return; | ||
289 | } | ||
290 | if (max >= 1) { | ||
291 | this.$message.error('上传图片大小不能超过 5MB!'); | ||
292 | this.key++ | ||
293 | return; | ||
294 | } | ||
295 | formData.append("bsmMaterial", this.previewImg.bsmMaterial); | ||
296 | if (this.previewImg.imgList.length > 0) { | ||
297 | formData.append("index", this.previewImg.imgList[this.previewImg.index].sxh); | ||
298 | } | ||
299 | uploadBatch(formData).then((res) => { | ||
300 | if (res.code == 200) { | ||
301 | this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial }) | ||
302 | this.$message({ | ||
303 | message: '上传成功!', | ||
304 | type: 'success' | ||
305 | }) | ||
306 | this.$refs.upload.clearFiles(); | ||
307 | this.maxFileLength = 0 | ||
308 | } | ||
309 | }) | ||
310 | }, 0) | ||
311 | }, | ||
312 | /** | ||
313 | * @description: handleDelete | ||
314 | * @author: renchao | ||
315 | */ | ||
316 | handleDelete () { | ||
317 | let that = this | ||
318 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { | ||
319 | confirmButtonText: '确定', | ||
320 | cancelButtonText: '取消', | ||
321 | type: 'warning' | ||
322 | }).then(async () => { | ||
323 | let bsmFile = this.previewImg.imgList[this.previewImg.index].bsmFile | ||
324 | let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial | ||
325 | this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmFile != bsmFile) | ||
326 | deleteFile(bsmFile).then(res => { | ||
327 | if (res.code == 200) { | ||
328 | that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial }) | ||
329 | that.$message({ | ||
330 | message: '删除成功!', | ||
331 | type: 'success' | ||
332 | }) | ||
333 | } | ||
334 | }) | ||
335 | }).catch(() => { | ||
336 | this.$message({ | ||
337 | type: 'info', | ||
338 | message: '已取消删除' | ||
339 | }) | ||
340 | }) | ||
341 | } | ||
342 | } | ||
343 | } | ||
344 | </script> | ||
345 | <style lang="scss" scoped> | ||
346 | // 查看大图 | ||
347 | .rlPopup { | ||
348 | position: relative; | ||
349 | width: 100%; | ||
350 | text-align: center; | ||
351 | height: 100%; | ||
352 | |||
353 | .handle-btn { | ||
354 | position: absolute; | ||
355 | top: 50%; | ||
356 | transform: translateY(-100%); | ||
357 | width: 66px; | ||
358 | height: 66px; | ||
359 | line-height: 75px; | ||
360 | color: #fff; | ||
361 | background-color: rgb(239, 239, 239); | ||
362 | border-radius: 50%; | ||
363 | cursor: pointer; | ||
364 | text-align: center; | ||
365 | transition: all 0.3s; | ||
366 | |||
367 | i { | ||
368 | font-size: 24px; | ||
369 | } | ||
370 | } | ||
371 | |||
372 | .handle-btn:hover { | ||
373 | background-color: rgb(185, 183, 183); | ||
374 | } | ||
375 | |||
376 | .prev { | ||
377 | left: 1%; | ||
378 | } | ||
379 | |||
380 | .next { | ||
381 | right: 1%; | ||
382 | } | ||
383 | |||
384 | .img-list-wrap { | ||
385 | width: 100%; | ||
386 | display: flex; | ||
387 | justify-content: center; | ||
388 | height: calc(100% - 80px); | ||
389 | align-items: center; | ||
390 | background: rgba(194, 190, 190, 0.1); | ||
391 | overflow: scroll; | ||
392 | |||
393 | img { | ||
394 | display: block; | ||
395 | object-fit: scale-down; | ||
396 | transition: all 0.3s; | ||
397 | max-width: 100%; | ||
398 | } | ||
399 | } | ||
400 | |||
401 | .thumb-wrap { | ||
402 | &-button { | ||
403 | display: flex; | ||
404 | justify-content: center; | ||
405 | |||
406 | .fileUpdate { | ||
407 | margin: 0 10px; | ||
408 | } | ||
409 | } | ||
410 | |||
411 | li { | ||
412 | float: left; | ||
413 | width: 60px; | ||
414 | height: 45px; | ||
415 | border: solid 1px #ececec; | ||
416 | position: relative; | ||
417 | margin-right: 5px; | ||
418 | cursor: pointer; | ||
419 | |||
420 | &:last-child { | ||
421 | margin-right: 0; | ||
422 | } | ||
423 | |||
424 | img { | ||
425 | max-width: 57px; | ||
426 | max-height: 42px; | ||
427 | display: block; | ||
428 | object-fit: scale-down; | ||
429 | position: absolute; | ||
430 | top: 50%; | ||
431 | left: 50%; | ||
432 | transform: translate(-50%, -50%); | ||
433 | } | ||
434 | } | ||
435 | |||
436 | .active { | ||
437 | border-color: #409eff; | ||
438 | } | ||
439 | } | ||
440 | } | ||
441 | </style> | ||
442 | <style> | ||
443 | .zoom-on-hover { | ||
444 | position: relative; | ||
445 | overflow: hidden; | ||
446 | } | ||
447 | |||
448 | .zoom-on-hover .normal { | ||
449 | width: 100%; | ||
450 | } | ||
451 | |||
452 | .zoom-on-hover .zoom { | ||
453 | position: absolute; | ||
454 | opacity: 0; | ||
455 | transform-origin: top left; | ||
456 | } | ||
457 | |||
458 | .zoom-on-hover.zoomed .zoom { | ||
459 | opacity: 1; | ||
460 | } | ||
461 | |||
462 | .zoom-on-hover.zoomed .normal { | ||
463 | opacity: 0; | ||
464 | } | ||
465 | </style> |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-15 10:09:10 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clxx"> | ||
8 | <div class="right"> | ||
9 | <!-- 材料预览 --> | ||
10 | <div class="clyl-box"> | ||
11 | <div class="menu-tree"> | ||
12 | <el-button | ||
13 | type="primary" | ||
14 | native-type="submit" | ||
15 | @click="viewDetail" | ||
16 | style="width: 100%; margin-top: 10px" v-if="tableData.length > 0">申请材料目录</el-button> | ||
17 | <div class="item"> | ||
18 | 材料目录({{ tableData.length }}) | ||
19 | <div style="margin-top: 10px"> | ||
20 | <div | ||
21 | style=" | ||
22 | text-align: center; | ||
23 | line-height: 20px; | ||
24 | color: black; | ||
25 | font-size: 14px; | ||
26 | " | ||
27 | v-if="tableData.length == 0"> | ||
28 | 暂无数据 | ||
29 | </div> | ||
30 | <div | ||
31 | v-for="(item, index) in tableData" | ||
32 | :key="item.bsmMaterial" | ||
33 | :class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']" | ||
34 | @click="treeClick(item, index)"> | ||
35 | {{ item.clmc }} | ||
36 | <span class="cl_number" :key="key" v-if="item.count">({{ item.count }})</span> | ||
37 | <span class="cl_number" :key="key" v-else>(0)</span> | ||
38 | </div> | ||
39 | </div> | ||
40 | </div> | ||
41 | <el-button | ||
42 | type="primary" | ||
43 | native-type="submit" | ||
44 | style="width: 100%" | ||
45 | @click="handleAdd()">新增</el-button> | ||
46 | </div> | ||
47 | <image-preview | ||
48 | ref="imageRef" | ||
49 | v-if="tableData.length > 0" | ||
50 | :previewImg="previewImg" | ||
51 | @updateList="updateList" | ||
52 | @nextPriview="nextPriview" | ||
53 | @prevPriview="prevPriview" /> | ||
54 | </div> | ||
55 | </div> | ||
56 | <clxxAddDialog v-model="isDialog" /> | ||
57 | </div> | ||
58 | </template> | ||
59 | <script> | ||
60 | import store from '@/store/index.js' | ||
61 | import { ywPopupDialog } from "@/utils/popup.js"; | ||
62 | import imagePreview from "./dialog/imagePreview.vue"; | ||
63 | import clxxAddDialog from "./dialog/clxxAddDialog.vue"; | ||
64 | import clxxDetailDialog from "./dialog/clxxDetailDialog.vue"; | ||
65 | import { getCompanyMaterialList, addCompanyMaterial, getFileListByBsmMaterial } from "@/api/company.js"; | ||
66 | import { saveClml, getClmxList } from "@/api/clxx.js"; | ||
67 | import { repairInitClml } from "@/api/djbRepair.js"; | ||
68 | export default { | ||
69 | components: { clxxAddDialog, imagePreview, clxxDetailDialog }, | ||
70 | props: { | ||
71 | formData: { | ||
72 | type: Object, | ||
73 | default: () => { | ||
74 | return {} | ||
75 | } | ||
76 | } | ||
77 | }, | ||
78 | data () { | ||
79 | return { | ||
80 | isDialog: false, | ||
81 | iclass: "", | ||
82 | // 材料目录选中 | ||
83 | treeCheckIndex: 0, | ||
84 | treeCheckId: "", | ||
85 | key: 0, | ||
86 | tableData: [], | ||
87 | previewImg: { | ||
88 | bsmMaterial: "", | ||
89 | index: 0, | ||
90 | selectedIndex: 0, | ||
91 | imgList: [] | ||
92 | } | ||
93 | } | ||
94 | }, | ||
95 | computed: { | ||
96 | workFresh () { | ||
97 | return store.state.user.workFresh | ||
98 | } | ||
99 | }, | ||
100 | watch: { | ||
101 | workFresh: { | ||
102 | handler (newValue, oldValue) { | ||
103 | this.clmlInitList() | ||
104 | }, | ||
105 | deep: true, | ||
106 | immediate: true | ||
107 | } | ||
108 | }, | ||
109 | created () { | ||
110 | this.clmlInitList() | ||
111 | }, | ||
112 | methods: { | ||
113 | /** | ||
114 | * @description: 自动预览 | ||
115 | * @author: renchao | ||
116 | */ | ||
117 | nextPriview () { | ||
118 | if (this.treeCheckIndex < this.tableData.length) { | ||
119 | this.treeCheckIndex++; | ||
120 | if (this.tableData[this.treeCheckIndex]) { | ||
121 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmMaterial; | ||
122 | // 判断页数 | ||
123 | let ys = this.tableData[this.treeCheckIndex].ys | ||
124 | this.previewImg.index = 0; | ||
125 | // 获取材料明细 | ||
126 | if (ys > 0) { | ||
127 | getFileListByBsmMaterial(this.treeCheckId).then(res => { | ||
128 | this.previewImg.imgList = res.result ? res.result : [] | ||
129 | }) | ||
130 | } else { | ||
131 | this.previewImg.imgList = [] | ||
132 | } | ||
133 | this.previewImg.bsmMaterial = this.tableData[this.treeCheckIndex].bsmMaterial; | ||
134 | } else { | ||
135 | this.$message.error('没有最后一张了'); | ||
136 | } | ||
137 | } | ||
138 | }, | ||
139 | /** | ||
140 | * @description: prevPriview | ||
141 | * @author: renchao | ||
142 | */ | ||
143 | prevPriview () { | ||
144 | if (this.treeCheckIndex >= 1) { | ||
145 | this.treeCheckIndex--; | ||
146 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmMaterial; | ||
147 | // 判断页数 | ||
148 | let ys = this.tableData[this.treeCheckIndex].ys | ||
149 | if (ys > 0) { | ||
150 | getFileListByBsmMaterial(this.treeCheckId).then(res => { | ||
151 | this.previewImg.imgList = res.result ? res.result : [] | ||
152 | this.previewImg.index = this.previewImg.imgList.length - 1; | ||
153 | }) | ||
154 | } else { | ||
155 | this.previewImg.imgList = []; | ||
156 | this.previewImg.index = 0 | ||
157 | } | ||
158 | this.previewImg.bsmMaterial = this.tableData[this.treeCheckIndex].bsmMaterial; | ||
159 | } else { | ||
160 | this.$message.error('没有第一张了'); | ||
161 | } | ||
162 | }, | ||
163 | /** | ||
164 | * @description: 材料目录明细初始化 | ||
165 | * @param {*} type | ||
166 | * @author: renchao | ||
167 | */ | ||
168 | clmlInitList (type) { | ||
169 | // 1:列表初始化 2:新增材料 | ||
170 | return new Promise((resolve) => { | ||
171 | getCompanyMaterialList(this.formData.bsmCompany).then((res) => { | ||
172 | if (res.code == 200) { | ||
173 | resolve(res.code); | ||
174 | if (res.result && res.result.length > 0) { | ||
175 | this.tableData = res.result; | ||
176 | if (type == 1) { | ||
177 | this.treeClick(this.tableData[0], 0); | ||
178 | } else { | ||
179 | //新增材料后刷新列表焦点置于新增的对象上 | ||
180 | this.treeClick( | ||
181 | this.tableData[this.tableData.length - 1], | ||
182 | this.tableData.length - 1 | ||
183 | ); | ||
184 | } | ||
185 | } | ||
186 | } else { | ||
187 | this.$message.error(res.message); | ||
188 | } | ||
189 | }) | ||
190 | }) | ||
191 | }, | ||
192 | /** | ||
193 | * @description: setChecked | ||
194 | * @param {*} item | ||
195 | * @author: renchao | ||
196 | */ | ||
197 | setChecked (item) { | ||
198 | this.treeCheckId = item.bsmMaterial; | ||
199 | this.title = item.sjmc; | ||
200 | this.titleYs = 1; | ||
201 | this.titleNum = item.children.length; | ||
202 | this.previewImg.imgList = item.children; | ||
203 | this.previewImg.bsmMaterial = item.bsmMaterial; | ||
204 | }, | ||
205 | /** | ||
206 | * @description: updateList | ||
207 | * @param {*} val | ||
208 | * @author: renchao | ||
209 | */ | ||
210 | updateList (val) { | ||
211 | let that = this; | ||
212 | if (val.children.length != 0) { | ||
213 | //删除最后一张图片时 val=null | ||
214 | this.tableData.forEach((item) => { | ||
215 | if (item.bsmMaterial == val.bsmMaterial) { | ||
216 | item.count = val.children.length | ||
217 | } | ||
218 | }); | ||
219 | this.previewImg.imgList = _.cloneDeep(val.children); | ||
220 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
221 | this.previewImg.index = this.previewImg.index - 1; | ||
222 | } | ||
223 | this.key++ | ||
224 | } else { | ||
225 | this.previewImg.imgList = []; | ||
226 | this.tableData.forEach((item, index) => { | ||
227 | if (this.treeCheckId == item.bsmMaterial) { | ||
228 | item.count = 0; | ||
229 | that.treeCheckIndex = index; | ||
230 | } | ||
231 | }) | ||
232 | } | ||
233 | }, | ||
234 | /** | ||
235 | * @description: 添加材料目录 | ||
236 | * @author: renchao | ||
237 | */ | ||
238 | handleAdd () { | ||
239 | this.isDialog = true; | ||
240 | }, | ||
241 | /** | ||
242 | * @description: 新增弹窗保存 | ||
243 | * @param {*} data | ||
244 | * @author: renchao | ||
245 | */ | ||
246 | addSave (data) { | ||
247 | let obj = { | ||
248 | bsmCompany: this.formData.bsmCompany, | ||
249 | clmc: data.clmc, | ||
250 | cllx: data.cllx | ||
251 | }; | ||
252 | addCompanyMaterial(obj).then(async (res) => { | ||
253 | if (res.code == 200) { | ||
254 | let res = await this.clmlInitList(2); | ||
255 | if (res == 200) | ||
256 | this.$message({ | ||
257 | message: "新增成功", | ||
258 | type: "success" | ||
259 | }) | ||
260 | } | ||
261 | }) | ||
262 | }, | ||
263 | /** | ||
264 | * @description: 材料目录点击选中 | ||
265 | * @param {*} item | ||
266 | * @param {*} index | ||
267 | * @author: renchao | ||
268 | */ | ||
269 | treeClick (item, index) { | ||
270 | this.previewImg.index = 0; | ||
271 | this.treeCheckId = item?.bsmMaterial; | ||
272 | this.treeCheckIndex = index; | ||
273 | getFileListByBsmMaterial(item.bsmMaterial).then(res => { | ||
274 | this.previewImg.imgList = res.result ? res.result : [] | ||
275 | }) | ||
276 | this.previewImg.bsmMaterial = item?.bsmMaterial; | ||
277 | }, | ||
278 | /** | ||
279 | * @description: 小图片点击 | ||
280 | * @param {*} item | ||
281 | * @param {*} index | ||
282 | * @author: renchao | ||
283 | */ | ||
284 | imgClick (item, index) { | ||
285 | this.showImg = item; | ||
286 | this.titleYs = index + 1; | ||
287 | }, | ||
288 | //查看明细 | ||
289 | viewDetail () { | ||
290 | store.dispatch("user/reWorkFresh", false); | ||
291 | ywPopupDialog("申请材料目录", "xxba/components/clxx/dialog/clxxDetailDialog", { | ||
292 | data: this.tableData, | ||
293 | bsmCompany: this.formData.bsmCompany | ||
294 | }, "60%", true, false) | ||
295 | }, | ||
296 | //设置tableData | ||
297 | setTableData (tableData) { | ||
298 | this.$nextTick((res) => { | ||
299 | this.tableData = tableData; | ||
300 | }) | ||
301 | } | ||
302 | } | ||
303 | } | ||
304 | </script> | ||
305 | <style scoped lang="scss"> | ||
306 | @import "~@/styles/mixin.scss"; | ||
307 | .active { | ||
308 | background: $light-blue !important; | ||
309 | color: #fff; | ||
310 | } | ||
311 | |||
312 | .required { | ||
313 | font-size: 12px; | ||
314 | color: $pink; | ||
315 | float: left; | ||
316 | } | ||
317 | |||
318 | .cl_number { | ||
319 | float: right; | ||
320 | } | ||
321 | |||
322 | .clxx { | ||
323 | width: 100%; | ||
324 | height: 94%; | ||
325 | display: flex; | ||
326 | padding-left: 5px; | ||
327 | .left { | ||
328 | display: flex; | ||
329 | flex-direction: column; | ||
330 | justify-content: space-between; | ||
331 | |||
332 | .item { | ||
333 | width: 28px; | ||
334 | height: 49%; | ||
335 | @include flex-center; | ||
336 | background-color: #e4e7ed; | ||
337 | border-bottom-right-radius: 10px; | ||
338 | padding: 5px; | ||
339 | cursor: pointer; | ||
340 | transition: all 0.3s; | ||
341 | |||
342 | &:hover { | ||
343 | @extend .active; | ||
344 | } | ||
345 | } | ||
346 | } | ||
347 | |||
348 | .right { | ||
349 | width: 100%; | ||
350 | height: 100%; | ||
351 | |||
352 | .clmlmx-box { | ||
353 | margin: 0 auto; | ||
354 | |||
355 | .title { | ||
356 | text-align: center; | ||
357 | height: 60px; | ||
358 | line-height: 60px; | ||
359 | border: 1px solid #dfe6ec; | ||
360 | font-size: 20px; | ||
361 | background: #81d3f81a; | ||
362 | margin-bottom: -1px; | ||
363 | } | ||
364 | } | ||
365 | |||
366 | .clyl-box { | ||
367 | width: 100%; | ||
368 | height: 100%; | ||
369 | display: flex; | ||
370 | |||
371 | .menu-tree { | ||
372 | width: 20%; | ||
373 | min-width: 160px; | ||
374 | height: 100%; | ||
375 | margin-right: 10px; | ||
376 | border-right: 1px dotted #d9d9d9; | ||
377 | padding: 0 15px; | ||
378 | |||
379 | .item { | ||
380 | line-height: 30px; | ||
381 | padding-top: 5px; | ||
382 | border-bottom: 1px solid #e8e8e8; | ||
383 | font-size: 16px; | ||
384 | text-align: center; | ||
385 | color: $light-blue; | ||
386 | |||
387 | .itemIcon { | ||
388 | float: right; | ||
389 | line-height: 60px; | ||
390 | cursor: pointer; | ||
391 | } | ||
392 | |||
393 | .child { | ||
394 | line-height: 32px; | ||
395 | border-bottom: 1px solid #e8e8e8; | ||
396 | padding-left: 10px; | ||
397 | color: #6b6b6b; | ||
398 | cursor: pointer; | ||
399 | box-sizing: border-box; | ||
400 | border-radius: 6px; | ||
401 | line-height: 20px; | ||
402 | transition: all 0.3s; | ||
403 | padding: 8px 0; | ||
404 | } | ||
405 | |||
406 | .child:hover { | ||
407 | color: $light-blue; | ||
408 | transform: scale(1.1); | ||
409 | } | ||
410 | |||
411 | .checked { | ||
412 | border: 1px solid $light-blue; | ||
413 | color: $light-blue; | ||
414 | } | ||
415 | } | ||
416 | } | ||
417 | |||
418 | .clyl-img { | ||
419 | width: 75%; | ||
420 | height: 100%; | ||
421 | background: #f3f4f7; | ||
422 | margin: 0 auto; | ||
423 | position: relative; | ||
424 | } | ||
425 | } | ||
426 | } | ||
427 | } | ||
428 | </style> |
... | @@ -135,7 +135,7 @@ | ... | @@ -135,7 +135,7 @@ |
135 | label="上手权利信息:" | 135 | label="上手权利信息:" |
136 | prop="ssQlxx.bdcqzh" | 136 | prop="ssQlxx.bdcqzh" |
137 | :rules="rules.ssQlxxrules" | 137 | :rules="rules.ssQlxxrules" |
138 | v-if="ruleForm.cfdj.sfbxf == '1'"> | 138 | v-if="ruleForm.qlxx.djlx == '300'"> |
139 | <select-table | 139 | <select-table |
140 | v-model="ruleForm.ssQlxx" | 140 | v-model="ruleForm.ssQlxx" |
141 | :table-width="730" | 141 | :table-width="730" |
... | @@ -190,9 +190,9 @@ | ... | @@ -190,9 +190,9 @@ |
190 | label="是否被续封:" | 190 | label="是否被续封:" |
191 | prop="cfdj.sfbxf" | 191 | prop="cfdj.sfbxf" |
192 | :rules="rules.sfbxfrules"> | 192 | :rules="rules.sfbxfrules"> |
193 | <el-radio-group v-model="ruleForm.cfdj.sfbxf" @change="djlxchange"> | 193 | <el-radio-group v-model="ruleForm.qlxx.djlx" @change="djlxchange"> |
194 | <el-radio label="1">是</el-radio> | 194 | <el-radio label="800">是</el-radio> |
195 | <el-radio label="2">否</el-radio> | 195 | <el-radio label="300">否</el-radio> |
196 | </el-radio-group> | 196 | </el-radio-group> |
197 | </el-form-item> | 197 | </el-form-item> |
198 | </el-col> | 198 | </el-col> |
... | @@ -547,9 +547,9 @@ | ... | @@ -547,9 +547,9 @@ |
547 | init(this.propsParam).then((res) => { | 547 | init(this.propsParam).then((res) => { |
548 | if (res.code == 200) { | 548 | if (res.code == 200) { |
549 | this.ruleForm = res.result; | 549 | this.ruleForm = res.result; |
550 | if (this.ruleForm.cfdj) { | 550 | // if (this.ruleForm.cfdj) { |
551 | this.ruleForm.cfdj.sfbxf = "2" | 551 | // this.ruleForm.cfdj.sfbxf = "2" |
552 | } | 552 | // } |
553 | this.isShow = true; | 553 | this.isShow = true; |
554 | let djlx = this.ruleForm.qlxx.djlx; | 554 | let djlx = this.ruleForm.qlxx.djlx; |
555 | this.$endLoading(); | 555 | this.$endLoading(); | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-08-22 16:27:38 | 4 | * @LastEditTime: 2023-09-15 09:33:54 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <!-- 受理信息 --> | 7 | <!-- 受理信息 --> |
... | @@ -210,11 +210,6 @@ | ... | @@ -210,11 +210,6 @@ |
210 | <el-input v-model="ruleForm.qlxx.bdcqzh"></el-input> | 210 | <el-input v-model="ruleForm.qlxx.bdcqzh"></el-input> |
211 | </el-form-item> | 211 | </el-form-item> |
212 | </el-col> | 212 | </el-col> |
213 | <!-- <el-col :span="8"> | ||
214 | <el-form-item label="区县代码:" prop="qlxx.qxdm" :rules="rules.qxdmrules"> | ||
215 | <el-input v-model="ruleForm.qlxx.qxdm"></el-input> | ||
216 | </el-form-item> | ||
217 | </el-col> --> | ||
218 | <el-col :span="8"> | 213 | <el-col :span="8"> |
219 | <el-form-item | 214 | <el-form-item |
220 | label="登记机构:" | 215 | label="登记机构:" | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-15 10:08:50 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clxx"> | ||
8 | <div class="right"> | ||
9 | <!-- 材料预览 --> | ||
10 | <div class="clyl-box"> | ||
11 | <div class="menu-tree"> | ||
12 | <el-button | ||
13 | type="primary" | ||
14 | native-type="submit" | ||
15 | @click="viewDetail" | ||
16 | style="width: 100%; margin-top: 10px">申请材料目录</el-button> | ||
17 | <div class="item"> | ||
18 | 材料目录({{ tableData.length }}) | ||
19 | <div style="margin-top: 10px"> | ||
20 | <div | ||
21 | style=" | ||
22 | text-align: center; | ||
23 | line-height: 20px; | ||
24 | color: black; | ||
25 | font-size: 14px; | ||
26 | " | ||
27 | v-if="tableData.length == 0"> | ||
28 | 暂无数据 | ||
29 | </div> | ||
30 | <div | ||
31 | v-for="(item, index) in tableData" | ||
32 | :key="item.bsmSj" | ||
33 | :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" | ||
34 | @click="treeClick(item, index)"> | ||
35 | <span v-if="item.isrequired == 1" class="required">必选</span> | ||
36 | {{ item.sjmc }} | ||
37 | <span class="cl_number" :key="key">({{ item.ys ? item.ys : 0 }})</span> | ||
38 | </div> | ||
39 | </div> | ||
40 | </div> | ||
41 | <el-button | ||
42 | type="primary" | ||
43 | native-type="submit" | ||
44 | style="width: 100%" | ||
45 | @click="handleAdd()" | ||
46 | v-if="ableOperation">新增</el-button> | ||
47 | </div> | ||
48 | <image-preview | ||
49 | ref="imageRef" | ||
50 | v-if="tableData.length > 0" | ||
51 | :previewImg="previewImg" | ||
52 | :ableOperation="ableOperation" | ||
53 | @updateList="updateList" | ||
54 | @nextPriview="nextPriview" | ||
55 | @prevPriview="prevPriview" /> | ||
56 | </div> | ||
57 | </div> | ||
58 | <clxxAddDialog v-model="isDialog" /> | ||
59 | </div> | ||
60 | </template> | ||
61 | <script> | ||
62 | import { mapGetters } from "vuex"; | ||
63 | import clxxAddDialog from "@/views/workflow/components/dialog/clxxAddDialog.vue"; | ||
64 | import clxxDetailDialog from "@/views/workflow/components/dialog/clxxDetailDialog.vue"; | ||
65 | import imagePreview from "@/views/components/imagePreview.vue"; | ||
66 | import { saveClml, getClmxList } from "@/api/clxx.js"; | ||
67 | import { repairInitClml } from "@/api/djbRepair.js"; | ||
68 | |||
69 | export default { | ||
70 | components: { clxxAddDialog, imagePreview, clxxDetailDialog }, | ||
71 | data () { | ||
72 | return { | ||
73 | //表单是否可操作 | ||
74 | ableOperation: true, | ||
75 | isDialog: false, | ||
76 | iclass: "", | ||
77 | // 材料目录选中 | ||
78 | treeCheckIndex: 0, | ||
79 | treeCheckId: "", | ||
80 | key: 0, | ||
81 | tableData: [], | ||
82 | previewImg: { | ||
83 | // 收件标识码 | ||
84 | bsmSj: "", | ||
85 | bsmSlsq: this.$parent.bsmSlsq, | ||
86 | index: 0, | ||
87 | selectedIndex: 0, | ||
88 | imgList: [], | ||
89 | }, | ||
90 | }; | ||
91 | }, | ||
92 | computed: { | ||
93 | ...mapGetters(["dictData"]), | ||
94 | }, | ||
95 | created () { | ||
96 | this.clmlInitList(1); | ||
97 | }, | ||
98 | computed: { | ||
99 | // 判断补录数据和临时数据 | ||
100 | ...mapGetters(["workFresh"]), | ||
101 | }, | ||
102 | watch: { | ||
103 | workFresh: { | ||
104 | handler (newVal, oldVal) { | ||
105 | if (newVal) this.clmlInitList(1); | ||
106 | }, | ||
107 | }, | ||
108 | }, | ||
109 | mounted () { | ||
110 | this.ableOperation = this.$parent.ableOperation; | ||
111 | }, | ||
112 | methods: { | ||
113 | /** | ||
114 | * @description: 自动预览 | ||
115 | * @author: renchao | ||
116 | */ | ||
117 | nextPriview () { | ||
118 | if (this.treeCheckIndex < this.tableData.length) { | ||
119 | this.treeCheckIndex++; | ||
120 | if (this.tableData[this.treeCheckIndex]) { | ||
121 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj; | ||
122 | // 判断页数 | ||
123 | let ys = this.tableData[this.treeCheckIndex].ys | ||
124 | this.previewImg.index = 0; | ||
125 | // 获取材料明细 | ||
126 | if (ys > 0) { | ||
127 | getClmxList(this.treeCheckId).then(res => { | ||
128 | this.previewImg.imgList = res.result ? res.result : []; | ||
129 | }) | ||
130 | } else { | ||
131 | this.previewImg.imgList = [] | ||
132 | } | ||
133 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj; | ||
134 | } else { | ||
135 | this.$message.error('没有最后一张了'); | ||
136 | } | ||
137 | } | ||
138 | }, | ||
139 | /** | ||
140 | * @description: prevPriview | ||
141 | * @author: renchao | ||
142 | */ | ||
143 | prevPriview () { | ||
144 | if (this.treeCheckIndex >= 1) { | ||
145 | this.treeCheckIndex--; | ||
146 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj; | ||
147 | // 判断页数 | ||
148 | let ys = this.tableData[this.treeCheckIndex].ys | ||
149 | if (ys > 0) { | ||
150 | // 获取材料明细 | ||
151 | getClmxList(this.treeCheckId).then(res => { | ||
152 | this.previewImg.imgList = res.result ? res.result : []; | ||
153 | this.previewImg.index = this.previewImg.imgList.length - 1; | ||
154 | }) | ||
155 | } else { | ||
156 | this.previewImg.imgList = []; | ||
157 | this.previewImg.index = 0 | ||
158 | } | ||
159 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj; | ||
160 | } else { | ||
161 | this.$message.error('没有第一张了'); | ||
162 | } | ||
163 | }, | ||
164 | /** | ||
165 | * @description: 材料目录明细初始化 | ||
166 | * @param {*} type | ||
167 | * @author: renchao | ||
168 | */ | ||
169 | clmlInitList (type) { | ||
170 | //type 1:列表初始化 2:新增材料 | ||
171 | return new Promise((resolve) => { | ||
172 | this.unitData = this.$parent.unitData; | ||
173 | var formdata = new FormData(); | ||
174 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | ||
175 | if (this.$route.query.sqywbm == "DJBBL") { | ||
176 | formdata.append("bsmSldy", this.$parent.bsmRepair); | ||
177 | formdata.append("clfl", 3); | ||
178 | } else { | ||
179 | formdata.append("bsmSldy", this.$parent.currentSelectProps.bsmSldy); | ||
180 | formdata.append("clfl", 2); | ||
181 | } | ||
182 | |||
183 | repairInitClml(formdata).then((res) => { | ||
184 | if (res.code == 200) { | ||
185 | resolve(res.code); | ||
186 | if (res.result && res.result.length > 0) { | ||
187 | this.tableData = res.result; | ||
188 | if (type == 1) { | ||
189 | this.treeClick(this.tableData[0], 0); | ||
190 | } else { | ||
191 | //新增材料后刷新列表焦点置于新增的对象上 | ||
192 | this.treeClick( | ||
193 | this.tableData[this.tableData.length - 1], | ||
194 | this.tableData.length - 1 | ||
195 | ); | ||
196 | } | ||
197 | } | ||
198 | } else { | ||
199 | this.$message.error(res.message); | ||
200 | } | ||
201 | }); | ||
202 | }); | ||
203 | }, | ||
204 | /** | ||
205 | * @description: setChecked | ||
206 | * @param {*} item | ||
207 | * @author: renchao | ||
208 | */ | ||
209 | setChecked (item) { | ||
210 | this.treeCheckId = item.bsmSj; | ||
211 | this.title = item.sjmc; | ||
212 | this.titleYs = 1; | ||
213 | this.titleNum = item.children.length; | ||
214 | this.previewImg.imgList = item.children; | ||
215 | this.previewImg.bsmSj = item.bsmSj; | ||
216 | }, | ||
217 | /** | ||
218 | * @description: updateList | ||
219 | * @param {*} val | ||
220 | * @author: renchao | ||
221 | */ | ||
222 | updateList (val) { | ||
223 | let that = this; | ||
224 | if (val.children.length != 0) { | ||
225 | //删除最后一张图片时 val=null | ||
226 | this.tableData.forEach((item) => { | ||
227 | if (item.bsmSj === val.bsmSj) { | ||
228 | item.ys = val.children.length; | ||
229 | } | ||
230 | }); | ||
231 | this.previewImg.imgList = _.cloneDeep(val.children); | ||
232 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
233 | this.previewImg.index = this.previewImg.index - 1; | ||
234 | } | ||
235 | this.key++ | ||
236 | } else { | ||
237 | this.previewImg.imgList = []; | ||
238 | this.tableData.forEach((item, index) => { | ||
239 | if (this.treeCheckId == item.bsmSj) { | ||
240 | item.ys = 0; | ||
241 | that.treeCheckIndex = index; | ||
242 | } | ||
243 | }); | ||
244 | } | ||
245 | }, | ||
246 | /** | ||
247 | * @description: 添加材料目录 | ||
248 | * @author: renchao | ||
249 | */ | ||
250 | handleAdd () { | ||
251 | this.isDialog = true; | ||
252 | }, | ||
253 | /** | ||
254 | * @description: 新增弹窗保存 | ||
255 | * @param {*} data | ||
256 | * @author: renchao | ||
257 | */ | ||
258 | addSave (data) { | ||
259 | let obj = { | ||
260 | bsmSlsq: this.$parent.bsmSlsq, | ||
261 | isrequired: "1", | ||
262 | sjmc: data.clmc, | ||
263 | sjsl: 0, | ||
264 | smzt: "", | ||
265 | ys: 0, | ||
266 | sjlx: data.cllx, | ||
267 | sfxjcl: "1", // 是否必选 | ||
268 | sfggcl: data.sfggcl, | ||
269 | }; | ||
270 | //是否公共材料 | ||
271 | if (data.sfggcl == "0") { | ||
272 | obj["bsmSldy"] = this.$parent.currentSelectProps.bsmSldy; | ||
273 | } | ||
274 | if (this.$route.query.sqywbm == "DJBBL") { | ||
275 | obj.bsmSldy = this.$parent.bsmRepair | ||
276 | } | ||
277 | saveClml(obj).then(async (res) => { | ||
278 | if (res.code == 200) { | ||
279 | let res = await this.clmlInitList(2); | ||
280 | if (res == 200) | ||
281 | this.$message({ | ||
282 | message: "新增成功", | ||
283 | type: "success", | ||
284 | }); | ||
285 | } | ||
286 | }); | ||
287 | }, | ||
288 | /** | ||
289 | * @description: 材料目录点击选中 | ||
290 | * @param {*} item | ||
291 | * @param {*} index | ||
292 | * @author: renchao | ||
293 | */ | ||
294 | treeClick (item, index) { | ||
295 | this.previewImg.index = 0; | ||
296 | this.treeCheckId = item?.bsmSj; | ||
297 | this.treeCheckIndex = index; | ||
298 | // 获取材料明细 | ||
299 | getClmxList(item.bsmSj).then(res => { | ||
300 | this.previewImg.imgList = res.result ? res.result : []; | ||
301 | }) | ||
302 | this.previewImg.bsmSj = item?.bsmSj; | ||
303 | }, | ||
304 | /** | ||
305 | * @description: 小图片点击 | ||
306 | * @param {*} item | ||
307 | * @param {*} index | ||
308 | * @author: renchao | ||
309 | */ | ||
310 | imgClick (item, index) { | ||
311 | this.showImg = item; | ||
312 | this.titleYs = index + 1; | ||
313 | }, | ||
314 | //查看明细 | ||
315 | viewDetail () { | ||
316 | this.$store.dispatch("user/reWorkFresh", false); | ||
317 | this.$popupDialog( | ||
318 | "申请材料目录", | ||
319 | "workflow/components/dialog/clxxDetailDialog", | ||
320 | { | ||
321 | data: this.tableData, | ||
322 | bsmSldy: this.$parent.currentSelectProps.bsmSldy, | ||
323 | unitData: this.$parent.unitData, | ||
324 | ableOperation: this.$parent.ableOperation, | ||
325 | bsmRepair: this.$parent.bsmRepair | ||
326 | }, | ||
327 | "60%", | ||
328 | true | ||
329 | ); | ||
330 | }, | ||
331 | //设置tableData | ||
332 | setTableData (tableData) { | ||
333 | this.$nextTick((res) => { | ||
334 | this.tableData = tableData; | ||
335 | }) | ||
336 | } | ||
337 | } | ||
338 | }; | ||
339 | </script> | ||
340 | <style scoped lang="scss"> | ||
341 | @import "~@/styles/mixin.scss"; | ||
342 | |||
343 | .active { | ||
344 | background: $light-blue !important; | ||
345 | color: #fff; | ||
346 | } | ||
347 | |||
348 | .required { | ||
349 | font-size: 12px; | ||
350 | color: $pink; | ||
351 | float: left; | ||
352 | } | ||
353 | |||
354 | .cl_number { | ||
355 | float: right; | ||
356 | } | ||
357 | |||
358 | .clxx { | ||
359 | width: 100%; | ||
360 | display: flex; | ||
361 | padding-left: 5px; | ||
362 | height: calc(100vh - 125px); | ||
363 | |||
364 | .left { | ||
365 | display: flex; | ||
366 | flex-direction: column; | ||
367 | justify-content: space-between; | ||
368 | |||
369 | .item { | ||
370 | width: 28px; | ||
371 | height: 49%; | ||
372 | @include flex-center; | ||
373 | background-color: #e4e7ed; | ||
374 | border-bottom-right-radius: 10px; | ||
375 | padding: 5px; | ||
376 | cursor: pointer; | ||
377 | transition: all 0.3s; | ||
378 | |||
379 | &:hover { | ||
380 | @extend .active; | ||
381 | } | ||
382 | } | ||
383 | } | ||
384 | |||
385 | .right { | ||
386 | width: 100%; | ||
387 | height: 100%; | ||
388 | |||
389 | .clmlmx-box { | ||
390 | margin: 0 auto; | ||
391 | |||
392 | .title { | ||
393 | text-align: center; | ||
394 | height: 60px; | ||
395 | line-height: 60px; | ||
396 | border: 1px solid #dfe6ec; | ||
397 | font-size: 20px; | ||
398 | background: #81d3f81a; | ||
399 | margin-bottom: -1px; | ||
400 | } | ||
401 | } | ||
402 | |||
403 | .clyl-box { | ||
404 | width: 100%; | ||
405 | height: 100%; | ||
406 | display: flex; | ||
407 | |||
408 | .menu-tree { | ||
409 | width: 20%; | ||
410 | min-width: 160px; | ||
411 | height: 100%; | ||
412 | margin-right: 10px; | ||
413 | border-right: 1px dotted #d9d9d9; | ||
414 | padding: 0 15px; | ||
415 | |||
416 | .item { | ||
417 | line-height: 30px; | ||
418 | padding-top: 5px; | ||
419 | border-bottom: 1px solid #e8e8e8; | ||
420 | font-size: 16px; | ||
421 | text-align: center; | ||
422 | color: $light-blue; | ||
423 | |||
424 | .itemIcon { | ||
425 | float: right; | ||
426 | line-height: 60px; | ||
427 | cursor: pointer; | ||
428 | } | ||
429 | |||
430 | .child { | ||
431 | line-height: 32px; | ||
432 | border-bottom: 1px solid #e8e8e8; | ||
433 | padding-left: 10px; | ||
434 | color: #6b6b6b; | ||
435 | cursor: pointer; | ||
436 | box-sizing: border-box; | ||
437 | border-radius: 6px; | ||
438 | line-height: 20px; | ||
439 | transition: all 0.3s; | ||
440 | padding: 8px 0; | ||
441 | } | ||
442 | |||
443 | .child:hover { | ||
444 | color: $light-blue; | ||
445 | transform: scale(1.1); | ||
446 | } | ||
447 | |||
448 | .checked { | ||
449 | border: 1px solid $light-blue; | ||
450 | color: $light-blue; | ||
451 | } | ||
452 | } | ||
453 | } | ||
454 | |||
455 | .clyl-img { | ||
456 | width: 75%; | ||
457 | height: 100%; | ||
458 | background: #f3f4f7; | ||
459 | margin: 0 auto; | ||
460 | position: relative; | ||
461 | } | ||
462 | } | ||
463 | } | ||
464 | } | ||
465 | </style> |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-05-09 09:20:10 | 4 | * @LastEditTime: 2023-09-15 09:30:33 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <el-dialog | 7 | <el-dialog |
... | @@ -11,8 +11,7 @@ | ... | @@ -11,8 +11,7 @@ |
11 | :visible.sync="dialogVisible" | 11 | :visible.sync="dialogVisible" |
12 | custom-class="insetDialog" | 12 | custom-class="insetDialog" |
13 | append-to-body | 13 | append-to-body |
14 | width="31%" | 14 | width="31%"> |
15 | > | ||
16 | <!-- <el-radio-group v-model="radio"> | 15 | <!-- <el-radio-group v-model="radio"> |
17 | <el-radio-button | 16 | <el-radio-button |
18 | v-for="(value, key) in qllxlistdata" | 17 | v-for="(value, key) in qllxlistdata" |
... | @@ -21,9 +20,9 @@ | ... | @@ -21,9 +20,9 @@ |
21 | ></el-radio-button> | 20 | ></el-radio-button> |
22 | 21 | ||
23 | </el-radio-group> --> | 22 | </el-radio-group> --> |
24 | <el-button class="gettypebutton" v-for="(value, key) in qllxlistdata" | 23 | <el-button class="gettypebutton" v-for="(value, key) in qllxlistdata" |
25 | :key="key" | 24 | :key="key" |
26 | :label="value" @click="clicksss(key)" plain>{{value}}</el-button> | 25 | :label="value" @click="clicksss(key)" plain>{{value}}</el-button> |
27 | <div class="btn"> | 26 | <div class="btn"> |
28 | <el-button type="primary" @click="handleSubmit">确定</el-button> | 27 | <el-button type="primary" @click="handleSubmit">确定</el-button> |
29 | <el-button type="primary" @click="closeDialog">取消</el-button> | 28 | <el-button type="primary" @click="closeDialog">取消</el-button> |
... | @@ -32,99 +31,97 @@ | ... | @@ -32,99 +31,97 @@ |
32 | </template> | 31 | </template> |
33 | 32 | ||
34 | <script> | 33 | <script> |
35 | export default { | 34 | export default { |
36 | data() { | 35 | data () { |
37 | return { | 36 | return { |
38 | dialogVisible: false, | 37 | dialogVisible: false, |
39 | qllxlistdata: {}, | 38 | qllxlistdata: {}, |
40 | radio: "", | 39 | radio: "", |
41 | qllx:"" | 40 | qllx: "" |
42 | }; | 41 | }; |
43 | }, | ||
44 | |||
45 | methods: { | ||
46 | /** | ||
47 | * @description: closeDialog | ||
48 | * @author: renchao | ||
49 | */ | ||
50 | closeDialog() { | ||
51 | this.dialogVisible = false; | ||
52 | }, | 42 | }, |
53 | 43 | ||
54 | /** | 44 | methods: { |
55 | * @description: clicksss | 45 | /** |
56 | * @param {*} el | 46 | * @description: closeDialog |
57 | * @author: renchao | 47 | * @author: renchao |
58 | */ | 48 | */ |
59 | clicksss(el){ | 49 | closeDialog () { |
60 | console.log("elllllllllllllllllllll",el); | 50 | this.dialogVisible = false; |
61 | this.qllx=el | 51 | }, |
62 | }, | ||
63 | /** | ||
64 | * @description: handleSubmit | ||
65 | * @author: renchao | ||
66 | */ | ||
67 | handleSubmit() { | ||
68 | 52 | ||
69 | if(this.qllx){ | 53 | /** |
70 | let qllxobj = { | 54 | * @description: clicksss |
71 | qllx:this.qllx, | 55 | * @param {*} el |
72 | bsmQlxx:"" | 56 | * @author: renchao |
73 | }; | 57 | */ |
74 | this.$parent.addRepairRecord(qllxobj) | 58 | clicksss (el) { |
75 | }else{ | 59 | this.qllx = el |
76 | this.$message({ | 60 | }, |
61 | /** | ||
62 | * @description: handleSubmit | ||
63 | * @author: renchao | ||
64 | */ | ||
65 | handleSubmit () { | ||
66 | |||
67 | if (this.qllx) { | ||
68 | let qllxobj = { | ||
69 | qllx: this.qllx, | ||
70 | bsmQlxx: "" | ||
71 | }; | ||
72 | this.$parent.addRepairRecord(qllxobj) | ||
73 | } else { | ||
74 | this.$message({ | ||
77 | type: "warning", | 75 | type: "warning", |
78 | message: "请选择权利类型!", | 76 | message: "请选择权利类型!", |
79 | }); | 77 | }); |
80 | } | 78 | } |
81 | this.qllx="" | 79 | this.qllx = "" |
80 | }, | ||
82 | }, | 81 | }, |
83 | }, | 82 | }; |
84 | }; | ||
85 | </script> | 83 | </script> |
86 | <style scoped lang="scss"> | 84 | <style scoped lang="scss"> |
87 | @import '~@/styles/public.scss'; | 85 | @import "~@/styles/public.scss"; |
88 | .qllxdialog { | 86 | .qllxdialog { |
89 | margin-top: 160px; | 87 | margin-top: 160px; |
90 | /deep/.el-dialog__body { | 88 | /deep/.el-dialog__body { |
91 | margin-top: 10px; | 89 | margin-top: 10px; |
92 | // height: 100px; | 90 | // height: 100px; |
93 | padding: 20px; | 91 | padding: 20px; |
92 | } | ||
93 | .gettypebutton { | ||
94 | cursor: pointer; | ||
95 | margin-left: 20px; | ||
96 | width: 45%; | ||
97 | line-height: 20px; | ||
98 | background-color: #ebebeb; | ||
99 | margin-top: 20px; | ||
100 | padding-left: 20px; | ||
101 | border-radius: 2px; | ||
102 | -webkit-box-sizing: border-box; | ||
103 | box-sizing: border-box; | ||
104 | border: 1px solid #ebebeb; | ||
105 | -webkit-transition: all 0.3s; | ||
106 | transition: all 0.3s; | ||
107 | color: #000; | ||
108 | } | ||
109 | .gettypebutton:hover { | ||
110 | border: 1px solid #0f93f6; | ||
111 | color: #0f93f6; | ||
112 | } | ||
113 | .gettypebutton:focus { | ||
114 | background-color: #0f93f6; | ||
115 | border: 1px solid #0f93f6; | ||
116 | color: #ebebeb; | ||
117 | } | ||
118 | .btn { | ||
119 | margin-top: 30px; | ||
120 | text-align: center; | ||
121 | .el-button { | ||
122 | margin-top: 10px; | ||
123 | margin-left: 20px; | ||
124 | } | ||
125 | } | ||
94 | } | 126 | } |
95 | .gettypebutton{ | ||
96 | cursor: pointer; | ||
97 | margin-left: 20px; | ||
98 | width: 45%; | ||
99 | line-height: 20px; | ||
100 | background-color: #ebebeb; | ||
101 | margin-top: 20px; | ||
102 | padding-left: 20px; | ||
103 | border-radius: 2px; | ||
104 | -webkit-box-sizing: border-box; | ||
105 | box-sizing: border-box; | ||
106 | border: 1px solid #ebebeb; | ||
107 | -webkit-transition: all 0.3s; | ||
108 | transition: all 0.3s; | ||
109 | color: #000; | ||
110 | } | ||
111 | .gettypebutton:hover{ | ||
112 | border: 1px solid #0F93F6; | ||
113 | color: #0F93F6; | ||
114 | } | ||
115 | .gettypebutton:focus{ | ||
116 | background-color: #0F93F6; | ||
117 | border: 1px solid #0F93F6; | ||
118 | color: #ebebeb; | ||
119 | } | ||
120 | .btn{ | ||
121 | margin-top:30px; | ||
122 | text-align: center; | ||
123 | .el-button { | ||
124 | margin-top: 10px; | ||
125 | margin-left: 20px; | ||
126 | } | ||
127 | } | ||
128 | |||
129 | } | ||
130 | </style> | 127 | </style> | ... | ... |
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-05-29 14:39:11 | 4 | * @LastEditTime: 2023-09-15 09:31:37 |
5 | */ | 5 | */ |
6 | //流程环节操作按钮 | 6 | //流程环节操作按钮 |
7 | export function getForm(tabName) { | 7 | export function getForm (tabName) { |
8 | let form; | 8 | let form; |
9 | switch (tabName) { | 9 | switch (tabName) { |
10 | case "zdjbxx": | 10 | case "zdjbxx": |
... | @@ -46,7 +46,7 @@ export function getForm(tabName) { | ... | @@ -46,7 +46,7 @@ export function getForm(tabName) { |
46 | case "yydj": | 46 | case "yydj": |
47 | form = require("@/views/registerBook/yydj.vue"); | 47 | form = require("@/views/registerBook/yydj.vue"); |
48 | break; | 48 | break; |
49 | //林地使用权 | 49 | //林地使用权 |
50 | case "slxxlq": | 50 | case "slxxlq": |
51 | form = require("@/views/djbworkflow/djbBook/components/blxxtabs/lq.vue"); | 51 | form = require("@/views/djbworkflow/djbBook/components/blxxtabs/lq.vue"); |
52 | break; | 52 | break; |
... | @@ -82,7 +82,7 @@ export function getForm(tabName) { | ... | @@ -82,7 +82,7 @@ export function getForm(tabName) { |
82 | form = require("@/views/djbworkflow/djbBook/components/blxxtabs/cfdj.vue"); | 82 | form = require("@/views/djbworkflow/djbBook/components/blxxtabs/cfdj.vue"); |
83 | break; | 83 | break; |
84 | case "clxx": | 84 | case "clxx": |
85 | form = require("@/views/workflow/components/clxx/clxxUnify.vue"); | 85 | form = require("@/views/djbworkflow/djbBook/components/clxx/index.vue"); |
86 | break; | 86 | break; |
87 | case "spyj": | 87 | case "spyj": |
88 | form = require("@/views/djbworkflow/djbBook/spyj.vue"); | 88 | form = require("@/views/djbworkflow/djbBook/spyj.vue"); | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-08-14 11:16:12 | 4 | * @LastEditTime: 2023-09-15 09:27:14 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="container"> | 7 | <div class="container"> |
... | @@ -53,7 +53,6 @@ | ... | @@ -53,7 +53,6 @@ |
53 | :key="item.value"> | 53 | :key="item.value"> |
54 | </el-tab-pane> | 54 | </el-tab-pane> |
55 | </el-tabs> | 55 | </el-tabs> |
56 | |||
57 | <component | 56 | <component |
58 | :key="fresh" | 57 | :key="fresh" |
59 | :is="componentTag" | 58 | :is="componentTag" |
... | @@ -132,7 +131,6 @@ | ... | @@ -132,7 +131,6 @@ |
132 | mounted () { | 131 | mounted () { |
133 | // this.getleftMenubl() | 132 | // this.getleftMenubl() |
134 | }, | 133 | }, |
135 | |||
136 | methods: { | 134 | methods: { |
137 | /** | 135 | /** |
138 | * @description: stepForm | 136 | * @description: stepForm |
... | @@ -163,7 +161,6 @@ | ... | @@ -163,7 +161,6 @@ |
163 | }); | 161 | }); |
164 | } | 162 | } |
165 | }, | 163 | }, |
166 | // 获取右侧选项卡 | ||
167 | /** | 164 | /** |
168 | * @description: 获取右侧选项卡 | 165 | * @description: 获取右侧选项卡 |
169 | * @param {*} val | 166 | * @param {*} val |
... | @@ -185,7 +182,6 @@ | ... | @@ -185,7 +182,6 @@ |
185 | this.stepForm(this.currentSelectProps.qllx); | 182 | this.stepForm(this.currentSelectProps.qllx); |
186 | } | 183 | } |
187 | }, | 184 | }, |
188 | // 获取渲染登记簿列表 | ||
189 | /** | 185 | /** |
190 | * @description: 获取渲染登记簿列表 | 186 | * @description: 获取渲染登记簿列表 |
191 | * @author: renchao | 187 | * @author: renchao |
... | @@ -218,7 +214,6 @@ | ... | @@ -218,7 +214,6 @@ |
218 | } | 214 | } |
219 | }); | 215 | }); |
220 | }, | 216 | }, |
221 | //选项卡切换事件 | ||
222 | /** | 217 | /** |
223 | * @description: 右侧表单选项卡事件 | 218 | * @description: 右侧表单选项卡事件 |
224 | * @param {*} handleClick | 219 | * @param {*} handleClick |
... | @@ -233,7 +228,6 @@ | ... | @@ -233,7 +228,6 @@ |
233 | } | 228 | } |
234 | 229 | ||
235 | }, | 230 | }, |
236 | //右侧表单选项卡事件 | ||
237 | /** | 231 | /** |
238 | * @description: 右侧表单选项卡事件 | 232 | * @description: 右侧表单选项卡事件 |
239 | * @param {*} activeName | 233 | * @param {*} activeName |
... | @@ -243,7 +237,6 @@ | ... | @@ -243,7 +237,6 @@ |
243 | beforeLeave (activeName) { | 237 | beforeLeave (activeName) { |
244 | if (activeName && activeName != 0) this.getFromRouter(activeName); | 238 | if (activeName && activeName != 0) this.getFromRouter(activeName); |
245 | }, | 239 | }, |
246 | //切换选项卡内容组件 | ||
247 | /** | 240 | /** |
248 | * @description: 切换选项卡内容组件 | 241 | * @description: 切换选项卡内容组件 |
249 | * @param {*} tabname | 242 | * @param {*} tabname |
... | @@ -255,7 +248,6 @@ | ... | @@ -255,7 +248,6 @@ |
255 | changeywh () { | 248 | changeywh () { |
256 | this.$refs.Menu.getleftMenubl("change"); | 249 | this.$refs.Menu.getleftMenubl("change"); |
257 | }, | 250 | }, |
258 | // 增加补录记录 | ||
259 | /** | 251 | /** |
260 | * @description: 增加补录记录 | 252 | * @description: 增加补录记录 |
261 | * @param {*} row | 253 | * @param {*} row |
... | @@ -300,21 +292,9 @@ | ... | @@ -300,21 +292,9 @@ |
300 | .catch((res) => { | 292 | .catch((res) => { |
301 | console.log("错", res); | 293 | console.log("错", res); |
302 | }); | 294 | }); |
303 | }, | 295 | } |
304 | // openDialog () { | 296 | } |
305 | // this.$store.dispatch('user/refreshPage', false) | 297 | } |
306 | // let data = JSON.parse(localStorage.getItem('ywbl')) | ||
307 | // let title | ||
308 | // if (data?.sqywmc) { | ||
309 | // title = "申请业务:" + data?.sqywmc | ||
310 | // } else { | ||
311 | // title = "申请业务:" + data?.djywmc | ||
312 | // } | ||
313 | |||
314 | // this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true) | ||
315 | // } | ||
316 | }, | ||
317 | }; | ||
318 | </script> | 298 | </script> |
319 | <style scoped lang="scss"> | 299 | <style scoped lang="scss"> |
320 | .rightContainer { | 300 | .rightContainer { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-08-23 15:54:12 | 4 | * @LastEditTime: 2023-09-15 10:20:43 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate id="boxcfdj" :propsParam="propsParam" :tableData="tableData" :render="render"/> | 9 | <printTemplate id="boxcfdj" :tableData="tableData" :render="render" /> |
10 | </div> | 10 | </div> |
11 | <div class="tableBox"> | 11 | <div class="tableBox"> |
12 | <div class="title"> | 12 | <div class="title"> |
13 | {{ title }} | 13 | {{ title }} |
14 | <el-button class="print" v-show="shows" @click="openPrint()" | 14 | <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button> |
15 | >打印</el-button | ||
16 | > | ||
17 | <div class="checkbox"> | 15 | <div class="checkbox"> |
18 | <el-checkbox-group v-model="checkList" @change="checkChange"> | 16 | <el-checkbox-group v-model="checkList" @change="checkChange"> |
19 | <el-checkbox | 17 | <el-checkbox |
20 | v-for="item in qsztList" | 18 | v-for="item in qsztList" |
21 | :key="item.value" | 19 | :key="item.value" |
22 | :label="item.value" | 20 | :label="item.value">{{ item.label }}</el-checkbox> |
23 | >{{ item.label }}</el-checkbox | ||
24 | > | ||
25 | </el-checkbox-group> | 21 | </el-checkbox-group> |
26 | </div> | 22 | </div> |
27 | </div> | 23 | </div> |
... | @@ -41,24 +37,18 @@ | ... | @@ -41,24 +37,18 @@ |
41 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | 37 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', |
42 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | 38 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', |
43 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', | 39 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', |
44 | ]" | 40 | ]"> |
45 | > | ||
46 | <div | 41 | <div |
47 | class="setbut" | 42 | class="setbut" |
48 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'" | 43 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'"> |
49 | > | ||
50 | <el-button | 44 | <el-button |
51 | type="text" | 45 | type="text" |
52 | icon="el-icon-edit-outline" | 46 | icon="el-icon-edit-outline" |
53 | @click="editDialog(row)" | 47 | @click="editDialog(row)">编辑</el-button> |
54 | >编辑</el-button | ||
55 | > | ||
56 | <el-button | 48 | <el-button |
57 | type="text" | 49 | type="text" |
58 | icon="el-icon-edit-outline" | 50 | icon="el-icon-edit-outline" |
59 | @click="editDialog(row, 'D')" | 51 | @click="editDialog(row, 'D')">删除</el-button> |
60 | >删除</el-button | ||
61 | > | ||
62 | </div> | 52 | </div> |
63 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> | 53 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> |
64 | 有效 | 54 | 有效 |
... | @@ -85,8 +75,7 @@ | ... | @@ -85,8 +75,7 @@ |
85 | effect="dark" | 75 | effect="dark" |
86 | :content="row[item.prop]" | 76 | :content="row[item.prop]" |
87 | placement="top" | 77 | placement="top" |
88 | popper-class="tooltip-width" | 78 | popper-class="tooltip-width"> |
89 | > | ||
90 | <span class="ellipsis-line"> | 79 | <span class="ellipsis-line"> |
91 | {{ row[item.prop] }} | 80 | {{ row[item.prop] }} |
92 | </span> | 81 | </span> |
... | @@ -101,171 +90,171 @@ | ... | @@ -101,171 +90,171 @@ |
101 | </template> | 90 | </template> |
102 | 91 | ||
103 | <script> | 92 | <script> |
104 | import printTemplate from "./components/printTemplate.vue"; | 93 | import printTemplate from "./components/printTemplate.vue"; |
105 | import { datas } from "./qlxxFormData.js"; | 94 | import { datas } from "./qlxxFormData.js"; |
106 | import { getSjlx } from "@/utils/dictionary.js"; | 95 | import { getSjlx } from "@/utils/dictionary.js"; |
107 | import { getCfdjList } from "@/api/djbDetail.js"; | 96 | import { getCfdjList } from "@/api/djbDetail.js"; |
108 | export default { | 97 | export default { |
109 | components: { | 98 | components: { |
110 | printTemplate, | 99 | printTemplate, |
111 | }, | 100 | }, |
112 | data() { | 101 | data () { |
113 | return { | 102 | return { |
114 | printObj: { | 103 | printObj: { |
115 | id: "box", | 104 | id: "box", |
116 | //其他配置项, | 105 | //其他配置项, |
117 | }, | 106 | }, |
118 | shows:false, | 107 | shows: false, |
119 | title: "查封登记信息", | 108 | title: "查封登记信息", |
120 | qsztList: datas.columns().qsztList, | 109 | qsztList: datas.columns().qsztList, |
121 | checkList: datas.columns().checkList, | 110 | checkList: datas.columns().checkList, |
122 | //传递参数 | 111 | //传递参数 |
123 | propsParam: this.$attrs, | 112 | propsParam: this.$attrs, |
124 | //列表数据 | 113 | //列表数据 |
125 | tableData: [], | 114 | tableData: [], |
126 | //空列值个数 | 115 | //空列值个数 |
127 | emptycolNum: datas.columns().emptycolNum, | 116 | emptycolNum: datas.columns().emptycolNum, |
128 | //列名称对象 | 117 | //列名称对象 |
129 | columns: datas.columns().CFDJ, | 118 | columns: datas.columns().CFDJ, |
130 | render: false, | 119 | render: false, |
131 | }; | 120 | }; |
132 | }, | 121 | }, |
133 | created() { | 122 | created () { |
134 | this.loadData(); | 123 | this.loadData(); |
135 | }, | ||
136 | methods: { | ||
137 | /** | ||
138 | * @description: openPrint | ||
139 | * @author: miaofang | ||
140 | */ | ||
141 | openPrint() { | ||
142 | this.render = true; | ||
143 | setTimeout(() => { | ||
144 | this.prinsss(); | ||
145 | }, 100); | ||
146 | }, | 124 | }, |
147 | /** | 125 | methods: { |
148 | * @description: prinsss | 126 | /** |
149 | * @author: miaofang | 127 | * @description: openPrint |
150 | */ | 128 | * @author: miaofang |
151 | prinsss() { | 129 | */ |
152 | printJS({ | 130 | openPrint () { |
153 | printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 131 | this.render = true; |
154 | type: "html", | 132 | setTimeout(() => { |
155 | maxWidth: 800, // 最大宽度 | 133 | this.prinsss(); |
156 | font_size: "", // 不设置则使用默认字体大小 | 134 | }, 100); |
157 | style: `@font-face { | 135 | }, |
136 | /** | ||
137 | * @description: prinsss | ||
138 | * @author: miaofang | ||
139 | */ | ||
140 | prinsss () { | ||
141 | printJS({ | ||
142 | printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ||
143 | type: "html", | ||
144 | maxWidth: 800, // 最大宽度 | ||
145 | font_size: "", // 不设置则使用默认字体大小 | ||
146 | style: `@font-face { | ||
158 | font-family: "STZHONGS"; | 147 | font-family: "STZHONGS"; |
159 | src: url(${window.ttf}) format("truetype"); | 148 | src: url(${window.ttf}) format("truetype"); |
160 | }`, | 149 | }`, |
161 | // 继承原来的所有样式 | 150 | // 继承原来的所有样式 |
162 | targetStyles: ["*"], | 151 | targetStyles: ["*"], |
163 | }); | 152 | }); |
164 | this.render=false | 153 | this.render = false |
165 | }, | 154 | }, |
166 | /** | 155 | /** |
167 | * @description: loadData | 156 | * @description: loadData |
168 | * @author: renchao | 157 | * @author: renchao |
169 | */ | 158 | */ |
170 | loadData() { | 159 | loadData () { |
171 | if (this.$parent.addRepairRecord) { | 160 | if (this.$parent.addRepairRecord) { |
172 | this.columns.unshift({ prop: "cz", label: "操作" }); | 161 | this.columns.unshift({ prop: "cz", label: "操作" }); |
173 | } | 162 | } |
174 | getCfdjList({ | 163 | getCfdjList({ |
175 | bdcdyid: this.propsParam.bdcdyid, | 164 | bdcdyid: this.propsParam.bdcdyid, |
176 | qllx: this.propsParam.qllx, | 165 | qllx: this.propsParam.qllx, |
177 | qszt: this.checkList, | 166 | qszt: this.checkList, |
178 | }).then((res) => { | 167 | }).then((res) => { |
179 | if (res.code === 200) { | 168 | if (res.code === 200) { |
180 | this.tableData = res.result; | 169 | this.tableData = res.result; |
181 | this.shows=this.tableData.length>0 | 170 | this.shows = this.tableData.length > 0 |
182 | this.tableData.forEach((item) => { | 171 | this.tableData.forEach((item) => { |
183 | item.sjlx = getSjlx(item.sjlx); | 172 | item.sjlx = getSjlx(item.sjlx); |
184 | }); | 173 | }); |
185 | this.tableData.forEach((item, index) => { | 174 | this.tableData.forEach((item, index) => { |
186 | if (item.sfbxf == "1") { | 175 | if (item.sfbxf == "1") { |
187 | item.zxywh = ""; | 176 | item.zxywh = ""; |
188 | item.zxdbr = ""; | 177 | item.zxdbr = ""; |
189 | item.zxsj = ""; | 178 | item.zxsj = ""; |
179 | } | ||
180 | }); | ||
181 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
182 | this.emptycolNum = | ||
183 | datas.columns().emptycolNum - this.tableData.length; | ||
184 | } else { | ||
185 | this.emptycolNum = 0; | ||
190 | } | 186 | } |
191 | }); | ||
192 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
193 | this.emptycolNum = | ||
194 | datas.columns().emptycolNum - this.tableData.length; | ||
195 | } else { | ||
196 | this.emptycolNum = 0; | ||
197 | } | 187 | } |
188 | }); | ||
189 | }, | ||
190 | /** | ||
191 | * @description: checkChange | ||
192 | * @author: renchao | ||
193 | */ | ||
194 | checkChange () { | ||
195 | if (this.checkList.length === 0) { | ||
196 | this.tableData = []; | ||
197 | this.emptycolNum = datas.columns().emptycolNum; | ||
198 | } else { | ||
199 | this.loadData(); | ||
198 | } | 200 | } |
199 | }); | 201 | }, |
200 | }, | 202 | /** |
201 | /** | 203 | * @description: getQsztName |
202 | * @description: checkChange | 204 | * @author: renchao |
203 | * @author: renchao | 205 | */ |
204 | */ | 206 | getQsztName (code) { |
205 | checkChange() { | 207 | let name = ""; |
206 | if (this.checkList.length === 0) { | 208 | for (let item of this.qsztList) { |
207 | this.tableData = []; | 209 | if (item.value == code) { |
208 | this.emptycolNum = datas.columns().emptycolNum; | 210 | name = item.label; |
209 | } else { | 211 | break; |
210 | this.loadData(); | 212 | } |
211 | } | ||
212 | }, | ||
213 | /** | ||
214 | * @description: getQsztName | ||
215 | * @author: renchao | ||
216 | */ | ||
217 | getQsztName(code) { | ||
218 | let name = ""; | ||
219 | for (let item of this.qsztList) { | ||
220 | if (item.value == code) { | ||
221 | name = item.label; | ||
222 | break; | ||
223 | } | 213 | } |
224 | } | 214 | return name; |
225 | return name; | 215 | }, |
226 | }, | 216 | // 新增一条补录信息 |
227 | // 新增一条补录信息 | 217 | /** |
228 | /** | 218 | * @description: 新增一条补录信息 |
229 | * @description: 新增一条补录信息 | 219 | * @param {*} row |
230 | * @param {*} row | 220 | * @param {*} del |
231 | * @param {*} del | 221 | * @author: renchao |
232 | * @author: renchao | 222 | */ |
233 | */ | 223 | editDialog (row, del) { |
234 | editDialog(row, del) { | 224 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
235 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 225 | confirmButtonText: "确定", |
236 | confirmButtonText: "确定", | 226 | cancelButtonText: "取消", |
237 | cancelButtonText: "取消", | 227 | type: "warning", |
238 | type: "warning", | ||
239 | }) | ||
240 | .then(() => { | ||
241 | this.$parent.addRepairRecord(row, del); | ||
242 | |||
243 | this.$message({ | ||
244 | type: "success", | ||
245 | message: "补录成功!", | ||
246 | }); | ||
247 | }) | 228 | }) |
248 | .catch(() => { | 229 | .then(() => { |
249 | this.$message({ | 230 | this.$parent.addRepairRecord(row, del); |
250 | type: "info", | 231 | |
251 | message: "取消编辑", | 232 | this.$message({ |
233 | type: "success", | ||
234 | message: "补录成功!", | ||
235 | }); | ||
236 | }) | ||
237 | .catch(() => { | ||
238 | this.$message({ | ||
239 | type: "info", | ||
240 | message: "取消编辑", | ||
241 | }); | ||
252 | }); | 242 | }); |
253 | }); | 243 | }, |
254 | }, | 244 | }, |
255 | }, | 245 | }; |
256 | }; | ||
257 | </script> | 246 | </script> |
258 | 247 | ||
259 | <style lang="scss" scoped> | 248 | <style lang="scss" scoped> |
260 | @import "./qlxxCommon.scss"; | 249 | @import "./qlxxCommon.scss"; |
261 | .title { | 250 | .title { |
262 | position: relative; | 251 | position: relative; |
263 | .print { | 252 | .print { |
264 | // background-color: #0079fe; | 253 | // background-color: #0079fe; |
265 | z-index: 10; | 254 | z-index: 10; |
266 | position: absolute; | 255 | position: absolute; |
267 | left: 11px; | 256 | left: 11px; |
268 | top: 5px; | 257 | top: 5px; |
258 | } | ||
269 | } | 259 | } |
270 | } | ||
271 | </style> | 260 | </style> | ... | ... |
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-15 11:00:11 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="tableBox"> | ||
8 | <div v-show="false"> | ||
9 | <printTemplate | ||
10 | id="boxdiyaq" | ||
11 | :tableData="tableData" | ||
12 | :render="render" /> | ||
13 | </div> | ||
14 | <div class="title"> | ||
15 | {{ title }} | ||
16 | <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button> | ||
17 | <div class="checkbox"> | ||
18 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
19 | <el-checkbox | ||
20 | v-for="item in qsztList" | ||
21 | :key="item.value" | ||
22 | :label="item.value">{{ item.label }}</el-checkbox> | ||
23 | </el-checkbox-group> | ||
24 | </div> | ||
25 | </div> | ||
26 | <div class="xxTableBox rollTable"> | ||
27 | <table class="xxTable"> | ||
28 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
29 | <td> | ||
30 | {{ item.label }} | ||
31 | </td> | ||
32 | <td | ||
33 | v-for="(row, index) in tableData" | ||
34 | :key="index" | ||
35 | :class="[ | ||
36 | row.qszt == '2' ? 'lishi' : '', | ||
37 | row.qszt == '0' ? 'linshi' : '', | ||
38 | row.qlzt == '4' ? 'linshi' : '', | ||
39 | |||
40 | item.prop == 'qszt' && row.qlzt == '3' ? 'linshiIcon' : '', | ||
41 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | ||
42 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | ||
43 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', | ||
44 | ]"> | ||
45 | <div | ||
46 | class="setbut" | ||
47 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'"> | ||
48 | <el-button | ||
49 | type="text" | ||
50 | icon="el-icon-edit-outline" | ||
51 | @click="editDialog(row)">编辑</el-button> | ||
52 | <el-button | ||
53 | type="text" | ||
54 | icon="el-icon-edit-outline" | ||
55 | @click="editDialog(row, 'D')">删除</el-button> | ||
56 | </div> | ||
57 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> | ||
58 | 有效 | ||
59 | </div> | ||
60 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '2'"> | ||
61 | 正在补录 | ||
62 | </div> | ||
63 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '3'"> | ||
64 | 正在申请 | ||
65 | </div> | ||
66 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '4'"> | ||
67 | 正在注销 | ||
68 | </div> | ||
69 | |||
70 | <p v-if="!['djyy', 'fj'].includes(item.prop)"> | ||
71 | <span v-if="item.prop == 'qszt'"> | ||
72 | {{ getQsztName(row[item.prop]) }} | ||
73 | </span> | ||
74 | <span v-else>{{ row[item.prop] }}</span> | ||
75 | </p> | ||
76 | |||
77 | <el-tooltip | ||
78 | v-else | ||
79 | effect="dark" | ||
80 | :content="row[item.prop]" | ||
81 | placement="top" | ||
82 | popper-class="tooltip-width"> | ||
83 | <span class="ellipsis-line"> | ||
84 | {{ row[item.prop] }} | ||
85 | </span> | ||
86 | </el-tooltip> | ||
87 | </td> | ||
88 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
89 | </tr> | ||
90 | </table> | ||
91 | </div> | ||
92 | </div> | ||
93 | </template> | ||
94 | <script> | ||
95 | import { datas } from "../qlxxFormData.js"; | ||
96 | import printTemplate from "../components/printTemplate.vue"; | ||
97 | export default { | ||
98 | components: { | ||
99 | printTemplate | ||
100 | }, | ||
101 | props: { | ||
102 | title: { | ||
103 | type: String, | ||
104 | default: '' | ||
105 | }, | ||
106 | shows: { | ||
107 | type: Boolean, | ||
108 | default: false | ||
109 | }, | ||
110 | // 传递参数 | ||
111 | propsParam: { | ||
112 | type: Object, | ||
113 | default: () => { } | ||
114 | }, | ||
115 | // 列表数据 | ||
116 | tableData: { | ||
117 | type: Array, | ||
118 | default: () => [] | ||
119 | }, | ||
120 | columns: { | ||
121 | type: Array, | ||
122 | default: () => [] | ||
123 | }, | ||
124 | }, | ||
125 | data () { | ||
126 | return { | ||
127 | qsztList: datas.columns().qsztList, | ||
128 | checkList: datas.columns().checkList, | ||
129 | //空列值个数 | ||
130 | emptycolNum: datas.columns().emptycolNum, | ||
131 | render: false, | ||
132 | }; | ||
133 | }, | ||
134 | methods: { | ||
135 | openPrint () { | ||
136 | this.render = true; | ||
137 | setTimeout(() => { | ||
138 | this.prinsss(); | ||
139 | }, 100); | ||
140 | }, | ||
141 | /** | ||
142 | * @description: prinsss | ||
143 | * @author: miaofang | ||
144 | */ | ||
145 | prinsss () { | ||
146 | printJS({ | ||
147 | printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ||
148 | type: "html", | ||
149 | maxWidth: 800, // 最大宽度 | ||
150 | font_size: "", // 不设置则使用默认字体大小 | ||
151 | style: `@font-face { | ||
152 | font-family: "STZHONGS"; | ||
153 | src: url(${window.ttf}) format("truetype"); | ||
154 | }`, | ||
155 | // 继承原来的所有样式 | ||
156 | targetStyles: ["*"], | ||
157 | }); | ||
158 | this.render = false | ||
159 | }, | ||
160 | /** | ||
161 | * @description: checkChange | ||
162 | * @author: renchao | ||
163 | */ | ||
164 | checkChange () { | ||
165 | if (this.checkList.length === 0) { | ||
166 | this.tableData = []; | ||
167 | this.emptycolNum = datas.columns().emptycolNum; | ||
168 | } else { | ||
169 | this.$parent.loadData(); | ||
170 | } | ||
171 | }, | ||
172 | /** | ||
173 | * @description: getQsztName | ||
174 | * @param {*} code | ||
175 | * @author: renchao | ||
176 | */ | ||
177 | getQsztName (code) { | ||
178 | let name = ""; | ||
179 | for (let item of this.qsztList) { | ||
180 | if (item.value == code) { | ||
181 | name = item.label; | ||
182 | break; | ||
183 | } | ||
184 | } | ||
185 | return name; | ||
186 | }, | ||
187 | /** | ||
188 | * @description: 新增一条补录信息 | ||
189 | * @param {*} row | ||
190 | * @param {*} del | ||
191 | * @author: renchao | ||
192 | */ | ||
193 | editDialog (row, del) { | ||
194 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | ||
195 | confirmButtonText: "确定", | ||
196 | cancelButtonText: "取消", | ||
197 | type: "warning", | ||
198 | }) | ||
199 | .then(() => { | ||
200 | this.$parent.$parent.addRepairRecord(row, del); | ||
201 | this.$message({ | ||
202 | type: "success", | ||
203 | message: "补录成功!" | ||
204 | }) | ||
205 | }) | ||
206 | .catch(() => { | ||
207 | this.$message({ | ||
208 | type: "info", | ||
209 | message: "取消编辑" | ||
210 | }) | ||
211 | }) | ||
212 | } | ||
213 | } | ||
214 | } | ||
215 | </script> | ||
216 | |||
217 | <style lang="scss" scoped> | ||
218 | @import "../qlxxCommon.scss"; | ||
219 | .title { | ||
220 | position: relative; | ||
221 | .print { | ||
222 | z-index: 10; | ||
223 | position: absolute; | ||
224 | left: 11px; | ||
225 | top: 5px; | ||
226 | } | ||
227 | } | ||
228 | </style> |
... | @@ -12,6 +12,7 @@ | ... | @@ -12,6 +12,7 @@ |
12 | style="page-break-after: always" | 12 | style="page-break-after: always" |
13 | > | 13 | > |
14 | <div class="title">{{ title }}</div> | 14 | <div class="title">{{ title }}</div> |
15 | <div class="num">共{{ datass.length }}页,第{{ indexx + 1 }}页</div> | ||
15 | <table class="xxTable"> | 16 | <table class="xxTable"> |
16 | <tr v-for="item in columns" :key="item.name"> | 17 | <tr v-for="item in columns" :key="item.name"> |
17 | <td> | 18 | <td> |
... | @@ -50,18 +51,14 @@ export default { | ... | @@ -50,18 +51,14 @@ export default { |
50 | }; | 51 | }; |
51 | }, | 52 | }, |
52 | props: { | 53 | props: { |
53 | propsParam: { | ||
54 | type: Object, | ||
55 | default: () => {}, | ||
56 | }, | ||
57 | tableData: { | 54 | tableData: { |
58 | type: Array, | 55 | type: Array, |
59 | default: () => [], | 56 | default: () => [], |
60 | }, | 57 | }, |
61 | render:{ | 58 | render: { |
62 | type: Boolean, | 59 | type: Boolean, |
63 | default: false, | 60 | default: false, |
64 | } | 61 | }, |
65 | }, | 62 | }, |
66 | created() {}, | 63 | created() {}, |
67 | watch: { | 64 | watch: { |
... | @@ -70,11 +67,11 @@ export default { | ... | @@ -70,11 +67,11 @@ export default { |
70 | this.tableData = newValue; | 67 | this.tableData = newValue; |
71 | }, | 68 | }, |
72 | }, | 69 | }, |
73 | render: { | 70 | render: { |
74 | handler(newValue, oldValue) { | 71 | handler(newValue, oldValue) { |
75 | if(newValue){ | 72 | if (newValue) { |
76 | this.loadData(); | 73 | this.loadData(); |
77 | } | 74 | } |
78 | }, | 75 | }, |
79 | }, | 76 | }, |
80 | immediate: true, | 77 | immediate: true, |
... | @@ -87,13 +84,13 @@ export default { | ... | @@ -87,13 +84,13 @@ export default { |
87 | */ | 84 | */ |
88 | loadData() { | 85 | loadData() { |
89 | getFieldListByQlxx({ | 86 | getFieldListByQlxx({ |
90 | qllx: this.propsParam.qllx, | 87 | qllx: this.tableData[0].qllx, |
91 | }).then((res) => { | 88 | }).then((res) => { |
92 | if (res.code === 200) { | 89 | if (res.code === 200) { |
93 | this.columns = res.result; | 90 | this.columns = res.result; |
94 | } | 91 | } |
95 | }); | 92 | }); |
96 | if (this.tableData.length&&this.datass.length==0) { | 93 | if (this.tableData.length && this.datass.length == 0) { |
97 | for (let i = 0; i < this.tableData.length; i += 4) { | 94 | for (let i = 0; i < this.tableData.length; i += 4) { |
98 | this.datass.push(this.tableData.slice(i, i + 4)); | 95 | this.datass.push(this.tableData.slice(i, i + 4)); |
99 | } | 96 | } |
... | @@ -113,8 +110,13 @@ export default { | ... | @@ -113,8 +110,13 @@ export default { |
113 | <style lang="scss" scoped> | 110 | <style lang="scss" scoped> |
114 | .tbalede { | 111 | .tbalede { |
115 | width: 100%; | 112 | width: 100%; |
116 | // height: 1123px; | ||
117 | margin: auto; | 113 | margin: auto; |
114 | position: relative; | ||
115 | .num { | ||
116 | position: absolute; | ||
117 | right: 10px; | ||
118 | top: 0px; | ||
119 | } | ||
118 | .title { | 120 | .title { |
119 | width: 100%; | 121 | width: 100%; |
120 | font-weight: 700; | 122 | font-weight: 700; |
... | @@ -140,16 +142,15 @@ export default { | ... | @@ -140,16 +142,15 @@ export default { |
140 | padding: 5px; | 142 | padding: 5px; |
141 | } | 143 | } |
142 | td { | 144 | td { |
143 | width: 20px!important; | 145 | width: 20px !important; |
144 | word-break: break-all; | 146 | word-break: break-all; |
145 | // /* 方法一:使用 word-break */ | 147 | // /* 方法一:使用 word-break */ |
146 | // word-break: break-all; | 148 | // word-break: break-all; |
147 | // // /* 方法二:使用 white-space */ | 149 | // // /* 方法二:使用 white-space */ |
148 | // // white-space: pre-wrap; | 150 | // // white-space: pre-wrap; |
149 | // // /* 方法三:使用 overflow-wrap */ | 151 | // // /* 方法三:使用 overflow-wrap */ |
150 | // // overflow-wrap: break-word; | 152 | // // overflow-wrap: break-word; |
151 | } | 153 | } |
152 | |||
153 | } | 154 | } |
154 | } | 155 | } |
155 | </style> | 156 | </style> | ... | ... |
... | @@ -6,22 +6,18 @@ | ... | @@ -6,22 +6,18 @@ |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate id="boxdiyaq" :propsParam="propsParam" :tableData="tableData" :render="render"/> | 9 | <printTemplate id="boxdiyaq" :tableData="tableData" :render="render" /> |
10 | </div> | 10 | </div> |
11 | <div class="tableBox"> | 11 | <div class="tableBox"> |
12 | <div class="title"> | 12 | <div class="title"> |
13 | {{ title }} | 13 | {{ title }} |
14 | <el-button class="print" v-show="shows" @click="openPrint()" | 14 | <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button> |
15 | >打印</el-button | ||
16 | > | ||
17 | <div class="checkbox"> | 15 | <div class="checkbox"> |
18 | <el-checkbox-group v-model="checkList" @change="checkChange"> | 16 | <el-checkbox-group v-model="checkList" @change="checkChange"> |
19 | <el-checkbox | 17 | <el-checkbox |
20 | v-for="item in qsztList" | 18 | v-for="item in qsztList" |
21 | :key="item.value" | 19 | :key="item.value" |
22 | :label="item.value" | 20 | :label="item.value">{{ item.label }}</el-checkbox> |
23 | >{{ item.label }}</el-checkbox | ||
24 | > | ||
25 | </el-checkbox-group> | 21 | </el-checkbox-group> |
26 | </div> | 22 | </div> |
27 | </div> | 23 | </div> |
... | @@ -43,24 +39,18 @@ | ... | @@ -43,24 +39,18 @@ |
43 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | 39 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', |
44 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | 40 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', |
45 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', | 41 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', |
46 | ]" | 42 | ]"> |
47 | > | ||
48 | <div | 43 | <div |
49 | class="setbut" | 44 | class="setbut" |
50 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'" | 45 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'"> |
51 | > | ||
52 | <el-button | 46 | <el-button |
53 | type="text" | 47 | type="text" |
54 | icon="el-icon-edit-outline" | 48 | icon="el-icon-edit-outline" |
55 | @click="editDialog(row)" | 49 | @click="editDialog(row)">编辑</el-button> |
56 | >编辑</el-button | ||
57 | > | ||
58 | <el-button | 50 | <el-button |
59 | type="text" | 51 | type="text" |
60 | icon="el-icon-edit-outline" | 52 | icon="el-icon-edit-outline" |
61 | @click="editDialog(row, 'D')" | 53 | @click="editDialog(row, 'D')">删除</el-button> |
62 | >删除</el-button | ||
63 | > | ||
64 | </div> | 54 | </div> |
65 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> | 55 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> |
66 | 有效 | 56 | 有效 |
... | @@ -87,8 +77,7 @@ | ... | @@ -87,8 +77,7 @@ |
87 | effect="dark" | 77 | effect="dark" |
88 | :content="row[item.prop]" | 78 | :content="row[item.prop]" |
89 | placement="top" | 79 | placement="top" |
90 | popper-class="tooltip-width" | 80 | popper-class="tooltip-width"> |
91 | > | ||
92 | <span class="ellipsis-line"> | 81 | <span class="ellipsis-line"> |
93 | {{ row[item.prop] }} | 82 | {{ row[item.prop] }} |
94 | </span> | 83 | </span> |
... | @@ -103,165 +92,165 @@ | ... | @@ -103,165 +92,165 @@ |
103 | </template> | 92 | </template> |
104 | 93 | ||
105 | <script> | 94 | <script> |
106 | import { datas } from "./qlxxFormData.js"; | 95 | import { datas } from "./qlxxFormData.js"; |
107 | import { getSjlx, getDictLeabel } from "@/utils/dictionary.js"; | 96 | import { getSjlx, getDictLeabel } from "@/utils/dictionary.js"; |
108 | import { getDiyaqList } from "@/api/djbDetail.js"; | 97 | import { getDiyaqList } from "@/api/djbDetail.js"; |
109 | import printTemplate from "./components/printTemplate.vue"; | 98 | import printTemplate from "./components/printTemplate.vue"; |
110 | export default { | 99 | export default { |
111 | components: { | 100 | components: { |
112 | printTemplate, | 101 | printTemplate, |
113 | }, | 102 | }, |
114 | data() { | 103 | data () { |
115 | return { | 104 | return { |
116 | printObj: { | 105 | printObj: { |
117 | id: "box", | 106 | id: "box", |
118 | //其他配置项, | 107 | //其他配置项, |
119 | }, | 108 | }, |
120 | shows:false, | 109 | shows: false, |
121 | title: "抵押权登记信息", | 110 | title: "抵押权登记信息", |
122 | qsztList: datas.columns().qsztList, | 111 | qsztList: datas.columns().qsztList, |
123 | checkList: datas.columns().checkList, | 112 | checkList: datas.columns().checkList, |
124 | //传递参数 | 113 | //传递参数 |
125 | propsParam: this.$attrs, | 114 | propsParam: this.$attrs, |
126 | //列表数据 | 115 | //列表数据 |
127 | tableData: [], | 116 | tableData: [], |
128 | //空列值个数 | 117 | //空列值个数 |
129 | emptycolNum: datas.columns().emptycolNum, | 118 | emptycolNum: datas.columns().emptycolNum, |
130 | //列名称对象 | 119 | //列名称对象 |
131 | columns: datas.columns().DYAQ, | 120 | columns: datas.columns().DYAQ, |
132 | render: false, | 121 | render: false, |
133 | }; | 122 | }; |
134 | }, | 123 | }, |
135 | created() { | 124 | created () { |
136 | this.loadData(); | 125 | this.loadData(); |
137 | }, | ||
138 | methods: { | ||
139 | /** | ||
140 | * @description: openPrint | ||
141 | * @author: miaofang | ||
142 | */ | ||
143 | openPrint() { | ||
144 | this.render = true; | ||
145 | setTimeout(() => { | ||
146 | this.prinsss(); | ||
147 | }, 100); | ||
148 | }, | 126 | }, |
149 | /** | 127 | methods: { |
150 | * @description: prinsss | 128 | /** |
151 | * @author: miaofang | 129 | * @description: openPrint |
152 | */ | 130 | * @author: miaofang |
153 | prinsss() { | 131 | */ |
154 | printJS({ | 132 | openPrint () { |
155 | printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 133 | this.render = true; |
156 | type: "html", | 134 | setTimeout(() => { |
157 | maxWidth: 800, // 最大宽度 | 135 | this.prinsss(); |
158 | font_size: "", // 不设置则使用默认字体大小 | 136 | }, 100); |
159 | style: `@font-face { | 137 | }, |
138 | /** | ||
139 | * @description: prinsss | ||
140 | * @author: miaofang | ||
141 | */ | ||
142 | prinsss () { | ||
143 | printJS({ | ||
144 | printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ||
145 | type: "html", | ||
146 | maxWidth: 800, // 最大宽度 | ||
147 | font_size: "", // 不设置则使用默认字体大小 | ||
148 | style: `@font-face { | ||
160 | font-family: "STZHONGS"; | 149 | font-family: "STZHONGS"; |
161 | src: url(${window.ttf}) format("truetype"); | 150 | src: url(${window.ttf}) format("truetype"); |
162 | }`, | 151 | }`, |
163 | // 继承原来的所有样式 | 152 | // 继承原来的所有样式 |
164 | targetStyles: ["*"], | 153 | targetStyles: ["*"], |
165 | }); | 154 | }); |
166 | this.render=false | 155 | this.render = false |
167 | }, | 156 | }, |
168 | /** | 157 | /** |
169 | * @description: loadData | 158 | * @description: loadData |
170 | * @author: renchao | 159 | * @author: renchao |
171 | */ | 160 | */ |
172 | loadData() { | 161 | loadData () { |
173 | if (this.$parent.addRepairRecord) { | 162 | if (this.$parent.addRepairRecord) { |
174 | this.columns.unshift({ prop: "cz", label: "操作" }); | 163 | this.columns.unshift({ prop: "cz", label: "操作" }); |
175 | } | 164 | } |
176 | getDiyaqList({ | 165 | getDiyaqList({ |
177 | bdcdyid: this.propsParam.bdcdyid, | 166 | bdcdyid: this.propsParam.bdcdyid, |
178 | qllx: this.propsParam.qllx, | 167 | qllx: this.propsParam.qllx, |
179 | qszt: this.checkList, | 168 | qszt: this.checkList, |
180 | }).then((res) => { | 169 | }).then((res) => { |
181 | if (res.code === 200) { | 170 | if (res.code === 200) { |
182 | this.tableData = res.result; | 171 | this.tableData = res.result; |
183 | this.shows=this.tableData.length>0 | 172 | this.shows = this.tableData.length > 0 |
184 | this.tableData.forEach((item) => { | 173 | this.tableData.forEach((item) => { |
185 | item.sjlx = getSjlx(item.sjlx); | 174 | item.sjlx = getSjlx(item.sjlx); |
186 | item.dybdclx = getDictLeabel(item.dybdclx, "A27"); | 175 | item.dybdclx = getDictLeabel(item.dybdclx, "A27"); |
187 | }); | 176 | }); |
188 | if (this.tableData.length < datas.columns().emptycolNum) { | 177 | if (this.tableData.length < datas.columns().emptycolNum) { |
189 | this.emptycolNum = | 178 | this.emptycolNum = |
190 | datas.columns().emptycolNum - this.tableData.length; | 179 | datas.columns().emptycolNum - this.tableData.length; |
191 | } else { | 180 | } else { |
192 | this.emptycolNum = 0; | 181 | this.emptycolNum = 0; |
182 | } | ||
193 | } | 183 | } |
184 | }); | ||
185 | }, | ||
186 | /** | ||
187 | * @description: checkChange | ||
188 | * @author: renchao | ||
189 | */ | ||
190 | checkChange () { | ||
191 | if (this.checkList.length === 0) { | ||
192 | this.tableData = []; | ||
193 | this.emptycolNum = datas.columns().emptycolNum; | ||
194 | } else { | ||
195 | this.loadData(); | ||
194 | } | 196 | } |
195 | }); | 197 | }, |
196 | }, | 198 | /** |
197 | /** | 199 | * @description: getQsztName |
198 | * @description: checkChange | 200 | * @param {*} code |
199 | * @author: renchao | 201 | * @author: renchao |
200 | */ | 202 | */ |
201 | checkChange() { | 203 | getQsztName (code) { |
202 | if (this.checkList.length === 0) { | 204 | let name = ""; |
203 | this.tableData = []; | 205 | for (let item of this.qsztList) { |
204 | this.emptycolNum = datas.columns().emptycolNum; | 206 | if (item.value == code) { |
205 | } else { | 207 | name = item.label; |
206 | this.loadData(); | 208 | break; |
207 | } | 209 | } |
208 | }, | ||
209 | /** | ||
210 | * @description: getQsztName | ||
211 | * @param {*} code | ||
212 | * @author: renchao | ||
213 | */ | ||
214 | getQsztName(code) { | ||
215 | let name = ""; | ||
216 | for (let item of this.qsztList) { | ||
217 | if (item.value == code) { | ||
218 | name = item.label; | ||
219 | break; | ||
220 | } | 210 | } |
221 | } | 211 | return name; |
222 | return name; | 212 | }, |
223 | }, | 213 | // 新增一条补录信息 |
224 | // 新增一条补录信息 | 214 | /** |
225 | /** | 215 | * @description: 新增一条补录信息 |
226 | * @description: 新增一条补录信息 | 216 | * @param {*} row |
227 | * @param {*} row | 217 | * @param {*} del |
228 | * @param {*} del | 218 | * @author: renchao |
229 | * @author: renchao | 219 | */ |
230 | */ | 220 | editDialog (row, del) { |
231 | editDialog(row, del) { | 221 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
232 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 222 | confirmButtonText: "确定", |
233 | confirmButtonText: "确定", | 223 | cancelButtonText: "取消", |
234 | cancelButtonText: "取消", | 224 | type: "warning", |
235 | type: "warning", | ||
236 | }) | ||
237 | .then(() => { | ||
238 | this.$parent.addRepairRecord(row, del); | ||
239 | this.$message({ | ||
240 | type: "success", | ||
241 | message: "补录成功!", | ||
242 | }); | ||
243 | }) | 225 | }) |
244 | .catch(() => { | 226 | .then(() => { |
245 | this.$message({ | 227 | this.$parent.addRepairRecord(row, del); |
246 | type: "info", | 228 | this.$message({ |
247 | message: "取消编辑", | 229 | type: "success", |
230 | message: "补录成功!", | ||
231 | }); | ||
232 | }) | ||
233 | .catch(() => { | ||
234 | this.$message({ | ||
235 | type: "info", | ||
236 | message: "取消编辑", | ||
237 | }); | ||
248 | }); | 238 | }); |
249 | }); | 239 | }, |
250 | }, | 240 | }, |
251 | }, | 241 | }; |
252 | }; | ||
253 | </script> | 242 | </script> |
254 | 243 | ||
255 | <style lang="scss" scoped> | 244 | <style lang="scss" scoped> |
256 | @import "./qlxxCommon.scss"; | 245 | @import "./qlxxCommon.scss"; |
257 | .title { | 246 | .title { |
258 | position: relative; | 247 | position: relative; |
259 | .print { | 248 | .print { |
260 | // background-color: #0079fe; | 249 | // background-color: #0079fe; |
261 | z-index: 10; | 250 | z-index: 10; |
262 | position: absolute; | 251 | position: absolute; |
263 | left: 11px; | 252 | left: 11px; |
264 | top: 5px; | 253 | top: 5px; |
254 | } | ||
265 | } | 255 | } |
266 | } | ||
267 | </style> | 256 | </style> | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate id="boxdiyiq" :propsParam="propsParam" :tableData="tableData" :render="render"/> | 9 | <printTemplate id="boxdiyiq" :tableData="tableData" :render="render"/> |
10 | </div> | 10 | </div> |
11 | <div class="tableBox"> | 11 | <div class="tableBox"> |
12 | <div class="title"> | 12 | <div class="title"> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-08-23 15:57:40 | 4 | * @LastEditTime: 2023-09-15 10:41:10 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="content"> | 7 | <div class="content"> |
... | @@ -83,7 +83,6 @@ | ... | @@ -83,7 +83,6 @@ |
83 | this.loadData(this.formData.bdcdyh); | 83 | this.loadData(this.formData.bdcdyh); |
84 | }, | 84 | }, |
85 | methods: { | 85 | methods: { |
86 | |||
87 | /** | 86 | /** |
88 | * @description: getBdcdyh | 87 | * @description: getBdcdyh |
89 | * @author: miaofang | 88 | * @author: miaofang |
... | @@ -122,7 +121,7 @@ | ... | @@ -122,7 +121,7 @@ |
122 | bdcdyh: val.bdcdyh, | 121 | bdcdyh: val.bdcdyh, |
123 | qllx: this.formData.qllx, | 122 | qllx: this.formData.qllx, |
124 | bsmQlxx: this.formData.bsmQlxx, | 123 | bsmQlxx: this.formData.bsmQlxx, |
125 | }; | 124 | } |
126 | }, | 125 | }, |
127 | /** | 126 | /** |
128 | * @description: loadData | 127 | * @description: loadData |
... | @@ -142,26 +141,23 @@ | ... | @@ -142,26 +141,23 @@ |
142 | this.defaultNode = getNode( | 141 | this.defaultNode = getNode( |
143 | this.formData.qllx, | 142 | this.formData.qllx, |
144 | { linShi: 0, xianShi: 0, liShi: 0 }, | 143 | { linShi: 0, xianShi: 0, liShi: 0 }, |
145 | res.result.bdcdylx|| "" | 144 | res.result.bdcdylx || "" |
146 | ); | 145 | ); |
147 | this.sfqdata[0].children.forEach((item, index) => { | 146 | this.sfqdata[0].children.forEach((item, index) => { |
148 | if (item.id == this.defaultNode.id) { | 147 | if (item.id == this.defaultNode.id) { |
149 | this.iskey = index | 148 | this.iskey = index |
150 | } | 149 | } |
151 | }) | 150 | }) |
152 | |||
153 | this.setstyle(0, 0, this.iskey); | 151 | this.setstyle(0, 0, this.iskey); |
154 | 152 | }) | |
155 | |||
156 | }); | ||
157 | } | 153 | } |
158 | }); | 154 | }) |
159 | this.currentSelectProps = { | 155 | this.currentSelectProps = { |
160 | bdcdyid: this.formData.bdcdyid, | 156 | bdcdyid: this.formData.bdcdyid, |
161 | bdcdyh: val, | 157 | bdcdyh: val, |
162 | qllx: this.formData.qllx, | 158 | qllx: this.formData.qllx, |
163 | bsmQlxx: this.formData.bsmQlxx, | 159 | bsmQlxx: this.formData.bsmQlxx, |
164 | }; | 160 | } |
165 | }, | 161 | }, |
166 | /** | 162 | /** |
167 | * @description: handleNodeClick | 163 | * @description: handleNodeClick |
... | @@ -171,12 +167,6 @@ | ... | @@ -171,12 +167,6 @@ |
171 | handleNodeClick (data) { | 167 | handleNodeClick (data) { |
172 | this.loadComponent(data.form); | 168 | this.loadComponent(data.form); |
173 | }, | 169 | }, |
174 | /** | ||
175 | * @description: setstyle | ||
176 | * @param {*} data | ||
177 | * @author: renchao | ||
178 | * 设置样式和点击定位到当前功能 | ||
179 | */ | ||
180 | setstyle (newindex, index, key) { | 170 | setstyle (newindex, index, key) { |
181 | if (key != undefined || this.keyy == index) { | 171 | if (key != undefined || this.keyy == index) { |
182 | if (key != undefined) { | 172 | if (key != undefined) { |
... | @@ -193,10 +183,6 @@ | ... | @@ -193,10 +183,6 @@ |
193 | dpme.style.color = "black"; | 183 | dpme.style.color = "black"; |
194 | dpme.style.border = "none"; | 184 | dpme.style.border = "none"; |
195 | } | 185 | } |
196 | |||
197 | |||
198 | |||
199 | |||
200 | }, | 186 | }, |
201 | /** | 187 | /** |
202 | * @description: addlist | 188 | * @description: addlist |
... | @@ -213,8 +199,8 @@ | ... | @@ -213,8 +199,8 @@ |
213 | this.currentSelectProps.bdcdyid = data.bdcdyid; | 199 | this.currentSelectProps.bdcdyid = data.bdcdyid; |
214 | this.loadComponent(data.form); | 200 | this.loadComponent(data.form); |
215 | } else { | 201 | } else { |
216 | this.loadComponent(data.form); | 202 | this.loadComponent(data.form); |
217 | let newindex = this.sfqdata.findIndex((item) => { | 203 | let newindex = this.sfqdata.findIndex((item) => { |
218 | return item.bdcdyid == data.bdcdyid; | 204 | return item.bdcdyid == data.bdcdyid; |
219 | }); | 205 | }); |
220 | this.setstyle(newindex, index); | 206 | this.setstyle(newindex, index); |
... | @@ -227,11 +213,12 @@ | ... | @@ -227,11 +213,12 @@ |
227 | * @author: renchao | 213 | * @author: renchao |
228 | */ | 214 | */ |
229 | loadComponent (form) { | 215 | loadComponent (form) { |
216 | console.log(form, 'form'); | ||
230 | this.componentTag = (r) => | 217 | this.componentTag = (r) => |
231 | require.ensure([], () => r(require("@/views/registerBook/" + form))); | 218 | require.ensure([], () => r(require("@/views/registerBook/" + form))); |
232 | }, | 219 | } |
233 | }, | 220 | } |
234 | }; | 221 | } |
235 | </script> | 222 | </script> |
236 | <style scoped lang="scss"> | 223 | <style scoped lang="scss"> |
237 | /deep/.rollTable { | 224 | /deep/.rollTable { | ... | ... |
1 | import { log } from "bpmn-js-token-simulation"; | 1 | /* |
2 | 2 | * @Description: | |
3 | 3 | * @Autor: renchao | |
4 | * @LastEditTime: 2023-09-15 10:52:40 | ||
5 | */ | ||
4 | var qlxxPage = [ | 6 | var qlxxPage = [ |
5 | { qllx: "A01", id: "tdsyq", form: "tdsyq.vue", label: "集体土地所有权" }, | 7 | { qllx: "A01", id: "tdsyq", form: "tdsyq.vue", label: "集体土地所有权" }, |
6 | { qllx: "A02", id: "tdsyq", form: "tdsyq.vue", label: "国家土地所有权" }, | 8 | { qllx: "A02", id: "tdsyq", form: "tdsyq.vue", label: "国家土地所有权" }, |
... | @@ -45,7 +47,7 @@ var qlxxPage = [ | ... | @@ -45,7 +47,7 @@ var qlxxPage = [ |
45 | * @param {*} bdcdyh | 47 | * @param {*} bdcdyh |
46 | * @author: renchao | 48 | * @author: renchao |
47 | */ | 49 | */ |
48 | export function loadTreeData(bdcdyh) { | 50 | export function loadTreeData (bdcdyh) { |
49 | let treedata = []; | 51 | let treedata = []; |
50 | //加载封面 | 52 | //加载封面 |
51 | treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" }); | 53 | treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" }); |
... | @@ -53,24 +55,24 @@ export function loadTreeData(bdcdyh) { | ... | @@ -53,24 +55,24 @@ export function loadTreeData(bdcdyh) { |
53 | treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] }); | 55 | treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] }); |
54 | return treedata; | 56 | return treedata; |
55 | } | 57 | } |
56 | export function loadsfqData(qlxxData, bdcdyh,bdcdyid) { | 58 | export function loadsfqData (qlxxData, bdcdyh, bdcdyid) { |
57 | let treedata={ | 59 | let treedata = { |
58 | bdcdyid:bdcdyid,id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [], | 60 | bdcdyid: bdcdyid, id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [], |
59 | }; | 61 | }; |
60 | //主体权利 | 62 | //主体权利 |
61 | treedata.children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx,bdcdyid)); | 63 | treedata.children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx, bdcdyid)); |
62 | //抵押权 | 64 | //抵押权 |
63 | treedata.children.push(getNode("A37", qlxxData.diyaq, '',bdcdyid)); | 65 | treedata.children.push(getNode("A37", qlxxData.diyaq, '', bdcdyid)); |
64 | //地役权 | 66 | //地役权 |
65 | treedata.children.push(getNode("A19", qlxxData.diyiq, '',bdcdyid)); | 67 | treedata.children.push(getNode("A19", qlxxData.diyiq, '', bdcdyid)); |
66 | //预告登记 | 68 | //预告登记 |
67 | treedata.children.push(getNode("B40", qlxxData.ygdj, '',bdcdyid)); | 69 | treedata.children.push(getNode("B40", qlxxData.ygdj, '', bdcdyid)); |
68 | //异议登记 | 70 | //异议登记 |
69 | treedata.children.push(getNode("B38", qlxxData.yydj, '',bdcdyid)); | 71 | treedata.children.push(getNode("B38", qlxxData.yydj, '', bdcdyid)); |
70 | //查封登记 | 72 | //查封登记 |
71 | treedata.children.push(getNode("B39", qlxxData.cfdj, '',bdcdyid)); | 73 | treedata.children.push(getNode("B39", qlxxData.cfdj, '', bdcdyid)); |
72 | 74 | ||
73 | return treedata; | 75 | return treedata; |
74 | } | 76 | } |
75 | 77 | ||
76 | //获取权利类型、不动产单元类型对应的树形节点信息 | 78 | //获取权利类型、不动产单元类型对应的树形节点信息 |
... | @@ -81,18 +83,18 @@ export function loadsfqData(qlxxData, bdcdyh,bdcdyid) { | ... | @@ -81,18 +83,18 @@ export function loadsfqData(qlxxData, bdcdyh,bdcdyid) { |
81 | * @param {*} bdcdylx | 83 | * @param {*} bdcdylx |
82 | * @author: renchao | 84 | * @author: renchao |
83 | */ | 85 | */ |
84 | export function getNode(qllx, qlxx, bdcdylx,bdcdyid) { | 86 | export function getNode (qllx, qlxx, bdcdylx, bdcdyid) { |
85 | let node; | 87 | let node; |
86 | for (var i = 0; i < qlxxPage.length; i++) { | 88 | for (var i = 0; i < qlxxPage.length; i++) { |
87 | if (qlxxPage[i].qllx == qllx) { | 89 | if (qlxxPage[i].qllx == qllx) { |
88 | if (qllx == "A04" || qllx == "A06" || qllx == "A08") { | 90 | if (qllx == "A04" || qllx == "A06" || qllx == "A08") { |
89 | if (bdcdylx == "4") { | 91 | if (bdcdylx == "4") { |
90 | node = {bdcdyid:bdcdyid,id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | 92 | node = { bdcdyid: bdcdyid, id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" }; |
91 | } else { | 93 | } else { |
92 | node = { bdcdyid:bdcdyid,id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | 94 | node = { bdcdyid: bdcdyid, id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" }; |
93 | } | 95 | } |
94 | } else { | 96 | } else { |
95 | node = { bdcdyid:bdcdyid,id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | 97 | node = { bdcdyid: bdcdyid, id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" }; |
96 | } | 98 | } |
97 | break; | 99 | break; |
98 | } | 100 | } | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: miaofang | 3 | * @Autor: miaofang |
4 | * @LastEditTime: 2023-08-23 15:54:12 | 4 | * @LastEditTime: 2023-09-15 10:20:40 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate | 9 | <printTemplate |
10 | id="boxfdcq" | 10 | id="boxfdcq" |
11 | :propsParam="propsParam" :tableData="tableData" :render="render"/> | 11 | :tableData="tableData" :render="render" /> |
12 | </div> | 12 | </div> |
13 | <div class="tableBox"> | 13 | <div class="tableBox"> |
14 | <div class="title"> | 14 | <div class="title"> |
15 | {{ title }} | 15 | {{ title }} |
16 | <el-button class="print" v-show="shows" @click="openPrint()" | 16 | <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button> |
17 | >打印</el-button | ||
18 | > | ||
19 | <div class="checkbox"> | 17 | <div class="checkbox"> |
20 | <el-checkbox-group v-model="checkList" @change="checkChange"> | 18 | <el-checkbox-group v-model="checkList" @change="checkChange"> |
21 | <el-checkbox | 19 | <el-checkbox |
22 | v-for="item in qsztList" | 20 | v-for="item in qsztList" |
23 | :key="item.value" | 21 | :key="item.value" |
24 | :label="item.value" | 22 | :label="item.value">{{ item.label }}</el-checkbox> |
25 | >{{ item.label }}</el-checkbox | ||
26 | > | ||
27 | </el-checkbox-group> | 23 | </el-checkbox-group> |
28 | </div> | 24 | </div> |
29 | </div> | 25 | </div> |
30 | <div class="xxTableBox rollTable"> | 26 | <div class="xxTableBox rollTable"> |
31 | <!-- 固定前三个 --> | ||
32 | <table class="xxTable"> | 27 | <table class="xxTable"> |
33 | <tr | 28 | <tr |
34 | v-for="(item, colindex) in columns" | 29 | v-for="(item, colindex) in columns" |
35 | :class="judge(item.label) ? 'cols' : ''" | 30 | :class="judge(item.label) ? 'cols' : ''" |
36 | :key="colindex" | 31 | :key="colindex"> |
37 | > | ||
38 | <td> | 32 | <td> |
39 | {{ item.label }} | 33 | {{ item.label }} |
40 | </td> | 34 | </td> |
... | @@ -50,24 +44,18 @@ | ... | @@ -50,24 +44,18 @@ |
50 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | 44 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', |
51 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | 45 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', |
52 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', | 46 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', |
53 | ]" | 47 | ]"> |
54 | > | ||
55 | <div | 48 | <div |
56 | class="setbut" | 49 | class="setbut" |
57 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'" | 50 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'"> |
58 | > | ||
59 | <el-button | 51 | <el-button |
60 | type="text" | 52 | type="text" |
61 | icon="el-icon-edit-outline" | 53 | icon="el-icon-edit-outline" |
62 | @click="editDialog(row)" | 54 | @click="editDialog(row)">编辑</el-button> |
63 | >编辑</el-button | ||
64 | > | ||
65 | <el-button | 55 | <el-button |
66 | type="text" | 56 | type="text" |
67 | icon="el-icon-edit-outline" | 57 | icon="el-icon-edit-outline" |
68 | @click="editDialog(row, 'D')" | 58 | @click="editDialog(row, 'D')">删除</el-button> |
69 | >删除</el-button | ||
70 | > | ||
71 | </div> | 59 | </div> |
72 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> | 60 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> |
73 | 有效 | 61 | 有效 |
... | @@ -90,8 +78,7 @@ | ... | @@ -90,8 +78,7 @@ |
90 | effect="dark" | 78 | effect="dark" |
91 | :content="row[item.prop]" | 79 | :content="row[item.prop]" |
92 | placement="top" | 80 | placement="top" |
93 | popper-class="tooltip-width" | 81 | popper-class="tooltip-width"> |
94 | > | ||
95 | <span class="ellipsis-line"> | 82 | <span class="ellipsis-line"> |
96 | {{ row[item.prop] }} | 83 | {{ row[item.prop] }} |
97 | </span> | 84 | </span> |
... | @@ -103,15 +90,13 @@ | ... | @@ -103,15 +90,13 @@ |
103 | item.prop !== 'djyy' && | 90 | item.prop !== 'djyy' && |
104 | item.prop !== 'fj' && | 91 | item.prop !== 'fj' && |
105 | !judge(item.label) | 92 | !judge(item.label) |
106 | " | 93 | "> |
107 | > | ||
108 | {{ row[item.prop] }} | 94 | {{ row[item.prop] }} |
109 | </span> | 95 | </span> |
110 | <div class="many" v-if="judge(item.label)"> | 96 | <div class="many" v-if="judge(item.label)"> |
111 | <div | 97 | <div |
112 | v-for="(label, index) in row.djQlxxFdcqxmDoList" | 98 | v-for="(label, index) in row.djQlxxFdcqxmDoList" |
113 | :key="index" | 99 | :key="index"> |
114 | > | ||
115 | {{ label[item.prop] }} | 100 | {{ label[item.prop] }} |
116 | </div> | 101 | </div> |
117 | </div> | 102 | </div> |
... | @@ -125,203 +110,203 @@ | ... | @@ -125,203 +110,203 @@ |
125 | </template> | 110 | </template> |
126 | 111 | ||
127 | <script> | 112 | <script> |
128 | import printJS from "print-js"; | 113 | import printJS from "print-js"; |
129 | import { datas } from "./qlxxFormData.js"; | 114 | import { datas } from "./qlxxFormData.js"; |
130 | import { getSjlx } from "@/utils/dictionary.js"; | 115 | import { getSjlx } from "@/utils/dictionary.js"; |
131 | import { getFdcq1List } from "@/api/djbDetail.js"; | 116 | import { getFdcq1List } from "@/api/djbDetail.js"; |
132 | import printTemplate from "./components/printTemplate.vue"; | 117 | import printTemplate from "./components/printTemplate.vue"; |
133 | export default { | 118 | export default { |
134 | components: { | 119 | components: { |
135 | printTemplate, | 120 | printTemplate, |
136 | }, | 121 | }, |
137 | data() { | 122 | data () { |
138 | return { | 123 | return { |
139 | printObj: { | 124 | printObj: { |
140 | id: "box", | 125 | id: "box", |
141 | //其他配置项, | 126 | //其他配置项, |
142 | }, | 127 | }, |
143 | shows: false, | 128 | shows: false, |
144 | title: "房地产权登记信息(多幢)", | 129 | title: "房地产权登记信息(多幢)", |
145 | qsztList: datas.columns().qsztList, | 130 | qsztList: datas.columns().qsztList, |
146 | checkList: datas.columns().checkList, | 131 | checkList: datas.columns().checkList, |
147 | //传递参数 | 132 | //传递参数 |
148 | propsParam: this.$attrs, | 133 | propsParam: this.$attrs, |
149 | //列表数据 | 134 | //列表数据 |
150 | tableData: [], | 135 | tableData: [], |
151 | // 异步传值 | 136 | // 异步传值 |
152 | datalist: [], | 137 | datalist: [], |
153 | //空列值个数 | 138 | //空列值个数 |
154 | emptycolNum: datas.columns().emptycolNum, | 139 | emptycolNum: datas.columns().emptycolNum, |
155 | //列名称对象 | 140 | //列名称对象 |
156 | columns: datas.columns().FDCQ1, | 141 | columns: datas.columns().FDCQ1, |
157 | render: false, | 142 | render: false, |
158 | }; | 143 | }; |
159 | }, | 144 | }, |
160 | created() { | 145 | created () { |
161 | this.loadData(); | 146 | this.loadData(); |
162 | }, | ||
163 | methods: { | ||
164 | /** | ||
165 | * @description: openPrint | ||
166 | * @author: miaofang | ||
167 | */ | ||
168 | openPrint() { | ||
169 | this.render = true; | ||
170 | setTimeout(() => { | ||
171 | this.prinsss(); | ||
172 | }, 100); | ||
173 | }, | 147 | }, |
174 | /** | 148 | methods: { |
175 | * @description: prinsss | 149 | /** |
176 | * @author: miaofang | 150 | * @description: openPrint |
177 | */ | 151 | * @author: miaofang |
178 | prinsss() { | 152 | */ |
179 | printJS({ | 153 | openPrint () { |
180 | printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 154 | this.render = true; |
181 | type: "html", | 155 | setTimeout(() => { |
182 | maxWidth: 800, // 最大宽度 | 156 | this.prinsss(); |
183 | font_size: "", // 不设置则使用默认字体大小 | 157 | }, 100); |
184 | style: `@font-face { | 158 | }, |
159 | /** | ||
160 | * @description: prinsss | ||
161 | * @author: miaofang | ||
162 | */ | ||
163 | prinsss () { | ||
164 | printJS({ | ||
165 | printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ||
166 | type: "html", | ||
167 | maxWidth: 800, // 最大宽度 | ||
168 | font_size: "", // 不设置则使用默认字体大小 | ||
169 | style: `@font-face { | ||
185 | font-family: "STZHONGS"; | 170 | font-family: "STZHONGS"; |
186 | src: url(${window.ttf}) format("truetype"); | 171 | src: url(${window.ttf}) format("truetype"); |
187 | }`, | 172 | }`, |
188 | // 继承原来的所有样式 | 173 | // 继承原来的所有样式 |
189 | targetStyles: ["*"], | 174 | targetStyles: ["*"], |
190 | }); | 175 | }); |
191 | this.render=false | 176 | this.render = false |
192 | }, | 177 | }, |
193 | /** | 178 | /** |
194 | * @description: loadData | 179 | * @description: loadData |
195 | * @author: miaofang | 180 | * @author: miaofang |
196 | */ | 181 | */ |
197 | loadData() { | 182 | loadData () { |
198 | if (this.$parent.addRepairRecord) { | 183 | if (this.$parent.addRepairRecord) { |
199 | this.columns.unshift({ prop: "cz", label: "操作" }); | 184 | this.columns.unshift({ prop: "cz", label: "操作" }); |
200 | } | 185 | } |
201 | getFdcq1List({ | 186 | getFdcq1List({ |
202 | bdcdyid: this.propsParam.bdcdyid, | 187 | bdcdyid: this.propsParam.bdcdyid, |
203 | qllx: this.propsParam.qllx, | 188 | qllx: this.propsParam.qllx, |
204 | qszt: this.checkList, | 189 | qszt: this.checkList, |
205 | }).then((res) => { | 190 | }).then((res) => { |
206 | if (res.code === 200) { | 191 | if (res.code === 200) { |
207 | this.tableData = res.result; | 192 | this.tableData = res.result; |
208 | this.shows = this.tableData.length > 0; | 193 | this.shows = this.tableData.length > 0; |
209 | this.tableData.forEach((item) => { | 194 | this.tableData.forEach((item) => { |
210 | item.sjlx = getSjlx(item.sjlx); | 195 | item.sjlx = getSjlx(item.sjlx); |
211 | }); | 196 | }); |
212 | if (this.tableData.length < datas.columns().emptycolNum) { | 197 | if (this.tableData.length < datas.columns().emptycolNum) { |
213 | this.emptycolNum = | 198 | this.emptycolNum = |
214 | datas.columns().emptycolNum - this.tableData.length; | 199 | datas.columns().emptycolNum - this.tableData.length; |
215 | } else { | 200 | } else { |
216 | this.emptycolNum = 0; | 201 | this.emptycolNum = 0; |
202 | } | ||
217 | } | 203 | } |
204 | }); | ||
205 | }, | ||
206 | /** | ||
207 | * @description: checkChange | ||
208 | * @author: miaofang | ||
209 | */ | ||
210 | checkChange () { | ||
211 | if (this.checkList.length === 0) { | ||
212 | this.tableData = []; | ||
213 | this.emptycolNum = datas.columns().emptycolNum; | ||
214 | } else { | ||
215 | this.loadData(); | ||
218 | } | 216 | } |
219 | }); | 217 | }, |
220 | }, | 218 | /** |
221 | /** | 219 | * @description: getQsztName |
222 | * @description: checkChange | 220 | * @param {*} code |
223 | * @author: miaofang | 221 | * @author: miaofang |
224 | */ | 222 | */ |
225 | checkChange() { | 223 | getQsztName (code) { |
226 | if (this.checkList.length === 0) { | 224 | let name = ""; |
227 | this.tableData = []; | 225 | for (let item of this.qsztList) { |
228 | this.emptycolNum = datas.columns().emptycolNum; | 226 | if (item.value == code) { |
229 | } else { | 227 | name = item.label; |
230 | this.loadData(); | 228 | break; |
231 | } | 229 | } |
232 | }, | ||
233 | /** | ||
234 | * @description: getQsztName | ||
235 | * @param {*} code | ||
236 | * @author: miaofang | ||
237 | */ | ||
238 | getQsztName(code) { | ||
239 | let name = ""; | ||
240 | for (let item of this.qsztList) { | ||
241 | if (item.value == code) { | ||
242 | name = item.label; | ||
243 | break; | ||
244 | } | 230 | } |
245 | } | 231 | return name; |
246 | return name; | 232 | }, |
247 | }, | 233 | /** |
248 | /** | 234 | * @description: judge |
249 | * @description: judge | 235 | * @param {*} lable |
250 | * @param {*} lable | 236 | * @author: miaofang |
251 | * @author: miaofang | 237 | */ |
252 | */ | 238 | judge (label) { |
253 | judge(label) { | 239 | if ( |
254 | if ( | 240 | "项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf( |
255 | "项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf( | 241 | label |
256 | label | 242 | ) > -1 |
257 | ) > -1 | 243 | ) { |
258 | ) { | 244 | return true; |
259 | return true; | 245 | } else { |
260 | } else { | 246 | return false; |
261 | return false; | 247 | } |
262 | } | 248 | }, |
263 | }, | 249 | // 新增一条补录信息 |
264 | // 新增一条补录信息 | 250 | /** |
265 | /** | 251 | * @description: 新增一条补录信息 |
266 | * @description: 新增一条补录信息 | 252 | * @param {*} row |
267 | * @param {*} row | 253 | * @param {*} del |
268 | * @param {*} del | 254 | * @author: miaofang |
269 | * @author: miaofang | 255 | */ |
270 | */ | 256 | editDialog (row, del) { |
271 | editDialog(row, del) { | 257 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
272 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 258 | confirmButtonText: "确定", |
273 | confirmButtonText: "确定", | 259 | cancelButtonText: "取消", |
274 | cancelButtonText: "取消", | 260 | type: "warning", |
275 | type: "warning", | ||
276 | }) | ||
277 | .then(() => { | ||
278 | this.$parent.addRepairRecord(row, del); | ||
279 | |||
280 | this.$message({ | ||
281 | type: "success", | ||
282 | message: "补录成功!", | ||
283 | }); | ||
284 | }) | 261 | }) |
285 | .catch(() => { | 262 | .then(() => { |
286 | this.$message({ | 263 | this.$parent.addRepairRecord(row, del); |
287 | type: "info", | 264 | |
288 | message: "取消编辑", | 265 | this.$message({ |
266 | type: "success", | ||
267 | message: "补录成功!", | ||
268 | }); | ||
269 | }) | ||
270 | .catch(() => { | ||
271 | this.$message({ | ||
272 | type: "info", | ||
273 | message: "取消编辑", | ||
274 | }); | ||
289 | }); | 275 | }); |
290 | }); | 276 | }, |
291 | }, | 277 | }, |
292 | }, | 278 | }; |
293 | }; | ||
294 | </script> | 279 | </script> |
295 | 280 | ||
296 | <style lang="scss" scoped> | 281 | <style lang="scss" scoped> |
297 | @import "./qlxxCommon.scss"; | 282 | @import "./qlxxCommon.scss"; |
298 | .cols { | 283 | .cols { |
299 | td { | 284 | td { |
300 | .many { | 285 | .many { |
301 | width: 100%; | 286 | width: 100%; |
302 | height: 100%; | 287 | height: 100%; |
303 | display: flex; | 288 | display: flex; |
304 | flex-direction: row; | 289 | flex-direction: row; |
305 | div { | 290 | div { |
306 | flex: 1; | 291 | flex: 1; |
307 | border-right: 2px solid #e3e2e2; | 292 | border-right: 2px solid #e3e2e2; |
308 | line-height: 40px; | 293 | line-height: 40px; |
309 | overflow: unset; | 294 | overflow: unset; |
310 | } | 295 | } |
311 | div:last-child { | 296 | div:last-child { |
312 | border: 0; | 297 | border: 0; |
298 | } | ||
313 | } | 299 | } |
314 | } | 300 | } |
315 | } | 301 | } |
316 | } | 302 | .title { |
317 | .title { | 303 | position: relative; |
318 | position: relative; | 304 | .print { |
319 | .print { | 305 | // background-color: #0079fe; |
320 | // background-color: #0079fe; | 306 | z-index: 10; |
321 | z-index: 10; | 307 | position: absolute; |
322 | position: absolute; | 308 | left: 11px; |
323 | left: 11px; | 309 | top: 5px; |
324 | top: 5px; | 310 | } |
325 | } | 311 | } |
326 | } | ||
327 | </style> | 312 | </style> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: miaofang | 3 | * @Autor: miaofang |
4 | * @LastEditTime: 2023-08-23 15:54:12 | 4 | * @LastEditTime: 2023-09-15 10:58:42 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div> | 8 | <!-- <div v-show="false"> |
9 | <printTemplate | 9 | <printTemplate |
10 | id="boxfdcq" | 10 | id="boxfdcq" |
11 | :propsParam="propsParam" | ||
12 | :tableData="tableData" | 11 | :tableData="tableData" |
13 | :render="render" | 12 | :render="render" /> |
14 | /> | 13 | </div> --> |
15 | </div> | 14 | <djbDetail :title="title" :shows="shows" :propsParam="propsParam" |
16 | <div class="tableBox"> | 15 | :columns="columns" :tableData="tableData" /> |
16 | <!-- <div class="tableBox"> | ||
17 | <div class="title"> | 17 | <div class="title"> |
18 | {{ title }} | 18 | {{ title }} |
19 | <el-button class="print" v-show="shows" @click="openPrint()" | 19 | <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button> |
20 | >打印</el-button | ||
21 | > | ||
22 | <div class="checkbox"> | 20 | <div class="checkbox"> |
23 | <el-checkbox-group v-model="checkList" @change="checkChange"> | 21 | <el-checkbox-group v-model="checkList" @change="checkChange"> |
24 | <el-checkbox | 22 | <el-checkbox |
25 | v-for="item in qsztList" | 23 | v-for="item in qsztList" |
26 | :key="item.value" | 24 | :key="item.value" |
27 | :label="item.value" | 25 | :label="item.value">{{ item.label }}</el-checkbox> |
28 | >{{ item.label }}</el-checkbox | ||
29 | > | ||
30 | </el-checkbox-group> | 26 | </el-checkbox-group> |
31 | </div> | 27 | </div> |
32 | </div> | 28 | </div> |
... | @@ -48,24 +44,18 @@ | ... | @@ -48,24 +44,18 @@ |
48 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', | 44 | item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', |
49 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', | 45 | item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', |
50 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', | 46 | item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', |
51 | ]" | 47 | ]"> |
52 | > | ||
53 | <div | 48 | <div |
54 | class="setbut" | 49 | class="setbut" |
55 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'" | 50 | v-if="item.prop == 'cz' && row.sjlx != '系统数据'"> |
56 | > | ||
57 | <el-button | 51 | <el-button |
58 | type="text" | 52 | type="text" |
59 | icon="el-icon-edit-outline" | 53 | icon="el-icon-edit-outline" |
60 | @click="editDialog(row)" | 54 | @click="editDialog(row)">编辑</el-button> |
61 | >编辑</el-button | ||
62 | > | ||
63 | <el-button | 55 | <el-button |
64 | type="text" | 56 | type="text" |
65 | icon="el-icon-edit-outline" | 57 | icon="el-icon-edit-outline" |
66 | @click="editDialog(row, 'D')" | 58 | @click="editDialog(row, 'D')">删除</el-button> |
67 | >删除</el-button | ||
68 | > | ||
69 | </div> | 59 | </div> |
70 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> | 60 | <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> |
71 | 有效 | 61 | 有效 |
... | @@ -92,8 +82,7 @@ | ... | @@ -92,8 +82,7 @@ |
92 | effect="dark" | 82 | effect="dark" |
93 | :content="row[item.prop]" | 83 | :content="row[item.prop]" |
94 | placement="top" | 84 | placement="top" |
95 | popper-class="tooltip-width" | 85 | popper-class="tooltip-width"> |
96 | > | ||
97 | <span class="ellipsis-line"> | 86 | <span class="ellipsis-line"> |
98 | {{ row[item.prop] }} | 87 | {{ row[item.prop] }} |
99 | </span> | 88 | </span> |
... | @@ -103,162 +92,84 @@ | ... | @@ -103,162 +92,84 @@ |
103 | </tr> | 92 | </tr> |
104 | </table> | 93 | </table> |
105 | </div> | 94 | </div> |
106 | </div> | 95 | </div> --> |
107 | </div> | 96 | </div> |
108 | </template> | 97 | </template> |
109 | |||
110 | <script> | 98 | <script> |
111 | import printTemplate from "./components/printTemplate.vue"; | 99 | import { datas } from "./qlxxFormData.js"; |
112 | import { datas } from "./qlxxFormData.js"; | 100 | import { getSjlx } from "@/utils/dictionary.js"; |
113 | import { getSjlx } from "@/utils/dictionary.js"; | 101 | import { getFdcq2List } from "@/api/djbDetail.js"; |
114 | import { getFdcq2List } from "@/api/djbDetail.js"; | 102 | import djbDetail from "./components/djbDetail.vue" |
115 | export default { | 103 | import printTemplate from "./components/printTemplate.vue"; |
116 | components: { | 104 | export default { |
117 | printTemplate, | 105 | components: { |
118 | }, | 106 | printTemplate, |
119 | data() { | 107 | djbDetail |
120 | return { | 108 | }, |
121 | 109 | ||
122 | shows: false, | 110 | data () { |
123 | title: "房地产权登记信息(独幢、层、套、间房屋)", | 111 | return { |
124 | qsztList: datas.columns().qsztList, | 112 | shows: false, |
125 | checkList: datas.columns().checkList, | 113 | title: "房地产权登记信息(独幢、层、套、间房屋)", |
126 | //传递参数 | 114 | //传递参数 |
127 | propsParam: this.$attrs, | 115 | propsParam: this.$attrs, |
128 | //列表数据 | 116 | //列表数据 |
129 | tableData: [], | 117 | tableData: [], |
130 | //空列值个数 | 118 | //列名称对象 |
131 | emptycolNum: datas.columns().emptycolNum, | 119 | columns: datas.columns().FDCQ2, |
132 | //列名称对象 | 120 | // qsztList: datas.columns().qsztList, |
133 | columns: datas.columns().FDCQ2, | 121 | render: false, |
134 | render: false, | 122 | // checkList:datas.columns().checkList, |
135 | }; | 123 | //空列值个数 |
136 | }, | 124 | // emptycolNum: datas.columns().emptycolNum |
137 | created() { | 125 | }; |
138 | this.loadData(); | ||
139 | }, | ||
140 | methods: { | ||
141 | /** | ||
142 | * @description: openPrint | ||
143 | * @author: miaofang | ||
144 | */ | ||
145 | openPrint() { | ||
146 | this.render = true; | ||
147 | setTimeout(() => { | ||
148 | this.prinsss(); | ||
149 | }, 100); | ||
150 | }, | 126 | }, |
151 | /** | 127 | created () { |
152 | * @description: prinsss | 128 | this.loadData(); |
153 | * @author: miaofang | ||
154 | */ | ||
155 | prinsss() { | ||
156 | printJS({ | ||
157 | printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | ||
158 | type: "html", | ||
159 | maxWidth: 800, // 最大宽度 | ||
160 | font_size: "", // 不设置则使用默认字体大小 | ||
161 | style: `@font-face { | ||
162 | font-family: "STZHONGS"; | ||
163 | src: url(${window.ttf}) format("truetype"); | ||
164 | }`, | ||
165 | // 继承原来的所有样式 | ||
166 | targetStyles: ["*"], | ||
167 | }); | ||
168 | this.render = false | ||
169 | }, | 129 | }, |
170 | /** | 130 | methods: { |
171 | * @description: loadData | 131 | /** |
172 | * @author: miaofang | 132 | * @description: loadData |
173 | */ | 133 | * @author: miaofang |
174 | loadData() { | 134 | */ |
175 | if (this.$parent.addRepairRecord) { | 135 | loadData () { |
176 | this.columns.unshift({ prop: "cz", label: "操作" }); | 136 | if (this.$parent.addRepairRecord) { |
177 | } | 137 | this.columns.unshift({ prop: "cz", label: "操作" }); |
178 | getFdcq2List({ | ||
179 | bdcdyid: this.propsParam.bdcdyid, | ||
180 | qllx: this.propsParam.qllx, | ||
181 | qszt: this.checkList, | ||
182 | }).then((res) => { | ||
183 | if (res.code === 200) { | ||
184 | this.tableData = res.result; | ||
185 | this.shows = this.tableData.length > 0; | ||
186 | this.tableData.forEach((item) => { | ||
187 | item.sjlx = getSjlx(item.sjlx); | ||
188 | }); | ||
189 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
190 | this.emptycolNum = | ||
191 | datas.columns().emptycolNum - this.tableData.length; | ||
192 | } else { | ||
193 | this.emptycolNum = 0; | ||
194 | } | ||
195 | } | 138 | } |
196 | }); | 139 | getFdcq2List({ |
197 | }, | 140 | bdcdyid: this.propsParam.bdcdyid, |
198 | /** | 141 | qllx: this.propsParam.qllx, |
199 | * @description: checkChange | 142 | qszt: this.checkList, |
200 | * @author: miaofang | 143 | }).then((res) => { |
201 | */ | 144 | if (res.code === 200) { |
202 | checkChange() { | 145 | this.tableData = res.result; |
203 | if (this.checkList.length === 0) { | 146 | this.shows = this.tableData.length > 0; |
204 | this.tableData = []; | 147 | this.tableData.forEach((item) => { |
205 | this.emptycolNum = datas.columns().emptycolNum; | 148 | item.sjlx = getSjlx(item.sjlx); |
206 | } else { | 149 | }); |
207 | this.loadData(); | 150 | if (this.tableData.length < datas.columns().emptycolNum) { |
208 | } | 151 | this.emptycolNum = |
209 | }, | 152 | datas.columns().emptycolNum - this.tableData.length; |
210 | /** | 153 | } else { |
211 | * @description: getQsztName | 154 | this.emptycolNum = 0; |
212 | * @param {*} code | 155 | } |
213 | * @author: miaofang | 156 | } |
214 | */ | ||
215 | getQsztName(code) { | ||
216 | let name = ""; | ||
217 | for (let item of this.qsztList) { | ||
218 | if (item.value == code) { | ||
219 | name = item.label; | ||
220 | break; | ||
221 | } | ||
222 | } | ||
223 | return name; | ||
224 | }, | ||
225 | // 新增一条补录信息 | ||
226 | /** | ||
227 | * @description: 新增一条补录信息 | ||
228 | * @param {*} row | ||
229 | * @param {*} del | ||
230 | * @author: miaofang | ||
231 | */ | ||
232 | editDialog(row, del) { | ||
233 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | ||
234 | confirmButtonText: "确定", | ||
235 | cancelButtonText: "取消", | ||
236 | type: "warning", | ||
237 | }) | ||
238 | .then(() => { | ||
239 | this.$parent.addRepairRecord(row, del); | ||
240 | }) | 157 | }) |
241 | .catch(() => { | 158 | } |
242 | this.$message({ | 159 | } |
243 | type: "info", | 160 | }; |
244 | message: "取消", | ||
245 | }); | ||
246 | }); | ||
247 | }, | ||
248 | }, | ||
249 | }; | ||
250 | </script> | 161 | </script> |
251 | 162 | ||
252 | <style lang="scss" scoped> | 163 | <style lang="scss" scoped> |
253 | @import "./qlxxCommon.scss"; | 164 | @import "./qlxxCommon.scss"; |
254 | .title { | 165 | .title { |
255 | position: relative; | 166 | position: relative; |
256 | .print { | 167 | .print { |
257 | // background-color: #0079fe; | 168 | // background-color: #0079fe; |
258 | z-index: 10; | 169 | z-index: 10; |
259 | position: absolute; | 170 | position: absolute; |
260 | left: 11px; | 171 | left: 11px; |
261 | top: 5px; | 172 | top: 5px; |
173 | } | ||
262 | } | 174 | } |
263 | } | ||
264 | </style> | 175 | </style> | ... | ... |
... | @@ -18,7 +18,6 @@ | ... | @@ -18,7 +18,6 @@ |
18 | <div v-show="false"> | 18 | <div v-show="false"> |
19 | <printTemplate | 19 | <printTemplate |
20 | id="boxsllmsyq" | 20 | id="boxsllmsyq" |
21 | :propsParam="propsParam" | ||
22 | :tableData="tableData" | 21 | :tableData="tableData" |
23 | :render="render" | 22 | :render="render" |
24 | /> | 23 | /> | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate id="boxtdsyq" :propsParam="propsParam" :tableData="tableData" :render="render"/> | 9 | <printTemplate id="boxtdsyq" :tableData="tableData" :render="render"/> |
10 | </div> | 10 | </div> |
11 | <div class="tableBox"> | 11 | <div class="tableBox"> |
12 | <div class="title"> | 12 | <div class="title"> | ... | ... |
... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
6 | <template> | 6 | <template> |
7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
8 | <div v-show="false"> | 8 | <div v-show="false"> |
9 | <printTemplate id="boxygdj" :propsParam="propsParam" :tableData="tableData" :render="render"/> | 9 | <printTemplate id="boxygdj" :tableData="tableData" :render="render"/> |
10 | </div> | 10 | </div> |
11 | <div class="tableBox"> | 11 | <div class="tableBox"> |
12 | <div class="title"> | 12 | <div class="title"> | ... | ... |
... | @@ -8,51 +8,64 @@ | ... | @@ -8,51 +8,64 @@ |
8 | <div class="fieldcheck"> | 8 | <div class="fieldcheck"> |
9 | <div class="left"> | 9 | <div class="left"> |
10 | <div class="header"> | 10 | <div class="header"> |
11 | <el-checkbox | 11 | <div class="headerconcent"> |
12 | class="check" | 12 | <el-checkbox |
13 | :indeterminate="isIndeterminate" | 13 | class="check" |
14 | v-model="checkAll" | 14 | :indeterminate="isIndeterminate" |
15 | @change="handleCheckAllChange">待选合集</el-checkbox> | 15 | v-model="checkAll" |
16 | <div class="num">/</div> | 16 | @change="handleCheckAllChange" |
17 | >待选合集</el-checkbox | ||
18 | > | ||
19 | <div class="num"> | ||
20 | 总数{{ cities.length }} 已选{{ datalist.length }} | ||
21 | </div> | ||
22 | </div> | ||
17 | </div> | 23 | </div> |
18 | <el-checkbox-group | 24 | <el-checkbox-group |
19 | class="concent" | 25 | class="concent" |
20 | v-model="checkedCities" | 26 | v-model="checkedCities" |
21 | @change="handleCheckedCitiesChange"> | 27 | @change="handleCheckedCitiesChange" |
28 | > | ||
22 | <el-checkbox | 29 | <el-checkbox |
23 | v-for="city in cities" | 30 | v-for="city in cities" |
24 | :label="city.name" | 31 | :label="city.name" |
25 | :key="city.name">{{ city.despriction }}({{ city.name }})</el-checkbox> | 32 | :key="city.name" |
33 | >{{ city.despriction }}({{ city.name }})</el-checkbox | ||
34 | > | ||
26 | </el-checkbox-group> | 35 | </el-checkbox-group> |
27 | </div> | 36 | </div> |
28 | <div class="right"> | 37 | <div class="right"> |
29 | <el-table | 38 | <el-table |
30 | class="tablelist" | 39 | class="tablelist" |
31 | :data="datalist" | 40 | :data="datalist" |
41 | border | ||
32 | ref="listTable" | 42 | ref="listTable" |
33 | :key="key" | 43 | :key="key" |
34 | row-key="name" | 44 | row-key="name" |
35 | :pagination="false" | 45 | :pagination="false" |
36 | :header-cell-style="{ 'text-align': 'center' }" | ||
37 | :heightNumSetting="true" | 46 | :heightNumSetting="true" |
38 | :minHeight="150" | 47 | :minHeight="150" |
39 | height="590" | 48 | height="650" |
40 | style="width: 100%"> | 49 | style="width: 100%" |
50 | > | ||
41 | <el-table-column label="字段" prop="name" min-width="100"> | 51 | <el-table-column label="字段" prop="name" min-width="100"> |
42 | </el-table-column> | 52 | </el-table-column> |
43 | 53 | ||
44 | <el-table-column | 54 | <el-table-column |
45 | label="字段名称" | 55 | label="字段名称" |
46 | prop="desprictionor" | 56 | prop="desprictionor" |
47 | min-width="100"> | 57 | min-width="100" |
58 | > | ||
48 | </el-table-column> | 59 | </el-table-column> |
49 | <el-table-column label="字段别名" min-width="100"> | 60 | <el-table-column label="字段别名" min-width="100"> |
50 | <template slot-scope="scope"> | 61 | <template slot-scope="scope"> |
51 | <el-input | 62 | <el-input |
52 | v-model="scope.row.despriction" | 63 | v-model="scope.row.despriction" |
53 | placeholder="请输入内容" | 64 | placeholder="请输入内容" |
54 | @input="sumTime(scope.$index, scope.row.tdsyqx)"> | 65 | @input="sumTime(scope.$index, scope.row.tdsyqx)" |
55 | ></el-input> | 66 | > |
67 | ></el-input | ||
68 | > | ||
56 | </template> | 69 | </template> |
57 | </el-table-column> | 70 | </el-table-column> |
58 | </el-table> | 71 | </el-table> |
... | @@ -66,222 +79,219 @@ | ... | @@ -66,222 +79,219 @@ |
66 | </template> | 79 | </template> |
67 | 80 | ||
68 | <script> | 81 | <script> |
69 | import Sortable from 'sortablejs' | 82 | import Sortable from "sortablejs"; |
70 | import { getFieldList, getFieldListByQlxx, save } from "@/api/SysDjbFieldDO"; | 83 | import { getFieldList, getFieldListByQlxx, save } from "@/api/SysDjbFieldDO"; |
71 | export default { | 84 | export default { |
72 | props: { | 85 | props: { |
73 | formData: { | 86 | formData: { |
74 | type: Object, | 87 | type: Object, |
75 | default: () => { }, | 88 | default: () => {}, |
76 | }, | ||
77 | }, | 89 | }, |
78 | data () { | 90 | }, |
79 | return { | 91 | data() { |
80 | checkAll: false, | 92 | return { |
81 | sortable: null, | 93 | checkAll: false, |
82 | checkedCities: [], | 94 | sortable: null, |
83 | cities: [], | 95 | checkedCities: [], |
84 | datalist: [], | 96 | cities: [], |
85 | tablelist: [], | 97 | datalist: [], |
86 | key: 0, | 98 | tablelist: [], |
87 | isIndeterminate: true, | 99 | key: 0, |
88 | }; | 100 | isIndeterminate: true, |
89 | }, | 101 | }; |
90 | mounted () { | 102 | }, |
91 | this.generateData() | 103 | mounted() { |
104 | this.generateData(); | ||
105 | }, | ||
106 | beforeDestroy() { | ||
107 | if (this.sortable) { | ||
108 | this.sortable.destroy(); | ||
109 | } | ||
110 | }, | ||
111 | watch: { | ||
112 | key: { | ||
113 | handler(newName, oldName) { | ||
114 | this.initSort(); | ||
115 | }, | ||
92 | }, | 116 | }, |
93 | beforeDestroy () { | 117 | }, |
94 | if (this.sortable) { | 118 | methods: { |
95 | this.sortable.destroy(); | 119 | changeIndex(array, index1, index2) { |
96 | } | 120 | array[index1] = array.splice(index2, 1, array[index1])[0]; |
97 | }, | 121 | }, |
98 | watch: { | 122 | initSort() { |
99 | key: { | 123 | const el = this.$refs.listTable.$el.querySelectorAll( |
100 | handler (newName, oldName) { | 124 | ".el-table__body-wrapper > table > tbody" |
101 | this.initSort() | 125 | )[0]; |
102 | } | 126 | // const sortable = new Sortable(el, options); |
103 | } | 127 | // 根据具体需求配置options配置项 |
128 | const sortable = new Sortable(el, { | ||
129 | onEnd: (evt) => { | ||
130 | // 监听拖动结束事件 | ||
131 | console.log(this); // this是当前vue上下文 | ||
132 | console.log(evt.oldIndex); // 当前行的被拖拽前的顺序 | ||
133 | console.log(evt.newIndex); // 当前行的被拖拽后的顺序 | ||
134 | // 这里就可以写我们需要传给后台的逻辑代码 | ||
135 | // 我们有了 evt.oldIndex 和 evt.newIndex 这两个参数做索引,我们可以根据绑定在表格上面的 data 这个 Array 找到两个相应的记录。就可以针对数据进行操作啦。 | ||
136 | // 下面将拖拽后的顺序进行修改 | ||
137 | const currRow = this.datalist.splice(evt.oldIndex, 1)[0]; | ||
138 | this.datalist.splice(evt.newIndex, 0, currRow); | ||
139 | }, | ||
140 | }); | ||
104 | }, | 141 | }, |
105 | methods: { | 142 | /** |
106 | changeIndex (array, index1, index2) { | 143 | * @description: 初始数据集 |
107 | array[index1] = array.splice(index2, 1, array[index1])[0]; | 144 | * @author: renchao |
108 | }, | 145 | */ |
109 | initSort () { | 146 | generateData() { |
110 | const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0] | 147 | let that = this; |
111 | // const sortable = new Sortable(el, options); | 148 | getFieldList({ qllx: this.formData.qllx }).then((res) => { |
112 | // 根据具体需求配置options配置项 | 149 | if (res.code === 200) { |
113 | const sortable = new Sortable(el, { | 150 | let listss = res.result; |
114 | onEnd: (evt) => { // 监听拖动结束事件 | 151 | listss.forEach((item, index) => { |
115 | console.log(this) // this是当前vue上下文 | 152 | that.cities.push({ |
116 | console.log(evt.oldIndex) // 当前行的被拖拽前的顺序 | 153 | name: item.name, |
117 | console.log(evt.newIndex) // 当前行的被拖拽后的顺序 | 154 | despriction: item.despriction, |
118 | // 这里就可以写我们需要传给后台的逻辑代码 | 155 | desprictionor: item.despriction, |
119 | // 我们有了 evt.oldIndex 和 evt.newIndex 这两个参数做索引,我们可以根据绑定在表格上面的 data 这个 Array 找到两个相应的记录。就可以针对数据进行操作啦。 | ||
120 | // 下面将拖拽后的顺序进行修改 | ||
121 | const currRow = this.datalist.splice(evt.oldIndex, 1)[0] | ||
122 | this.datalist.splice(evt.newIndex, 0, currRow) | ||
123 | } | ||
124 | }) | ||
125 | }, | ||
126 | /** | ||
127 | * @description: 初始数据集 | ||
128 | * @author: renchao | ||
129 | */ | ||
130 | generateData () { | ||
131 | let that = this | ||
132 | getFieldList({ qllx: this.formData.qllx }).then((res) => { | ||
133 | if (res.code === 200) { | ||
134 | let listss = res.result; | ||
135 | listss.forEach((item, index) => { | ||
136 | that.cities.push({ | ||
137 | name: item.name, | ||
138 | despriction: item.despriction, | ||
139 | desprictionor: item.despriction, | ||
140 | }); | ||
141 | }); | ||
142 | |||
143 | getFieldListByQlxx({ qllx: this.formData.qllx }).then((res) => { | ||
144 | if (res.code === 200) { | ||
145 | let listss = res.result; | ||
146 | listss.forEach((item, index) => { | ||
147 | that.tablelist.push({ | ||
148 | name: item.name, | ||
149 | despriction: item.despriction, | ||
150 | desprictionor: item.despriction, | ||
151 | }); | ||
152 | that.$nextTick(() => { | ||
153 | that.datalist = this.tablelist | ||
154 | that.checkedCities.push(item.name); | ||
155 | }) | ||
156 | }) | ||
157 | that.initSort() | ||
158 | } | ||
159 | }); | 156 | }); |
160 | } | ||
161 | }); | ||
162 | }, | ||
163 | handleCheckAllChange (val) { | ||
164 | let checkedlist = [] | ||
165 | let orlist = [] | ||
166 | checkedlist = val ? this.cities : []; | ||
167 | this.isIndeterminate = false; | ||
168 | console.log("this.checkedCities", this.checkedCities); | ||
169 | let lists = []; | ||
170 | this.cities.forEach((item, index) => { | ||
171 | |||
172 | checkedlist.forEach((el) => { | ||
173 | orlist.push(el.name) | ||
174 | if (item.name == el.name) { | ||
175 | lists.push(this.cities[index]); | ||
176 | } | ||
177 | }); | 157 | }); |
178 | }); | 158 | |
179 | this.checkedCities = orlist | 159 | getFieldListByQlxx({ qllx: this.formData.qllx }).then((res) => { |
180 | this.datalist = lists; | 160 | if (res.code === 200) { |
181 | // 其他排序逻辑 | 161 | let listss = res.result; |
182 | this.initSort() | 162 | listss.forEach((item, index) => { |
183 | }, | 163 | that.tablelist.push({ |
184 | handleCheckedCitiesChange (value) { | 164 | name: item.name, |
185 | console.log("value", value, this.checkedCities); | 165 | despriction: item.despriction, |
186 | let checkedCount = value.length; | 166 | desprictionor: item.despriction, |
187 | this.checkAll = checkedCount === this.cities.length; | 167 | }); |
188 | this.isIndeterminate = | 168 | that.$nextTick(() => { |
189 | checkedCount > 0 && checkedCount < this.cities.length; | 169 | that.datalist = this.tablelist; |
190 | let lists = []; | 170 | that.checkedCities.push(item.name); |
191 | this.cities.forEach((item, index) => { | 171 | }); |
192 | this.checkedCities.forEach((el) => { | 172 | }); |
193 | if (item.name == el) { | 173 | that.initSort(); |
194 | console.log("1"); | ||
195 | lists.push(this.cities[index]); | ||
196 | } | 174 | } |
197 | }); | 175 | }); |
176 | } | ||
177 | }); | ||
178 | }, | ||
179 | handleCheckAllChange(val) { | ||
180 | let checkedlist = []; | ||
181 | let orlist = []; | ||
182 | checkedlist = val ? this.cities : []; | ||
183 | this.isIndeterminate = false; | ||
184 | console.log("this.checkedCities", this.checkedCities); | ||
185 | let lists = []; | ||
186 | this.cities.forEach((item, index) => { | ||
187 | checkedlist.forEach((el) => { | ||
188 | orlist.push(el.name); | ||
189 | if (item.name == el.name) { | ||
190 | lists.push(this.cities[index]); | ||
191 | } | ||
198 | }); | 192 | }); |
199 | this.datalist = lists; | 193 | }); |
200 | // 其他排序逻辑 | 194 | this.checkedCities = orlist; |
201 | this.initSort() | 195 | this.datalist = lists; |
202 | }, | 196 | // 其他排序逻辑 |
203 | submitForm () { | 197 | this.initSort(); |
204 | save(this.formData.bsmMb, this.datalist).then((res) => { | 198 | }, |
205 | if (res.code == 200) { | 199 | handleCheckedCitiesChange(value) { |
206 | this.$popupCacel(); | 200 | console.log("value", value, this.checkedCities); |
207 | this.$message({ | 201 | let checkedCount = value.length; |
208 | message: "保存成功", | 202 | this.checkAll = checkedCount === this.cities.length; |
209 | type: "success", | 203 | this.isIndeterminate = |
210 | }); | 204 | checkedCount > 0 && checkedCount < this.cities.length; |
211 | } else { | 205 | let lists = []; |
212 | this.$message({ | 206 | this.cities.forEach((item, index) => { |
213 | message: "保存失败", | 207 | this.checkedCities.forEach((el) => { |
214 | type: "error", | 208 | if (item.name == el) { |
215 | }); | 209 | lists.push(this.cities[index]); |
216 | } | 210 | } |
217 | }); | 211 | }); |
218 | }, | 212 | }); |
213 | this.datalist = lists; | ||
214 | // 其他排序逻辑 | ||
215 | this.initSort(); | ||
216 | }, | ||
217 | submitForm() { | ||
218 | save(this.formData.bsmMb, this.datalist).then((res) => { | ||
219 | if (res.code == 200) { | ||
220 | this.$popupCacel(); | ||
221 | this.$message({ | ||
222 | message: "保存成功", | ||
223 | type: "success", | ||
224 | }); | ||
225 | } else { | ||
226 | this.$message({ | ||
227 | message: "保存失败", | ||
228 | type: "error", | ||
229 | }); | ||
230 | } | ||
231 | }); | ||
219 | }, | 232 | }, |
220 | }; | 233 | }, |
234 | }; | ||
221 | </script> | 235 | </script> |
222 | <style scoped lang="scss"> | 236 | <style scoped lang="scss"> |
223 | @import "~@/styles/mixin.scss"; | 237 | @import "~@/styles/mixin.scss"; |
224 | @import "~@/styles/dialogBoxheader.scss"; | 238 | @import "~@/styles/dialogBoxheader.scss"; |
225 | .fieldcheck { | 239 | .fieldcheck { |
226 | width: 100%; | 240 | width: 100%; |
241 | height: 650px; | ||
242 | display: flex; | ||
243 | justify-content: space-between; | ||
244 | .left, | ||
245 | .right { | ||
246 | width: 49%; | ||
227 | height: 650px; | 247 | height: 650px; |
228 | display: flex; | 248 | border: 1px solid rgb(230, 230, 230); |
229 | justify-content: space-between; | 249 | } |
230 | .left, | 250 | .left { |
231 | .right { | 251 | .header { |
232 | width: 47%; | 252 | width: 100%; |
233 | height: 650px; | 253 | height: 50px; |
234 | border: 1px solid rgb(230, 230, 230); | 254 | background-color: rgba(243, 242, 242, 0.897); |
235 | } | 255 | .headerconcent { |
236 | .left { | 256 | width: 90%; |
237 | .header { | ||
238 | width: 100%; | ||
239 | height: 50px; | 257 | height: 50px; |
258 | margin: auto; | ||
240 | line-height: 50px; | 259 | line-height: 50px; |
241 | background-color: rgba(243, 242, 242, 0.897); | ||
242 | display: flex; | 260 | display: flex; |
243 | justify-content: space-around; | 261 | justify-content: space-between; |
244 | align-items:center .check { | 262 | align-items: center; |
245 | height: 20px; | ||
246 | margin: auto; | ||
247 | } | ||
248 | .num { | ||
249 | height: 20px; | ||
250 | } | ||
251 | } | ||
252 | .concent { | ||
253 | padding: 10px; | ||
254 | width: 100%; | ||
255 | display: inline-block; | ||
256 | padding-left: 20px; | ||
257 | overflow-x: hidden; | ||
258 | height: 600px; | ||
259 | .el-checkbox { | ||
260 | width: 100%; | ||
261 | padding: 10px; | ||
262 | } | ||
263 | .el-checkbox:hover { | ||
264 | padding: 10px; | ||
265 | background-color: rgba(243, 242, 242, 0.897); | ||
266 | } | ||
267 | } | 263 | } |
268 | } | 264 | } |
269 | .right { | 265 | .concent { |
270 | .header { | 266 | padding: 10px; |
267 | width: 100%; | ||
268 | display: inline-block; | ||
269 | padding-left: 20px; | ||
270 | overflow-x: hidden; | ||
271 | height: 600px; | ||
272 | .el-checkbox { | ||
271 | width: 100%; | 273 | width: 100%; |
272 | height: 50px; | 274 | padding: 10px; |
273 | line-height: 50px; | ||
274 | background-color: rgba(243, 242, 242, 0.897); | ||
275 | } | 275 | } |
276 | .tablelist { | 276 | .el-checkbox:hover { |
277 | margin-top: 10px; | 277 | padding: 10px; |
278 | height: 680px; | 278 | background-color: rgba(243, 242, 242, 0.897); |
279 | } | 279 | } |
280 | } | 280 | } |
281 | } | 281 | } |
282 | .btn { | 282 | .right { |
283 | margin-top: 10px; | 283 | .header { |
284 | width: 100%; | 284 | width: 100%; |
285 | text-align: center; | 285 | height: 50px; |
286 | line-height: 50px; | ||
287 | background-color: rgba(243, 242, 242, 0.897); | ||
288 | } | ||
289 | |||
286 | } | 290 | } |
291 | } | ||
292 | .btn { | ||
293 | margin-top: 10px; | ||
294 | width: 100%; | ||
295 | text-align: center; | ||
296 | } | ||
287 | </style> | 297 | </style> | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 11:26:39 | 4 | * @LastEditTime: 2023-09-15 10:02:12 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="clxx"> | 7 | <div class="clxx"> |
... | @@ -167,6 +167,7 @@ | ... | @@ -167,6 +167,7 @@ |
167 | //type 1:列表初始化 2:新增材料 | 167 | //type 1:列表初始化 2:新增材料 |
168 | return new Promise((resolve) => { | 168 | return new Promise((resolve) => { |
169 | this.unitData = this.$parent.unitData; | 169 | this.unitData = this.$parent.unitData; |
170 | console.log(this.$parent.unitData, 'this.$parent.unitData;'); | ||
170 | var formdata = new FormData(); | 171 | var formdata = new FormData(); |
171 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | 172 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); |
172 | if (this.$route.query.sqywbm == "DJBBL") { | 173 | if (this.$route.query.sqywbm == "DJBBL") { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 15:58:06 | 4 | * @LastEditTime: 2023-09-15 10:04:28 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="clmlmx-box"> | 7 | <div class="clmlmx-box"> |
... | @@ -232,7 +232,6 @@ | ... | @@ -232,7 +232,6 @@ |
232 | * @param {*} row | 232 | * @param {*} row |
233 | */ | 233 | */ |
234 | handleDelete (index, row) { | 234 | handleDelete (index, row) { |
235 | let that = this | ||
236 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | 235 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { |
237 | confirmButtonText: '确定', | 236 | confirmButtonText: '确定', |
238 | cancelButtonText: '取消', | 237 | cancelButtonText: '取消', | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 17:08:19 | 4 | * @LastEditTime: 2023-09-14 16:37:15 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | 7 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> |
... | @@ -28,25 +28,30 @@ | ... | @@ -28,25 +28,30 @@ |
28 | :calcHeight="300"> | 28 | :calcHeight="300"> |
29 | </lb-table> | 29 | </lb-table> |
30 | <el-row> | 30 | <el-row> |
31 | <el-col :span="6"> | 31 | <el-col :span="3"> |
32 | <el-form-item label="领证人" prop="lzrxm"> | 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"> | ||
33 | <el-input v-model="ruleForm.lzrxm"></el-input> | 38 | <el-input v-model="ruleForm.lzrxm"></el-input> |
34 | </el-form-item> | 39 | </el-form-item> |
35 | </el-col> | 40 | </el-col> |
36 | <el-col :span="6"> | 41 | <el-col :span="5"> |
37 | <el-form-item label="证件类型" prop="lzrzjlb"> | 42 | <el-form-item label="证件类型" prop="lzrzjlb" label-width="80px"> |
38 | <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择"> | 43 | <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择"> |
39 | <el-option v-for="item in lzrzjlbData" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 44 | <el-option v-for="item in lzrzjlbData" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
40 | </el-option> | 45 | </el-option> |
41 | </el-select> | 46 | </el-select> |
42 | </el-form-item> | 47 | </el-form-item> |
43 | </el-col> | 48 | </el-col> |
44 | <el-col :span="6"> | 49 | <el-col :span="5"> |
45 | <el-form-item label="证件号" prop="lzrzjh"> | 50 | <el-form-item label="证件号" prop="lzrzjh" label-width="70px"> |
46 | <el-input v-model="ruleForm.lzrzjh"></el-input> | 51 | <el-input v-model="ruleForm.lzrzjh"></el-input> |
47 | </el-form-item> | 52 | </el-form-item> |
48 | </el-col> | 53 | </el-col> |
49 | <el-col :span="6"> | 54 | <el-col :span="5"> |
50 | <el-form-item label="领证人电话" prop="lzrdh"> | 55 | <el-form-item label="领证人电话" prop="lzrdh"> |
51 | <el-input v-model="ruleForm.lzrdh"></el-input> | 56 | <el-input v-model="ruleForm.lzrdh"></el-input> |
52 | </el-form-item> | 57 | </el-form-item> |
... | @@ -62,7 +67,8 @@ | ... | @@ -62,7 +67,8 @@ |
62 | import Vue from 'vue' | 67 | import Vue from 'vue' |
63 | import store from '@/store/index.js' | 68 | import store from '@/store/index.js' |
64 | import table from "@/utils/mixin/table"; | 69 | import table from "@/utils/mixin/table"; |
65 | import { getUnclaimedBdcqz, issueCertificate,getBdcqzQlr } from "@/api/bdcqz.js"; | 70 | import { getIdCardInfo } from '@/utils/operation.js' |
71 | import { getUnclaimedBdcqz, issueCertificate, getBdcqzQlr } from "@/api/bdcqz.js"; | ||
66 | import { datas } from "../../javascript/fzxxdata"; | 72 | import { datas } from "../../javascript/fzxxdata"; |
67 | export default { | 73 | export default { |
68 | props: { | 74 | props: { |
... | @@ -115,6 +121,29 @@ | ... | @@ -115,6 +121,29 @@ |
115 | }, | 121 | }, |
116 | methods: { | 122 | methods: { |
117 | /** | 123 | /** |
124 | * @description: 身份证打卡器 | ||
125 | * @author: renchao | ||
126 | */ | ||
127 | readClick () { | ||
128 | getIdCardInfo().then(res => { | ||
129 | if (res.data.code == 0) { | ||
130 | let data = res.data.IDCardInfo | ||
131 | this.ruleForm.lzrxm = data.name | ||
132 | this.ruleForm.lzrzjlb = '1' | ||
133 | this.ruleForm.lzrzjh = data.cardID | ||
134 | this.$message({ | ||
135 | message: '读取成功!', | ||
136 | type: 'success' | ||
137 | }) | ||
138 | } else { | ||
139 | this.$message({ | ||
140 | message: res.data.message, | ||
141 | type: 'warning' | ||
142 | }) | ||
143 | } | ||
144 | }) | ||
145 | }, | ||
146 | /** | ||
118 | * @description: 列表初始化 | 147 | * @description: 列表初始化 |
119 | * @author: renchao | 148 | * @author: renchao |
120 | */ | 149 | */ | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-06 15:20:16 | 4 | * @LastEditTime: 2023-09-14 17:19:26 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx sdqxx"> | 7 | <div class="slxx sdqxx"> |
... | @@ -119,10 +119,6 @@ | ... | @@ -119,10 +119,6 @@ |
119 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | 119 | formdata.append("bsmSldy", this.propsParam.bsmSldy); |
120 | formdata.append("djlx", this.propsParam.djlx); | 120 | formdata.append("djlx", this.propsParam.djlx); |
121 | formdata.append("isEdit", this.viewEdit); | 121 | formdata.append("isEdit", this.viewEdit); |
122 | // Init(formdata).then((res) => { | ||
123 | // if (res.code === 200 && res.result) { | ||
124 | // } | ||
125 | // }); | ||
126 | }, | 122 | }, |
127 | data () { | 123 | data () { |
128 | return { | 124 | return { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 16:16:08 | 4 | * @LastEditTime: 2023-09-14 16:06:51 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div> | 7 | <div style="width:90%;height:100%;"> |
8 | <canvas id="mxcad" style="width:100%;height:100%"> | 8 | <canvas id="mxcad" style="width:90%;height:80%; position: relative;top:0"> |
9 | </canvas> | 9 | </canvas> |
10 | </div> | 10 | </div> |
11 | </template> | 11 | </template> |
... | @@ -20,20 +20,17 @@ | ... | @@ -20,20 +20,17 @@ |
20 | Mx.MxFun.createMxObject({ | 20 | Mx.MxFun.createMxObject({ |
21 | canvasId: "mxcad", // canvas元素的id | 21 | canvasId: "mxcad", // canvas元素的id |
22 | cadFile: "buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸 | 22 | cadFile: "buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸 |
23 | // cadFile: "test2.dwg", // socket通信方式请直接提供图纸名称 如:text.dwg | ||
24 | callback: (mxDraw, { | 23 | callback: (mxDraw, { |
25 | canvas, | 24 | canvas, |
26 | canvasParent | 25 | canvasParent |
27 | }) => { | 26 | }) => { |
28 | // 可以拿到canvas元素和它的父级元素 | 27 | // 可以拿到canvas元素和它的父级元素 |
29 | console.log(canvas, canvasParent) | ||
30 | console.log(mxDraw) | ||
31 | // 拿到图层数据 | 28 | // 拿到图层数据 |
32 | mxDraw.addEvent('uiSetLayerData', (listLayer) => { | 29 | mxDraw.addEvent('uiSetLayerData', (listLayer) => { |
33 | console.log(listLayer) | 30 | console.log(listLayer) |
34 | }) | 31 | }) |
35 | }, | 32 | }, |
36 | isNewFile: false // 是否新建文件 | 33 | isNewFile: true // 是否新建文件 |
37 | }) | 34 | }) |
38 | }) | 35 | }) |
39 | } | 36 | } | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 13:57:48 | 4 | * @LastEditTime: 2023-09-14 17:19:13 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="container"> | 7 | <div class="container"> |
... | @@ -194,7 +194,8 @@ | ... | @@ -194,7 +194,8 @@ |
194 | setTimeout(() => { | 194 | setTimeout(() => { |
195 | this.prinsss() | 195 | this.prinsss() |
196 | }, 100) | 196 | }, 100) |
197 | 197 | } else { | |
198 | this.$message.error(res.message); | ||
198 | } | 199 | } |
199 | }) | 200 | }) |
200 | }, | 201 | }, | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-12 13:46:29 | 4 | * @LastEditTime: 2023-09-14 16:24:07 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="rlPopup"> | 7 | <div class="rlPopup"> |
... | @@ -86,7 +86,7 @@ | ... | @@ -86,7 +86,7 @@ |
86 | // 缩略图 | 86 | // 缩略图 |
87 | thumbnailImages: [], | 87 | thumbnailImages: [], |
88 | showViewer: false, | 88 | showViewer: false, |
89 | initialIndex: undefined, | 89 | initialIndex: 0, |
90 | allLi: [], | 90 | allLi: [], |
91 | } | 91 | } |
92 | }, | 92 | }, |
... | @@ -152,6 +152,7 @@ | ... | @@ -152,6 +152,7 @@ |
152 | } else { | 152 | } else { |
153 | this.previewImg.index = this.previewImg.index + 1 | 153 | this.previewImg.index = this.previewImg.index + 1 |
154 | } | 154 | } |
155 | this.initialIndex = this.previewImg.index | ||
155 | this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial }) | 156 | this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial }) |
156 | this.$message({ | 157 | this.$message({ |
157 | message: '移动成功!', | 158 | message: '移动成功!', |
... | @@ -238,6 +239,7 @@ | ... | @@ -238,6 +239,7 @@ |
238 | */ | 239 | */ |
239 | showCurrent (index) { | 240 | showCurrent (index) { |
240 | this.previewImg.index = index | 241 | this.previewImg.index = index |
242 | this.initialIndex = index | ||
241 | }, | 243 | }, |
242 | /** | 244 | /** |
243 | * @description: closeViewer | 245 | * @description: closeViewer | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-08-16 09:50:02 | 4 | * @LastEditTime: 2023-09-14 17:19:40 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx"> | 7 | <div class="slxx"> |
... | @@ -310,6 +310,8 @@ | ... | @@ -310,6 +310,8 @@ |
310 | Init(formdata).then((res) => { | 310 | Init(formdata).then((res) => { |
311 | if (res.code === 200 && res.result) { | 311 | if (res.code === 200 && res.result) { |
312 | this.ruleForm = res.result; | 312 | this.ruleForm = res.result; |
313 | } else { | ||
314 | this.$message.error(res.message); | ||
313 | } | 315 | } |
314 | }); | 316 | }); |
315 | }, | 317 | }, | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-12 09:59:18 | 4 | * @LastEditTime: 2023-09-14 17:19:58 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <!-- 受理信息 --> | 7 | <!-- 受理信息 --> |
... | @@ -365,6 +365,7 @@ | ... | @@ -365,6 +365,7 @@ |
365 | import { mapGetters } from "vuex"; | 365 | import { mapGetters } from "vuex"; |
366 | export default { | 366 | export default { |
367 | mounted () { | 367 | mounted () { |
368 | let that = this | ||
368 | this.loading = true | 369 | this.loading = true |
369 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; | 370 | this.viewEdit = this.$parent.currentSelectTab.ableOperation; |
370 | this.propsParam = this.$attrs; | 371 | this.propsParam = this.$attrs; |
... | @@ -381,14 +382,16 @@ | ... | @@ -381,14 +382,16 @@ |
381 | this.loading = false | 382 | this.loading = false |
382 | }, 200) | 383 | }, 200) |
383 | if (res.code === 200 && res.result) { | 384 | if (res.code === 200 && res.result) { |
384 | this.ruleForm = res.result; | 385 | that.ruleForm = res.result; |
385 | this.czrOptions = this.ruleForm.qlrList; | 386 | that.czrOptions = this.ruleForm.qlrList; |
387 | that.ruleForm.qlrList.forEach((item) => { | ||
388 | if (item.sfczr == 1) { | ||
389 | that.czr = item.zjh | ||
390 | } | ||
391 | }) | ||
392 | } else { | ||
393 | that.$message.error(res.message); | ||
386 | } | 394 | } |
387 | this.ruleForm.qlrList.forEach((item) => { | ||
388 | if (item.sfczr == 1) { | ||
389 | this.czr = item.zjh | ||
390 | } | ||
391 | }); | ||
392 | }).catch(() => { | 395 | }).catch(() => { |
393 | this.loading = false | 396 | this.loading = false |
394 | }) | 397 | }) | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: 房屋多幢受理信息 | 2 | * @Description: 房屋多幢受理信息 |
3 | * @Autor: ssq | 3 | * @Autor: ssq |
4 | * @LastEditTime: 2023-09-13 14:41:34 | 4 | * @LastEditTime: 2023-09-14 17:20:40 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx"> | 7 | <div class="slxx"> |
... | @@ -105,16 +105,44 @@ | ... | @@ -105,16 +105,44 @@ |
105 | <el-row :gutter="10" v-if="ruleForm.fdcq1"> | 105 | <el-row :gutter="10" v-if="ruleForm.fdcq1"> |
106 | <el-col :span="8"> | 106 | <el-col :span="8"> |
107 | <el-form-item label="独用土地面积:"> | 107 | <el-form-item label="独用土地面积:"> |
108 | <el-input :disabled="!viewEdit" maxlength="12" v-model="ruleForm.fdcq1.dytdmj"></el-input> | 108 | <div class="flex"> |
109 | <el-input | ||
110 | maxlength="12" | ||
111 | v-model="ruleForm.fdcq1.dytdmj" | ||
112 | :disabled="!viewEdit" | ||
113 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
114 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
115 | <el-option | ||
116 | v-for="item in dictData['A7']" | ||
117 | :key="item.dcode" | ||
118 | :label="item.dname" | ||
119 | :value="item.dcode"> | ||
120 | </el-option> | ||
121 | </el-select> | ||
122 | </div> | ||
109 | </el-form-item> | 123 | </el-form-item> |
110 | </el-col> | 124 | </el-col> |
111 | <el-col :span="8"> | 125 | <el-col :span="8"> |
112 | <el-form-item label="分摊土地面积:"> | 126 | <el-form-item label="分摊土地面积:"> |
113 | <el-input :disabled="!viewEdit" maxlength="12" v-model="ruleForm.fdcq1.fttdmj"></el-input> | 127 | <div class="flex"> |
128 | <el-input | ||
129 | maxlength="12" | ||
130 | v-model="ruleForm.fdcq1.fttdmj" | ||
131 | :disabled="!viewEdit" | ||
132 | oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> | ||
133 | <el-select disabled v-model="mjdw" style="width: 68px"> | ||
134 | <el-option | ||
135 | v-for="item in dictData['A7']" | ||
136 | :key="item.dcode" | ||
137 | :label="item.dname" | ||
138 | :value="item.dcode"> | ||
139 | </el-option> | ||
140 | </el-select> | ||
141 | </div> | ||
114 | </el-form-item> | 142 | </el-form-item> |
115 | </el-col> | 143 | </el-col> |
116 | |||
117 | <el-col :span="8"> | 144 | <el-col :span="8"> |
145 | |||
118 | <el-form-item label="房地产交易价格:"> | 146 | <el-form-item label="房地产交易价格:"> |
119 | <div class="flex"> | 147 | <div class="flex"> |
120 | <el-input | 148 | <el-input |
... | @@ -285,6 +313,8 @@ | ... | @@ -285,6 +313,8 @@ |
285 | } | 313 | } |
286 | }); | 314 | }); |
287 | this.czrOptions = this.ruleForm.qlrList; | 315 | this.czrOptions = this.ruleForm.qlrList; |
316 | } else { | ||
317 | this.$message.error(res.message); | ||
288 | } | 318 | } |
289 | }) | 319 | }) |
290 | }, | 320 | }, |
... | @@ -298,6 +328,7 @@ | ... | @@ -298,6 +328,7 @@ |
298 | disabled: true, | 328 | disabled: true, |
299 | tdytOption: [], | 329 | tdytOption: [], |
300 | czrOptions: [], | 330 | czrOptions: [], |
331 | mjdw: "1", | ||
301 | czr: "", | 332 | czr: "", |
302 | ruleForm: { | 333 | ruleForm: { |
303 | flow: { | 334 | flow: { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: 受理信息 | 2 | * @Description: 受理信息 |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-12 10:04:14 | 4 | * @LastEditTime: 2023-09-14 17:17:56 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx"> | 7 | <div class="slxx"> |
... | @@ -440,6 +440,8 @@ | ... | @@ -440,6 +440,8 @@ |
440 | } | 440 | } |
441 | }); | 441 | }); |
442 | this.czrOptions = this.ruleForm.qlrList; | 442 | this.czrOptions = this.ruleForm.qlrList; |
443 | } else { | ||
444 | this.$message.error(res.message); | ||
443 | } | 445 | } |
444 | }).catch(() => { | 446 | }).catch(() => { |
445 | this.loading = false | 447 | this.loading = false | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: 受理信息 | 2 | * @Description: 受理信息 |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 14:16:46 | 4 | * @LastEditTime: 2023-09-14 17:20:53 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx"> | 7 | <div class="slxx"> |
... | @@ -299,6 +299,8 @@ | ... | @@ -299,6 +299,8 @@ |
299 | } | 299 | } |
300 | }); | 300 | }); |
301 | this.czrOptions = this.ruleForm.qlrList; | 301 | this.czrOptions = this.ruleForm.qlrList; |
302 | } else { | ||
303 | this.$message.error(res.message); | ||
302 | } | 304 | } |
303 | }).catch(() => { | 305 | }).catch(() => { |
304 | this.loading = false | 306 | this.loading = false | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: 受理信息 | 2 | * @Description: 受理信息 |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 14:17:15 | 4 | * @LastEditTime: 2023-09-14 17:20:59 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <div class="slxx"> | 7 | <div class="slxx"> |
... | @@ -296,6 +296,8 @@ | ... | @@ -296,6 +296,8 @@ |
296 | this.czrOptions = this.ruleForm.qlrList; | 296 | this.czrOptions = this.ruleForm.qlrList; |
297 | this.gyfs = this.ruleForm.sldyList[0].gyfs; | 297 | this.gyfs = this.ruleForm.sldyList[0].gyfs; |
298 | this.splicingFdcq2Info(); | 298 | this.splicingFdcq2Info(); |
299 | } else { | ||
300 | this.$message.error(res.message); | ||
299 | } | 301 | } |
300 | this.ruleForm.qlrList.forEach((item) => { | 302 | this.ruleForm.qlrList.forEach((item) => { |
301 | if (item.sfczr == 1) { | 303 | if (item.sfczr == 1) { | ... | ... |
1 | <!-- | 1 | <!-- |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-09-13 14:05:26 | 4 | * @LastEditTime: 2023-09-14 17:21:04 |
5 | --> | 5 | --> |
6 | <template> | 6 | <template> |
7 | <!-- 受理信息 --> | 7 | <!-- 受理信息 --> |
... | @@ -264,6 +264,8 @@ | ... | @@ -264,6 +264,8 @@ |
264 | } | 264 | } |
265 | }); | 265 | }); |
266 | this.czrOptions = this.ruleForm.qlrList; | 266 | this.czrOptions = this.ruleForm.qlrList; |
267 | } else { | ||
268 | this.$message.error(res.message); | ||
267 | } | 269 | } |
268 | }).catch(() => { | 270 | }).catch(() => { |
269 | this.loading = false | 271 | this.loading = false |
... | @@ -356,6 +358,8 @@ | ... | @@ -356,6 +358,8 @@ |
356 | ...res.result.qlxxdatas, | 358 | ...res.result.qlxxdatas, |
357 | ...res.result.jsydsyqdatas, | 359 | ...res.result.jsydsyqdatas, |
358 | }; | 360 | }; |
361 | } else { | ||
362 | this.$message.error(res.message); | ||
359 | } | 363 | } |
360 | }); | 364 | }); |
361 | }, | 365 | }, | ... | ... |
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | <!-- | 2 | <!-- |
3 | * @Description: | 3 | * @Description: |
4 | * @Autor: renchao | 4 | * @Autor: renchao |
5 | * @LastEditTime: 2023-09-13 14:17:49 | 5 | * @LastEditTime: 2023-09-14 17:21:19 |
6 | --> | 6 | --> |
7 | <template> | 7 | <template> |
8 | <!-- 受理信息 --> | 8 | <!-- 受理信息 --> |
... | @@ -239,6 +239,8 @@ | ... | @@ -239,6 +239,8 @@ |
239 | if (res.code === 200 && res.result) { | 239 | if (res.code === 200 && res.result) { |
240 | this.ruleForm = res.result; | 240 | this.ruleForm = res.result; |
241 | this.czrOptions = this.ruleForm.qlrList; | 241 | this.czrOptions = this.ruleForm.qlrList; |
242 | } else { | ||
243 | this.$message.error(res.message); | ||
242 | } | 244 | } |
243 | this.ruleForm.qlrList.forEach((item) => { | 245 | this.ruleForm.qlrList.forEach((item) => { |
244 | if (item.sfczr == 1) { | 246 | if (item.sfczr == 1) { | ... | ... |
... | @@ -345,6 +345,8 @@ | ... | @@ -345,6 +345,8 @@ |
345 | ? (this.ruleForm.slsq.fzfs = "1") | 345 | ? (this.ruleForm.slsq.fzfs = "1") |
346 | : this.ruleForm.slsq.fzfs; | 346 | : this.ruleForm.slsq.fzfs; |
347 | this.czrOptions = this.ruleForm.qlrList; | 347 | this.czrOptions = this.ruleForm.qlrList; |
348 | } else { | ||
349 | this.$message.error(res.message); | ||
348 | } | 350 | } |
349 | }); | 351 | }); |
350 | }, | 352 | }, | ... | ... |
... | @@ -227,9 +227,11 @@ | ... | @@ -227,9 +227,11 @@ |
227 | if (item.sfczr == 1) { | 227 | if (item.sfczr == 1) { |
228 | this.czr = item.zjh | 228 | this.czr = item.zjh |
229 | } | 229 | } |
230 | }); | 230 | }) |
231 | } else { | ||
232 | this.$message.error(res.message); | ||
231 | } | 233 | } |
232 | }); | 234 | }) |
233 | }, | 235 | }, |
234 | components: { qlrCommonTable, ywrCommonTable }, | 236 | components: { qlrCommonTable, ywrCommonTable }, |
235 | computed: { | 237 | computed: { | ... | ... |
... | @@ -84,9 +84,15 @@ class data extends filter { | ... | @@ -84,9 +84,15 @@ class data extends filter { |
84 | minWidth: '150', | 84 | minWidth: '150', |
85 | }, | 85 | }, |
86 | { | 86 | { |
87 | prop: "bdcqzh", | ||
88 | label: "不动产权证号", | 87 | label: "不动产权证号", |
89 | minWidth: '150' | 88 | minWidth: '150', |
89 | render: (h, scope) => { | ||
90 | return ( | ||
91 | <el-tooltip effect="dark" content={scope.row.bdcqzh} placement="top" popper-class="tooltip-width "> | ||
92 | <span class="ellipsis-table"> {scope.row.bdcqzh}</span> | ||
93 | </el-tooltip> | ||
94 | ) | ||
95 | } | ||
90 | }, | 96 | }, |
91 | { | 97 | { |
92 | prop: "qlrmc", | 98 | prop: "qlrmc", |
... | @@ -119,9 +125,15 @@ class data extends filter { | ... | @@ -119,9 +125,15 @@ class data extends filter { |
119 | minWidth: '80' | 125 | minWidth: '80' |
120 | }, | 126 | }, |
121 | { | 127 | { |
122 | prop: "zl", | ||
123 | label: "坐落", | 128 | label: "坐落", |
124 | minWidth: '150' | 129 | minWidth: '150', |
130 | render: (h, scope) => { | ||
131 | return ( | ||
132 | <el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width "> | ||
133 | <span class="ellipsis-table"> {scope.row.zl}</span> | ||
134 | </el-tooltip> | ||
135 | ) | ||
136 | } | ||
125 | }, | 137 | }, |
126 | { | 138 | { |
127 | label: '操作', | 139 | label: '操作', | ... | ... |
... | @@ -23,6 +23,21 @@ class data extends filter { | ... | @@ -23,6 +23,21 @@ class data extends filter { |
23 | } | 23 | } |
24 | }, | 24 | }, |
25 | { | 25 | { |
26 | label: "证书状态", | ||
27 | width: '80', | ||
28 | render: (h, scope) => { | ||
29 | return ( | ||
30 | <div> | ||
31 | { | ||
32 | scope.row.zszt=='1' ? | ||
33 | <div class='allow'>有效</div> : | ||
34 | <div class='prohibit'>失效</div> | ||
35 | } | ||
36 | </div> | ||
37 | ) | ||
38 | } | ||
39 | }, | ||
40 | { | ||
26 | label: "领取状态", | 41 | label: "领取状态", |
27 | width: '80', | 42 | width: '80', |
28 | render: (h, scope) => { | 43 | render: (h, scope) => { |
... | @@ -38,31 +53,45 @@ class data extends filter { | ... | @@ -38,31 +53,45 @@ class data extends filter { |
38 | } | 53 | } |
39 | }, | 54 | }, |
40 | { | 55 | { |
41 | prop: "lzrxm", | 56 | label: "不动产权证类型", |
42 | label: "领取人", | 57 | width: '120', |
43 | width: '100' | 58 | render: (h, scope) => { |
44 | }, | 59 | return ( |
45 | { | 60 | <div> |
46 | prop: "fzsj", | 61 | { |
47 | label: "领取时间", | 62 | scope.row.bdcqzlx=='1' ? |
48 | width: '140' | 63 | <div>不动产权证书</div> : |
64 | <div>不动产登记证明</div> | ||
65 | } | ||
66 | </div> | ||
67 | ) | ||
68 | } | ||
49 | }, | 69 | }, |
70 | // { | ||
71 | // prop: "lzrxm", | ||
72 | // label: "领取人", | ||
73 | // width: '100' | ||
74 | // }, | ||
75 | // { | ||
76 | // prop: "fzsj", | ||
77 | // label: "领取时间", | ||
78 | // width: '140' | ||
79 | // }, | ||
50 | { | 80 | { |
51 | prop: "ywh", | 81 | prop: "ywh", |
52 | label: "业务号", | 82 | label: "业务号", |
53 | width: '100' | 83 | width: '100' |
54 | }, | 84 | }, |
55 | |||
56 | { | ||
57 | prop: "ysxlh", | ||
58 | label: "印刷序列号", | ||
59 | width: '100' | ||
60 | }, | ||
61 | { | 85 | { |
62 | label: "权利类型", | 86 | label: "权利类型", |
63 | prop: "qllx", | 87 | prop: "qllx", |
64 | }, | 88 | }, |
65 | { | 89 | { |
90 | prop: "ysxlh", | ||
91 | label: "印刷序列号", | ||
92 | width: '100' | ||
93 | }, | ||
94 | { | ||
66 | prop: "bdcqzh", | 95 | prop: "bdcqzh", |
67 | label: "不动产权证号", | 96 | label: "不动产权证号", |
68 | minWidth: '150', | 97 | minWidth: '150', |
... | @@ -101,7 +130,7 @@ class data extends filter { | ... | @@ -101,7 +130,7 @@ class data extends filter { |
101 | } | 130 | } |
102 | }, | 131 | }, |
103 | { | 132 | { |
104 | label: "证书内容", | 133 | label: "证书详情", |
105 | width: '80', | 134 | width: '80', |
106 | render: (h, scope) => { | 135 | render: (h, scope) => { |
107 | return ( | 136 | return ( | ... | ... |
-
Please register or sign in to post a comment