08dcd487 by yangwei

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

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