6bc1eafc by renchao@pashanhoo.com

style:登记薄

1 parent 2c90423b
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 这是登记薄材料明细
2 补录数据和临时数据
...\ No newline at end of file ...\ No newline at end of file
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>
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" :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 printObj: {
128 id: "box",
129 //其他配置项,
130 },
131 qsztList: datas.columns().qsztList,
132 checkList: datas.columns().checkList,
133 //空列值个数
134 emptycolNum: datas.columns().emptycolNum,
135 render: false,
136 };
137 },
138 methods: {
139 openPrint () {
140 this.render = true;
141 setTimeout(() => {
142 this.prinsss();
143 }, 100);
144 },
145 /**
146 * @description: prinsss
147 * @author: miaofang
148 */
149 prinsss () {
150 printJS({
151 printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
152 type: "html",
153 maxWidth: 800, // 最大宽度
154 font_size: "", // 不设置则使用默认字体大小
155 style: `@font-face {
156 font-family: "STZHONGS";
157 src: url(${window.ttf}) format("truetype");
158 }`,
159 // 继承原来的所有样式
160 targetStyles: ["*"],
161 });
162 this.render = false
163 },
164 /**
165 * @description: checkChange
166 * @author: renchao
167 */
168 checkChange () {
169 if (this.checkList.length === 0) {
170 this.tableData = [];
171 this.emptycolNum = datas.columns().emptycolNum;
172 } else {
173 this.$parent.loadData();
174 }
175 },
176 /**
177 * @description: getQsztName
178 * @param {*} code
179 * @author: renchao
180 */
181 getQsztName (code) {
182 let name = "";
183 for (let item of this.qsztList) {
184 if (item.value == code) {
185 name = item.label;
186 break;
187 }
188 }
189 return name;
190 },
191 /**
192 * @description: 新增一条补录信息
193 * @param {*} row
194 * @param {*} del
195 * @author: renchao
196 */
197 editDialog (row, del) {
198 this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
199 confirmButtonText: "确定",
200 cancelButtonText: "取消",
201 type: "warning",
202 })
203 .then(() => {
204 this.$parent.$parent.addRepairRecord(row, del);
205 this.$message({
206 type: "success",
207 message: "补录成功!"
208 })
209 })
210 .catch(() => {
211 this.$message({
212 type: "info",
213 message: "取消编辑"
214 })
215 })
216 }
217 }
218 }
219 </script>
220
221 <style lang="scss" scoped>
222 @import "../qlxxCommon.scss";
223 .title {
224 position: relative;
225 .print {
226 z-index: 10;
227 position: absolute;
228 left: 11px;
229 top: 5px;
230 }
231 }
232 </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" :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>
......
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 :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 v-show="false"> 8 <!-- <div v-show="false">
9 <printTemplate 9 <printTemplate
10 id="boxfdcq" 10 id="boxfdcq"
11 :tableData="tableData" 11 :tableData="tableData"
12 :render="render" 12 :render="render" />
13 /> 13 </div> -->
14 </div> 14 <djbDetail :title="title" :shows="shows" :propsParam="propsParam"
15 <div class="tableBox"> 15 :columns="columns" :tableData="tableData" />
16 <!-- <div class="tableBox">
16 <div class="title"> 17 <div class="title">
17 {{ title }} 18 {{ title }}
18 <el-button class="print" v-show="shows" @click="openPrint()" 19 <el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
19 >打印</el-button
20 >
21 <div class="checkbox"> 20 <div class="checkbox">
22 <el-checkbox-group v-model="checkList" @change="checkChange"> 21 <el-checkbox-group v-model="checkList" @change="checkChange">
23 <el-checkbox 22 <el-checkbox
24 v-for="item in qsztList" 23 v-for="item in qsztList"
25 :key="item.value" 24 :key="item.value"
26 :label="item.value" 25 :label="item.value">{{ item.label }}</el-checkbox>
27 >{{ item.label }}</el-checkbox
28 >
29 </el-checkbox-group> 26 </el-checkbox-group>
30 </div> 27 </div>
31 </div> 28 </div>
...@@ -47,24 +44,18 @@ ...@@ -47,24 +44,18 @@
47 item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '', 44 item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
48 item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '', 45 item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
49 item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '', 46 item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
50 ]" 47 ]">
51 >
52 <div 48 <div
53 class="setbut" 49 class="setbut"
54 v-if="item.prop == 'cz' && row.sjlx != '系统数据'" 50 v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
55 >
56 <el-button 51 <el-button
57 type="text" 52 type="text"
58 icon="el-icon-edit-outline" 53 icon="el-icon-edit-outline"
59 @click="editDialog(row)" 54 @click="editDialog(row)">编辑</el-button>
60 >编辑</el-button
61 >
62 <el-button 55 <el-button
63 type="text" 56 type="text"
64 icon="el-icon-edit-outline" 57 icon="el-icon-edit-outline"
65 @click="editDialog(row, 'D')" 58 @click="editDialog(row, 'D')">删除</el-button>
66 >删除</el-button
67 >
68 </div> 59 </div>
69 <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'"> 60 <div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
70 有效 61 有效
...@@ -91,8 +82,7 @@ ...@@ -91,8 +82,7 @@
91 effect="dark" 82 effect="dark"
92 :content="row[item.prop]" 83 :content="row[item.prop]"
93 placement="top" 84 placement="top"
94 popper-class="tooltip-width" 85 popper-class="tooltip-width">
95 >
96 <span class="ellipsis-line"> 86 <span class="ellipsis-line">
97 {{ row[item.prop] }} 87 {{ row[item.prop] }}
98 </span> 88 </span>
...@@ -102,162 +92,84 @@ ...@@ -102,162 +92,84 @@
102 </tr> 92 </tr>
103 </table> 93 </table>
104 </div> 94 </div>
105 </div> 95 </div> -->
106 </div> 96 </div>
107 </template> 97 </template>
108
109 <script> 98 <script>
110 import printTemplate from "./components/printTemplate.vue"; 99 import { datas } from "./qlxxFormData.js";
111 import { datas } from "./qlxxFormData.js"; 100 import { getSjlx } from "@/utils/dictionary.js";
112 import { getSjlx } from "@/utils/dictionary.js"; 101 import { getFdcq2List } from "@/api/djbDetail.js";
113 import { getFdcq2List } from "@/api/djbDetail.js"; 102 import djbDetail from "./components/djbDetail.vue"
114 export default { 103 import printTemplate from "./components/printTemplate.vue";
115 components: { 104 export default {
116 printTemplate, 105 components: {
117 }, 106 printTemplate,
118 data() { 107 djbDetail
119 return { 108 },
120 109
121 shows: false, 110 data () {
122 title: "房地产权登记信息(独幢、层、套、间房屋)", 111 return {
123 qsztList: datas.columns().qsztList, 112 shows: false,
124 checkList: datas.columns().checkList, 113 title: "房地产权登记信息(独幢、层、套、间房屋)",
125 //传递参数 114 //传递参数
126 propsParam: this.$attrs, 115 propsParam: this.$attrs,
127 //列表数据 116 //列表数据
128 tableData: [], 117 tableData: [],
129 //空列值个数 118 //列名称对象
130 emptycolNum: datas.columns().emptycolNum, 119 columns: datas.columns().FDCQ2,
131 //列名称对象 120 // qsztList: datas.columns().qsztList,
132 columns: datas.columns().FDCQ2, 121 render: false,
133 render: false, 122 // checkList:datas.columns().checkList,
134 }; 123 //空列值个数
135 }, 124 // emptycolNum: datas.columns().emptycolNum
136 created() { 125 };
137 this.loadData();
138 },
139 methods: {
140 /**
141 * @description: openPrint
142 * @author: miaofang
143 */
144 openPrint() {
145 this.render = true;
146 setTimeout(() => {
147 this.prinsss();
148 }, 100);
149 }, 126 },
150 /** 127 created () {
151 * @description: prinsss 128 this.loadData();
152 * @author: miaofang
153 */
154 prinsss() {
155 printJS({
156 printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
157 type: "html",
158 maxWidth: 800, // 最大宽度
159 font_size: "", // 不设置则使用默认字体大小
160 style: `@font-face {
161 font-family: "STZHONGS";
162 src: url(${window.ttf}) format("truetype");
163 }`,
164 // 继承原来的所有样式
165 targetStyles: ["*"],
166 });
167 this.render = false
168 }, 129 },
169 /** 130 methods: {
170 * @description: loadData 131 /**
171 * @author: miaofang 132 * @description: loadData
172 */ 133 * @author: miaofang
173 loadData() { 134 */
174 if (this.$parent.addRepairRecord) { 135 loadData () {
175 this.columns.unshift({ prop: "cz", label: "操作" }); 136 if (this.$parent.addRepairRecord) {
176 } 137 this.columns.unshift({ prop: "cz", label: "操作" });
177 getFdcq2List({
178 bdcdyid: this.propsParam.bdcdyid,
179 qllx: this.propsParam.qllx,
180 qszt: this.checkList,
181 }).then((res) => {
182 if (res.code === 200) {
183 this.tableData = res.result;
184 this.shows = this.tableData.length > 0;
185 this.tableData.forEach((item) => {
186 item.sjlx = getSjlx(item.sjlx);
187 });
188 if (this.tableData.length < datas.columns().emptycolNum) {
189 this.emptycolNum =
190 datas.columns().emptycolNum - this.tableData.length;
191 } else {
192 this.emptycolNum = 0;
193 }
194 } 138 }
195 }); 139 getFdcq2List({
196 }, 140 bdcdyid: this.propsParam.bdcdyid,
197 /** 141 qllx: this.propsParam.qllx,
198 * @description: checkChange 142 qszt: this.checkList,
199 * @author: miaofang 143 }).then((res) => {
200 */ 144 if (res.code === 200) {
201 checkChange() { 145 this.tableData = res.result;
202 if (this.checkList.length === 0) { 146 this.shows = this.tableData.length > 0;
203 this.tableData = []; 147 this.tableData.forEach((item) => {
204 this.emptycolNum = datas.columns().emptycolNum; 148 item.sjlx = getSjlx(item.sjlx);
205 } else { 149 });
206 this.loadData(); 150 if (this.tableData.length < datas.columns().emptycolNum) {
207 } 151 this.emptycolNum =
208 }, 152 datas.columns().emptycolNum - this.tableData.length;
209 /** 153 } else {
210 * @description: getQsztName 154 this.emptycolNum = 0;
211 * @param {*} code 155 }
212 * @author: miaofang 156 }
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 }
221 }
222 return name;
223 },
224 // 新增一条补录信息
225 /**
226 * @description: 新增一条补录信息
227 * @param {*} row
228 * @param {*} del
229 * @author: miaofang
230 */
231 editDialog(row, del) {
232 this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
233 confirmButtonText: "确定",
234 cancelButtonText: "取消",
235 type: "warning",
236 })
237 .then(() => {
238 this.$parent.addRepairRecord(row, del);
239 }) 157 })
240 .catch(() => { 158 }
241 this.$message({ 159 }
242 type: "info", 160 };
243 message: "取消",
244 });
245 });
246 },
247 },
248 };
249 </script> 161 </script>
250 162
251 <style lang="scss" scoped> 163 <style lang="scss" scoped>
252 @import "./qlxxCommon.scss"; 164 @import "./qlxxCommon.scss";
253 .title { 165 .title {
254 position: relative; 166 position: relative;
255 .print { 167 .print {
256 // background-color: #0079fe; 168 // background-color: #0079fe;
257 z-index: 10; 169 z-index: 10;
258 position: absolute; 170 position: absolute;
259 left: 11px; 171 left: 11px;
260 top: 5px; 172 top: 5px;
173 }
261 } 174 }
262 }
263 </style> 175 </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: '取消',
......
...@@ -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: '操作',
......