style:登记薄
Showing
21 changed files
with
2118 additions
and
371 deletions
1 | /* | 1 | /* |
2 | * @Description: | 2 | * @Description: |
3 | * @Autor: renchao | 3 | * @Autor: renchao |
4 | * @LastEditTime: 2023-05-16 14:05:25 | 4 | * @LastEditTime: 2023-09-15 09:32:40 |
5 | */ | 5 | */ |
6 | import request from '@/utils/request' | 6 | import request from '@/utils/request' |
7 | import { log } from 'bpmn-js-token-simulation' | 7 | import { log } from 'bpmn-js-token-simulation' |
... | @@ -25,7 +25,7 @@ export function addRepairRecord (data) { | ... | @@ -25,7 +25,7 @@ export function addRepairRecord (data) { |
25 | */ | 25 | */ |
26 | export function deleteFlow (params) { | 26 | export function deleteFlow (params) { |
27 | return request({ | 27 | return request({ |
28 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq='+params, | 28 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq=' + params, |
29 | method: 'get', | 29 | method: 'get', |
30 | }) | 30 | }) |
31 | } | 31 | } |
... | @@ -37,7 +37,7 @@ export function deleteFlow (params) { | ... | @@ -37,7 +37,7 @@ export function deleteFlow (params) { |
37 | */ | 37 | */ |
38 | export function deleteRepairRecord (params) { | 38 | export function deleteRepairRecord (params) { |
39 | return request({ | 39 | return request({ |
40 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair='+params, | 40 | url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair=' + params, |
41 | method: 'get', | 41 | method: 'get', |
42 | }) | 42 | }) |
43 | } | 43 | } |
... | @@ -49,7 +49,7 @@ export function deleteRepairRecord (params) { | ... | @@ -49,7 +49,7 @@ export function deleteRepairRecord (params) { |
49 | */ | 49 | */ |
50 | export function init (params) { | 50 | export function init (params) { |
51 | return request({ | 51 | return request({ |
52 | url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair='+params.bsmRepair+'&isEdit='+params.isEdit, | 52 | url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair=' + params.bsmRepair + '&isEdit=' + params.isEdit, |
53 | method: 'get', | 53 | method: 'get', |
54 | }) | 54 | }) |
55 | } | 55 | } |
... | @@ -61,7 +61,7 @@ export function init (params) { | ... | @@ -61,7 +61,7 @@ export function init (params) { |
61 | */ | 61 | */ |
62 | export function leftMenubl (params) { | 62 | export function leftMenubl (params) { |
63 | return request({ | 63 | return request({ |
64 | url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq='+params, | 64 | url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq=' + params, |
65 | method: 'get', | 65 | method: 'get', |
66 | params | 66 | params |
67 | }) | 67 | }) |
... | @@ -110,7 +110,7 @@ export function getZtQlxx (params) { | ... | @@ -110,7 +110,7 @@ export function getZtQlxx (params) { |
110 | * @param {*} data | 110 | * @param {*} data |
111 | * @author: renchao | 111 | * @author: renchao |
112 | */ | 112 | */ |
113 | export function startBusinessFlow (data) { | 113 | export function startBusinessFlow (data) { |
114 | return request({ | 114 | return request({ |
115 | url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow', | 115 | url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow', |
116 | method: 'post', | 116 | method: 'post', |
... | @@ -122,7 +122,7 @@ export function getZtQlxx (params) { | ... | @@ -122,7 +122,7 @@ export function getZtQlxx (params) { |
122 | * @param {*} data | 122 | * @param {*} data |
123 | * @author: renchao | 123 | * @author: renchao |
124 | */ | 124 | */ |
125 | export function addidea (data) { | 125 | export function addidea (data) { |
126 | return request({ | 126 | return request({ |
127 | url: SERVER.SERVERAPI + '/rest/djbRepair/sh', | 127 | url: SERVER.SERVERAPI + '/rest/djbRepair/sh', |
128 | method: 'post', | 128 | method: 'post', |
... | @@ -134,9 +134,9 @@ export function getZtQlxx (params) { | ... | @@ -134,9 +134,9 @@ export function getZtQlxx (params) { |
134 | * @param {*} data | 134 | * @param {*} data |
135 | * @author: renchao | 135 | * @author: renchao |
136 | */ | 136 | */ |
137 | export function getShList (data) { | 137 | export function getShList (data) { |
138 | return request({ | 138 | return request({ |
139 | url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair='+data.bsmRepair, | 139 | url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair=' + data.bsmRepair, |
140 | method: 'post', | 140 | method: 'post', |
141 | data | 141 | data |
142 | }) | 142 | }) |
... | @@ -147,10 +147,24 @@ export function getZtQlxx (params) { | ... | @@ -147,10 +147,24 @@ export function getZtQlxx (params) { |
147 | * @param {*} data | 147 | * @param {*} data |
148 | * @author: renchao | 148 | * @author: renchao |
149 | */ | 149 | */ |
150 | export function getQlxxByQlxxBsm (params) { | 150 | export function getQlxxByQlxxBsm (params) { |
151 | return request({ | 151 | return request({ |
152 | url: SERVER.SERVERAPI + '/rest/djbRepair/getQlxxByQlxxBsm', | 152 | url: SERVER.SERVERAPI + '/rest/djbRepair/getQlxxByQlxxBsm', |
153 | method: 'get', | 153 | method: 'get', |
154 | params | 154 | params |
155 | }) | 155 | }) |
156 | } | 156 | } |
157 | |||
158 | |||
159 | /** | ||
160 | * @description: 初始化材料信息 | ||
161 | * @param {*} data | ||
162 | * @author: renchao | ||
163 | */ | ||
164 | export function repairInitClml (data) { | ||
165 | return request({ | ||
166 | url: SERVER.SERVERAPI + '/rest/djbRepair/repairInitClml', | ||
167 | method: 'post', | ||
168 | data | ||
169 | }) | ||
170 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | <!-- | ||
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" |
... | @@ -32,13 +31,13 @@ | ... | @@ -32,13 +31,13 @@ |
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 | }, | 42 | }, |
44 | 43 | ||
... | @@ -47,7 +46,7 @@ export default { | ... | @@ -47,7 +46,7 @@ export default { |
47 | * @description: closeDialog | 46 | * @description: closeDialog |
48 | * @author: renchao | 47 | * @author: renchao |
49 | */ | 48 | */ |
50 | closeDialog() { | 49 | closeDialog () { |
51 | this.dialogVisible = false; | 50 | this.dialogVisible = false; |
52 | }, | 51 | }, |
53 | 52 | ||
... | @@ -56,43 +55,42 @@ export default { | ... | @@ -56,43 +55,42 @@ export default { |
56 | * @param {*} el | 55 | * @param {*} el |
57 | * @author: renchao | 56 | * @author: renchao |
58 | */ | 57 | */ |
59 | clicksss(el){ | 58 | clicksss (el) { |
60 | console.log("elllllllllllllllllllll",el); | 59 | this.qllx = el |
61 | this.qllx=el | ||
62 | }, | 60 | }, |
63 | /** | 61 | /** |
64 | * @description: handleSubmit | 62 | * @description: handleSubmit |
65 | * @author: renchao | 63 | * @author: renchao |
66 | */ | 64 | */ |
67 | handleSubmit() { | 65 | handleSubmit () { |
68 | 66 | ||
69 | if(this.qllx){ | 67 | if (this.qllx) { |
70 | let qllxobj = { | 68 | let qllxobj = { |
71 | qllx:this.qllx, | 69 | qllx: this.qllx, |
72 | bsmQlxx:"" | 70 | bsmQlxx: "" |
73 | }; | 71 | }; |
74 | this.$parent.addRepairRecord(qllxobj) | 72 | this.$parent.addRepairRecord(qllxobj) |
75 | }else{ | 73 | } else { |
76 | this.$message({ | 74 | this.$message({ |
77 | type: "warning", | 75 | type: "warning", |
78 | message: "请选择权利类型!", | 76 | message: "请选择权利类型!", |
79 | }); | 77 | }); |
80 | } | 78 | } |
81 | this.qllx="" | 79 | this.qllx = "" |
82 | }, | 80 | }, |
83 | }, | 81 | }, |
84 | }; | 82 | }; |
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; |
94 | } | 92 | } |
95 | .gettypebutton{ | 93 | .gettypebutton { |
96 | cursor: pointer; | 94 | cursor: pointer; |
97 | margin-left: 20px; | 95 | margin-left: 20px; |
98 | width: 45%; | 96 | width: 45%; |
... | @@ -108,23 +106,22 @@ export default { | ... | @@ -108,23 +106,22 @@ export default { |
108 | transition: all 0.3s; | 106 | transition: all 0.3s; |
109 | color: #000; | 107 | color: #000; |
110 | } | 108 | } |
111 | .gettypebutton:hover{ | 109 | .gettypebutton:hover { |
112 | border: 1px solid #0F93F6; | 110 | border: 1px solid #0f93f6; |
113 | color: #0F93F6; | 111 | color: #0f93f6; |
114 | } | 112 | } |
115 | .gettypebutton:focus{ | 113 | .gettypebutton:focus { |
116 | background-color: #0F93F6; | 114 | background-color: #0f93f6; |
117 | border: 1px solid #0F93F6; | 115 | border: 1px solid #0f93f6; |
118 | color: #ebebeb; | 116 | color: #ebebeb; |
119 | } | 117 | } |
120 | .btn{ | 118 | .btn { |
121 | margin-top:30px; | 119 | margin-top: 30px; |
122 | text-align: center; | 120 | text-align: center; |
123 | .el-button { | 121 | .el-button { |
124 | margin-top: 10px; | 122 | margin-top: 10px; |
125 | margin-left: 20px; | 123 | margin-left: 20px; |
126 | } | 124 | } |
127 | } | 125 | } |
128 | 126 | } | |
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": |
... | @@ -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,21 +90,21 @@ | ... | @@ -101,21 +90,21 @@ |
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, |
... | @@ -130,7 +119,7 @@ export default { | ... | @@ -130,7 +119,7 @@ export default { |
130 | render: false, | 119 | render: false, |
131 | }; | 120 | }; |
132 | }, | 121 | }, |
133 | created() { | 122 | created () { |
134 | this.loadData(); | 123 | this.loadData(); |
135 | }, | 124 | }, |
136 | methods: { | 125 | methods: { |
... | @@ -138,7 +127,7 @@ export default { | ... | @@ -138,7 +127,7 @@ export default { |
138 | * @description: openPrint | 127 | * @description: openPrint |
139 | * @author: miaofang | 128 | * @author: miaofang |
140 | */ | 129 | */ |
141 | openPrint() { | 130 | openPrint () { |
142 | this.render = true; | 131 | this.render = true; |
143 | setTimeout(() => { | 132 | setTimeout(() => { |
144 | this.prinsss(); | 133 | this.prinsss(); |
... | @@ -148,7 +137,7 @@ export default { | ... | @@ -148,7 +137,7 @@ export default { |
148 | * @description: prinsss | 137 | * @description: prinsss |
149 | * @author: miaofang | 138 | * @author: miaofang |
150 | */ | 139 | */ |
151 | prinsss() { | 140 | prinsss () { |
152 | printJS({ | 141 | printJS({ |
153 | printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 142 | printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 |
154 | type: "html", | 143 | type: "html", |
... | @@ -161,13 +150,13 @@ export default { | ... | @@ -161,13 +150,13 @@ export default { |
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 | } |
... | @@ -178,7 +167,7 @@ export default { | ... | @@ -178,7 +167,7 @@ export default { |
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 | }); |
... | @@ -202,7 +191,7 @@ export default { | ... | @@ -202,7 +191,7 @@ export default { |
202 | * @description: checkChange | 191 | * @description: checkChange |
203 | * @author: renchao | 192 | * @author: renchao |
204 | */ | 193 | */ |
205 | checkChange() { | 194 | checkChange () { |
206 | if (this.checkList.length === 0) { | 195 | if (this.checkList.length === 0) { |
207 | this.tableData = []; | 196 | this.tableData = []; |
208 | this.emptycolNum = datas.columns().emptycolNum; | 197 | this.emptycolNum = datas.columns().emptycolNum; |
... | @@ -214,7 +203,7 @@ export default { | ... | @@ -214,7 +203,7 @@ export default { |
214 | * @description: getQsztName | 203 | * @description: getQsztName |
215 | * @author: renchao | 204 | * @author: renchao |
216 | */ | 205 | */ |
217 | getQsztName(code) { | 206 | getQsztName (code) { |
218 | let name = ""; | 207 | let name = ""; |
219 | for (let item of this.qsztList) { | 208 | for (let item of this.qsztList) { |
220 | if (item.value == code) { | 209 | if (item.value == code) { |
... | @@ -231,7 +220,7 @@ export default { | ... | @@ -231,7 +220,7 @@ export default { |
231 | * @param {*} del | 220 | * @param {*} del |
232 | * @author: renchao | 221 | * @author: renchao |
233 | */ | 222 | */ |
234 | editDialog(row, del) { | 223 | editDialog (row, del) { |
235 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 224 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
236 | confirmButtonText: "确定", | 225 | confirmButtonText: "确定", |
237 | cancelButtonText: "取消", | 226 | cancelButtonText: "取消", |
... | @@ -253,12 +242,12 @@ export default { | ... | @@ -253,12 +242,12 @@ export default { |
253 | }); | 242 | }); |
254 | }, | 243 | }, |
255 | }, | 244 | }, |
256 | }; | 245 | }; |
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; |
... | @@ -267,5 +256,5 @@ export default { | ... | @@ -267,5 +256,5 @@ export default { |
267 | left: 11px; | 256 | left: 11px; |
268 | top: 5px; | 257 | top: 5px; |
269 | } | 258 | } |
270 | } | 259 | } |
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,21 +92,21 @@ | ... | @@ -103,21 +92,21 @@ |
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, |
... | @@ -132,7 +121,7 @@ export default { | ... | @@ -132,7 +121,7 @@ export default { |
132 | render: false, | 121 | render: false, |
133 | }; | 122 | }; |
134 | }, | 123 | }, |
135 | created() { | 124 | created () { |
136 | this.loadData(); | 125 | this.loadData(); |
137 | }, | 126 | }, |
138 | methods: { | 127 | methods: { |
... | @@ -140,7 +129,7 @@ export default { | ... | @@ -140,7 +129,7 @@ export default { |
140 | * @description: openPrint | 129 | * @description: openPrint |
141 | * @author: miaofang | 130 | * @author: miaofang |
142 | */ | 131 | */ |
143 | openPrint() { | 132 | openPrint () { |
144 | this.render = true; | 133 | this.render = true; |
145 | setTimeout(() => { | 134 | setTimeout(() => { |
146 | this.prinsss(); | 135 | this.prinsss(); |
... | @@ -150,7 +139,7 @@ export default { | ... | @@ -150,7 +139,7 @@ export default { |
150 | * @description: prinsss | 139 | * @description: prinsss |
151 | * @author: miaofang | 140 | * @author: miaofang |
152 | */ | 141 | */ |
153 | prinsss() { | 142 | prinsss () { |
154 | printJS({ | 143 | printJS({ |
155 | printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 144 | printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 |
156 | type: "html", | 145 | type: "html", |
... | @@ -163,13 +152,13 @@ export default { | ... | @@ -163,13 +152,13 @@ export default { |
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 | } |
... | @@ -180,7 +169,7 @@ export default { | ... | @@ -180,7 +169,7 @@ export default { |
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"); |
... | @@ -198,7 +187,7 @@ export default { | ... | @@ -198,7 +187,7 @@ export default { |
198 | * @description: checkChange | 187 | * @description: checkChange |
199 | * @author: renchao | 188 | * @author: renchao |
200 | */ | 189 | */ |
201 | checkChange() { | 190 | checkChange () { |
202 | if (this.checkList.length === 0) { | 191 | if (this.checkList.length === 0) { |
203 | this.tableData = []; | 192 | this.tableData = []; |
204 | this.emptycolNum = datas.columns().emptycolNum; | 193 | this.emptycolNum = datas.columns().emptycolNum; |
... | @@ -211,7 +200,7 @@ export default { | ... | @@ -211,7 +200,7 @@ export default { |
211 | * @param {*} code | 200 | * @param {*} code |
212 | * @author: renchao | 201 | * @author: renchao |
213 | */ | 202 | */ |
214 | getQsztName(code) { | 203 | getQsztName (code) { |
215 | let name = ""; | 204 | let name = ""; |
216 | for (let item of this.qsztList) { | 205 | for (let item of this.qsztList) { |
217 | if (item.value == code) { | 206 | if (item.value == code) { |
... | @@ -228,7 +217,7 @@ export default { | ... | @@ -228,7 +217,7 @@ export default { |
228 | * @param {*} del | 217 | * @param {*} del |
229 | * @author: renchao | 218 | * @author: renchao |
230 | */ | 219 | */ |
231 | editDialog(row, del) { | 220 | editDialog (row, del) { |
232 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 221 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
233 | confirmButtonText: "确定", | 222 | confirmButtonText: "确定", |
234 | cancelButtonText: "取消", | 223 | cancelButtonText: "取消", |
... | @@ -249,12 +238,12 @@ export default { | ... | @@ -249,12 +238,12 @@ export default { |
249 | }); | 238 | }); |
250 | }, | 239 | }, |
251 | }, | 240 | }, |
252 | }; | 241 | }; |
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; |
... | @@ -263,5 +252,5 @@ export default { | ... | @@ -263,5 +252,5 @@ export default { |
263 | left: 11px; | 252 | left: 11px; |
264 | top: 5px; | 253 | top: 5px; |
265 | } | 254 | } |
266 | } | 255 | } |
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 |
... | @@ -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,22 +55,22 @@ export function loadTreeData(bdcdyh) { | ... | @@ -53,22 +55,22 @@ 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 | } |
... | @@ -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,16 +110,16 @@ | ... | @@ -125,16 +110,16 @@ |
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", |
... | @@ -157,7 +142,7 @@ export default { | ... | @@ -157,7 +142,7 @@ export default { |
157 | render: false, | 142 | render: false, |
158 | }; | 143 | }; |
159 | }, | 144 | }, |
160 | created() { | 145 | created () { |
161 | this.loadData(); | 146 | this.loadData(); |
162 | }, | 147 | }, |
163 | methods: { | 148 | methods: { |
... | @@ -165,7 +150,7 @@ export default { | ... | @@ -165,7 +150,7 @@ export default { |
165 | * @description: openPrint | 150 | * @description: openPrint |
166 | * @author: miaofang | 151 | * @author: miaofang |
167 | */ | 152 | */ |
168 | openPrint() { | 153 | openPrint () { |
169 | this.render = true; | 154 | this.render = true; |
170 | setTimeout(() => { | 155 | setTimeout(() => { |
171 | this.prinsss(); | 156 | this.prinsss(); |
... | @@ -175,7 +160,7 @@ export default { | ... | @@ -175,7 +160,7 @@ export default { |
175 | * @description: prinsss | 160 | * @description: prinsss |
176 | * @author: miaofang | 161 | * @author: miaofang |
177 | */ | 162 | */ |
178 | prinsss() { | 163 | prinsss () { |
179 | printJS({ | 164 | printJS({ |
180 | printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 | 165 | printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象 |
181 | type: "html", | 166 | type: "html", |
... | @@ -188,13 +173,13 @@ export default { | ... | @@ -188,13 +173,13 @@ export default { |
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 | } |
... | @@ -222,7 +207,7 @@ export default { | ... | @@ -222,7 +207,7 @@ export default { |
222 | * @description: checkChange | 207 | * @description: checkChange |
223 | * @author: miaofang | 208 | * @author: miaofang |
224 | */ | 209 | */ |
225 | checkChange() { | 210 | checkChange () { |
226 | if (this.checkList.length === 0) { | 211 | if (this.checkList.length === 0) { |
227 | this.tableData = []; | 212 | this.tableData = []; |
228 | this.emptycolNum = datas.columns().emptycolNum; | 213 | this.emptycolNum = datas.columns().emptycolNum; |
... | @@ -235,7 +220,7 @@ export default { | ... | @@ -235,7 +220,7 @@ export default { |
235 | * @param {*} code | 220 | * @param {*} code |
236 | * @author: miaofang | 221 | * @author: miaofang |
237 | */ | 222 | */ |
238 | getQsztName(code) { | 223 | getQsztName (code) { |
239 | let name = ""; | 224 | let name = ""; |
240 | for (let item of this.qsztList) { | 225 | for (let item of this.qsztList) { |
241 | if (item.value == code) { | 226 | if (item.value == code) { |
... | @@ -250,7 +235,7 @@ export default { | ... | @@ -250,7 +235,7 @@ export default { |
250 | * @param {*} lable | 235 | * @param {*} lable |
251 | * @author: miaofang | 236 | * @author: miaofang |
252 | */ | 237 | */ |
253 | judge(label) { | 238 | judge (label) { |
254 | if ( | 239 | if ( |
255 | "项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf( | 240 | "项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf( |
256 | label | 241 | label |
... | @@ -268,7 +253,7 @@ export default { | ... | @@ -268,7 +253,7 @@ export default { |
268 | * @param {*} del | 253 | * @param {*} del |
269 | * @author: miaofang | 254 | * @author: miaofang |
270 | */ | 255 | */ |
271 | editDialog(row, del) { | 256 | editDialog (row, del) { |
272 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { | 257 | this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", { |
273 | confirmButtonText: "确定", | 258 | confirmButtonText: "确定", |
274 | cancelButtonText: "取消", | 259 | cancelButtonText: "取消", |
... | @@ -290,12 +275,12 @@ export default { | ... | @@ -290,12 +275,12 @@ export default { |
290 | }); | 275 | }); |
291 | }, | 276 | }, |
292 | }, | 277 | }, |
293 | }; | 278 | }; |
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%; |
... | @@ -313,8 +298,8 @@ export default { | ... | @@ -313,8 +298,8 @@ export default { |
313 | } | 298 | } |
314 | } | 299 | } |
315 | } | 300 | } |
316 | } | 301 | } |
317 | .title { | 302 | .title { |
318 | position: relative; | 303 | position: relative; |
319 | .print { | 304 | .print { |
320 | // background-color: #0079fe; | 305 | // background-color: #0079fe; |
... | @@ -323,5 +308,5 @@ export default { | ... | @@ -323,5 +308,5 @@ export default { |
323 | left: 11px; | 308 | left: 11px; |
324 | top: 5px; | 309 | top: 5px; |
325 | } | 310 | } |
326 | } | 311 | } |
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,75 +92,47 @@ | ... | @@ -102,75 +92,47 @@ |
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"; |
104 | export default { | ||
115 | components: { | 105 | components: { |
116 | printTemplate, | 106 | printTemplate, |
107 | djbDetail | ||
117 | }, | 108 | }, |
118 | data() { | ||
119 | return { | ||
120 | 109 | ||
110 | data () { | ||
111 | return { | ||
121 | shows: false, | 112 | shows: false, |
122 | title: "房地产权登记信息(独幢、层、套、间房屋)", | 113 | title: "房地产权登记信息(独幢、层、套、间房屋)", |
123 | qsztList: datas.columns().qsztList, | ||
124 | checkList: datas.columns().checkList, | ||
125 | //传递参数 | 114 | //传递参数 |
126 | propsParam: this.$attrs, | 115 | propsParam: this.$attrs, |
127 | //列表数据 | 116 | //列表数据 |
128 | tableData: [], | 117 | tableData: [], |
129 | //空列值个数 | ||
130 | emptycolNum: datas.columns().emptycolNum, | ||
131 | //列名称对象 | 118 | //列名称对象 |
132 | columns: datas.columns().FDCQ2, | 119 | columns: datas.columns().FDCQ2, |
120 | // qsztList: datas.columns().qsztList, | ||
133 | render: false, | 121 | render: false, |
122 | // checkList:datas.columns().checkList, | ||
123 | //空列值个数 | ||
124 | // emptycolNum: datas.columns().emptycolNum | ||
134 | }; | 125 | }; |
135 | }, | 126 | }, |
136 | created() { | 127 | created () { |
137 | this.loadData(); | 128 | this.loadData(); |
138 | }, | 129 | }, |
139 | methods: { | 130 | methods: { |
140 | /** | 131 | /** |
141 | * @description: openPrint | ||
142 | * @author: miaofang | ||
143 | */ | ||
144 | openPrint() { | ||
145 | this.render = true; | ||
146 | setTimeout(() => { | ||
147 | this.prinsss(); | ||
148 | }, 100); | ||
149 | }, | ||
150 | /** | ||
151 | * @description: prinsss | ||
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 | }, | ||
169 | /** | ||
170 | * @description: loadData | 132 | * @description: loadData |
171 | * @author: miaofang | 133 | * @author: miaofang |
172 | */ | 134 | */ |
173 | loadData() { | 135 | loadData () { |
174 | if (this.$parent.addRepairRecord) { | 136 | if (this.$parent.addRepairRecord) { |
175 | this.columns.unshift({ prop: "cz", label: "操作" }); | 137 | this.columns.unshift({ prop: "cz", label: "操作" }); |
176 | } | 138 | } |
... | @@ -192,65 +154,15 @@ export default { | ... | @@ -192,65 +154,15 @@ export default { |
192 | this.emptycolNum = 0; | 154 | this.emptycolNum = 0; |
193 | } | 155 | } |
194 | } | 156 | } |
195 | }); | 157 | }) |
196 | }, | ||
197 | /** | ||
198 | * @description: checkChange | ||
199 | * @author: miaofang | ||
200 | */ | ||
201 | checkChange() { | ||
202 | if (this.checkList.length === 0) { | ||
203 | this.tableData = []; | ||
204 | this.emptycolNum = datas.columns().emptycolNum; | ||
205 | } else { | ||
206 | this.loadData(); | ||
207 | } | ||
208 | }, | ||
209 | /** | ||
210 | * @description: getQsztName | ||
211 | * @param {*} code | ||
212 | * @author: miaofang | ||
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 | } | 158 | } |
221 | } | 159 | } |
222 | return name; | 160 | }; |
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 | }) | ||
240 | .catch(() => { | ||
241 | this.$message({ | ||
242 | type: "info", | ||
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; |
... | @@ -259,5 +171,5 @@ export default { | ... | @@ -259,5 +171,5 @@ export default { |
259 | left: 11px; | 171 | left: 11px; |
260 | top: 5px; | 172 | top: 5px; |
261 | } | 173 | } |
262 | } | 174 | } |
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: '操作', | ... | ... |
-
Please register or sign in to post a comment