1d9c504b by renchao@pashanhoo.com

style:材料上传

1 parent 0a835006
1 /* 1 /*
2 * @Description: 企业银行接口 2 * @Description: 企业银行接口
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 09:18:45 4 * @LastEditTime: 2023-09-11 10:19:36
5 */ 5 */
6 import request from '@/utils/request' 6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
...@@ -64,3 +64,20 @@ export function uploadBatch (data) { ...@@ -64,3 +64,20 @@ export function uploadBatch (data) {
64 data 64 data
65 }) 65 })
66 } 66 }
67
68
69
70 /**
71 * @description: 删除上传材料目录
72 * @param {*} bsmFile
73 * @author: renchao
74 */
75 export function deleteFile (bsmFile) {
76 return request({
77 url: SERVER.SERVERAPI + '/rest/sys/company/deleteFile',
78 method: 'get',
79 params: {
80 bsmFile: bsmFile
81 }
82 })
83 }
...\ No newline at end of file ...\ No newline at end of file
......
1 /* 1 /*
2 * @Description: 信息备案 2 * @Description: 信息备案
3 * @Autor: 3 * @Autor:
4 * @LastEditTime: 2023-09-08 09:27:58 4 * @LastEditTime: 2023-09-11 11:25:22
5 */ 5 */
6 6
7 import request from '@/utils/request' 7 import request from '@/utils/request'
...@@ -19,6 +19,19 @@ export function addYh (data) { ...@@ -19,6 +19,19 @@ export function addYh (data) {
19 data 19 data
20 }) 20 })
21 } 21 }
22
23 /**
24 * @description: 编辑银行
25 * @param {*} data
26 * @author:
27 */
28 export function update (data) {
29 return request({
30 url: SERVER.SERVERAPI + '/rest/sys/company/update',
31 method: 'post',
32 data
33 })
34 }
22 /** 35 /**
23 * @description: 添加企业 36 * @description: 添加企业
24 * @param {*} data 37 * @param {*} data
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:08:48 4 * @LastEditTime: 2023-09-11 10:01:32
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">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-15 10:01:26 4 * @LastEditTime: 2023-09-11 10:18:11
5 --> 5 -->
6 <template> 6 <template>
7 <transition name="msgbox-fade"> 7 <transition name="msgbox-fade">
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
158 } 158 }
159 159
160 .mask-content { 160 .mask-content {
161 padding: 5px 20px 50px 20px; 161 padding: 5px 20px 30px 20px;
162 width: 100%; 162 width: 100%;
163 min-height: 20%; 163 min-height: 20%;
164 max-height: 90vh; 164 max-height: 90vh;
......
1 /* 1 /*
2 * @Description: 弹框组件的封装 2 * @Description: 弹框组件的封装
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-12 09:58:13 4 * @LastEditTime: 2023-09-11 10:38:44
5 */ 5 */
6 import ywPopup from '@/components/ywPopup/index' 6 import ywPopup from '@/components/ywPopup/index'
7 import Popup1 from '@/components/Popup1/index' 7 import Popup1 from '@/components/Popup1/index'
...@@ -49,7 +49,7 @@ export function popupDialog (title, url, params, width = '75%', isMain, height, ...@@ -49,7 +49,7 @@ export function popupDialog (title, url, params, width = '75%', isMain, height,
49 * @param {*} cancel 49 * @param {*} cancel
50 * @author: renchao 50 * @author: renchao
51 */ 51 */
52 export function ywPopupDialog (title, url, params, width = '75%', isMain, height, btnShow = true, callback, cancel) { 52 export function ywPopupDialog (title, url, params, width = '75%', isMain, btnShow = true, height, callback, cancel) {
53 // Popup.install 53 // Popup.install
54 ywPopup(title, url, { 54 ywPopup(title, url, {
55 height: height, 55 height: height,
...@@ -63,7 +63,7 @@ export function ywPopupDialog (title, url, params, width = '75%', isMain, height ...@@ -63,7 +63,7 @@ export function ywPopupDialog (title, url, params, width = '75%', isMain, height
63 confirm: () => { 63 confirm: () => {
64 callback() 64 callback()
65 }, 65 },
66 popupDialog: popupDialog // 将 popupDialog 方法传递给弹框组件 66 popupDialog: ywPopupDialog // 将 popupDialog 方法传递给弹框组件
67 }) 67 })
68 } 68 }
69 69
...@@ -80,5 +80,5 @@ export function popupCacel () { ...@@ -80,5 +80,5 @@ export function popupCacel () {
80 * @author: renchao 80 * @author: renchao
81 */ 81 */
82 export function ywPopupCacel () { 82 export function ywPopupCacel () {
83 ywPopupDialog().close() 83 ywPopup().close()
84 } 84 }
......
...@@ -78,7 +78,7 @@ ...@@ -78,7 +78,7 @@
78 78
79 <script> 79 <script>
80 import store from '@/store/index.js' 80 import store from '@/store/index.js'
81 import { addQy } from "@/api/xxba.js" 81 import { addQy, update } from "@/api/xxba.js"
82 import clxx from './clxx/index.vue' 82 import clxx from './clxx/index.vue'
83 export default { 83 export default {
84 props: { 84 props: {
...@@ -100,7 +100,6 @@ ...@@ -100,7 +100,6 @@
100 ruleForm: { 100 ruleForm: {
101 batchno: '', 101 batchno: '',
102 djjg: '', 102 djjg: '',
103 operator: '超级管理员',
104 operationtime: '', 103 operationtime: '',
105 bz: '', 104 bz: '',
106 zsstarno: '', 105 zsstarno: '',
...@@ -143,16 +142,20 @@ ...@@ -143,16 +142,20 @@
143 ], 142 ],
144 rksj: [ 143 rksj: [
145 { required: true, message: '请选择入库时间', trigger: 'change' } 144 { required: true, message: '请选择入库时间', trigger: 'change' }
146 ], 145 ]
147 }, 146 }
148 } 147 }
149 }, 148 },
150 mounted () { 149 mounted () {
151 if (this.formData.bsmBatch) { 150 if (this.formData.bsmBatch) {
152 this.tableForm[0].bs = null; 151 this.tableForm[0].bs = null;
153 this.tableForm[1].bs = null; 152 this.tableForm[1].bs = null;
154 this.getDetailInfo(this.formData.bsmBatch); 153 this.getDetailInfo(this.formData.bsmBatch)
155 } else { } 154 }
155 let list = Object.keys(this.formData).length
156 if (list > 0) {
157 this.ruleForm = this.formData
158 }
156 }, 159 },
157 methods: { 160 methods: {
158 handleClick () { }, 161 handleClick () { },
...@@ -161,11 +164,27 @@ ...@@ -161,11 +164,27 @@
161 * @author: renchao 164 * @author: renchao
162 */ 165 */
163 submitForm () { 166 submitForm () {
167 let list = Object.keys(this.formData).length
164 this.tableForm.forEach((item, index) => { 168 this.tableForm.forEach((item, index) => {
165 if (item.bs < 0) { 169 if (item.bs < 0) {
166 return; 170 return;
167 } 171 }
168 }) 172 })
173 if (list > 0) {
174 update(this.ruleForm).then(res => {
175 if (res.code == 200) {
176 this.$message.success('保存成功')
177 this.$emit("input", false);
178 this.$refs['ruleForm'].resetFields();
179 this.resetTableFields();
180 this.closeDialog();
181 //刷新列表
182 store.dispatch('user/reWorkFresh', true)
183 } else {
184 this.$message.error(res.message);
185 }
186 })
187 } else {
169 addQy(this.ruleForm).then(res => { 188 addQy(this.ruleForm).then(res => {
170 if (res.code == 200) { 189 if (res.code == 200) {
171 this.$message.success('保存成功') 190 this.$message.success('保存成功')
...@@ -179,6 +198,7 @@ ...@@ -179,6 +198,7 @@
179 this.$message.error(res.message); 198 this.$message.error(res.message);
180 } 199 }
181 }) 200 })
201 }
182 }, 202 },
183 /** 203 /**
184 * @description: 获取详情信息 204 * @description: 获取详情信息
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 16:13:07 4 * @LastEditTime: 2023-09-11 13:35:33
5 --> 5 -->
6 <template> 6 <template>
7 <div class="clmlmx-box"> 7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" :heightNumSetting="true" :calcHeight="600" :pagination="false" :data="tableData"> 8 <lb-table :column="column" :key="key" :heightNumSetting="true" :calcHeight="600" :pagination="false" :data="tableData">
9 </lb-table> 9 </lb-table>
10 <div class="text-center"> 10 <div class="text-center">
11 <el-button @click="$popupCacel">取消</el-button> 11 <el-button @click="handleCancel">取消</el-button>
12 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button> 12 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button>
13 </div> 13 </div>
14 </div> 14 </div>
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
16 <script> 16 <script>
17 import Vue from 'vue' 17 import Vue from 'vue'
18 import store from '@/store/index.js' 18 import store from '@/store/index.js'
19 import { ywPopupCacel } from "@/utils/popup.js";
19 import { InitClml, updateClml, deleteSjClml, moveClml } from "@/api/clxx.js"; 20 import { InitClml, updateClml, deleteSjClml, moveClml } from "@/api/clxx.js";
20 export default { 21 export default {
21 props: { 22 props: {
...@@ -123,10 +124,10 @@ ...@@ -123,10 +124,10 @@
123 label: "扫描页数", 124 label: "扫描页数",
124 width: "80", 125 width: "80",
125 render: (h, scope) => { 126 render: (h, scope) => {
126 if (scope.row.children && scope.row.children.length > 0) { 127 if (scope.row.count && scope.row.count > 0) {
127 return ( 128 return (
128 <div> 129 <div>
129 <span>{scope.row.children.length}</span> 130 <span>{scope.row.count}</span>
130 </div> 131 </div>
131 ); 132 );
132 } else { 133 } else {
...@@ -184,6 +185,9 @@ ...@@ -184,6 +185,9 @@
184 } 185 }
185 }, 186 },
186 methods: { 187 methods: {
188 handleCancel () {
189 ywPopupCacel()
190 },
187 handleSubmit () { 191 handleSubmit () {
188 this.loading = true 192 this.loading = true
189 updateClml(this.tableData).then(res => { 193 updateClml(this.tableData).then(res => {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 14:49:24 4 * @LastEditTime: 2023-09-11 14:01:06
5 --> 5 -->
6 <template> 6 <template>
7 <div class="rlPopup"> 7 <div class="rlPopup">
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 <div class="img-list-wrap"> 14 <div class="img-list-wrap">
15 <img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪"> 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> 16 <div v-for="(img, i) in previewImg.imgList" :key="i" v-else>
17 <photo-zoom :url="img.fjurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2" 17 <photo-zoom :url="img.fileurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
18 overlayStyle="width: 100%;height:100%"> 18 overlayStyle="width: 100%;height:100%">
19 </photo-zoom> 19 </photo-zoom>
20 </div> 20 </div>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
53 <script> 53 <script>
54 import PhotoZoom from '@/components/PhotoZoom' 54 import PhotoZoom from '@/components/PhotoZoom'
55 import { getAltimeterInfo, getUuid } from '@/utils/operation.js' 55 import { getAltimeterInfo, getUuid } from '@/utils/operation.js'
56 import { uploadBatch, deleteClmx } from "@/api/company.js" 56 import { uploadBatch, deleteFile } from "@/api/company.js"
57 import publicPicture from '@/components/publicPicture/index.vue' 57 import publicPicture from '@/components/publicPicture/index.vue'
58 export default { 58 export default {
59 name: 'PreviewImage', 59 name: 'PreviewImage',
...@@ -93,11 +93,8 @@ ...@@ -93,11 +93,8 @@
93 previewImg: { 93 previewImg: {
94 handler (newValue, oldValue) { 94 handler (newValue, oldValue) {
95 if (newValue.imgList && newValue.imgList.length > 0) { 95 if (newValue.imgList && newValue.imgList.length > 0) {
96 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fjurl) 96 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fileurl)
97 this.thumbnailImages = newValue.imgList 97 this.thumbnailImages = newValue.imgList
98 this.thumbnailImages.forEach(item => {
99 item.fjurl = item.fileurl
100 })
101 } else { 98 } else {
102 this.allLi = [] 99 this.allLi = []
103 this.thumbnailImages = [] 100 this.thumbnailImages = []
...@@ -111,9 +108,6 @@ ...@@ -111,9 +108,6 @@
111 this.maxLength = 0; 108 this.maxLength = 0;
112 this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl) 109 this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl)
113 this.thumbnailImages = this.previewImg.imgList 110 this.thumbnailImages = this.previewImg.imgList
114 this.thumbnailImages.forEach(item => {
115 item.fjurl = item.fileurl
116 })
117 }, 111 },
118 computed: { 112 computed: {
119 isFirst () { 113 isFirst () {
...@@ -275,9 +269,12 @@ ...@@ -275,9 +269,12 @@
275 return; 269 return;
276 } 270 }
277 formData.append("bsmMaterial", this.previewImg.bsmMaterial); 271 formData.append("bsmMaterial", this.previewImg.bsmMaterial);
272 if (this.previewImg.imgList.length > 0) {
273 formData.append("index", this.previewImg.index + 1);
274 }
278 uploadBatch(formData).then((res) => { 275 uploadBatch(formData).then((res) => {
279 if (res.code == 200) { 276 if (res.code == 200) {
280 this.$emit('updateList', res.result) 277 this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial })
281 this.$message({ 278 this.$message({
282 message: '上传成功!', 279 message: '上传成功!',
283 type: 'success' 280 type: 'success'
...@@ -299,10 +296,10 @@ ...@@ -299,10 +296,10 @@
299 cancelButtonText: '取消', 296 cancelButtonText: '取消',
300 type: 'warning' 297 type: 'warning'
301 }).then(async () => { 298 }).then(async () => {
302 let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx 299 let bsmFile = this.previewImg.imgList[this.previewImg.index].bsmFile
303 let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial 300 let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial
304 this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmClmx != bsmClmx) 301 this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmFile != bsmFile)
305 deleteClmx(bsmClmx).then(res => { 302 deleteFile(bsmFile).then(res => {
306 if (res.code == 200) { 303 if (res.code == 200) {
307 that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial }) 304 that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial })
308 that.$message({ 305 that.$message({
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 15:02:18 4 * @LastEditTime: 2023-09-11 13:52:42
5 --> 5 -->
6 <template> 6 <template>
7 <div class="clxx"> 7 <div class="clxx">
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
33 :class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']" 33 :class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']"
34 @click="treeClick(item, index)"> 34 @click="treeClick(item, index)">
35 {{ item.clmc }} 35 {{ item.clmc }}
36 <span class="cl_number" :key="key">({{ item.sxh }})</span> 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>
37 </div> 38 </div>
38 </div> 39 </div>
39 </div> 40 </div>
...@@ -57,6 +58,7 @@ ...@@ -57,6 +58,7 @@
57 </template> 58 </template>
58 <script> 59 <script>
59 import store from '@/store/index.js' 60 import store from '@/store/index.js'
61 import { ywPopupDialog, ywPopupCacel } from "@/utils/popup.js";
60 import clxxAddDialog from "./dialog/clxxAddDialog.vue"; 62 import clxxAddDialog from "./dialog/clxxAddDialog.vue";
61 import clxxDetailDialog from "./dialog/clxxDetailDialog.vue"; 63 import clxxDetailDialog from "./dialog/clxxDetailDialog.vue";
62 import imagePreview from "./dialog/imagePreview.vue"; 64 import imagePreview from "./dialog/imagePreview.vue";
...@@ -84,9 +86,9 @@ ...@@ -84,9 +86,9 @@
84 bsmMaterial: "", 86 bsmMaterial: "",
85 index: 0, 87 index: 0,
86 selectedIndex: 0, 88 selectedIndex: 0,
87 imgList: [], 89 imgList: []
88 }, 90 }
89 }; 91 }
90 }, 92 },
91 created () { 93 created () {
92 this.clmlInitList(); 94 this.clmlInitList();
...@@ -181,7 +183,7 @@ ...@@ -181,7 +183,7 @@
181 this.title = item.sjmc; 183 this.title = item.sjmc;
182 this.titleYs = 1; 184 this.titleYs = 1;
183 this.titleNum = item.children.length; 185 this.titleNum = item.children.length;
184 // this.previewImg.imgList = item.children; 186 this.previewImg.imgList = item.children;
185 this.previewImg.bsmMaterial = item.bsmMaterial; 187 this.previewImg.bsmMaterial = item.bsmMaterial;
186 }, 188 },
187 /** 189 /**
...@@ -191,14 +193,14 @@ ...@@ -191,14 +193,14 @@
191 */ 193 */
192 updateList (val) { 194 updateList (val) {
193 let that = this; 195 let that = this;
194 if (val.length != 0) { 196 if (val.children.length != 0) {
195 //删除最后一张图片时 val=null 197 //删除最后一张图片时 val=null
196 this.tableData.forEach((item) => { 198 this.tableData.forEach((item) => {
197 if (item.bsmMaterial === val.bsmMaterial) { 199 if (item.bsmMaterial == val.bsmMaterial) {
198 item.ys = val.length 200 item.count = val.children.length
199 } 201 }
200 }); 202 });
201 this.previewImg.imgList = _.cloneDeep(val); 203 this.previewImg.imgList = _.cloneDeep(val.children);
202 if (this.previewImg.index == this.previewImg.imgList.length) { 204 if (this.previewImg.index == this.previewImg.imgList.length) {
203 this.previewImg.index = this.previewImg.index - 1; 205 this.previewImg.index = this.previewImg.index - 1;
204 } 206 }
...@@ -207,7 +209,7 @@ ...@@ -207,7 +209,7 @@
207 this.previewImg.imgList = []; 209 this.previewImg.imgList = [];
208 this.tableData.forEach((item, index) => { 210 this.tableData.forEach((item, index) => {
209 if (this.treeCheckId == item.bsmMaterial) { 211 if (this.treeCheckId == item.bsmMaterial) {
210 item.ys = 0; 212 item.count = 0;
211 that.treeCheckIndex = index; 213 that.treeCheckIndex = index;
212 } 214 }
213 }) 215 })
...@@ -270,15 +272,9 @@ ...@@ -270,15 +272,9 @@
270 //查看明细 272 //查看明细
271 viewDetail () { 273 viewDetail () {
272 store.dispatch("user/reWorkFresh", false); 274 store.dispatch("user/reWorkFresh", false);
273 this.$popupDialog( 275 ywPopupDialog("申请材料目录", "xxba/components/clxx/dialog/clxxDetailDialog", {
274 "申请材料目录",
275 "workflow/components/dialog/clxxDetailDialog",
276 {
277 data: this.tableData, 276 data: this.tableData,
278 }, 277 }, "60%", true, false)
279 "60%",
280 true
281 );
282 }, 278 },
283 //设置tableData 279 //设置tableData
284 setTableData (tableData) { 280 setTableData (tableData) {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-08 09:30:08 4 * @LastEditTime: 2023-09-11 11:23:49
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-11 09:54:24 4 * @LastEditTime: 2023-09-11 09:55:52
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -134,9 +134,15 @@ ...@@ -134,9 +134,15 @@
134 </el-table-column> 134 </el-table-column>
135 135
136 <el-table-column 136 <el-table-column
137 property="fwjgmc" 137 width="100"
138 label="房屋结构"> 138 label="房屋结构">
139 <template slot-scope="scope">
140 <el-tooltip effect="dark" :content="scope.row.fwjgmc" placement="top" popper-class="tooltip-width">
141 <span class="ellipsis-table"> {{scope.row.fwjgmc}}</span>
142 </el-tooltip>
143 </template>
139 </el-table-column> 144 </el-table-column>
145
140 <el-table-column 146 <el-table-column
141 property="jzmj" 147 property="jzmj"
142 label="房屋面积(㎡)"> 148 label="房屋面积(㎡)">
......