| @@ -12,7 +12,7 @@ module.exports = { | |||
| proxyTable: { | |||
| "/api": { | |||
| // 请求的目标主机 | |||
| // target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境 | |||
| //target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境 | |||
| // target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境 | |||
| target: 'http://localhost:8080/', | |||
| //target: 'http://192.168.0.106:8080/', | |||
| @@ -3,8 +3,10 @@ | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <meta name="viewport" | |||
| content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" /> | |||
| <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" /> | |||
| <!--<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0"> | |||
| <meta http-equiv="expires" content="0"> | |||
| <meta http-equiv="pragma" content="no-cache">--> | |||
| <link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico"> | |||
| <script src="/static/js/ol.js"></script> | |||
| <!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=c78ca1c13e82e1cdd64ef9d8cdbbb237"></script>--> | |||
| @@ -449,15 +449,14 @@ export function addMajorevent(data) { | |||
| export function customSubmitMajorevent(id) { | |||
| return request({ | |||
| url: '/yinnong/majorevent/customSubmitNew/' + id, | |||
| method: 'post' | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 撤回 | |||
| export function updateTYinnongMajoreventFoStatus(data) { | |||
| export function updateTYinnongMajoreventFoStatus(id) { | |||
| return request({ | |||
| url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus', | |||
| method: 'post', | |||
| data: data | |||
| url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询重大事项申请详细 | |||
| @@ -19,6 +19,7 @@ export function getVillageAffairs(id) { | |||
| // 查询地区下的账套列表 | |||
| export function bookListByDept(deptId, bookType) { | |||
| console.log(deptId); | |||
| return request({ | |||
| url: '/open/villageAffairs/public/bookList/' + deptId, | |||
| method: 'get', | |||
| @@ -279,6 +279,45 @@ export function majorEventPublicList(query) { | |||
| params: query | |||
| }) | |||
| } | |||
| // 重要事项公开列表 | |||
| export function importantList(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/importantList', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 重要事项公开详情 | |||
| export function importantDetail(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/importantDetail', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 重要事项公开新增 | |||
| export function subcontractAdd(data) { | |||
| return request({ | |||
| url: '/subcontract/event/add', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 重要事项公开修改 | |||
| export function subcontractEdit(data) { | |||
| return request({ | |||
| url: '/subcontract/event/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 重要事项公开删除 | |||
| export function subcontractRemove(id) { | |||
| return request({ | |||
| url: '/subcontract/event/remove/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 财务公开详情 | |||
| export function financePublicDetail(query) { | |||
| return request({ | |||
| @@ -1219,3 +1258,227 @@ export const assetLiabilityReportByExpTpl = (data) => { | |||
| params: data | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function listOther(query) { | |||
| return request({ | |||
| url: '/subcontract/other/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function listSiyigongkai(query) { | |||
| return request({ | |||
| url: '/subcontract/siyigongkai/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function listOtherOpen(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/otherPublicList', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function listSiyigongkaiOpen(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/siyigongkaiList', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开详细 | |||
| export function otherPublicDetailN(id) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/otherPublicDetail?id=' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询四议两公开详细 | |||
| export function otherPublicDetailOpen(id) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/otherPublicDetail?id=' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询四议两公开详细 | |||
| export function getSiyigongkai(id) { | |||
| return request({ | |||
| url: '/subcontract/siyigongkai/get/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询四议两公开详细 | |||
| export function getSiyigongkaiOpen(id, bookId) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/siyigongkaiDetail', | |||
| method: 'get', | |||
| params: { id, bookId } | |||
| }) | |||
| } | |||
| // 修改四议两公开 | |||
| export function updateSiyigongkai(data) { | |||
| return request({ | |||
| url: '/subcontract/siyigongkai/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 新增四议两公开 | |||
| export function addSiyigongkai(data) { | |||
| return request({ | |||
| url: '/subcontract/siyigongkai/add', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 删除四议两公开 | |||
| export function delSiyigongkai(id) { | |||
| return request({ | |||
| url: '/subcontract/siyigongkai/remove/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function specialPublicityList(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/specialPublicityList', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function specialPublicityDetail(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/specialPublicityDetail', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议表决详情 | |||
| export function specialPublicityVote(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/specialVote', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 新增表决记录 | |||
| export function votedetailAdd(data) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/votedetailAdd', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function addReadCount(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/addReadCount', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function specialPublicityEdit(data) { | |||
| return request({ | |||
| url: '/subcontract/publicity/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function specialPublicityAdd(data) { | |||
| return request({ | |||
| url: '/subcontract/publicity/add', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 删除四议两公开 | |||
| export function specialPublicityRemove(id) { | |||
| return request({ | |||
| url: '/subcontract/publicity/remove/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function updateSpecialPublicityCount(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/updateSpecialPublicityCount', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 收支明细公开 | |||
| export function financialPublicDetailReport(query) { | |||
| return request({ | |||
| url: '/open/finance/financialPublicDetailReport', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 收支明细公开 | |||
| export function jyxzcqkgkList(query) { | |||
| return request({ | |||
| url: '/open/asset/jyxzcqkgk/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 收支明细公开 | |||
| export function jyxzyqkgkList(query) { | |||
| return request({ | |||
| url: '/open/assetresource/jyxzyqkgk/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| export function jyxzcqkgkDetail(id) { | |||
| return request({ | |||
| url: '/open/asset/jyxzcqkgk/detail/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| export function jyxzyqkgkDetail(id) { | |||
| return request({ | |||
| url: '/open/assetresource/jyxzyqkgk/detail/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 收支明细公开 | |||
| export function webList(query) { | |||
| return request({ | |||
| url: '/open/typz/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| @@ -0,0 +1,98 @@ | |||
| import request from '@/utils/request' | |||
| // 查询三清台账列表 | |||
| export function listThree(query) { | |||
| return request({ | |||
| url: '/asset/three/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 统计查询三清台账列表 | |||
| export function statisticThree(query) { | |||
| return request({ | |||
| url: '/asset/three/statistic', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 导出三清台账 | |||
| export function exportThree(query) { | |||
| return request({ | |||
| url: '/asset/three/export', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询三清台账详细 | |||
| export function getThree(id) { | |||
| return request({ | |||
| url: '/asset/three/get/' + id, | |||
| method: 'get', | |||
| params: arguments[1] || {} | |||
| }) | |||
| } | |||
| // 新增三清台账 | |||
| export function addThree(data) { | |||
| return request({ | |||
| url: '/asset/three/add', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 修改三清台账 | |||
| export function updateThree(data) { | |||
| return request({ | |||
| url: '/asset/three/edit', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| // 删除三清台账 | |||
| export function delThree(id) { | |||
| return request({ | |||
| url: '/asset/three/remove/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 清空空间字段 | |||
| export function clearThreeGeom(id) { | |||
| return request({ | |||
| url: '/asset/three/clear/' + id, | |||
| method: 'get', | |||
| }) | |||
| } | |||
| //上传全局方法附件 | |||
| export function commonAttach(data) { | |||
| return request({ | |||
| url: '/common/attach', | |||
| method: 'post', | |||
| header: { "Content-Type": 'application/x-www-form-urlencoded' }, | |||
| data: data | |||
| }) | |||
| } | |||
| //查询已上传附件 | |||
| export const attachmentList = (data) => { | |||
| return request({ | |||
| url: '/system/attachment/query', | |||
| method: 'get', | |||
| params: data | |||
| }) | |||
| } | |||
| //删除已上传附件 | |||
| export function systemAttachment(ids) { | |||
| if (ids != undefined) { | |||
| return request({ | |||
| url: '/system/attachment/remove/' + ids, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| } | |||
| @@ -7,11 +7,12 @@ | |||
| <!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>--> | |||
| <!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/> --> | |||
| <!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>--> | |||
| <input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/> | |||
| <input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/> | |||
| <input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/> | |||
| </div> | |||
| </div> | |||
| <div style="font-size: 13px; padding-top: 5px;">备注信息:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div> | |||
| <div style="font-size: 13px; padding-top: 5px;">备注:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div> | |||
| <div id="info" style="display: none"></div> | |||
| </div> | |||
| </template> | |||
| @@ -31,6 +32,7 @@ export default { | |||
| uuidMap: this.guidProduct(), | |||
| drawingPolygonMap: this.guidProduct(), | |||
| drawingResetMap: this.guidProduct(), | |||
| locationMap: this.guidProduct(), | |||
| mapGeoServerUrl: "", // geoserver地址 | |||
| villageBorderLayerName: "", // 乡镇边界图层名称 | |||
| }; | |||
| @@ -72,6 +74,72 @@ export default { | |||
| return v.toString(16); | |||
| }); | |||
| }, | |||
| getCurrentLocation(callback) { | |||
| // 1. 首先尝试Android宿主端 | |||
| if(window._Native_object) // Android层注入全局对象 | |||
| { | |||
| console.log('使用Native获取定位'); | |||
| let coord = window._Native_object.GetLocation(null); | |||
| console.log('Native坐标: ' + coord); | |||
| if(coord) | |||
| { | |||
| let arr = coord.split(','); | |||
| let res = { | |||
| code: 200, | |||
| data: { | |||
| lng: arr[0], | |||
| lat: arr[1], | |||
| }, | |||
| }; | |||
| callback(res); | |||
| return; | |||
| } | |||
| } | |||
| // 2. 再尝试浏览器 | |||
| if (navigator.geolocation) { | |||
| console.log('使用浏览器获取定位'); | |||
| navigator.geolocation.getCurrentPosition( | |||
| (position) => { | |||
| const { latitude, longitude } = position.coords; | |||
| let res = { | |||
| code: 200, | |||
| data: { | |||
| lng: longitude, | |||
| lat: latitude, | |||
| }, | |||
| }; | |||
| callback(res); | |||
| }, | |||
| (error) => { | |||
| console.log('定位失败: ' + error.message); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| { enableHighAccuracy: true, timeout: 5000 } | |||
| ); | |||
| return; | |||
| } | |||
| // 最后使用地区坐标 | |||
| console.log('使用地区坐标定位'); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| getDeptLocation(callback) { | |||
| getQueryLand().then((response) => { | |||
| if (response.code == 200) { | |||
| let InsertCode = response.data; | |||
| if (InsertCode != null) { | |||
| var lat = InsertCode.lat; | |||
| var lng = InsertCode.lng; | |||
| if(lat !=null && lng !=null && lat !="" && lng !=""){ | |||
| callback(response); | |||
| return; | |||
| } | |||
| } | |||
| } | |||
| this.getCurrentLocation(callback); | |||
| }); | |||
| }, | |||
| //地图查看 | |||
| drawingPaceCountryLine() { | |||
| //加载地图编辑 | |||
| @@ -80,6 +148,45 @@ export default { | |||
| //var hc_land; | |||
| var draw; // global so we can remove it later | |||
| var vector_drawing; | |||
| var mark_layer = null; | |||
| function addMark(lng, lat) { | |||
| if(!mark_layer) | |||
| { | |||
| mark_layer = new ol.layer.Vector({ | |||
| source: new ol.source.Vector(), | |||
| }); | |||
| map.addLayer(mark_layer); | |||
| } | |||
| else | |||
| mark_layer.getSource().clear(); | |||
| let newFeature = new ol.Feature({ | |||
| geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息 | |||
| //name: "标注点", | |||
| }); | |||
| newFeature.setStyle(new ol.style.Style({ | |||
| image: new ol.style.Icon({ | |||
| //设置图标偏移 | |||
| anchor: [0.5, 0.5], | |||
| //标注样式的起点位置 | |||
| anchorOrigin: "top-right", | |||
| //X方向单位:分数 | |||
| anchorXUnits: "fraction", | |||
| //Y方向单位:像素 | |||
| anchorYUnits: "fraction", | |||
| //偏移起点位置的方向 | |||
| offsetOrigin: "top-right", | |||
| //透明度 | |||
| opacity: 0.9, | |||
| //图片路径 | |||
| src: require('../../assets/images/location/mark.png'), | |||
| }), | |||
| zIndex: 9999, | |||
| })); | |||
| mark_layer.getSource().addFeature(newFeature); | |||
| } | |||
| if (that.message != null && that.message != "" | |||
| && that.message != undefined) { | |||
| document.getElementById(that.uuidMap).innerHTML = ''; | |||
| @@ -297,6 +404,27 @@ export default { | |||
| that.formSubmit(); | |||
| } | |||
| }); | |||
| $("#" + this.locationMap).click(function () { | |||
| that.getCurrentLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| if(lat && lng){ | |||
| Zb = [lng,lat]; | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| zoom: 18, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| } | |||
| }); | |||
| }); | |||
| } else{ | |||
| //this.closeMoule = null; | |||
| document.getElementById(that.uuidMap).innerHTML = ''; | |||
| @@ -326,7 +454,7 @@ export default { | |||
| }); | |||
| //获取坐标是否存在 | |||
| var Zb; | |||
| getQueryLand().then((response) => { | |||
| this.getDeptLocation((response) => { | |||
| if (response.code == 200) { | |||
| let InsertCode = response.data; | |||
| if (InsertCode != null) { | |||
| @@ -442,6 +570,27 @@ export default { | |||
| //that.closeMoule = null; | |||
| that.formSubmit(); | |||
| }); | |||
| $("#" + this.locationMap).click(function () { | |||
| that.getCurrentLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| if(lat && lng){ | |||
| Zb = [lng,lat]; | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| zoom: 18, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| }, | |||
| @@ -3,6 +3,7 @@ | |||
| <div id="full-screen-acceptance" style="width: 100%;height:71vh;"> | |||
| <div :id=this.uuidMap style="width: 100%;height: 100%"></div> | |||
| <div id='land-btn-wrap' v-show="showBtn"> | |||
| <input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/> | |||
| <input :id="this.drawPolygonMap" class="ant-btn ant-btn-red" type="button" value="标记"/> | |||
| <!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/> --> | |||
| <input :id="this.drawResetMap" type="button" class="ant-btn ant-btn-red" value="重置标记"/> | |||
| @@ -27,6 +28,7 @@ | |||
| uuidMap: this.guidProduct(), | |||
| drawPolygonMap: this.guidProduct(), | |||
| drawResetMap: this.guidProduct(), | |||
| locationMap: this.guidProduct(), | |||
| mapGeoServerUrl: "", // geoserver地址 | |||
| villageBorderLayerName: "", // 乡镇边界图层名称 | |||
| }; | |||
| @@ -68,6 +70,72 @@ | |||
| return v.toString(16); | |||
| }); | |||
| }, | |||
| getCurrentLocation(callback) { | |||
| // 1. 首先尝试Android宿主端 | |||
| if(window._Native_object) // Android层注入全局对象 | |||
| { | |||
| console.log('使用Native获取定位'); | |||
| let coord = window._Native_object.GetLocation(null); | |||
| console.log('Native坐标: ' + coord); | |||
| if(coord) | |||
| { | |||
| let arr = coord.split(','); | |||
| let res = { | |||
| code: 200, | |||
| data: { | |||
| lng: arr[0], | |||
| lat: arr[1], | |||
| }, | |||
| }; | |||
| callback(res); | |||
| return; | |||
| } | |||
| } | |||
| // 2. 再尝试浏览器 | |||
| if (navigator.geolocation) { | |||
| console.log('使用浏览器获取定位'); | |||
| navigator.geolocation.getCurrentPosition( | |||
| (position) => { | |||
| const { latitude, longitude } = position.coords; | |||
| let res = { | |||
| code: 200, | |||
| data: { | |||
| lng: longitude, | |||
| lat: latitude, | |||
| }, | |||
| }; | |||
| callback(res); | |||
| }, | |||
| (error) => { | |||
| console.log('定位失败: ' + error.message); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| { enableHighAccuracy: true, timeout: 5000 } | |||
| ); | |||
| return; | |||
| } | |||
| // 最后使用地区坐标 | |||
| console.log('使用地区坐标定位'); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| getDeptLocation(callback) { | |||
| getQueryLand().then((response) => { | |||
| if (response.code == 200) { | |||
| let InsertCode = response.data; | |||
| if (InsertCode != null) { | |||
| var lat = InsertCode.lat; | |||
| var lng = InsertCode.lng; | |||
| if(lat !=null && lng !=null && lat !="" && lng !=""){ | |||
| callback(response); | |||
| return; | |||
| } | |||
| } | |||
| } | |||
| this.getCurrentLocation(callback); | |||
| }); | |||
| }, | |||
| //地图查看 | |||
| pointPaceCountryDarw() { | |||
| //加载地图编辑 | |||
| @@ -76,6 +144,45 @@ | |||
| //var hc_land; | |||
| var draw; // global so we can remove it later | |||
| var vector_drawing; | |||
| var mark_layer = null; | |||
| function addMark(lng, lat) { | |||
| if(!mark_layer) | |||
| { | |||
| mark_layer = new ol.layer.Vector({ | |||
| source: new ol.source.Vector(), | |||
| }); | |||
| map.addLayer(mark_layer); | |||
| } | |||
| else | |||
| mark_layer.getSource().clear(); | |||
| let newFeature = new ol.Feature({ | |||
| geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息 | |||
| //name: "标注点", | |||
| }); | |||
| newFeature.setStyle(new ol.style.Style({ | |||
| image: new ol.style.Icon({ | |||
| //设置图标偏移 | |||
| anchor: [0.5, 0.5], | |||
| //标注样式的起点位置 | |||
| anchorOrigin: "top-right", | |||
| //X方向单位:分数 | |||
| anchorXUnits: "fraction", | |||
| //Y方向单位:像素 | |||
| anchorYUnits: "fraction", | |||
| //偏移起点位置的方向 | |||
| offsetOrigin: "top-right", | |||
| //透明度 | |||
| opacity: 0.9, | |||
| //图片路径 | |||
| src: require('../../assets/images/location/mark.png'), | |||
| }), | |||
| zIndex: 9999, | |||
| })); | |||
| mark_layer.getSource().addFeature(newFeature); | |||
| } | |||
| //矢量标注样式设置函数,设置image为图标ol.style.Icon | |||
| function createLabelStyle() { | |||
| return new ol.style.Style({ | |||
| @@ -337,6 +444,27 @@ | |||
| that.formSubmit(); | |||
| } | |||
| }); | |||
| $("#" + this.locationMap).click(function () { | |||
| that.getCurrentLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| if(lat && lng){ | |||
| Zb = [lng,lat]; | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| zoom: 18, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| else{ | |||
| this.closeMoule = null; | |||
| @@ -368,7 +496,7 @@ | |||
| //获取坐标是否存在 | |||
| var Zb; | |||
| //开始定位当前位置 | |||
| getQueryLand().then(res => { | |||
| this.getDeptLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| @@ -519,6 +647,27 @@ | |||
| that.closeMoule = null; | |||
| that.formSubmit(); | |||
| }); | |||
| $("#" + this.locationMap).click(function () { | |||
| that.getCurrentLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| if(lat && lng){ | |||
| Zb = [lng,lat]; | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| zoom: 18, // 缩放级别 | |||
| rotation: undefined, // 缩放完成view视图旋转弧度 | |||
| duration: 1000, // 缩放持续时间,默认不需要设置 | |||
| }); | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| }, | |||
| @@ -0,0 +1,219 @@ | |||
| <!-- 下拉列表组件 zhao --> | |||
| <template> | |||
| <div> | |||
| <slot/> | |||
| <van-popup v-model="popupVisible" position="bottom"> | |||
| <van-picker | |||
| ref="picker" | |||
| :title="label" | |||
| show-toolbar | |||
| :columns="options" | |||
| :readonly="readonly" | |||
| :value-key="labelKey" | |||
| :loading="loading" | |||
| @confirm="onConfirm" | |||
| @cancel="onCancel" | |||
| @change="onChanged" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import request from "@/utils/request"; | |||
| export default { | |||
| name: "Selector", | |||
| props: { | |||
| value: { | |||
| default: null, | |||
| }, | |||
| readonly: { | |||
| type: Boolean, | |||
| default: false, | |||
| }, | |||
| label: { | |||
| type: String, | |||
| default: '', | |||
| }, | |||
| columns: { // 列表数据 Array | |||
| type: Array, | |||
| default: () => [], | |||
| }, | |||
| labelKey: { // 名称键名 String | |||
| type: String, | |||
| default: 'label', | |||
| }, | |||
| valueKey: { // 值键名 String | |||
| type: String, | |||
| default: 'value', | |||
| }, | |||
| remoteUrl: { // 远程列表加载地址 String, 函数, 或 Promise | |||
| type: [String, Function, Object], | |||
| default: null, | |||
| }, | |||
| onRemoteResponse: { // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割 | |||
| type: [String, Function], | |||
| default: null, | |||
| }, | |||
| clear: { // 点击取消时清空绑定值 | |||
| type: Boolean, | |||
| default: false, | |||
| }, | |||
| visible: { // 打开状态 | |||
| type: Boolean, | |||
| default: false, | |||
| }, | |||
| }, | |||
| watch: { | |||
| value: function (newVal, oldVal) { | |||
| this.internalValue = newVal; | |||
| this.visibleValue = newVal; | |||
| this.syncIndex(); | |||
| }, | |||
| columns: function (newVal, oldVal) { | |||
| this.syncIndex(); | |||
| }, | |||
| remoteUrl: function (newVal, oldVal) { | |||
| this.requestRemote(); | |||
| }, | |||
| onRemoteResponse: function (newVal, oldVal) { | |||
| this.parseRemote(); | |||
| }, | |||
| visible: function (newVal, oldVal) { | |||
| if(newVal != this.popupVisible) | |||
| this.popupVisible = newVal; | |||
| }, | |||
| popupVisible: function (newVal, oldVal) { | |||
| if(newVal != this.visible) | |||
| this.$emit('update:visible', newVal); | |||
| } | |||
| }, | |||
| created() { | |||
| if(this.remoteUrl) | |||
| this.requestRemote(); | |||
| }, | |||
| data() { | |||
| return { | |||
| popupVisible: false, | |||
| internalValue: this.value, | |||
| visibleValue: '', | |||
| defaultIndex: 0, | |||
| remoteColumns: null, | |||
| loading: false, | |||
| remoteResponse: null, | |||
| }; | |||
| }, | |||
| methods: { | |||
| openPopup() { | |||
| if(!this.readonly) | |||
| { | |||
| this.popupVisible = true; | |||
| this.$nextTick(() => { | |||
| this.$refs.picker.setIndexes([this.defaultIndex]); | |||
| }) | |||
| } | |||
| }, | |||
| closePopup() { | |||
| this.popupVisible = false; | |||
| }, | |||
| onChanged(data) { | |||
| this.$emit('change', data); | |||
| }, | |||
| onConfirm(data) { | |||
| this.syncValue(data); | |||
| this.$emit('input', this.internalValue); | |||
| this.$emit('confirm', this.internalValue); | |||
| this.closePopup(); | |||
| }, | |||
| onCancel() { | |||
| this.closePopup(); | |||
| if(this.clear) | |||
| { | |||
| this.visibleValue = ''; | |||
| this.internalValue = null; | |||
| this.$emit('input', this.internalValue); | |||
| } | |||
| this.$emit('cancel'); | |||
| }, | |||
| getValue(data) { | |||
| return typeof(data) === 'object' && this.valueKey ? data[this.valueKey] : data; | |||
| }, | |||
| getLabel(data) { | |||
| return typeof(data) === 'object' && this.labelKey ? data[this.labelKey] : data; | |||
| }, | |||
| syncValue(data) { | |||
| this.internalValue = this.getValue(data); | |||
| this.visibleValue = this.getLabel(data); | |||
| }, | |||
| syncIndex() { | |||
| let columns = this.getColumns(); | |||
| if(!columns) | |||
| return -1; | |||
| for(let i in columns) | |||
| { | |||
| if(this.getValue(columns[i]) == this.internalValue) { | |||
| this.defaultIndex = i; | |||
| this.visibleValue = this.getLabel(columns[i]); | |||
| this.onChanged(columns[i]); | |||
| return i; | |||
| } | |||
| } | |||
| if(1) // 不存在 | |||
| { | |||
| this.defaultIndex = -1; | |||
| this.visibleValue = this.internalValue; | |||
| this.onChanged(null); | |||
| } | |||
| return -1; | |||
| }, | |||
| getColumns() { | |||
| return this.columns ? this.columns : this.remoteColumns; | |||
| }, | |||
| requestRemote() { | |||
| if(!this.remoteUrl) | |||
| return; | |||
| this.loading = true; | |||
| this.remoteColumns = []; | |||
| let promise = typeof(this.remoteUrl) === 'function' ? this.remoteUrl() : (this.remoteUrl instanceof Promise ? this.remoteUrl : request(this.remoteUrl)); | |||
| promise.then((resp) => { | |||
| this.remoteResponse = resp; | |||
| this.parseRemote(); | |||
| this.syncIndex(); | |||
| }).catch((e) => { | |||
| console.error(e); | |||
| }).finally(() => { | |||
| this.loading = false; | |||
| }) | |||
| }, | |||
| parseRemote() { | |||
| if(!this.remoteResponse) | |||
| return; | |||
| let type = typeof(this.onRemoteResponse); | |||
| if(type === 'function') | |||
| this.remoteColumns = this.onRemoteResponse(this.remoteResponse); | |||
| else if(type === 'string') | |||
| { | |||
| let arr = this.onRemoteResponse.split('.'); | |||
| let ptr = this.remoteResponse; | |||
| for(let i in arr) | |||
| { | |||
| ptr = this.remoteResponse[arr[i]]; | |||
| } | |||
| this.remoteColumns = ptr; | |||
| } | |||
| else | |||
| this.remoteColumns = this.remoteResponse; | |||
| }, | |||
| }, | |||
| computed: { | |||
| options() { | |||
| return this.columns ? this.columns : (this.remoteColumns || []); | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -36,6 +36,7 @@ const whiteList = [ | |||
| '/project', | |||
| '/policy', | |||
| '/policyDetail', | |||
| '/policyPDF', | |||
| '/attestationDetail', | |||
| '/noticeDetail', | |||
| '/homestead/login', | |||
| @@ -143,6 +144,19 @@ const whiteList = [ | |||
| '/sunVillage_info/assetMapOpen', | |||
| '/sunVillage_info/otherOpenVisitIndex', | |||
| '/sunVillage_info/otherOpenVisitDetail', | |||
| '/sunVillage_info/list_discussions_new', | |||
| '/sunVillage_info/list_discussions_new_detail', | |||
| '/sunVillage_info/list_process', | |||
| '/sunVillage_info/list_process_detail', | |||
| '/sunVillage_info/list_issues_zy', | |||
| '/sunVillage_info/list_issues_zy_detail', | |||
| '/sunVillage_info/list_special', | |||
| '/sunVillage_info/list_special_detail', | |||
| '/sunVillage_info/list_special_detail_vote', | |||
| '/sunVillage_info/special_vote', | |||
| '/sunVillage_info/special_vote_detail', | |||
| '/sunVillage_info/list_finance_new', | |||
| '/sunVillage_info/list_finance_new_detail', | |||
| // 新型经营主体 | |||
| 'newBusinessEntity/newsBulletin', //新闻公告 | |||
| @@ -202,6 +216,16 @@ const whiteList = [ | |||
| '/sunVillage_info/financeOpen', //村民主页 | |||
| '/sunVillage_info/login_code_new', //村民登录 | |||
| '/sunVillage_info/index_code_rights_new', //村民登录 | |||
| '/sunVillage_info/list_revenueAndExpenditure', //村民登录 | |||
| '/sunVillage_info/list_operatingAssets', //村民登录 | |||
| '/sunVillage_info/list_operatingAssets_detail', //村民登录 | |||
| '/sunVillage_info/list_operatingAssets_detail2', //村民登录 | |||
| '/sunVillage_info/otherOpenVisitIndexNew', //村民登录 | |||
| '/sunVillage_info/otherOpenVisitDetailNew', //村民登录 | |||
| //承包地确权 | |||
| '/contracted/login',//登录 | |||
| '/contracted/index',//首页 | |||
| @@ -407,6 +407,15 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/policy/policyDetail'], resolve) | |||
| }, | |||
| { | |||
| path: '/policyPDF', | |||
| name: 'policyPDF', | |||
| meta: { | |||
| title: '文件预览', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/policy/policyPDF'], resolve) | |||
| }, | |||
| { | |||
| path: '/interactionAdd', | |||
| name: 'interactionAddCJ', | |||
| @@ -3416,6 +3425,123 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_contract'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_process', | |||
| name: 'sunVillageInfoListProcess', | |||
| meta: { | |||
| title: '实施过程公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_process'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_process_detail', | |||
| name: 'sunVillageInfoListProcessDetail', | |||
| meta: { | |||
| title: '实施过程公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_process_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_discussions_new', | |||
| name: 'sunVillageInfoListDiscussions', | |||
| meta: { | |||
| title: '四议两公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_discussions_new_detail', | |||
| name: 'sunVillageInfoListDiscussionsDetail', | |||
| meta: { | |||
| title: '四议两公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_discussions_new_edit', | |||
| name: 'sunVillageInfoListDiscussionsEdit', | |||
| meta: { | |||
| title: '四议两公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_discussions_new_add', | |||
| name: 'sunVillageInfoListDiscussionsAdd', | |||
| meta: { | |||
| title: '四议两公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_add'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_special', | |||
| name: 'sunVillageInfoListSpecial', | |||
| meta: { | |||
| title: '专项公示', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_special'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_special_add', | |||
| name: 'sunVillageInfoListSpecialAdd', | |||
| meta: { | |||
| title: '专项公示', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_special_add'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_special_detail', | |||
| name: 'sunVillageInfoListSpecialDetail', | |||
| meta: { | |||
| title: '专项公示', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_special_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_special_detail_vote', | |||
| name: 'sunVillageInfoListSpecialDetailVote', | |||
| meta: { | |||
| title: '专项公示', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_special_detail_vote'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议两公开 | |||
| path: '/sunVillage_info/list_special_edit', | |||
| name: 'sunVillageInfoListSpecialEdit', | |||
| meta: { | |||
| title: '专项公示', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_special_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议表决 | |||
| path: '/sunVillage_info/special_vote', | |||
| name: 'sunVillageInfoSpecialVote', | |||
| meta: { | |||
| title: '四议表决', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/special_vote'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 四议表决 | |||
| path: '/sunVillage_info/special_vote_detail', | |||
| name: 'sunVillageInfoSpecialVoteDetail', | |||
| meta: { | |||
| title: '四议表决', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/special_vote_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 一张图公开 | |||
| path: '/sunVillage_info/list_contract_detail', | |||
| name: 'sunVillageInfoListContractDetail', | |||
| @@ -3633,6 +3759,42 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_finance_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_finance_new', | |||
| name: 'sunVillageInfoListFinanceNew', | |||
| meta: { | |||
| title: '财务公开榜', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_finance_new'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_finance_new_add', | |||
| name: 'sunVillageInfoListFinanceAddNew', | |||
| meta: { | |||
| title: '新增财务公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_add'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_finance_new_detail', | |||
| name: 'sunVillageInfoListFinanceDetailNew', | |||
| meta: { | |||
| title: '查看财务公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_finance_new_edit', | |||
| name: 'sunVillageInfoListFinanceEditNew', | |||
| meta: { | |||
| title: '修改财务公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_tourists_edit', | |||
| name: 'sunVillageInfoListTouristsEdit', | |||
| @@ -3678,6 +3840,42 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_issues_zy', | |||
| name: 'sunVillageInfoListIssuesZy', | |||
| meta: { | |||
| title: '重要事项', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_issues_zy_add', | |||
| name: 'sunVillageInfoListIssuesAddZy', | |||
| meta: { | |||
| title: '新增重要事项', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_add'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_issues_zy_detail', | |||
| name: 'sunVillageInfoListIssuesDetailZy', | |||
| meta: { | |||
| title: '查看重要事项', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| path: '/sunVillage_info/list_issues_zy_edit', | |||
| name: 'sunVillageInfoListIssuesEditZy', | |||
| meta: { | |||
| title: '修改重要事项', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工公开榜 | |||
| path: '/sunVillage_info/list_tourists_ranking', | |||
| name: 'sunVillageInfoListTouristsRanking', | |||
| @@ -3849,6 +4047,24 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 综合公开 游客 | |||
| path: '/sunVillage_info/otherOpenVisitIndexNew', | |||
| name: 'otherOpenVisitIndexNew', | |||
| meta: { | |||
| title: '综合公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitList'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 综合公开详情 游客 | |||
| path: '/sunVillage_info/otherOpenVisitDetailNew', | |||
| name: 'otherOpenVisitDetailNew', | |||
| meta: { | |||
| title: '综合公开详情', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitDetail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 发包方审核 | |||
| path: '/sunVillage_info/list_employer_process', | |||
| @@ -4516,6 +4732,42 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/resourceDetail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 三清台账管理 | |||
| path: '/sunVillage_info/three', | |||
| name: 'sunVillageInfoListThree', | |||
| meta: { | |||
| title: '三清台账管理', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/three'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 新增三清台账 | |||
| path: '/sunVillage_info/threeAdd', | |||
| name: 'sunVillageInfoListThreeAdd', | |||
| meta: { | |||
| title: '新增三清台账', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/threeAdd'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 修改三清台账 | |||
| path: '/sunVillage_info/threeEdit', | |||
| name: 'sunVillageInfoListThreeEdit', | |||
| meta: { | |||
| title: '修改三清台账', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/threeEdit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 三清台账详情 | |||
| path: '/sunVillage_info/threeDetail', | |||
| name: 'sunVillageInfoListThreeDetail', | |||
| meta: { | |||
| title: '三清台账详情', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/threeDetail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 修改资源 | |||
| path: '/sunVillage_info/detailed_liabilities', | |||
| name: 'sunVillageInfoDetailedLiabilities', | |||
| @@ -6252,6 +6504,60 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/login_code_new', | |||
| name: 'sunVillageInfoCodeLoginNew', | |||
| meta: { | |||
| title: '登录', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/login_code_new'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/index_code_rights_new', | |||
| name: 'sunVillageInfoCodeRightsNew', | |||
| meta: { | |||
| title: '首页', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/index_code_rights_new'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/list_revenueAndExpenditure', | |||
| name: 'sunVillageInfoRevenueAndExpendituresNew', | |||
| meta: { | |||
| title: '收支明细公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_revenueAndExpenditure'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/list_operatingAssets', | |||
| name: 'sunVillageInfoOperatingAssets', | |||
| meta: { | |||
| title: '经营性资产情况公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/list_operatingAssets_detail', | |||
| name: 'sunVillageInfoOperatingAssetsDetail', | |||
| meta: { | |||
| title: '经营性资产情况公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/list_operatingAssets_detail2', | |||
| name: 'sunVillageInfoOperatingAssetsDetail2', | |||
| meta: { | |||
| title: '经营性资产情况公开', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail2'], resolve) | |||
| }, | |||
| { // 阳光村务(一村一码)-- 村民登录 | |||
| path: '/sunVillage_info/login_farmer', | |||
| name: 'sunVillageInfoFarmerLogin', | |||
| @@ -11,7 +11,7 @@ | |||
| <div v-if="attachmentQueryList.length>0"> | |||
| <van-divider>附件</van-divider> | |||
| <van-cell :title="item.fileName" :url="'/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList"> | |||
| <van-cell :title="item.fileName" :url="item.fileName.indexOf('pdf') > 0 ? '/policyPDF?url=/api'+item.fileUrl : '/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList"> | |||
| <!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||
| <template #icon> | |||
| <img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt=""> | |||
| @@ -0,0 +1,212 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <navBar title="文件预览" background="0" positionType="fixed"></navBar> | |||
| <pdf v-for="item in numPages" :key="item" :src="url" :page="item" ref="pdf"></pdf> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import pdf from 'vue-pdf' | |||
| import navBar from "@/components/common/nav_bar.vue"; | |||
| export default { | |||
| components:{ | |||
| pdf, | |||
| navBar | |||
| }, | |||
| name: "programmeDetail", | |||
| data() { | |||
| return { | |||
| url:'', | |||
| numPages: null, // pdf 总页数 | |||
| }; | |||
| }, | |||
| created() { | |||
| const baseURL = process.env.VUE_APP_BASE_API; | |||
| console.log(this.$route.query.url) | |||
| this.url = this.$route.query.url; | |||
| let loadingTask = pdf.createLoadingTask(this.url) | |||
| loadingTask.promise.then(pdf => { | |||
| this.numPages = pdf.numPages | |||
| }) | |||
| }, | |||
| methods: { | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| /deep/ .van-collapse-item__content{ | |||
| padding: 0; | |||
| } | |||
| .cf{ | |||
| padding: 0 3%; | |||
| margin-top: 20PX; | |||
| margin-bottom: 20PX; | |||
| .van-row{ | |||
| background: #F0F3F5; | |||
| display: flex; | |||
| align-items: center; | |||
| .van-col{ | |||
| padding: 5PX 0; | |||
| font-size: 12PX!important; | |||
| text-align: center; | |||
| p{ | |||
| color: #1D6FE9; | |||
| text-align: left; | |||
| font-size: .4rem; | |||
| } | |||
| } | |||
| &:first-child{ | |||
| background: transparent; | |||
| } | |||
| } | |||
| } | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../static/images/lawEnforcement/new/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| z-index: 999; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| /deep/ .van-radio--horizontal{ | |||
| margin-left: 0.32rem; | |||
| margin-right: 0; | |||
| } | |||
| .peopleList{ | |||
| padding: 0 3%; | |||
| text-align: left; | |||
| .van-row{ | |||
| border-bottom: 1px solid #dddddd; | |||
| display: flex; | |||
| align-items: center; | |||
| &:last-child{ | |||
| border: none; | |||
| } | |||
| .van-col--17{ | |||
| display: flex; | |||
| align-items: center; | |||
| p{ | |||
| margin-left: 10PX; | |||
| } | |||
| } | |||
| .van-col--7{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| p{ | |||
| color: #1D6FE9; | |||
| border: 1px solid #1D6FE9; | |||
| text-align: center; | |||
| border-radius: 15PX; | |||
| display: inline-block; | |||
| padding: 5px 15px; | |||
| } | |||
| } | |||
| .van-col{ | |||
| text-align: left; | |||
| font-size: 14PX; | |||
| color: #333333; | |||
| padding: 15PX 0; | |||
| img{ | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| position: relative; | |||
| } | |||
| .main_box{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| border-radius: 10PX; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| overflow: hidden; | |||
| background-color: #FFF; | |||
| .van-icon{ | |||
| vertical-align: middle; | |||
| } | |||
| .custom-title{ | |||
| font-size: 17PX; | |||
| color: #333333; | |||
| vertical-align: middle; | |||
| line-height: 1; | |||
| position: relative; | |||
| } | |||
| .tap{ | |||
| color: #1D6FE9; | |||
| } | |||
| .bgBlue{ | |||
| display: block; | |||
| position: absolute; | |||
| width: 17PX; | |||
| height: 17PX; | |||
| border-radius: 50%; | |||
| background-color: rgba(29,111,233,0.26); | |||
| top: -2PX; | |||
| right: -8PX; | |||
| } | |||
| } | |||
| .submitButton{ | |||
| width: 40%; | |||
| margin: 0 auto; | |||
| background-image: linear-gradient(to right, #77A6EF , #2E79E9); | |||
| text-align: center; | |||
| color: #ffffff; | |||
| height: 70px; | |||
| line-height: 70px; | |||
| border-radius: 8PX; | |||
| margin-top: 25PX; | |||
| &:first-child{ | |||
| background-image: linear-gradient(to right, #21CAC3 , #17A8A2); | |||
| } | |||
| } | |||
| .submit_box{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-around; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -32,19 +32,22 @@ | |||
| <span style="color:#C21F3A" @click="show1=true">《农村产权交易项目报名服务协议》</span> | |||
| </p> | |||
| <van-dialog v-model="show1" title="农村产权交易项目报名服务协议" confirmButtonText="关闭"> | |||
| <div class="dialog_content_center" v-html="fwxyConfig"></div> | |||
| </van-dialog> | |||
| <p style="margin-bottom:10px;">· 已阅读并知晓: | |||
| <span style="color:#C21F3A" @click="show2=true">《诚信承诺书》</span> | |||
| <span style="color:#C21F3A" @click="show2=true">《竞买人承诺书》</span> | |||
| </p> | |||
| <van-dialog v-model="show2" title="诚信承诺书" confirmButtonText="关闭"> | |||
| <van-dialog v-model="show2" title="竞买人承诺书" confirmButtonText="关闭"> | |||
| <div class="dialog_content_center" v-html="cnsConfig"></div> | |||
| </van-dialog> | |||
| <p style="margin-bottom:10px;">· 已阅读并知晓: | |||
| <span style="color:#C21F3A" @click="show3=true">《竞买须知》</span> | |||
| </p> | |||
| <van-dialog v-model="show3" title="竞买须知" confirmButtonText="关闭"> | |||
| <div class="dialog_content_center" v-html="xzConfig"></div> | |||
| </van-dialog> | |||
| <van-checkbox v-model="checked" shape="square" checked-color="#007E72" > | |||
| @@ -226,6 +229,7 @@ export default { | |||
| checked: false, | |||
| show1: false, | |||
| show2: false, | |||
| show3: false, | |||
| color:"#007E72", | |||
| nickName:"", | |||
| userName:"", | |||
| @@ -253,6 +257,7 @@ export default { | |||
| height:null, | |||
| cnsConfig:'', | |||
| fwxyConfig:'', | |||
| xzConfig:'', | |||
| signFileUrl:'', | |||
| signFileUrlUp:'', | |||
| }; | |||
| @@ -296,6 +301,7 @@ export default { | |||
| this.bankName = res.data.bankName | |||
| }); | |||
| getWebConfig().then(response =>{ | |||
| this.xzConfig = response.data[6].configValue; | |||
| this.fwxyConfig = response.data[15].configValue; | |||
| this.cnsConfig = response.data[16].configValue; | |||
| }); | |||
| @@ -47,6 +47,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| @@ -85,6 +86,7 @@ | |||
| bankType: "", //所属银行 必填 | |||
| bankDeposit: "", //开户行 必填 | |||
| payeePaymentLines: "", //联行号 //必填 | |||
| clearingBank: "", //上级清算行 | |||
| region: [], | |||
| }, | |||
| }; | |||
| @@ -131,6 +133,7 @@ | |||
| onConfirmBankAddress(value){ | |||
| this.form.bankAddress = value.bankDeposit; | |||
| this.form.payeePaymentLines = value.payeePaymentLines; | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.bankDeposit = value.bankDeposit; | |||
| this.showBankAddress = false; | |||
| }, | |||
| @@ -39,6 +39,8 @@ | |||
| <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> | |||
| <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| @@ -69,6 +71,8 @@ | |||
| bankType: "", //所属银行 必填 | |||
| bankDeposit: "", //开户行 必填 | |||
| payeePaymentLines: "", //联行号 //必填 | |||
| clearingBank: "", //上级清算行 | |||
| institutionNumber: "",//上级清算行机构号 | |||
| } | |||
| }; | |||
| }, | |||
| @@ -73,6 +73,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -224,7 +225,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -239,7 +240,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -247,6 +248,7 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| }, | |||
| @@ -17,6 +17,7 @@ | |||
| <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -63,6 +63,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -189,7 +190,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -204,7 +205,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -212,6 +213,7 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| }, | |||
| @@ -1,21 +1,15 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <!-- <van-nav-bar--> | |||
| <!-- left-arrow--> | |||
| <!-- fixed--> | |||
| <!-- placeholder--> | |||
| <!-- @click-left="$router.back(-1)"--> | |||
| <!-- >--> | |||
| <!-- <template #title>--> | |||
| <!-- <p style="font-weight: bold;">添加付款账户信息</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-nav-bar>--> | |||
| <div class="header_main"> | |||
| 添加付款账户信息 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加付款账户信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| @@ -161,20 +155,23 @@ | |||
| </van-popup> | |||
| <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| @click="showBankDeposit = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| /> | |||
| <div> | |||
| <van-field | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| @input="selectDeposit" | |||
| @focus="selectDeposit" | |||
| /> | |||
| <div class="deposit_list" v-show="depositListShow"> | |||
| <van-cell style="cursor: pointer;" :title="item.text" @click="onConfirmBankDeposit(item)" v-for="(item,index) in bankDepositList" /> | |||
| </div> | |||
| </div> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| @@ -184,6 +181,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -206,7 +204,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| @@ -279,6 +277,7 @@ | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| showBankType:false, | |||
| depositListShow:false, | |||
| minDate: new Date(), | |||
| showBankDeposit:false, | |||
| maxDate: new Date(2025, 10, 1), | |||
| @@ -324,6 +323,7 @@ | |||
| bankAccountType: "1", | |||
| villageAccountType: "2", | |||
| status: "N", | |||
| bankName: "", | |||
| } | |||
| }; | |||
| }, | |||
| @@ -333,7 +333,7 @@ | |||
| }, | |||
| methods: { | |||
| validator(val){ | |||
| return /^\d{6,}$/.test(val); | |||
| return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val); | |||
| }, | |||
| getDetail(){ | |||
| // 账户类型 | |||
| @@ -412,9 +412,12 @@ | |||
| } | |||
| }, | |||
| onConfirmBankDeposit(val){ | |||
| this.showBankDeposit = false | |||
| this.$set(this.form, "bankName", val.bankDeposit); | |||
| this.showBankDeposit = false; | |||
| this.depositListShow = false; | |||
| console.log(val) | |||
| this.$set(this.form, "bankName", val.text); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| this.$set(this.form, "clearingBank", val.clearingBank); | |||
| this.$set(this.form, "alternateField10", val.institutionNumber); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| @@ -445,6 +448,7 @@ | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.$set(this.form, "clearingBank", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| @@ -482,47 +486,56 @@ | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| selectDeposit(val){ | |||
| //depositListShow | |||
| console.log(val) | |||
| console.log(this.form.bankName) | |||
| if (val == '' || this.form.bankName == ''){return;} | |||
| this.depositListShow = true; | |||
| let queryParams={ | |||
| "bankType":this.form.bankType, | |||
| "status": "0", | |||
| "bankDeposit":this.form.bankName, | |||
| "pageNum":1, | |||
| "pageSize":10 | |||
| } | |||
| listDeposit(queryParams).then(response => { | |||
| this.bankDepositList = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositList.push( | |||
| { | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "clearingBank":response.rows[i].clearingBank, | |||
| "institutionNumber":response.rows[i].institutionNumber | |||
| } | |||
| ); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .deposit_list{ | |||
| height: 18vh; | |||
| width: 96%; | |||
| position: absolute; | |||
| background: #fff; | |||
| box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5); | |||
| left: 2%; | |||
| z-index: 9; | |||
| border-radius: 0 0 5PX 5PX; | |||
| overflow-y: scroll; | |||
| } | |||
| .app-container { | |||
| padding-bottom: 2%; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| margin-bottom: 2%; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 20PX; | |||
| height: 20PX; | |||
| background: url('../../../../../static/images/icon/icon_flow.png') center center no-repeat; | |||
| background-size: 20PX 20PX; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| @@ -47,7 +47,10 @@ | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" :to="{name:'sunVillagePaymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
| <van-button v-if="item.accountType=='银行存款' && item.status != '是'" square text="余额查询" color="#FFA63E" type="info" @click="balanceEnquiry(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| @@ -60,7 +63,7 @@ | |||
| </template> | |||
| <script> | |||
| import { getList , delAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import { getList , delAccount , balanceEnquiry} from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountList", | |||
| data() { | |||
| @@ -137,6 +140,21 @@ export default { | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| balanceEnquiry(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认查询账户余额?', | |||
| }) | |||
| .then(() => { | |||
| balanceEnquiry(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('余额查询成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| @@ -120,7 +120,7 @@ | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| :rules="[{ required: true , message:'请选择中心账套' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralBookId" position="bottom"> | |||
| @@ -155,20 +155,23 @@ | |||
| </van-popup> | |||
| <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| @click="showBankDeposit = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| /> | |||
| <div> | |||
| <van-field | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| @input="selectDeposit" | |||
| @focus="selectDeposit" | |||
| /> | |||
| <div class="deposit_list" v-show="depositListShow"> | |||
| <van-cell style="cursor: pointer;" :title="item.text" @click="onConfirmBankDeposit(item)" v-for="(item,index) in bankDepositList" /> | |||
| </div> | |||
| </div> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| @@ -178,6 +181,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -200,7 +204,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required > | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| @@ -273,6 +277,7 @@ | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| showBankType:false, | |||
| depositListShow:false, | |||
| minDate: new Date(), | |||
| showBankDeposit:false, | |||
| maxDate: new Date(2025, 10, 1), | |||
| @@ -327,7 +332,7 @@ | |||
| }, | |||
| methods: { | |||
| validator(val){ | |||
| return /^\d{6,}$/.test(val); | |||
| return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val); | |||
| }, | |||
| getDetail(){ | |||
| getAccount(this.$route.query.id).then((response) => { | |||
| @@ -463,8 +468,10 @@ | |||
| }, | |||
| onConfirmBankDeposit(val){ | |||
| this.showBankDeposit = false | |||
| this.$set(this.form, "bankName", val.bankDeposit); | |||
| this.depositListShow = false; | |||
| this.$set(this.form, "bankName", val.text); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| this.$set(this.form, "clearingBank", val.clearingBank); | |||
| this.$set(this.form, "alternateField10", val.institutionNumber); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| @@ -495,6 +502,7 @@ | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.$set(this.form, "clearingBank", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| @@ -532,12 +540,54 @@ | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| selectDeposit(val){ | |||
| //depositListShow | |||
| console.log(val) | |||
| console.log(this.form.bankName) | |||
| if (val == '' || this.form.bankName == ''){return;} | |||
| this.depositListShow = true; | |||
| let queryParams={ | |||
| "bankType":this.form.bankType, | |||
| "status": "0", | |||
| "bankDeposit":this.form.bankName, | |||
| "pageNum":1, | |||
| "pageSize":10 | |||
| } | |||
| listDeposit(queryParams).then(response => { | |||
| this.bankDepositList = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositList.push( | |||
| { | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "clearingBank":response.rows[i].clearingBank, | |||
| "institutionNumber":response.rows[i].institutionNumber | |||
| } | |||
| ); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .deposit_list{ | |||
| height: 18vh; | |||
| width: 96%; | |||
| position: absolute; | |||
| background: #fff; | |||
| box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5); | |||
| left: 2%; | |||
| z-index: 9; | |||
| border-radius: 0 0 5PX 5PX; | |||
| overflow-y: scroll; | |||
| } | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| @@ -1235,6 +1235,7 @@ | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines); | |||
| this.$set(this.chargeItme[i], "clearingBank", obj.clearingBank); | |||
| _this.bankTypeDictionaries.map(rr => { | |||
| if(rr.value==obj.bankType){ | |||
| this.$set(this.chargeItme[i], "bankTypeText", rr.text); | |||
| @@ -1269,8 +1270,8 @@ | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != ""){ | |||
| if(obj.bankType === "8" || (obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != "")){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| @@ -1286,6 +1287,7 @@ | |||
| this.$set(this.form, "accountNo", obj.accountNo); | |||
| this.$set(this.form, "cifNo", obj.cifNo); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| this.$set(this.form, "clearingBank", obj.clearingBank); | |||
| if(obj.bankType==1){ | |||
| this.form.accountType = "1" | |||
| this.form.isPeers = null | |||
| @@ -1448,7 +1450,7 @@ | |||
| watch: { | |||
| $route (to, from ) { | |||
| // 监听路由变化, 实现类似 小程序的 onShow 事件 | |||
| if (to.path === '/yinnong/approvalAdd') { | |||
| if (to.path === '/sunVillage_info/approvalAdd') { | |||
| // do anything you want | |||
| console.log("aaa") | |||
| if (this.$route.params.payeeForm){ | |||
| @@ -104,12 +104,14 @@ | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="理事会提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入理事会提议/村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入理事会提议/村党支部提议' }]" /> | |||
| <van-field label="村党支部和理事会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入村党支部和理事会商议/两委会商议" rows="2" required :rules="[{ required: true , message:'请输入村党支部和理事会商议/两委会商议' }]" /> | |||
| <van-field label="党员会审议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党员会审议/党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党员会审议/党群议事会审议和决议' }]" /> | |||
| <van-field label="成员(代表)会决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.cydbhjy" type="textarea" placeholder="请输入成员(代表)会决议/党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入成员(代表)会决议/党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| @@ -241,6 +243,7 @@ | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| cydbhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| @@ -52,30 +52,20 @@ | |||
| </van-popup> | |||
| <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| label-width="auto" | |||
| readonly | |||
| /> | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="请输入事项内容" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="*事项内容" input-align="right" label-width="auto" readonly/> | |||
| <div id="eventContentOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <div id="dzbtyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <div id="lwhsyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <div id="dqyshsyhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <div id="cydbhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <div id="jcjggkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <div id="ssqkgkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| @@ -201,6 +191,7 @@ | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| cydbhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| approvalTemplateId: null, | |||
| @@ -241,6 +232,13 @@ | |||
| getForm(){ | |||
| getMajorevent(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| document.getElementById('eventContentOpenContent').innerHTML = response.data.eventContent; | |||
| document.getElementById('dzbtyOpenContent').innerHTML = response.data.dzbty; | |||
| document.getElementById('lwhsyOpenContent').innerHTML = response.data.lwhsy; | |||
| document.getElementById('dqyshsyhjyOpenContent').innerHTML = response.data.dqyshsyhjy; | |||
| document.getElementById('cydbhjyOpenContent').innerHTML = response.data.cydbhjy; | |||
| document.getElementById('jcjggkOpenContent').innerHTML = response.data.jcjggk; | |||
| document.getElementById('ssqkgkOpenContent').innerHTML = response.data.ssqkgk; | |||
| if(!this.isAudit) | |||
| { | |||
| A_auditHistoryDetail(this.$route.query.taskId).then((resp) => { | |||
| @@ -52,70 +52,34 @@ | |||
| </van-popup> | |||
| <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" | |||
| input-align="right" label-width="auto"/> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| label-width="auto" | |||
| readonly | |||
| /> | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="请输入事项内容" | |||
| rows="4" | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="*事项内容" input-align="right" label-width="auto" readonly/> | |||
| <div id="eventContentOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <div id="dzbtyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <div id="lwhsyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <div id="dqyshsyhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <div id="cydbhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <div id="jcjggkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="*实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <div id="ssqkgkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| <p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a> | |||
| </van-cell> | |||
| </van-form> | |||
| <div class="main_box examine_box"> | |||
| <van-row type="flex" justify="space-between" align="center"> | |||
| <van-col span="5">审批<br/>意见</van-col> | |||
| <van-col span="19"> | |||
| <van-radio-group v-model="pass" direction="horizontal" :disabled="!isAudit"> | |||
| <van-radio name="true">同意</van-radio> | |||
| <van-radio name="false">驳回</van-radio> | |||
| </van-radio-group> | |||
| <van-field :readonly="!isAudit" rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| <div style="margin: 16px 2%;" v-if="isAudit"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| import Editor from '@/components/Editor'; | |||
| import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline"; | |||
| export default { | |||
| name: "approvalApproval13", | |||
| name: "approvalAdd3", | |||
| components: { | |||
| Editor, | |||
| }, | |||
| @@ -180,18 +144,13 @@ | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| templateList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.getForm(); | |||
| this.getFileList(); | |||
| this.getDictionaries(); | |||
| this.getTemplateList(); | |||
| this.getForm(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| @@ -201,6 +160,7 @@ | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| cydbhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| approvalTemplateId: null, | |||
| @@ -241,17 +201,26 @@ | |||
| getForm(){ | |||
| getMajorevent(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| if(!this.isAudit) | |||
| { | |||
| A_auditHistoryDetail(this.$route.query.taskId).then((resp) => { | |||
| this.pass = resp.data.auditStatus === '3' ? "true" : 'false'; | |||
| this.comment = resp.data.auditRemark; | |||
| }); | |||
| } | |||
| document.getElementById('eventContentOpenContent').innerHTML = response.data.eventContent; | |||
| document.getElementById('dzbtyOpenContent').innerHTML = response.data.dzbty; | |||
| document.getElementById('lwhsyOpenContent').innerHTML = response.data.lwhsy; | |||
| document.getElementById('dqyshsyhjyOpenContent').innerHTML = response.data.dqyshsyhjy; | |||
| document.getElementById('cydbhjyOpenContent').innerHTML = response.data.cydbhjy; | |||
| document.getElementById('jcjggkOpenContent').innerHTML = response.data.jcjggk; | |||
| document.getElementById('ssqkgkOpenContent').innerHTML = response.data.ssqkgk; | |||
| }); | |||
| }, | |||
| getAttachmentList(){ | |||
| attachmentList(this.form.id).then(response => { | |||
| this.fileList = response.data; | |||
| }); | |||
| }, | |||
| getCapitalExpenditureType(){ | |||
| this.getDicts("capital_expenditure_type").then((res) => { | |||
| }); | |||
| }, | |||
| goFlow(){ | |||
| window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId; | |||
| window.location='approvalProcess13?id='+this.form.approvalTemplateId; | |||
| }, | |||
| getChange(){ | |||
| updateMajorevent(this.form).then(response => { | |||
| @@ -338,15 +307,16 @@ | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: 't_yinnong_majorevent', | |||
| tableName: "t_yinnong_majorevent", | |||
| bizPath: "yinnong", | |||
| fileType: "", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| // this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| @@ -358,38 +328,7 @@ | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| auditbatchNo: this.$route.query.auditbatchNo, | |||
| remark: this.comment, | |||
| pass: this.pass === "true", | |||
| deptId: this.form.deptId | |||
| }; | |||
| approval(data).then((response) => { | |||
| if(response.code==200){ | |||
| this.$toast.success("操作成功"); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } else{ | |||
| this.$toast.success("操作失败"); | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| watch: { | |||
| pass: function (val) { | |||
| if(this.isAudit) | |||
| this.comment = val === "true" ? "同意" : "驳回"; | |||
| }, | |||
| }, | |||
| computed: { | |||
| isAudit() { | |||
| return this.$route.query.type != 'done'; | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @@ -412,8 +351,9 @@ | |||
| background-color: #FFF; | |||
| } | |||
| .submitButton{ | |||
| width: 96%; | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| @@ -429,29 +369,4 @@ | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| .examine_box{ | |||
| background-color: #1D6FE9!important; | |||
| padding: 0.18rem!important; | |||
| padding-left: 0!important; | |||
| border-radius: 0.15rem!important; | |||
| margin-top: 0.3rem!important; | |||
| } | |||
| .examine_box .van-col:first-child{ | |||
| color: #FFF!important; | |||
| font-size: 0.45rem!important; | |||
| text-align: center!important; | |||
| } | |||
| .examine_box .van-col:last-child{ | |||
| background-color: #FFF!important; | |||
| border-radius: 0.15rem!important; | |||
| overflow: hidden!important; | |||
| .van-radio-group--horizontal{ | |||
| padding: 0.2rem 0; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| } | |||
| /deep/.van-radio--horizontal{ | |||
| margin-left: 20px; | |||
| margin-right: 0; | |||
| } | |||
| </style> | |||
| @@ -163,14 +163,11 @@ methods: { | |||
| }); | |||
| }, | |||
| cancelApply(id) { | |||
| const form = {}; | |||
| form.id = id; | |||
| debugger; | |||
| this.$dialog.confirm({ | |||
| message: '您确认撤回申请?', | |||
| }) | |||
| .then(() => { | |||
| return updateTYinnongMajoreventFoStatus(form).then(response => { | |||
| return updateTYinnongMajoreventFoStatus(id).then(response => { | |||
| this.$toast.success('撤回成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| @@ -1131,6 +1131,7 @@ | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines); | |||
| this.$set(this.chargeItme[i], "clearingBank", obj.clearingBank); | |||
| _this.bankTypeDictionaries.map(rr => { | |||
| if(rr.value==obj.bankType){ | |||
| this.$set(this.chargeItme[i], "bankTypeText", rr.text); | |||
| @@ -1164,8 +1165,8 @@ | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != ""){ | |||
| if(obj.bankType === "8" || (obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != "")){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| @@ -1176,6 +1177,7 @@ | |||
| this.$set(this.form, "bankType", obj.bankType); | |||
| this.$set(this.form, "balance", obj.balance); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| this.$set(this.form, "clearingBank", obj.clearingBank); | |||
| console.log(obj.bankType) | |||
| if(obj.bankType==1){ | |||
| this.form.accountType = "1" | |||
| @@ -1310,7 +1312,7 @@ | |||
| watch: { | |||
| $route (to, from ) { | |||
| // 监听路由变化, 实现类似 小程序的 onShow 事件 | |||
| if (to.path === '/yinnong/approvalModify') { | |||
| if (to.path === '/sunVillage_info/approvalModify') { | |||
| // do anything you want | |||
| console.log("aaa") | |||
| if (this.$route.params.payeeForm){ | |||
| @@ -87,30 +87,23 @@ | |||
| @cancel="showtemplate = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| label="事项内容" | |||
| input-align="right" | |||
| label-width="auto" | |||
| readonly | |||
| /> | |||
| <van-field | |||
| v-model="form.eventContent" | |||
| type="textarea" | |||
| placeholder="请输入事项内容" | |||
| rows="8" | |||
| required | |||
| :rules="[{ required: true , message:'请输入事项内容' }]" | |||
| /> | |||
| <van-field label="村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" /> | |||
| <van-field label="两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" /> | |||
| <van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" /> | |||
| <van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> | |||
| <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> | |||
| <van-field label="*事项内容" input-align="right" label-width="auto" readonly/> | |||
| <vue-html5-editor :content="form.eventContent" :height="200" @change="eventContentUpdateData"></vue-html5-editor> | |||
| <!-- <van-field v-model="form.eventContent" type="textarea" placeholder="请输入事项内容" rows="4" required :rules="[{ required: true , message:'请输入事项内容' }]"/> --> | |||
| <van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.dzbty" :height="200" @change="dzbtyUpdateData"></vue-html5-editor> | |||
| <van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.lwhsy" :height="200" @change="lwhsyUpdateData"></vue-html5-editor> | |||
| <van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.dqyshsyhjy" :height="200" @change="dqyshsyhjyUpdateData"></vue-html5-editor> | |||
| <van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.cydbhjy" :height="200" @change="cydbhjyUpdateData"></vue-html5-editor> | |||
| <van-field label="*决策结果公开" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.jcjggk" :height="200" @change="jcjggkUpdateData"></vue-html5-editor> | |||
| <van-field label="*实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <vue-html5-editor :content="form.ssqkgk" :height="200" @change="ssqkgkUpdateData"></vue-html5-editor> | |||
| <!-- <van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> | |||
| <van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> --> | |||
| <van-field label="备注" input-align="right" label-width="auto"/> | |||
| <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> | |||
| </div> | |||
| @@ -214,6 +207,41 @@ | |||
| this.getForm(); | |||
| }, | |||
| methods: { | |||
| eventContentUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.eventContent = c2; | |||
| }, | |||
| dzbtyUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.dzbty = c2; | |||
| }, | |||
| lwhsyUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.lwhsy = c2; | |||
| }, | |||
| dqyshsyhjyUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.dqyshsyhjy = c2; | |||
| }, | |||
| cydbhjyUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.cydbhjy = c2; | |||
| }, | |||
| jcjggkUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.jcjggk = c2; | |||
| }, | |||
| ssqkgkUpdateData(e = ''){ | |||
| let c1 = e.replace(/<img width="100%"/g, '<img'); | |||
| let c2 = c1.replace(/<img/g, '<img width="100%"'); | |||
| this.form.ssqkgk = c2; | |||
| }, | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| @@ -236,6 +264,7 @@ | |||
| dzbty: null, | |||
| lwhsy: null, | |||
| dqyshsyhjy: null, | |||
| cydbhjy: null, | |||
| jcjggk: null, | |||
| ssqkgk: null, | |||
| remark: null, | |||
| @@ -1,21 +1,15 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <!-- <van-nav-bar--> | |||
| <!-- left-arrow--> | |||
| <!-- fixed--> | |||
| <!-- placeholder--> | |||
| <!-- @click-left="goBack"--> | |||
| <!-- >--> | |||
| <!-- <template #title>--> | |||
| <!-- <p style="font-weight: bold;">添加收款账户信息</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-nav-bar>--> | |||
| <div class="header_main"> | |||
| 添加收款账户信息 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <!-- <div class="add_btn" @click="goAdd"></div>--> | |||
| </div> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="goBack" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加收款账户信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| @@ -70,6 +64,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -137,6 +132,7 @@ | |||
| showBankType:false, | |||
| showBankDeposit:false, | |||
| showPayeeType:false, | |||
| depositListShow:false, | |||
| bankDepositValue:'', | |||
| form:{ | |||
| accountType:'1', | |||
| @@ -160,7 +156,7 @@ | |||
| const bankType = this.$route.params.bankType; | |||
| console.log(this.$route.params.option) | |||
| if (accountType){this.form.accountType = accountType;} | |||
| if (isPeers){ | |||
| if (isPeers && (bankType == 2 || bankType == 3)){ | |||
| this.form.isPeers = isPeers; | |||
| if (isPeers == 'Y'){ | |||
| this.isPeersRead = false; | |||
| @@ -218,7 +214,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -233,16 +229,19 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmBankDeposit(data){ | |||
| console.log(data) | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| this.depositListShow = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| @@ -255,54 +254,60 @@ | |||
| this.$toast.success('新增成功'); | |||
| setTimeout(function(){ | |||
| that.form.bankTypeText = that.bankType; | |||
| that.$router.push({name: 'approvalAdd', params: { payeeForm: that.form }}); | |||
| that.$router.push({name: 'sunVillageApprovalAdd', params: { payeeForm: that.form }}); | |||
| // history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| selectDeposit(val){ | |||
| //depositListShow | |||
| if (val == '' || this.bankDeposit == ''){return;} | |||
| this.depositListShow = true; | |||
| let queryParams={ | |||
| "bankType":this.form.bankType, | |||
| "status": "0", | |||
| "bankDeposit":this.bankDeposit, | |||
| "pageNum":1, | |||
| "pageSize":10 | |||
| } | |||
| listDeposit(queryParams).then(response => { | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push( | |||
| { | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank | |||
| } | |||
| ); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .deposit_list{ | |||
| height: 18vh; | |||
| width: 96%; | |||
| position: absolute; | |||
| background: #fff; | |||
| box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5); | |||
| left: 2%; | |||
| z-index: 9; | |||
| border-radius: 0 0 5PX 5PX; | |||
| overflow-y: scroll; | |||
| } | |||
| .app-container { | |||
| padding-bottom: 2%; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| margin-bottom: 2%; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| @@ -1,21 +1,15 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <!-- <van-nav-bar--> | |||
| <!-- left-arrow--> | |||
| <!-- fixed--> | |||
| <!-- placeholder--> | |||
| <!-- @click-left="goBack"--> | |||
| <!-- >--> | |||
| <!-- <template #title>--> | |||
| <!-- <p style="font-weight: bold;">添加收款账户信息</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-nav-bar>--> | |||
| <div class="header_main"> | |||
| 添加收款账户信息 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <!-- <div class="add_btn" @click="goAdd"></div>--> | |||
| </div> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="goBack" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加收款账户信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| @@ -70,6 +64,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -137,6 +132,7 @@ | |||
| showBankType:false, | |||
| showBankDeposit:false, | |||
| showPayeeType:false, | |||
| depositListShow:false, | |||
| bankDepositValue:'', | |||
| form:{ | |||
| accountType:'1', | |||
| @@ -218,7 +214,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -233,7 +229,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -241,8 +237,10 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| this.depositListShow = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| @@ -255,54 +253,60 @@ | |||
| this.$toast.success('新增成功'); | |||
| setTimeout(function(){ | |||
| that.form.bankTypeText = that.bankType; | |||
| that.$router.push({name: 'approvalAdd2', params: { payeeForm: that.form }}); | |||
| that.$router.push({name: 'sunVillageApprovalAdd2', params: { payeeForm: that.form }}); | |||
| // history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| selectDeposit(val){ | |||
| //depositListShow | |||
| if (val == '' || this.bankDeposit == ''){return;} | |||
| this.depositListShow = true; | |||
| let queryParams={ | |||
| "bankType":this.form.bankType, | |||
| "status": "0", | |||
| "bankDeposit":this.bankDeposit, | |||
| "pageNum":1, | |||
| "pageSize":10 | |||
| } | |||
| listDeposit(queryParams).then(response => { | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push( | |||
| { | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank | |||
| } | |||
| ); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .deposit_list{ | |||
| height: 18vh; | |||
| width: 96%; | |||
| position: absolute; | |||
| background: #fff; | |||
| box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5); | |||
| left: 2%; | |||
| z-index: 9; | |||
| border-radius: 0 0 5PX 5PX; | |||
| overflow-y: scroll; | |||
| } | |||
| .app-container { | |||
| padding-bottom: 2%; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| margin-bottom: 2%; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| @@ -64,6 +64,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -214,7 +215,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -229,7 +230,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -237,6 +238,7 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| }, | |||
| @@ -251,7 +253,7 @@ | |||
| this.$toast.success('新增成功'); | |||
| setTimeout(function(){ | |||
| that.form.bankTypeText = that.bankType; | |||
| that.$router.push({name: 'approvalModify', params: { payeeForm: that.form , id : that.id}}); | |||
| that.$router.push({name: 'sunVillageApprovalModify', params: { payeeForm: that.form , id : that.id}}); | |||
| // history.go(-1) | |||
| },2000) | |||
| }); | |||
| @@ -8,8 +8,9 @@ | |||
| <div class="search_info"> | |||
| <div class="search_block"> | |||
| <i class="icon"></i> | |||
| <input type="text" class="ipt" v-model="queryParams.name" placeholder="搜索" @input="getSearchList"> | |||
| <!-- --> | |||
| <input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList"> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openAssetType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资产</div> | |||
| </div> | |||
| @@ -70,6 +71,34 @@ | |||
| </div> | |||
| </van-popup> | |||
| <van-popup v-model="typeVisible" lock-scroll closeable position="top" > | |||
| <div style="padding: 0.2rem 0.3rem 0.3rem;"> | |||
| <van-cell-group> | |||
| <van-cell> | |||
| <div style="text-align: center; font-size: 18px;">筛选</div> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.noMap" :border="false">未上图</van-checkbox> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox> | |||
| </van-cell> | |||
| <field-select | |||
| v-model="queryParams.operationType" | |||
| label="经营属性" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="选择经营属性" | |||
| :columns="operation_type" | |||
| :clearable="true" | |||
| /> | |||
| </van-cell-group> | |||
| <div style="padding: 0.2rem 0.5rem 0;"> | |||
| <van-button round type="primary" block @click="refresh">搜索</van-button> | |||
| </div> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| @@ -85,9 +114,13 @@ | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import request from '@/utils/request' | |||
| import MapGisTag from "@/components/Map/MapGisTagDTGCopy"; | |||
| import Selector from "@/components/common/Selector.vue"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: { | |||
| FieldSelect, | |||
| Selector, | |||
| MapGisTag | |||
| }, | |||
| data() { | |||
| @@ -107,6 +140,11 @@ | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| name:'', | |||
| operationType: null, | |||
| noMap: false, | |||
| params: { | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| @@ -117,6 +155,8 @@ | |||
| listMap:0, | |||
| permanentId: null, // 固定资产ID | |||
| permanents: [], // 固定资产列表,存储本账套下所有的固定资产信息 | |||
| typeVisible: false, | |||
| operation_type: [], | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -129,6 +169,9 @@ | |||
| this.houseGetDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("operation_type").then((response) => { | |||
| this.operation_type = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| openMap(id, theGeom,index){ | |||
| @@ -288,7 +331,24 @@ | |||
| goAdd(){ | |||
| this.$router.push('/sunVillage_info/fixedAssetsAdd') | |||
| }, | |||
| openAssetType() { | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| }, | |||
| computed: { | |||
| searchPlaceholder() { | |||
| let typeName = this.operation_type.find((x) => x.dictValue == this.queryParams.operationType); | |||
| return '搜索' + (typeName ? `${typeName.dictLabel}资产` : ''); | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @@ -340,23 +400,38 @@ | |||
| background: #fff; | |||
| display: flex; | |||
| border:2px solid #3494ff; | |||
| padding-right: 35px; | |||
| padding-right: 20px; | |||
| align-items: center; | |||
| position: relative; | |||
| .icon{ | |||
| width: 30px; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| display: inline-block; | |||
| margin:0 8px 0 26px; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| } | |||
| position: absolute; | |||
| left: 0; | |||
| bottom: 0.15rem; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| display: inline-block; | |||
| margin-left: 64px; | |||
| } | |||
| .filter-icon { | |||
| font-weight: bold; | |||
| font-size: .4rem; | |||
| width: .6rem; | |||
| text-align: center; | |||
| position: absolute; | |||
| right: 0.2rem; | |||
| bottom: 0.15rem; | |||
| } | |||
| } | |||
| .total{ | |||
| flex: 1; | |||
| @@ -209,7 +209,7 @@ | |||
| <van-field label="净残值(元)" input-align="right" :border="false"> | |||
| <template #input> | |||
| <van-stepper v-model="form.netSalvage" input-width="100" min="0.00" :decimal-length="2" @change="changeNetSalvage" /> | |||
| <van-stepper v-model="form.netSalvage" input-width="100" min="0.00" :decimal-length="2" @changexxx="changeNetSalvage" /> | |||
| </template> | |||
| </van-field> | |||
| @@ -262,7 +262,12 @@ | |||
| <van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" /> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" /> | |||
| <van-field v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" | |||
| > | |||
| <template #button> | |||
| <van-button size="small" type="primary" round @click="calcDepreciationValue" native-type="button">重新计算</van-button> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| @@ -282,7 +287,6 @@ | |||
| minDate:new Date(1900,1,1), | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| form:{ | |||
| assetType:'151001', | |||
| operationType:'1', | |||
| @@ -433,18 +437,42 @@ | |||
| }, | |||
| // 累计折旧变动监听 | |||
| changeDepreciationValue(val) { | |||
| if (this.form.originalValue != null) { | |||
| // 净值 = 原值-累计折旧 | |||
| this.form.netValue = this.form.originalValue - val; | |||
| } | |||
| if (val == null) | |||
| return; | |||
| // 每期折旧额 = (原值-净残值)/ 预计使用期数 | |||
| let depreciation = this.form.originalValue - this.form.netSalvage; | |||
| depreciation -= val; | |||
| let periods = this.form.expectedYears - (this.form.depreciationYears || 0); | |||
| if(periods > 0 && depreciation > 0) | |||
| this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2); | |||
| else | |||
| this.form.perYearDepreciationValue = 0; | |||
| // 净值 = 原值-累计折旧 | |||
| this.form.netValue = (this.form.originalValue || 0) - val; | |||
| }, | |||
| // 残值率变动监听 | |||
| changeResidualsRate(val) { | |||
| if (this.form.originalValue != null) { | |||
| // 净残值 = 原值*残值率 | |||
| this.form.netSalvage = (this.form.originalValue * val) / 100; | |||
| if (val == null) | |||
| return; | |||
| // 净残值 = 原值*残值率 | |||
| this.form.netSalvage = val > 0 ? ((this.form.originalValue * val) / 100).toFixed(2) : 0; | |||
| if (this.form.expectedYears > 0) { | |||
| // 每期折旧额 = (原值-净残值)/ 预计使用期数 | |||
| let depreciation = this.form.originalValue - (this.form.netSalvage || 0); | |||
| depreciation -= (this.form.depreciationValue || 0); | |||
| let periods = this.form.expectedYears - (this.form.depreciationYears || 0); | |||
| if(periods > 0 && depreciation > 0) | |||
| this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2); | |||
| else | |||
| this.form.perYearDepreciationValue = 0; | |||
| } | |||
| else | |||
| this.form.perYearDepreciationValue = 0; | |||
| }, | |||
| // 净残值变动监听 | |||
| @@ -458,18 +486,36 @@ | |||
| // 预计使用年数变动监听 | |||
| changeExpectedYears(val) { | |||
| if (this.form.originalValue != null && this.form.netSalvage != null) { | |||
| // 每年折旧额:(原值-净残值)/ 预计使用年数 | |||
| this.form.perYearDepreciationValue = | |||
| (this.form.originalValue - this.form.netSalvage) / val; | |||
| } | |||
| if (val == null) | |||
| return; | |||
| // 每期折旧额 = (原值-净残值)/ 预计使用期数 | |||
| let depreciation = this.form.originalValue - this.form.netSalvage; | |||
| depreciation -= this.form.depreciationValue; | |||
| let periods = val - (this.form.depreciationYears || 0); | |||
| if(periods > 0 && depreciation > 0) | |||
| this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2); | |||
| else | |||
| this.form.perYearDepreciationValue = 0; | |||
| }, | |||
| // 已折旧年数变动监听 | |||
| changeDepreciationYears(val) { | |||
| if (this.form.perYearDepreciationValue != null) { | |||
| this.form.depreciationValue = val * this.form.perYearDepreciationValue; | |||
| if (val == null) | |||
| return; | |||
| //if(!this.form.depreciationValueManual) | |||
| { | |||
| if (this.form.perYearDepreciationValue > 0) { | |||
| // 累计折旧 = 已折旧期数 * 每期折旧额 | |||
| this.form.depreciationValue = val * this.form.perYearDepreciationValue; | |||
| } | |||
| else | |||
| this.form.depreciationValue = 0; | |||
| } | |||
| // 净值 = 原值-累计折旧 | |||
| this.form.netValue = (this.form.originalValue || 0) - (this.form.depreciationValue || 0); | |||
| }, | |||
| onSubmit(){ | |||
| addPermanent(this.form).then((response) => { | |||
| @@ -480,7 +526,15 @@ | |||
| },2000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| calcDepreciationValue() { | |||
| this.form.depreciationValue = 0; | |||
| const depreciationYears = this.form.depreciationYears; | |||
| this.form.depreciationYears = 0; | |||
| this.changeOriginalValue(this.form.originalValue); | |||
| this.form.depreciationYears = depreciationYears; | |||
| this.changeDepreciationYears(depreciationYears); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| @@ -260,7 +260,7 @@ | |||
| <van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" /> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" /> | |||
| <van-field v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" /> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| @@ -321,7 +321,6 @@ | |||
| showUseType:false, | |||
| useType:'自用', | |||
| //资产状态 | |||
| assetStatusOptions:[], | |||
| showAssetStatus:false, | |||
| assetStatus:'正常', | |||
| //资产状态 | |||
| @@ -15,7 +15,7 @@ | |||
| </div> | |||
| <van-popover v-model="showPopover" trigger="click" placement="bottom-end" @select="selectChange"> | |||
| <div style="width: 4rem;"> | |||
| <van-cell :title="item.text" @click="selectChange({index:index})" :border="false" :icon="item.icon" v-for="(item,index) in actions" :key="index" /> | |||
| <van-cell :title="item.text" @click="selectChange(item)" :border="false" :icon="item.icon" v-for="(item,index) in actions" :key="index" /> | |||
| </div> | |||
| <template #reference> | |||
| <div class="exit_btn"> | |||
| @@ -220,15 +220,15 @@ | |||
| }) | |||
| }, | |||
| selectChange(val){ | |||
| val.index == 0 ? this.$router.push({path:"/sunVillage_info/user"}) : | |||
| val.index == 1 ? this.$router.push({path:"/sunVillage_info/passWord"}) : | |||
| val.index == 2 ? this.$router.push({path:"../yinnong/my"}) : | |||
| val.index == 3 ? this.$router.push({path:"../homesteadSurvey/index"}) : | |||
| val.index == 4 ? this.$router.push({path:"../contracted/index"}) : | |||
| val.index == 5 ? this.$router.push({path:"../lawEnforcement/index_new"}) : | |||
| val.index == 6 ? this.$router.push({path:"../agriculturalTrusteeship/index"}) : | |||
| val.index == 7 ? this.$router.push({path:"../index"}) : | |||
| val.index == 8 ? this.logout() : ''; | |||
| val.icon === 'manager-o' ? this.$router.push({path:"/sunVillage_info/user"}) : | |||
| val.icon === 'edit' ? this.$router.push({path:"/sunVillage_info/passWord"}) : | |||
| val.icon === 'todo-list-o' ? this.$router.push({path:"../yinnong/my"}) : | |||
| val.icon === 'newspaper-o' ? this.$router.push({path:"../homesteadSurvey/index"}) : | |||
| val.icon === 'orders-o' ? this.$router.push({path:"../contracted/index"}) : | |||
| val.icon === 'label-o' ? this.$router.push({path:"../lawEnforcement/index_new"}) : | |||
| val.icon === 'notes-o' ? this.$router.push({path:"../agriculturalTrusteeship/index"}) : | |||
| val.icon === 'home-o' ? this.$router.push({path:"../index"}) : | |||
| val.icon === 'revoke' ? this.logout() : ''; | |||
| } | |||
| }, | |||
| } | |||
| @@ -71,6 +71,7 @@ | |||
| import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets"; | |||
| import { sysConfig } from "@/api/homesteadSurvey/index"; | |||
| import Cookies from "js-cookie"; | |||
| import { removeToken } from '@/utils/auth' | |||
| import {bookListByDept} from "@/api/onlineHome/villageAffairs"; | |||
| export default { | |||
| name: "sunVillageInfoIndexCode", | |||
| @@ -99,6 +100,7 @@ import {bookListByDept} from "@/api/onlineHome/villageAffairs"; | |||
| bookVisbile:false, | |||
| bookList:[], | |||
| bookId:"", | |||
| deptId:"", | |||
| book:"", | |||
| configValue:'' | |||
| @@ -106,7 +108,7 @@ import {bookListByDept} from "@/api/onlineHome/villageAffairs"; | |||
| }, | |||
| created() { | |||
| //console.log(this.$store) | |||
| removeToken(); | |||
| if(this.$route.query.bookId){ | |||
| bookInfo(this.$route.query.bookId).then((res) => { | |||
| if (res.code == 200) { | |||
| @@ -22,7 +22,7 @@ | |||
| v-for="(childrenItem,childrenIdx) in item.menus" | |||
| :key="childrenItem.id" | |||
| :to="{name:childrenItem.menuUrl,query:{type:'code',typeX:childrenItem.urlPara}}" | |||
| class="nav_item" | |||
| class="nav_item n_13" | |||
| :style="`background:url(${require('@/assets/images/sunVillage_info/' + childrenItem.menuIcon)}) no-repeat center top;background-size: 50%;`" | |||
| > | |||
| {{childrenItem.menuName}} | |||
| @@ -238,15 +238,15 @@ | |||
| &:nth-child(3){ | |||
| margin-right: 0; | |||
| } | |||
| &:nth-child(4n+1){ | |||
| margin-top: 15PX; | |||
| } | |||
| &:nth-child(5n+1){ | |||
| margin-top: 15PX; | |||
| } | |||
| &:nth-child(6n+1){ | |||
| margin-top: 15PX; | |||
| } | |||
| /*&:nth-child(4n+1){*/ | |||
| /* margin-top: 15PX;*/ | |||
| /*}*/ | |||
| /*&:nth-child(5n+1){*/ | |||
| /* margin-top: 15PX;*/ | |||
| /* }*/ | |||
| /*&:nth-child(6n+1){*/ | |||
| /* margin-top: 15PX;*/ | |||
| /* }*/ | |||
| &:nth-child(1){ | |||
| margin-top: 0PX; | |||
| } | |||
| @@ -278,6 +278,10 @@ | |||
| background: url('../../assets/images/sunVillage_info/tcIcon.png') no-repeat center top; | |||
| background-size: 44.5PX; | |||
| } | |||
| &.n_13 { | |||
| background-size: 50%; | |||
| margin-bottom: 20PX; | |||
| } | |||
| &.n_77 { | |||
| background: url('../../assets/images/sunVillage_info/index_block_77.png') no-repeat center top; | |||
| background-size: 34.5PX; | |||
| @@ -0,0 +1,254 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="head_main"> | |||
| <div class="location"> | |||
| <div class="address"><i class="icon"></i>{{deptName}}</div> | |||
| <div class="address">{{bookName}}</div> | |||
| </div> | |||
| <div class="exit_btn" @click="goOut"> | |||
| <p>{{userName}}</p> | |||
| <i class="icon"></i> | |||
| </div> | |||
| </div> | |||
| <img src="../../../static/images/sunVillage_info/code_new/sunVillage_info_index_code_right_header.png" style="display:block;width:94%;margin:0 auto;" alt=""> | |||
| <div class="index_info"> | |||
| <div class="nav_box"> | |||
| <p class="nav_tit">公示公开</p> | |||
| <div class="nav_list"> | |||
| <router-link | |||
| :to="{name:'sunVillageInfoRevenueAndExpendituresNew',query:{}}" | |||
| class="nav_item" | |||
| > | |||
| <img src="../../../static/images/sunVillage_info/code_new/1.png" style="display:block;" alt=""> | |||
| <span>收支明细公开</span> | |||
| </router-link> | |||
| <router-link | |||
| :to="{name:'sunVillageInfoOperatingAssets',query:{}}" | |||
| class="nav_item" | |||
| > | |||
| <img src="../../../static/images/sunVillage_info/code_new/2.png" style="display:block;" alt=""> | |||
| <span>经营性资产情况</span> | |||
| </router-link> | |||
| <router-link | |||
| :to="{name:'otherOpenVisitIndexNew',query:{}}" | |||
| class="nav_item" | |||
| > | |||
| <img src="../../../static/images/sunVillage_info/code_new/3.png" style="display:block;" alt=""> | |||
| <span>其他公开</span> | |||
| </router-link> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="footer"> | |||
| {{tsdh}} | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {bookInfo, webList} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import {sysConfig} from "@/api/homesteadSurvey"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| wdqlList:[], | |||
| qqbzList:[], | |||
| deptIdOptions:[], | |||
| villageVisbile:false, | |||
| showBookList:false, | |||
| deptName:'', | |||
| //选中的值 | |||
| villageValue: "", | |||
| //省市区区级list | |||
| hcAreaInfoOption: [], | |||
| hcAreaInfoFieldName: { | |||
| text: "label", | |||
| value: "value", | |||
| children: "children", | |||
| }, | |||
| bookName:'', | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| }, | |||
| //账套列表 | |||
| bookVisbile:false, | |||
| bookList:[], | |||
| bookId:"", | |||
| deptId:"", | |||
| book:"", | |||
| userName:"", | |||
| tsdh:"", | |||
| }; | |||
| }, | |||
| created() { | |||
| this.deptId = Cookies.get('deptId') | |||
| this.bookId = Cookies.get('bookId') | |||
| if(this.bookId) | |||
| { | |||
| bookInfo(this.bookId).then((res) => { | |||
| if (res.code == 200) { | |||
| this.deptName = res.data.deptName; | |||
| this.bookName = res.data.bookName; | |||
| } | |||
| }); | |||
| } | |||
| if(Cookies.get('user')){ | |||
| this.userName = JSON.parse(Cookies.get('user')).memberName | |||
| } | |||
| webList().then((res) => { | |||
| if (res.code == 200) { | |||
| var content = res.rows; | |||
| content.map(rr=>{ | |||
| if (rr.configKey == 'web.open.phone'){ | |||
| this.tsdh = rr.configValue; | |||
| } | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| goCode(){ | |||
| this.$router.push({path:'/sunVillage_info/login_code'}) | |||
| }, | |||
| goOut(){ | |||
| // Cookies.remove("memberName"); | |||
| // Cookies.remove("idcard"); | |||
| Cookies.remove("user"); | |||
| this.$router.push({name:'sunVillageInfoCodeLoginNew',query:{deptId:this.deptId,bookId:this.bookId}}) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .fixed_btn{ | |||
| position: fixed; | |||
| right: 0; | |||
| width: 115PX; | |||
| bottom: 15%; | |||
| border-top-left-radius: 115PX; | |||
| border-bottom-left-radius: 115PX; | |||
| box-shadow: 0px 2px 5px #ccc; | |||
| } | |||
| .home_wrapper{ | |||
| width: 100vw; | |||
| min-height: 100vh; | |||
| background: #F5F6F9 url('../../../static/images/sunVillage_info/page_bg.png') no-repeat top center; | |||
| background-size: 100% auto; | |||
| .head_main{ | |||
| position: relative; | |||
| display: flex; | |||
| align-items: self-start; | |||
| justify-content: space-between; | |||
| width: 94%; | |||
| margin: 0 auto; | |||
| padding: 2vh 0 0; | |||
| .location{ | |||
| line-height: 42px; | |||
| display: flex; | |||
| flex-direction: column; | |||
| align-items: self-start; | |||
| .address{ | |||
| padding:0 18PX; | |||
| background:rgba(255,255,255,0.75); | |||
| border-radius: 42px; | |||
| font-size: 28px; | |||
| color: #3f3d56; | |||
| margin-right: 12px; | |||
| display: flex; | |||
| align-items:center; | |||
| margin-bottom: 10PX; | |||
| .icon{ | |||
| display: block; | |||
| width: 20px; | |||
| height: 26px; | |||
| background: url('../../../static/images/sunVillage_info/index_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10PX; | |||
| } | |||
| } | |||
| .user{ | |||
| .icon{ | |||
| width: 32px; | |||
| height: 32px; | |||
| background: url('../../assets/images/sunVillage_info/user_icon.png') no-repeat!important; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| } | |||
| .exit_btn{ | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| p{ | |||
| background: #3f3d56; | |||
| color: #ffffff; | |||
| padding: 3PX 15PX; | |||
| position: relative; | |||
| right: -6PX; | |||
| border-top-left-radius: 20PX; | |||
| border-bottom-left-radius: 20PX; | |||
| box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3); | |||
| } | |||
| .icon{ | |||
| width: 61px; | |||
| height: 61px; | |||
| background: url('../../assets/images/sunVillage_info/login_head_h_rights.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3); | |||
| border-radius: 100%; | |||
| } | |||
| } | |||
| } | |||
| .index_info{ | |||
| /*padding-top: 4.1vh;*/ | |||
| .title{ | |||
| width: 521px; | |||
| height: 52px; | |||
| background: url('../../assets/images/sunVillage_info/index_title2_rights.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin:0 auto; | |||
| } | |||
| .nav_box{ | |||
| margin: 0 auto; | |||
| padding: 30px 30px 40px; | |||
| .nav_tit{ | |||
| font-size: 35px; | |||
| margin-bottom: 15PX; | |||
| font-weight: bold; | |||
| } | |||
| .nav_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| justify-content: space-between; | |||
| .nav_item{ | |||
| font-size: 24px; | |||
| text-align: center; | |||
| width: 30%; | |||
| position: relative; | |||
| span{ | |||
| position: absolute; | |||
| bottom: 20%; | |||
| color: #ffffff; | |||
| display: block; | |||
| width: 100%; | |||
| text-align: center; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .footer{ | |||
| position: absolute; | |||
| bottom: 2vh; | |||
| width: 100%; | |||
| color: #707070; | |||
| text-align: center; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -11,7 +11,7 @@ | |||
| </div> | |||
| <van-tabs v-model="active" animated> | |||
| <van-tab title="承包方"> | |||
| <!--<van-tab title="承包方"> | |||
| <van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" /> | |||
| <van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" /> | |||
| <van-cell title="承包方名称" style="color: #646566;"> | |||
| @@ -70,8 +70,10 @@ | |||
| </van-field> | |||
| </van-cell> | |||
| </van-tab> | |||
| --> | |||
| <van-tab title="家庭成员"> | |||
| <van-cell v-for="(item, index) in memberList" :key="item.id"> | |||
| <div class="land_main" v-for="(item, index) in memberList" :key="item.id"> | |||
| <van-cell> | |||
| <div class="member_item"> | |||
| <div class="item_left"> | |||
| <div class="item_left_tt"> | |||
| @@ -94,8 +96,10 @@ | |||
| <p class="item_right">{{ item.sfgyr }}</p> | |||
| </div> | |||
| </van-cell> | |||
| </div> | |||
| </van-tab> | |||
| <van-tab title="承包合同"> | |||
| <!--<van-tab title="承包合同"> | |||
| <van-field v-model="contractDetail.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" :border="false" input-align="right" readonly /> | |||
| <van-field v-model="contractDetail.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="right" readonly /> | |||
| <van-field v-model="contractDetail.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" :border="false" input-align="right" readonly /> | |||
| @@ -108,31 +112,37 @@ | |||
| <van-field v-model="contractDetail.cbqxz" label="承包结束时间:" placeholder="请选择结束时间" :border="false" input-align="right" readonly /> | |||
| <van-field v-model="contractDetail.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" :border="false" input-align="right" readonly /> | |||
| <van-field v-model="contractDetail.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" :border="false" input-align="right" readonly /> | |||
| </van-tab> | |||
| </van-tab>--> | |||
| <van-tab title="承包地块"> | |||
| <van-cell v-for="(item,index) in landList" :key="item.id"> | |||
| <div class="land_item" > | |||
| <div class="item_tt"> | |||
| <p>{{ item.dkmc }}</p> | |||
| <p>{{ item.dkbm }}</p> | |||
| </div> | |||
| <div class="item_type"> | |||
| <p>{{ item.htmjm }}亩</p> | |||
| <!-- <p>{{ item.tdlylx }}</p>--> | |||
| <p>{{ item.dldj }}</p> | |||
| <p>{{ item.tdyt }}</p> | |||
| <p>基本农田:{{ item.sfjbnt }}</p> | |||
| </div> | |||
| <div class="item_direction"> | |||
| <!-- <p>{{ item.zjrxm }}指界</p>--> | |||
| <p>东:{{ item.dkdz }}</p> | |||
| <p>西:{{ item. dkxz }}</p> | |||
| <p>南:{{ item.dknz }}</p> | |||
| <p>北:{{ item.dkbz }}</p> | |||
| <div class="content_box"> | |||
| <p>地块数:{{dkzs}}</p> | |||
| <p>总面积:{{dkzmj}}亩</p> | |||
| </div> | |||
| <div class="land_main" v-for="(item,index) in landList" :key="item.id"> | |||
| <van-cell> | |||
| <div class="land_item" > | |||
| <div class="item_tt"> | |||
| <p>{{ item.dkmc }}</p> | |||
| <p>{{ item.dkbm }}</p> | |||
| </div> | |||
| <div class="item_type"> | |||
| <p>{{ item.htmjm }}亩</p> | |||
| <!-- <p>{{ item.tdlylx }}</p>--> | |||
| <p>{{ item.dldj }}</p> | |||
| <p>{{ item.tdyt }}</p> | |||
| <p>基本农田:{{ item.sfjbnt }}</p> | |||
| </div> | |||
| <div class="item_direction"> | |||
| <!-- <p>{{ item.zjrxm }}指界</p>--> | |||
| <p>东:{{ item.dkdz }}</p> | |||
| <p>西:{{ item. dkxz }}</p> | |||
| <p>南:{{ item.dknz }}</p> | |||
| <p>北:{{ item.dkbz }}</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-cell> | |||
| </van-cell> | |||
| </div> | |||
| </van-tab> | |||
| </van-tabs> | |||
| <!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />--> | |||
| @@ -237,6 +247,8 @@ | |||
| memberList: [], // 承包方家庭成员信息 | |||
| contractDetail: {}, // 承包合同信息 | |||
| landList: [], // 承包地块列表 | |||
| dkzmj: 0, | |||
| dkzs: 0, | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -361,6 +373,15 @@ | |||
| }, | |||
| getContractedLandList(cbfbm) { | |||
| listContractedLand({cbfbm: cbfbm, translate_dict: 1}).then(response => { | |||
| this.dkzmj = 0; | |||
| this.dkzs = 0; | |||
| response.rows.map(rr=>{ | |||
| this.dkzmj += rr.htmjm; | |||
| this.dkzs ++ ; | |||
| }) | |||
| this.landList = response.rows; | |||
| }); | |||
| }, | |||
| @@ -442,6 +463,14 @@ | |||
| -webkit-transform: scaleY(.5); | |||
| transform: scaleY(.5); | |||
| } | |||
| .content_box{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| font-size: 1.6vh; | |||
| margin: 1.6vh auto; | |||
| width: 95%; | |||
| } | |||
| .signature-footer { | |||
| transform: rotate(90deg); | |||
| width: auto; | |||
| @@ -652,11 +681,8 @@ | |||
| } | |||
| } | |||
| .member_item{ | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| margin-bottom: 20px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| @@ -705,12 +731,16 @@ | |||
| border-radius: 30PX; | |||
| } | |||
| } | |||
| .land_item{ | |||
| .land_main{ | |||
| border-radius: 30px; | |||
| box-shadow: 0PX 5PX 10PX rgba(63, 68, 75, 0.1); | |||
| margin:0 auto 20px; | |||
| overflow: hidden; | |||
| width: 95%; | |||
| } | |||
| .land_item{ | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| margin-bottom: 20px; | |||
| font-size: 14PX; | |||
| .item_tt{ | |||
| display: flex; | |||
| @@ -22,8 +22,8 @@ | |||
| <div class="right_box"> | |||
| <div class="right_box_box"> | |||
| <van-row> | |||
| <van-col :span="4">合同编码</van-col> | |||
| <van-col :span="2">合同类型</van-col> | |||
| <van-col :span="3">合同编码</van-col> | |||
| <van-col :span="1">合同类型</van-col> | |||
| <van-col :span="2">合同乙方</van-col> | |||
| <van-col :span="2">结款方式</van-col> | |||
| <van-col :span="2">合同金额</van-col> | |||
| @@ -34,10 +34,11 @@ | |||
| <van-col :span="2">签订日期</van-col> | |||
| <van-col :span="2">开始日期</van-col> | |||
| <van-col :span="2">结束日期</van-col> | |||
| <van-col :span="2">附件</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in applicationList" :key="index"> | |||
| <van-col :span="4">{{item.code}}</van-col> | |||
| <van-col :span="2">{{item.biddingType}}</van-col> | |||
| <van-col :span="3">{{item.code}}</van-col> | |||
| <van-col :span="1">{{item.biddingType}}</van-col> | |||
| <van-col :span="2">{{item.secondParty}}</van-col> | |||
| <van-col :span="2">{{item.settleType}}</van-col> | |||
| <van-col :span="2">{{item.totalAmount}}</van-col> | |||
| @@ -48,17 +49,28 @@ | |||
| <van-col :span="2">{{item.buildingTime}}</van-col> | |||
| <van-col :span="2">{{item.startTime}}</van-col> | |||
| <van-col :span="2">{{item.endTime}}</van-col> | |||
| <van-col :span="2"><p style="cursor: pointer;color: #2C41DA;" @click="openPopupFile(item.id)">点击查看附件</p></van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| <div class="clear"></div> | |||
| </div> | |||
| <!-- 附件弹出层 --> | |||
| <van-popup v-model="showFile" round closeable position="top" :style="{ height: '30%' }" > | |||
| <div style="padding: 0 3%;"> | |||
| <van-divider>附件</van-divider> | |||
| <van-uploader v-model="fileList" accept="" :show-upload="false" :deletable="false" /> | |||
| <van-empty v-if="fileList.length < 1" image-size="50" description="暂无附件" /> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { contractionListNew } from "@/api/sunVillage_info/fixedAssets"; | |||
| import {attachmentQuery, contractionListNew} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| @@ -74,6 +86,7 @@ | |||
| finished: false, | |||
| show: false, | |||
| showTab: false, | |||
| showFile: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| @@ -100,6 +113,26 @@ | |||
| this.getList() | |||
| }, | |||
| methods: { | |||
| openPopupFile(id){ | |||
| this.fileList = []; | |||
| this.signaId = id; | |||
| this.showFile = true; | |||
| let queryParams = { | |||
| tableId: id, | |||
| tableName: 't_contraction_info', | |||
| bizPath: 'contraction', | |||
| }; | |||
| attachmentQuery(queryParams).then(response => { | |||
| response.rows.map(res => { | |||
| // let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({ | |||
| url: '/api'+res.fileUrl, | |||
| file: new File([], res.fileName,{}), | |||
| id: res.id | |||
| }); | |||
| }) | |||
| }); | |||
| }, | |||
| getList(){ | |||
| var _this = this; | |||
| setTimeout(() => { | |||
| @@ -491,7 +524,7 @@ | |||
| display: -webkit-box; | |||
| -webkit-overflow-scrolling: touch; | |||
| .right_box_box{ | |||
| width: 1500PX; | |||
| width: 2500PX; | |||
| } | |||
| .van-row:nth-child(odd){ | |||
| background-color: #ffffff; | |||
| @@ -0,0 +1,427 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| <p class="title">四议两公开</p> | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn" @click="add" v-show="showBtn"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div></div> | |||
| <!-- <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div>--> | |||
| <div class="total_r">共{{listLength}}条公开</div> | |||
| </div> | |||
| <!-- <div class="record_list" v-if="showTab">--> | |||
| <!-- <div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div>--> | |||
| <!-- <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.openName}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.jueyiAt}} | |||
| </div> | |||
| </div> | |||
| <div class="operation" v-show="showBtn"> | |||
| <div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn edit" @click.stop="edit(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn delete" @click.stop="remove(item.id)"> | |||
| <i class="icon"></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {Dialog, Toast} from "vant"; | |||
| import Cookies from "js-cookie"; | |||
| import {listSiyigongkai, delSiyigongkai, listSiyigongkaiOpen} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "otherOpenList", | |||
| data() { | |||
| return { | |||
| dataList:[], | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc', | |||
| openYear:'', | |||
| otherType: null, | |||
| }, | |||
| yearList: [], | |||
| reload: false, | |||
| showTab: false, | |||
| otherTypeOptions: [], | |||
| showType: false, | |||
| loading: false, | |||
| finished: false, | |||
| applicationList:[], | |||
| listLength:'0', | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| if (this.showBtn){ | |||
| listSiyigongkai(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }else{ | |||
| _this.queryParams.bookId = Cookies.get('bookId'); | |||
| listSiyigongkaiOpen(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_discussions_new_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}}); | |||
| }, | |||
| add() { | |||
| this.$router.push({path:'/sunVillage_info/list_discussions_new_add'}); | |||
| }, | |||
| edit(id) { | |||
| this.$router.push({path:'/sunVillage_info/list_discussions_new_edit',query: {id:id}}); | |||
| }, | |||
| remove(id) { | |||
| Dialog.confirm({ | |||
| title: '警告', | |||
| message: '确认删除该项?', | |||
| }) | |||
| .then(() => { | |||
| const loading = Toast.loading({ | |||
| message: '删除中...', | |||
| duration: 0, | |||
| }); | |||
| delSiyigongkai(id).then((resp) => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| }) | |||
| .catch(() => {}); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.openYear = year; | |||
| this.reload = true; | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| .title { | |||
| } | |||
| /*.title::before {*/ | |||
| /* display: inline-block;*/ | |||
| /* width: 24px;*/ | |||
| /* height: 24px;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-right: 0.2rem;*/ | |||
| /* transform: rotate(*/ | |||
| /* 180deg*/ | |||
| /* );*/ | |||
| /*}*/ | |||
| /*.title::after {*/ | |||
| /* width: 0.32rem;*/ | |||
| /* height: 0.32rem;*/ | |||
| /* display: inline-block;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-left: 0.2rem;*/ | |||
| /*}*/ | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:15px 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,423 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 四议两公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_1.png" width="18"> | |||
| <p style="margin-left: 5px;">公开标题</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.jueyiAt" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择决议公开日期' }]" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">决议公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">决议公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="jueyiPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.shishiguochengAt" | |||
| @click="showBuildTime3 = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">实施过程公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime3" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy3" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy3" | |||
| @cancel="showBuildTime3 = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">实施过程公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="shishiguochengPic" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.shishiAt" | |||
| @click="showBuildTime2 = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">实施结果公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime2" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy2" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy2" | |||
| @cancel="showBuildTime2 = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" label-width="auto" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">实施结果公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="shishiPic" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" /> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18"> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| commonUpload, | |||
| addSiyigongkai | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| showBuildTime2:false, | |||
| showBuildTime3:false, | |||
| showPictureType:false, | |||
| form:{ | |||
| openAt:this.format(new Date(),'yyyy-MM-dd'), | |||
| jueyiPic:'', | |||
| shishiPic:'', | |||
| }, | |||
| jueyiPic:[], | |||
| shishiPic:[], | |||
| shishiguochengPic:[], | |||
| otherGkTypeOptions:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| openNy2:new Date(), | |||
| openNy3:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| id:'' | |||
| }, | |||
| shishiPic2:[], | |||
| shishiguochengPic2:[], | |||
| jueyiPic2:[], | |||
| // 操作类型:update或copy | |||
| operation: '', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| }, | |||
| methods: { | |||
| onSubmit(){ | |||
| var that = this; | |||
| that.form.shishiPic = that.shishiPic2.join(',') | |||
| that.form.jueyiPic = that.jueyiPic2.join(',') | |||
| that.form.shishiguochengPic = that.shishiguochengPic2.join(',') | |||
| this.form.deptName = Cookies.get('deptName'); | |||
| addSiyigongkai(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '新增成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },1000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.jueyiAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| onConfirmOpenNy2(data){ | |||
| this.form.shishiAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy2 = data; | |||
| this.showBuildTime2 = false; | |||
| }, | |||
| onConfirmOpenNy3(data){ | |||
| this.form.shishiguochengAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy3 = data; | |||
| this.showBuildTime3 = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.jueyiPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile2(file,detail){ | |||
| console.log(detail) | |||
| this.shishiPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile3(file,detail){ | |||
| console.log(detail) | |||
| this.shishiguochengPic2.splice(detail.index,1) | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.jueyiPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.jueyiPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead3(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiguochengPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiguochengPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 17PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,172 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 四议两公开 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.openName" label="公开标题" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.jueyiAt" label="决议公开日期" input-align="right" :border="false" /> | |||
| <van-field | |||
| name="jueyiPic" | |||
| label="决议公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="jueyiPic" :value="form.jueyiPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="shishiguochengAt" :value="form.shishiguochengAt" label="实施过程公开日期" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field | |||
| label-width="auto" | |||
| name="shishiguochengPic" | |||
| label="实施过程公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="shishiguochengPic" :value="form.shishiguochengPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="otherName" :value="form.shishiAt" label="实施结果公开日期" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field | |||
| name="shishiPic" | |||
| label="实施结果公开图片" | |||
| input-align="right" | |||
| label-width="auto" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="shishiPic" :value="form.shishiPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="remake" :value="form.remark" label="备注" input-align="right" :border="false"/> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {getSiyigongkai,getSiyigongkaiOpen} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| id:'', | |||
| title: '综合公开', | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.otherType = this.$route.query.type; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if (this.showBtn){ | |||
| getSiyigongkai(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| }else{ | |||
| getSiyigongkaiOpen(this.id,Cookies.get('bookId')).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| } | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,453 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 四议两公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_1.png" width="18"> | |||
| <p style="margin-left: 5px;">公开标题</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.jueyiAt" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择决议公开日期' }]" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">决议公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">决议公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="jueyiPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.shishiguochengAt" | |||
| @click="showBuildTime3 = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">实施过程公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime3" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy3" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy3" | |||
| @cancel="showBuildTime3 = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">实施过程公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="shishiguochengPic" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.shishiAt" | |||
| @click="showBuildTime2 = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">实施公开日期</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime2" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy2" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy2" | |||
| @cancel="showBuildTime2 = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">实施公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="shishiPic" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" /> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18"> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| commonUpload, | |||
| getSiyigongkai, | |||
| updateSiyigongkai, | |||
| otherCopy | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| showBuildTime2:false, | |||
| showPictureType:false, | |||
| showBuildTime3:false, | |||
| shishiguochengPic:[], | |||
| shishiguochengPic2:[], | |||
| form:{ | |||
| openAt:this.format(new Date(),'yyyy-MM-dd'), | |||
| jueyiPic:'', | |||
| shishiPic:'', | |||
| }, | |||
| jueyiPic:[], | |||
| shishiPic:[], | |||
| otherGkTypeOptions:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| openNy2:new Date(), | |||
| openNy3:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| id:'' | |||
| }, | |||
| shishiPic2:[], | |||
| jueyiPic2:[], | |||
| // 操作类型:update或copy | |||
| operation: '', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getSiyigongkai(this.queryParams.id).then((res) => { | |||
| if (res.data.jueyiPic!='' && res.data.jueyiPic != null && res.data.jueyiPic != undefined){ | |||
| this.jueyiPic = res.data.jueyiPic.split(',') | |||
| this.jueyiPic2 = res.data.jueyiPic.split(',') | |||
| this.jueyiPic.map((rrr,i)=>{ | |||
| this.jueyiPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.shishiPic!='' && res.data.shishiPic != null && res.data.shishiPic != undefined){ | |||
| this.shishiPic = res.data.shishiPic.split(',') | |||
| this.shishiPic2 = res.data.shishiPic.split(',') | |||
| this.shishiPic.map((rrr,i)=>{ | |||
| this.shishiPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.shishiguochengPic!='' && res.data.shishiguochengPic != null && res.data.shishiguochengPic != undefined){ | |||
| this.shishiguochengPic = res.data.shishiguochengPic.split(',') | |||
| this.shishiguochengPic2 = res.data.shishiguochengPic.split(',') | |||
| this.shishiguochengPic.map((rrr,i)=>{ | |||
| this.shishiguochengPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| this.form = res.data; | |||
| }) | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| that.form.shishiPic = that.shishiPic2.join(',') | |||
| that.form.jueyiPic = that.jueyiPic2.join(',') | |||
| that.form.shishiguochengPic = that.shishiguochengPic2.join(',') | |||
| this.form.deptName = Cookies.get('deptName'); | |||
| updateSiyigongkai(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },1000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.jueyiAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| onConfirmOpenNy2(data){ | |||
| this.form.shishiAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy2 = data; | |||
| this.showBuildTime2 = false; | |||
| }, | |||
| onConfirmOpenNy3(data){ | |||
| this.form.shishiguochengAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openNy3 = data; | |||
| this.showBuildTime3 = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.jueyiPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile2(file,detail){ | |||
| console.log(detail) | |||
| this.shishiPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile3(file,detail){ | |||
| console.log(detail) | |||
| this.shishiguochengPic2.splice(detail.index,1) | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.jueyiPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.jueyiPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead3(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiguochengPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.shishiguochengPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 17PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,434 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 财务公开榜 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn" v-show="showBtn" @click="goAdd"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.year == '' ? '全部': queryParams.year}}<span class="unit">{{queryParams.year == '' ? '': '年'}}</span></div> | |||
| <div class="total_r">共{{listLength}}条公告</div> | |||
| </div> | |||
| <div class="record_list" v-if="showTab"> | |||
| <div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div> | |||
| <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index"> | |||
| <div class="info" @click="goDetail(item.id)"> | |||
| <div class="title"> | |||
| <i class="icon_box"></i> | |||
| <p class="news_title">{{item.openName}}</p> | |||
| <p class="tips_mark" v-if="index==0">新</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.openNy}} | |||
| </div> | |||
| </div> | |||
| <div class="operation"> | |||
| <!-- delete 删除 edit编辑 view查看 --> | |||
| <div class="opera_btn list" @click="goRanking(item.id,item.openNy,item.openName)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn edit" @click="goEdit(item.id)" v-show="showBtn"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn delete" @click="goRemove(item.id)" v-show="showBtn"> | |||
| <i class="icon"></i> | |||
| </div> | |||
| <div class="opera_btn view" @click="goDetail(item.id)" v-show="!showBtn"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| <!-- <div class="bottom_tips">--> | |||
| <!-- <span class="xs">已经到底啦</span>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { financePublicList,openRemove } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| show: false, | |||
| showTab: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'openNy', | |||
| isAsc:'desc', | |||
| year:new Date().getFullYear(), | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| nowYear:new Date().getFullYear(), | |||
| yearList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| for (let i = 0 ; i < 5 ; i++){ | |||
| this.yearList.push(this.nowYear-i); | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| financePublicList(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| console.log(_this.applicationList.length + "--------------" + response.total); | |||
| if(_this.applicationList.length >= response.total){ | |||
| console.log('aaaaaaaaaaaaaaaaa') | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| console.log('bbbbbbbbbbbbbbbbbbb') | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.year = year ; | |||
| this.queryParams.pageNum = 1 ; | |||
| this.applicationList = []; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| /** 删除按钮操作 */ | |||
| handleDelete(row,index) { | |||
| let assetStatus = row.assetStatus ? row.assetStatus : data[0].assetStatus; | |||
| if (assetStatus === '2' || assetStatus === '3') { | |||
| this.$notify({ | |||
| message: "不允许删除已出售或已报废的资产", | |||
| type: "warning", | |||
| }); | |||
| return; | |||
| } | |||
| let useType = row.useType; | |||
| if(useType == 3) { | |||
| this.$notify({ | |||
| message: "出租或出借的资产不允许删除", | |||
| type: "warning", | |||
| }); | |||
| return ; | |||
| } | |||
| const ids = row.id || this.ids; | |||
| this.$dialog.alert( | |||
| { | |||
| message:'是否确认删除固定资产?', | |||
| title:"警告", | |||
| confirmButtonText: "确定", | |||
| cancelButtonText: "取消", | |||
| } | |||
| ) | |||
| .then(function () { | |||
| return delPermanent(ids); | |||
| }) | |||
| .then(() => { | |||
| this.applicationList.splice(index, 1); | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| this.$router.push('/sunVillage_info/list_finance_new_add') | |||
| }, | |||
| goDetail(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_finance_new_detail',query: {id:id,type:'finance',showBtn:this.showBtn}}) | |||
| }, | |||
| goRanking(id,time,openName){ | |||
| this.$router.push({path:'/sunVillage_info/list_finance_ranking',query: {id:id,time:time,openName:openName}}) | |||
| }, | |||
| goEdit(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_finance_new_edit',query: {id:id,type:'finance'}}) | |||
| }, | |||
| goRemove(id){ | |||
| this.$dialog.alert({ | |||
| title: '提示', | |||
| message: '确认删除?', | |||
| showCancelButton:true, | |||
| }) | |||
| .then(() => { | |||
| openRemove(id).then(response => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.getList() | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,614 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 新增财务公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openNy" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择购建时间' }]" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="year-month" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18"> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- <van-field readonly input-align="right" :border="false" >--> | |||
| <!-- <template #label>--> | |||
| <!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">--> | |||
| <!-- <p style="margin-left: 5px;">公开图片</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <!--<!– @delete="deleteFile1"–>--> | |||
| <!-- <van-uploader v-model="fileList" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX">--> | |||
| <!-- <template #preview-cover="file">--> | |||
| <!-- <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">--> | |||
| <!-- <template #mask>--> | |||
| <!-- <div class="preview-cover">--> | |||
| <!-- <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>--> | |||
| <!-- </div>--> | |||
| <!-- </template>--> | |||
| <!-- </DnD>--> | |||
| <!-- </template>--> | |||
| <!-- </van-uploader>--> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">收支明细表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicSzmx" multiple :after-read="afterReadSzmx" @delete="deleteFileSzmx" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">科目余额表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicKmye" multiple :after-read="afterReadKmye" @delete="deleteFileKmye" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">资产负债表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicZcfz" multiple :after-read="afterReadZcfz" @delete="deleteFileZcfz" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18"> | |||
| <p style="margin-left: 5px;">公开文件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <p style="margin-left: 10px;">{{item.name}}</p> | |||
| <img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" /> | |||
| </div> | |||
| </div> | |||
| <van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX"> | |||
| <img src="../../assets/images/sunVillage_info/addFile.png" width="120" /> | |||
| </van-uploader> | |||
| </div> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18"> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { commonUpload , openAdd } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| import DnD from "@/components/DnD"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {DnD}, | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openFile:'', | |||
| openName:this.format(new Date(),'yyyy')+ '年' + (this.format(new Date(),'MM')-1) + '月财务公开' | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openPicSzmx:[], | |||
| openPicKmye:[], | |||
| openPicZcfz:[], | |||
| openPicSzmx2:[], | |||
| openPicKmye2:[], | |||
| openPicZcfz2:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| openFile2:[], | |||
| openPic2:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("asset_status").then((response) => { | |||
| this.assetStatusOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("asset_type").then((response) => { | |||
| this.assetTypeOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| }, | |||
| methods: { | |||
| onSubmit(){ | |||
| console.log(this.openFile) | |||
| console.log(this.openPic) | |||
| var that = this; | |||
| // openPicSzmx:[], | |||
| // openPicKmye:[], | |||
| // openPicZcfz:[], | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPicSzmx = that.openPicSzmx2.join(',') | |||
| that.form.openPicKmye = that.openPicKmye2.join(',') | |||
| that.form.openPicZcfz = that.openPicZcfz2.join(',') | |||
| //that.form.openPic = that.openPic2.join(',') | |||
| that.form.openPic = that.fileList | |||
| .filter((x) => x.url && x.url.startsWith('/api')) | |||
| .map((x) => x.url.substr(4)) | |||
| .join(','); | |||
| openAdd(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '新增成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openNy = this.format(data,'yyyy-MM'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(detail){ | |||
| this.openPic2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFileZcfz(detail){ | |||
| this.openPicZcfz2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFileSzmx(detail){ | |||
| this.openPicSzmx2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFileKmye(detail){ | |||
| this.openPicKmye2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFileList.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false) // 顺序上传 | |||
| { | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPic.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| } | |||
| else | |||
| { | |||
| file.map(res=>{ | |||
| this.openPic.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| this.openPic.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadSzmx(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| // this.openPicSzmx.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| // this.openPicSzmx.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicSzmx.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| console.log(this.openPicSzmx) | |||
| // file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadKmye(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPicKmye.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| this.openPicKmye.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicKmye.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadZcfz(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPicZcfz.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| this.openPicZcfz.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicZcfz.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| console.log(file) | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openFile2.push(r1.fileName); | |||
| }) | |||
| let name = file.file.name; | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFileList.push({name:file.file.name,type:type}) | |||
| this.openFile.push(file.file); | |||
| }, | |||
| drag(src_element) { | |||
| //console.log("drag", event); | |||
| }, | |||
| drop(src_element, dst_element, srcData, dstData) { | |||
| //console.log("drop", event); | |||
| let srcIndex = parseInt(srcData); | |||
| let index = parseInt(dstData); | |||
| //console.log(srcIndex, index,this.fileList); | |||
| if(srcIndex !== index) | |||
| { | |||
| let src = this.fileList[srcIndex]; | |||
| if(srcIndex > index) | |||
| { | |||
| this.fileList.splice(srcIndex, 1); | |||
| this.fileList.splice(index, 0, src); | |||
| } | |||
| else | |||
| { | |||
| this.fileList.splice(srcIndex, 1); | |||
| this.fileList.splice(index, 0, src); | |||
| } | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| .preview-cover { | |||
| position: absolute; | |||
| bottom: 0; | |||
| top: 0; | |||
| left: 0; | |||
| right: 0; | |||
| background: rgba(0, 0, 0, 0); | |||
| } | |||
| /deep/ .van-uploader__preview-image { | |||
| overflow: visible; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,338 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 查看财务公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openNy" | |||
| input-align="right" | |||
| label-width="auto" | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择购建时间' }]" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.openName" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18"> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- <van-field readonly v-model="form.updateTime === null ? form.createTime : form.updateTime" input-align="right" :border="false">--> | |||
| <!-- <template #label>--> | |||
| <!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">--> | |||
| <!-- <p style="margin-left: 5px;">公开图片</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <!--<!– @delete="deleteFile1"–>--> | |||
| <!-- <van-uploader v-model="openPic" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />--> | |||
| <!-- <van-empty v-if="openPic.length < 1" description="暂无文件" />--> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">收支明细表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPicSzmx" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <van-empty v-if="openPicSzmx.length < 1" description="暂无文件" /> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">科目余额表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPicKmye" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <van-empty v-if="openPicKmye.length < 1" description="暂无文件" /> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">资产负债表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPicZcfz" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <van-empty v-if="openPicZcfz.length < 1" description="暂无文件" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18"> | |||
| <p style="margin-left: 5px;">公开文件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <a v-if="item.type == 'word' || item.type == 'excel'" :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||
| <p v-else @click="goToPage(item.url)" style="margin-left: 10px;color: #333333">{{item.name}}</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <van-field readonly v-model="form.remark" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18"> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <van-dialog v-model:show="fjImgShow" title="附件" :show-confirm-button="false" show-cancel-button cancelButtonText="关闭" > | |||
| <div style="width: 100%;height: 400px;overflow:scroll;"> | |||
| <img :src="fjImg" width="95%"/> | |||
| </div> | |||
| </van-dialog> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { financePublicDetail , openAdd } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openFile:'', | |||
| }, | |||
| openPic:[], | |||
| openPicSzmx:[], | |||
| openPicKmye:[], | |||
| openPicZcfz:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| fjImgShow:false, | |||
| fjImg:'', | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("asset_status").then((response) => { | |||
| this.assetStatusOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("asset_type").then((response) => { | |||
| this.assetTypeOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(id){ | |||
| financePublicDetail(this.queryParams).then((res) => { | |||
| if (res.data.openFile !='' && res.data.openFile != null && res.data.openFile != undefined){ | |||
| res.data.openFile = res.data.openFile.split(',') | |||
| res.data.openFile.map(rr=>{ | |||
| let name = rr.substr(27,rr.length); | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFileList.push({name:name,type:type,url:'/api'+rr}) | |||
| }) | |||
| } | |||
| if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | |||
| res.data.openPic = res.data.openPic.split(',') | |||
| res.data.openPic.map((rrr,i)=>{ | |||
| this.openPic.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| if (res.data.openPicSzmx !='' && res.data.openPicSzmx != null && res.data.openPicSzmx != undefined){ | |||
| res.data.openPicSzmx = res.data.openPicSzmx.split(',') | |||
| res.data.openPicSzmx.map((rrr,i)=>{ | |||
| this.openPicSzmx.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| if (res.data.openPicKmye !='' && res.data.openPicKmye != null && res.data.openPicKmye != undefined){ | |||
| res.data.openPicKmye = res.data.openPicKmye.split(',') | |||
| res.data.openPicKmye.map((rrr,i)=>{ | |||
| this.openPicKmye.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| if (res.data.openPicZcfz !='' && res.data.openPicZcfz != null && res.data.openPicZcfz != undefined){ | |||
| res.data.openPicZcfz = res.data.openPicZcfz.split(',') | |||
| res.data.openPicZcfz.map((rrr,i)=>{ | |||
| this.openPicZcfz.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| this.form = res.data; | |||
| }) | |||
| }, | |||
| goToPage(url) { | |||
| const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||
| let subIndex = url.lastIndexOf("."); | |||
| let ext = url.substring(subIndex + 1, url.length); | |||
| //console.log(ext) | |||
| if (ext == "jpg" || ext == "png") { | |||
| url = url.substring(4,url.length); | |||
| this.fjImg = baseImgUrl + url; | |||
| this.fjImgShow = true; | |||
| }else{ | |||
| let allUrl = url; | |||
| const link = document.createElement("a"); | |||
| link.style.display = "none"; | |||
| link.target = "_blank" | |||
| link.href = allUrl; | |||
| document.body.appendChild(link); | |||
| link.click(); | |||
| document.body.removeChild(link); | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,667 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 修改财务公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openNy" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择购建时间' }]" | |||
| > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18"> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="year-month" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18"> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- <van-field readonly input-align="right" :border="false" >--> | |||
| <!-- <template #label>--> | |||
| <!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">--> | |||
| <!-- <p style="margin-left: 5px;">公开图片</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <!--<!– @delete="deleteFile1"–>--> | |||
| <!-- <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" >--> | |||
| <!-- <template #preview-cover="file">--> | |||
| <!-- <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">--> | |||
| <!-- <template #mask>--> | |||
| <!-- <div class="preview-cover">--> | |||
| <!-- <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>--> | |||
| <!-- </div>--> | |||
| <!-- </template>--> | |||
| <!-- </DnD>--> | |||
| <!-- </template>--> | |||
| <!-- </van-uploader>--> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">收支明细表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicSzmx" multiple :after-read="afterReadSzmx" @delete="deleteFileSzmx" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">科目余额表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicKmye" multiple :after-read="afterReadKmye" @delete="deleteFileKmye" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <van-field readonly :border="false"> | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18"> | |||
| <p style="margin-left: 5px;">资产负债表(图)</p> | |||
| </template> | |||
| </van-field> | |||
| <van-uploader v-model="openPicZcfz" multiple :after-read="afterReadZcfz" @delete="deleteFileZcfz" style="margin-top: 10PX"> | |||
| <template #preview-cover="file"> | |||
| <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1"> | |||
| <template #mask> | |||
| <div class="preview-cover"> | |||
| <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/> | |||
| </div> | |||
| </template> | |||
| </DnD> | |||
| </template> | |||
| </van-uploader> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18"> | |||
| <p style="margin-left: 5px;">公开文件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFile" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <p style="margin-left: 10px;">{{item.name}}</p> | |||
| <img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" /> | |||
| </div> | |||
| </div> | |||
| <van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX"> | |||
| <img src="../../assets/images/sunVillage_info/addFile.png" width="120" /> | |||
| </van-uploader> | |||
| </div> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18"> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { commonUpload , openEdit , financePublicDetail } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| import DnD from "@/components/DnD"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {DnD}, | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openFile:'', | |||
| openPicSzmx:'', | |||
| openPicKmye:'', | |||
| openPicZcfz:'' | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openPicSzmx:[], | |||
| openPicKmye:[], | |||
| openPicZcfz:[], | |||
| openPicSzmx2:[], | |||
| openPicKmye2:[], | |||
| openPicZcfz2:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| openPicList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| openPic2:[], | |||
| openFile2:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("asset_status").then((response) => { | |||
| this.assetStatusOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("asset_type").then((response) => { | |||
| this.assetTypeOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(id){ | |||
| financePublicDetail(this.queryParams).then((res) => { | |||
| var that = this ; | |||
| if (res.data.openFile!='' && res.data.openFile != null && res.data.openFile != undefined){ | |||
| this.openFile = res.data.openFile.split(',') | |||
| this.openFile2 = res.data.openFile.split(',') | |||
| this.openFile.map((rr,i)=>{ | |||
| let name = rr.substr(27,rr.length); | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFile[i] = {name:name,type:type,url:rr} | |||
| }) | |||
| } | |||
| if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){ | |||
| this.openPic = res.data.openPic.split(','); | |||
| this.openPic2 = res.data.openPic.split(','); | |||
| this.openPic.map((rrr,i)=>{ | |||
| this.openPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.openPicSzmx !='' && res.data.openPicSzmx != null && res.data.openPicSzmx != undefined){ | |||
| this.openPicSzmx = res.data.openPicSzmx.split(','); | |||
| this.openPicSzmx2 = res.data.openPicSzmx.split(','); | |||
| this.openPicSzmx.map((rrr,i)=>{ | |||
| this.openPicSzmx[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.openPicKmye !='' && res.data.openPicKmye != null && res.data.openPicKmye != undefined){ | |||
| this.openPicKmye = res.data.openPicKmye.split(','); | |||
| this.openPicKmye2 = res.data.openPicKmye.split(','); | |||
| this.openPicKmye.map((rrr,i)=>{ | |||
| this.openPicKmye[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| if (res.data.openPicZcfz !='' && res.data.openPicZcfz != null && res.data.openPicZcfz != undefined){ | |||
| this.openPicZcfz = res.data.openPicZcfz.split(','); | |||
| this.openPicZcfz2 = res.data.openPicZcfz.split(','); | |||
| this.openPicZcfz.map((rrr,i)=>{ | |||
| this.openPicZcfz[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| console.log('openPicSzmx2'+that.openPicSzmx2) | |||
| console.log('openPicKmye2'+that.openPicKmye2) | |||
| console.log('openPicZcfz2'+that.openPicZcfz2) | |||
| that.form = res.data; | |||
| }) | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| console.log('openPicSzmx2'+that.openPicSzmx2) | |||
| console.log('openPicKmye2'+that.openPicKmye2) | |||
| console.log('openPicZcfz2'+that.openPicZcfz2) | |||
| console.log('openPic'+that.openPic) | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPicSzmx = that.openPicSzmx2.join(',') | |||
| that.form.openPicKmye = that.openPicKmye2.join(',') | |||
| that.form.openPicZcfz = that.openPicZcfz2.join(',') | |||
| //that.form.openPic = that.openPic2.join(',') | |||
| that.form.openPic = that.openPic | |||
| .filter((x) => x.url && x.url.startsWith('/api')) | |||
| .map((x) => x.url.substr(4)) | |||
| .join(','); | |||
| openEdit(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openNy = this.format(data,'yyyy-MM'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.openPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFileZcfz(detail){ | |||
| this.openPicZcfz2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFileSzmx(detail){ | |||
| this.openPicSzmx2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteFileKmye(detail){ | |||
| this.openPicKmye2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFile.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false) // 顺序上传 | |||
| { | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPic.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| } | |||
| else | |||
| { | |||
| file.map(res => { | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadSzmx(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| // this.openPicSzmx.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| // this.openPicSzmx.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicSzmx.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicSzmx2.push(r1.fileName); | |||
| console.log(this.openPicSzmx) | |||
| // file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadKmye(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPicKmye.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| this.openPicKmye.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicKmye.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicKmye2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadZcfz(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| if(false){// 顺序上传 | |||
| let SequenceUpload = (list, index) => { | |||
| if(index >= list.length) | |||
| return; | |||
| let res = list[index]; | |||
| this.openPicZcfz.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| SequenceUpload(list, index + 1); | |||
| }) | |||
| }; | |||
| SequenceUpload(file, 0); | |||
| }else{ | |||
| file.map(res=>{ | |||
| this.openPicZcfz.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| res.url = '/api' + r1.fileName; | |||
| }) | |||
| }) | |||
| } | |||
| }else{ | |||
| // this.openPicZcfz.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPicZcfz2.push(r1.fileName); | |||
| file.url = '/api' + r1.fileName; | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| console.log(file) | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openFile2.push(r1.fileName); | |||
| }) | |||
| let name = file.file.name; | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFile.push({name:file.file.name,type:type}) | |||
| this.openFileList.push(file.file); | |||
| }, | |||
| drag(src_element) { | |||
| //console.log("drag", event); | |||
| }, | |||
| drop(src_element, dst_element, srcData, dstData) { | |||
| //console.log("drop", event); | |||
| let srcIndex = parseInt(srcData); | |||
| let index = parseInt(dstData); | |||
| //console.log(srcIndex, index,this.openPic); | |||
| if(srcIndex !== index) | |||
| { | |||
| let src = this.openPic[srcIndex]; | |||
| if(srcIndex > index) | |||
| { | |||
| this.openPic.splice(srcIndex, 1); | |||
| this.openPic.splice(index, 0, src); | |||
| } | |||
| else | |||
| { | |||
| this.openPic.splice(srcIndex, 1); | |||
| this.openPic.splice(index, 0, src); | |||
| } | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| .preview-cover { | |||
| position: absolute; | |||
| bottom: 0; | |||
| top: 0; | |||
| left: 0; | |||
| right: 0; | |||
| background: rgba(0, 0, 0, 0); | |||
| } | |||
| /deep/ .van-uploader__preview-image { | |||
| overflow: visible; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,379 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 重要事项 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn" @click="goAdd" v-show="showBtn"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.year == '' ? '全部': queryParams.year}}<span class="unit">{{queryParams.year == '' ? '': '年'}}</span></div> | |||
| <div class="total_r">共{{listLength}}条公告</div> | |||
| </div> | |||
| <div class="record_list" v-if="showTab"> | |||
| <div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div> | |||
| <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" > | |||
| <div class="info" @click="goDetail(item.id)"> | |||
| <div class="title"> | |||
| <i class="icon_box"></i> | |||
| <p class="news_title">{{item.openName}}</p> | |||
| <p class="tips_mark" v-if="index==0">新</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.openNy}} | |||
| </div> | |||
| </div> | |||
| <div class="operation" v-show="showBtn"> | |||
| <!-- delete 删除 edit编辑 view查看 --> | |||
| <div class="opera_btn edit" @click="goEdit(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn delete" @click="goRemove(item.id)"> | |||
| <i class="icon"></i> | |||
| </div> | |||
| <div class="opera_btn view" @click="goDetail(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| <!-- <div class="bottom_tips">--> | |||
| <!-- <span class="xs">已经到底啦</span>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { importantList , subcontractRemove } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| show: false, | |||
| showTab: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'openNy', | |||
| isAsc:'desc', | |||
| year:new Date().getFullYear(), | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| nowYear:new Date().getFullYear(), | |||
| yearList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| for (let i = 0 ; i < 5 ; i++){ | |||
| this.yearList.push(this.nowYear-i); | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| importantList(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.year = year ; | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| goAdd(){ | |||
| this.$router.push('/sunVillage_info/list_issues_zy_add') | |||
| }, | |||
| goDetail(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_issues_zy_detail',query: {id:id,type:'issues',showBtn:this.showBtn}}) | |||
| }, | |||
| goEdit(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_issues_zy_edit',query: {id:id,type:'finance'}}) | |||
| }, | |||
| goRemove(id){ | |||
| this.$dialog.alert({ | |||
| title: '提示', | |||
| message: '确认删除?', | |||
| showCancelButton:true, | |||
| }) | |||
| .then(() => { | |||
| subcontractRemove(id).then(response => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.applicationList = []; | |||
| this.getList() | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: flex-end; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,362 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 新增重要事项 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openDate" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择购建时间' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="importantType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">事项类型</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| :columns="importantTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="fileList" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">附件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <p class="fileName" style="margin-left: 10px;">{{item.name}}</p> | |||
| <img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" /> | |||
| </div> | |||
| </div> | |||
| <van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX"> | |||
| <img src="../../assets/images/sunVillage_info/addFile.png" width="120" /> | |||
| </van-uploader> | |||
| </div> | |||
| <van-field v-model="form.content" type="textarea" autosize placeholder="请输入内容" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">内容</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { commonUpload , subcontractAdd } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| showThreeDetailType:false, | |||
| form:{ | |||
| openDate:this.format(new Date(),'yyyy-MM-dd'), | |||
| openPic:'', | |||
| openFile:'', | |||
| importantType:'' | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| openFile2:[], | |||
| openPic2:[], | |||
| importantTypeOptions:[], | |||
| importantType: '' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("important_type").then((response) => { | |||
| this.importantTypeOptions = response.data; | |||
| }); | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| }, | |||
| methods: { | |||
| onConfirmThreeDetailType(data){ | |||
| this.importantType = data.dictLabel; | |||
| this.form.importantType = data.dictValue; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| subcontractAdd(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '新增成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openNy = this.format(data,'yyyy-MM'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(detail){ | |||
| this.openPic2.splice(detail.index,1) | |||
| // this.form.openPic.splice(index,1); | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFileList.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| this.openPic.push(res.file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| this.openPic.push(file); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| console.log(file) | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openFile2.push(r1.fileName); | |||
| }) | |||
| let name = file.file.name; | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFileList.push({name:file.file.name,type:type}) | |||
| this.openFile.push(file.file); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 70PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,271 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 查看重要事项 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openNy" | |||
| input-align="right" | |||
| label-width="auto" | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择购建时间' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.openName" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.importantType" :rules="[{ required: true , message:'请输入' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">事项类型</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">附件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <a class="fileName" :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <van-field readonly type="textarea" autosize input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">内容</p> | |||
| </template> | |||
| <template #input> | |||
| <div v-html="form.content"></div> | |||
| </template> | |||
| </van-field> | |||
| <van-field readonly v-model="form.remark" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { importantDetail , openAdd } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openFile:'', | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| showBtn:true, | |||
| importantTypeOptions:[], | |||
| importantType: '' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| this.getDicts("important_type").then((response) => { | |||
| this.importantTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| getDetail(id){ | |||
| importantDetail(this.queryParams).then((res) => { | |||
| if (res.data.openFile !='' && res.data.openFile != null && res.data.openFile != undefined){ | |||
| res.data.openFile = res.data.openFile.split(',') | |||
| res.data.openFile.map(rr=>{ | |||
| let name = rr.substr(27,rr.length); | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFileList.push({name:name,type:type,url:'/api'+rr}) | |||
| }) | |||
| } | |||
| if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | |||
| res.data.openPic = res.data.openPic.split(',') | |||
| res.data.openPic.map((rrr,i)=>{ | |||
| this.openPic.push({url:'/api'+rrr}) | |||
| }) | |||
| } | |||
| res.data.importantType = this.selectDictLabel(this.importantTypeOptions, res.data.importantType); | |||
| this.form = res.data; | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .fileName{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 2; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,399 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 修改重要事项 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openNy" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择公开年月' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openNy" | |||
| type="year-month" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开名称</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="importantType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择事项类型' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">事项类型</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| :columns="importantTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公开图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <div style="border-top: 1px solid #ededed;margin-top: 10PX;"> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">附件</p> | |||
| </template> | |||
| </van-field> | |||
| <div> | |||
| <div v-for="(item,index) in openFile" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | |||
| <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | |||
| <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | |||
| <p class="fileName" style="margin-left: 10px;">{{item.name}}</p> | |||
| <img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" /> | |||
| </div> | |||
| </div> | |||
| <van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX"> | |||
| <img src="../../assets/images/sunVillage_info/addFile.png" width="120" /> | |||
| </van-uploader> | |||
| </div> | |||
| <van-field v-model="form.content" type="textarea" autosize placeholder="请输入内容" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">内容</p> | |||
| </template> | |||
| <template #input> | |||
| <div v-html="form.content"></div> | |||
| </template> | |||
| </van-field> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { commonUpload , subcontractEdit , importantDetail } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| showThreeDetailType:false, | |||
| form:{ | |||
| openNy:this.format(new Date(),'yyyy-MM'), | |||
| openPic:'', | |||
| openFile:'', | |||
| }, | |||
| openPic:[], | |||
| fileList:[], | |||
| fileList1:[], | |||
| openNy:new Date(), | |||
| type:'', | |||
| openFile:[], | |||
| openFileList:[], | |||
| openPicList:[], | |||
| queryParams:{ | |||
| bookId:'', | |||
| deptId:'' | |||
| }, | |||
| openPic2:[], | |||
| openFile2:[], | |||
| importantTypeOptions:[], | |||
| importantType: '' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.getDicts("important_type").then((response) => { | |||
| this.importantTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmThreeDetailType(data){ | |||
| this.importantType = data.dictLabel; | |||
| this.form.importantType = data.dictValue; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| getDetail(id){ | |||
| importantDetail(this.queryParams).then((res) => { | |||
| var that = this ; | |||
| if (res.data.openFile!='' && res.data.openFile != null && res.data.openFile != undefined){ | |||
| this.openFile = res.data.openFile.split(',') | |||
| this.openFile2 = res.data.openFile.split(',') | |||
| this.openFile.map((rr,i)=>{ | |||
| let name = rr.substr(27,rr.length); | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFile[i] = {name:name,type:type} | |||
| }) | |||
| } | |||
| if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){ | |||
| this.openPic = res.data.openPic.split(',') | |||
| this.openPic2 = res.data.openPic.split(',') | |||
| this.openPic.map((rrr,i)=>{ | |||
| this.openPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| this.importantType = this.selectDictLabel(this.importantTypeOptions, res.data.importantType); | |||
| that.form = res.data; | |||
| }) | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| that.form.openFile = that.openFile2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| subcontractEdit(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openNy = this.format(data,'yyyy-MM'); | |||
| this.openNy = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.openPic2.splice(detail.index,1) | |||
| }, | |||
| deleteWord(index){ | |||
| this.openFile.splice(index,1); | |||
| this.openFile2.splice(index,1); | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterReadOpenFile(file){ | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openFile2.push(r1.fileName); | |||
| }) | |||
| let name = file.file.name; | |||
| let type = ''; | |||
| if (name.indexOf('.doc') > -1){ | |||
| type = 'word'; | |||
| }else if(name.indexOf('.xls') > -1){ | |||
| type = 'excel'; | |||
| } | |||
| this.openFile.push({name:file.file.name,type:type}) | |||
| this.openFileList.push(file.file); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .fileName{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 2; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,482 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 经营性资产情况公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <!-- <div class="record_main">--> | |||
| <!-- <div class="record_det">--> | |||
| <!-- <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.ny == '' ? '全部': queryParams.ny}}</div>--> | |||
| <!-- <div class="total_r">共{{listLength}}条公告</div>--> | |||
| <!-- </div>--> | |||
| <!-- <van-popup v-model="showTab" position="bottom">--> | |||
| <!-- <van-datetime-picker--> | |||
| <!-- v-model="currentDate"--> | |||
| <!-- type="year-month"--> | |||
| <!-- title="选择年月"--> | |||
| <!-- :min-date="minDate"--> | |||
| <!-- :max-date="maxDate"--> | |||
| <!-- :formatter="formatter"--> | |||
| <!-- @confirm="onConfirmOpenNy"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <!-- </div>--> | |||
| <van-tabs v-model="active"> | |||
| <van-tab title="固定资产"> | |||
| <van-dropdown-menu> | |||
| <van-dropdown-item v-model="queryParams.useType" :options="useTypeOptions" @change="changeUseType" /> | |||
| </van-dropdown-menu> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" > | |||
| <div class="info" @click="goDetail(item.id)"> | |||
| <div class="title"> | |||
| <!-- <i class="icon_box"></i>--> | |||
| <p class="news_title">{{item.name}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| {{selectDictLabel(useTypeOptionsY, item.useType)}} | |||
| <p>{{item.originalValue}}元</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </van-tab> | |||
| <van-tab title="资源性资产"> | |||
| <van-dropdown-menu> | |||
| <van-dropdown-item v-model="queryParams2.useType" :options="useTypeOptions" @change="changeUseType2" /> | |||
| </van-dropdown-menu> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading2" | |||
| :finished="finished2" | |||
| finished-text="没有更多了" | |||
| @load="getList2" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList2" :key="index" > | |||
| <div class="info" @click="goDetail2(item.id)"> | |||
| <div class="title"> | |||
| <!-- <i class="icon_box"></i>--> | |||
| <p class="news_title">{{selectDictLabel(resourceTypeOptionsY, item.resourceType)}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| {{selectDictLabel(useTypeOptionsY, item.useType)}} | |||
| <p>{{item.totalArea}}亩</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </van-tab> | |||
| </van-tabs> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { jyxzcqkgkList , jyxzyqkgkList } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| active: 0, | |||
| applicationList:[], | |||
| applicationList2:[], | |||
| useTypeOptionsY:[], | |||
| resourceTypeOptionsY:[], | |||
| resourceTypeOptions:[], | |||
| useTypeOptions: [ | |||
| { text: '使用情况', value: '' }, | |||
| ], | |||
| loading: false, | |||
| finished: false, | |||
| loading2: false, | |||
| finished2: false, | |||
| show: false, | |||
| showTab: false, | |||
| listLength:'0', | |||
| listLength2:'0', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc', | |||
| useType:'', | |||
| }, | |||
| queryParams2:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc', | |||
| useType:'', | |||
| }, | |||
| nowYear:new Date().getFullYear(), | |||
| minDate: new Date(2020, 0, 1), | |||
| maxDate: new Date(), | |||
| currentDate: new Date(), | |||
| yearList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams2.bookId = Cookies.get('bookId'); | |||
| this.getDicts("use_type").then((response) => { | |||
| this.useTypeOptionsY = response.data; | |||
| response.data.map(rr=>{ | |||
| this.useTypeOptions.push({ | |||
| text:rr.dictLabel, | |||
| value:rr.dictValue | |||
| }) | |||
| }) | |||
| }); | |||
| this.getDicts("resource_type").then((response) => { | |||
| this.resourceTypeOptionsY = response.data; | |||
| response.data.map(rr=>{ | |||
| this.resourceTypeOptions.push({ | |||
| text:rr.dictLabel, | |||
| value:rr.dictValue | |||
| }) | |||
| }) | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| console.log(_this.queryParams) | |||
| jyxzcqkgkList(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| // res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType); | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| getList2(){ | |||
| var _this = this; | |||
| console.log(_this.queryParams2) | |||
| jyxzyqkgkList(_this.queryParams2).then(response => { | |||
| _this.listLength2 = response.total; | |||
| response.rows.map(res=>{ | |||
| // res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType); | |||
| _this.applicationList2.push(res); | |||
| }) | |||
| if(_this.applicationList2.length >= response.total){ | |||
| _this.finished2 = true; | |||
| return; | |||
| }else{ | |||
| _this.loading2 = false; | |||
| _this.queryParams2.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| changeUseType(val){ | |||
| this.queryParams.useType = val; | |||
| this.queryParams.pageNum = 1; | |||
| this.applicationList = []; | |||
| this.loading = true; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| changeUseType2(val){ | |||
| this.queryParams2.useType = val; | |||
| this.queryParams2.pageNum = 1; | |||
| this.applicationList2 = []; | |||
| this.loading2 = true; | |||
| this.finished2 = false; | |||
| this.getList2(); | |||
| }, | |||
| formatter(type, val) { | |||
| if (type === 'year') { | |||
| return `${val}年`; | |||
| } else if (type === 'month') { | |||
| return `${val}月`; | |||
| } | |||
| return val; | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.queryParams.ny = this.format(data,'yyyy-MM'); | |||
| this.currentDate = data; | |||
| this.showTab = false; | |||
| this.applicationList = []; | |||
| this.queryParams.pageNum = 1; | |||
| this.getList(); | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| goDetail(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_operatingAssets_detail',query: {id:id}}) | |||
| }, | |||
| goDetail2(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_operatingAssets_detail2',query: {id:id}}) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| margin-top: 15PX; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| width: 100%; | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 34px; | |||
| background: url('../../../static/images/sunVillage_info/code_new/list_icon.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| width: 100%; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| p{ | |||
| margin-left: auto; | |||
| color:#df0707; | |||
| span{ | |||
| font-size: 2.45vh; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.copy{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_copy.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,193 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 固定资产详情 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-divider>固定资产信息</van-divider> | |||
| <van-field readonly v-model="form.name" type="textarea" autosize label="资产名称" placeholder="资产名称" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.useTypeText" label="使用状态" placeholder="使用状态" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.originalValue + '元'" label="原值" placeholder="原值" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.buildTime" label="购建时间" placeholder="构建时间" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.quantity" label="数量" placeholder="数量" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.unit" label="单位" placeholder="单位" input-align="right" :border="false"/> | |||
| <div v-if="form.contractionId"> | |||
| <van-divider>关联合同信息</van-divider> | |||
| <van-field readonly v-model="form.rentLessee" label="承租人" placeholder="承租人" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.contractYears + '年'" label="年限" placeholder="年限" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.totalAmount + '元'" label="合同金额" placeholder="合同金额" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.receivedAmount + '元'" label="已结款" placeholder="已结款" input-align="right" :border="false"/> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {jyxzcqkgkDetail} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "listMultipleLotsDetail", | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| useTypeOptions: [] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| let query = { | |||
| translate_dict: 1 | |||
| }; | |||
| jyxzcqkgkDetail(this.$route.query.id).then((res) => { | |||
| if (res.code === 200) { | |||
| res.data.useTypeText = this.selectDictLabel(this.useTypeOptions, res.data.useType); | |||
| this.form = res.data; | |||
| } | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary { | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper { | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head { | |||
| height: 90px; | |||
| padding: 0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people { | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon { | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time { | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: flex-end; | |||
| .icon { | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt { | |||
| padding: 0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img { | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p { | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main { | |||
| padding: 25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox { | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit { | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell { | |||
| padding-left: 0 !important; | |||
| padding-right: 0 !important; | |||
| padding-bottom: 0 !important; | |||
| } | |||
| /deep/ .van-field__label { | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before { | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message { | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,198 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 资源性资产详情 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-divider>资源性资产信息</van-divider> | |||
| <van-field readonly v-model="form.resourceTypeText" label="资源类型" placeholder="资源类型" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.useTypeText" label="使用情况" placeholder="使用情况" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.totalArea + '亩'" label="面积" placeholder="面积" input-align="right" :border="false"/> | |||
| <div v-if="form.contractionId"> | |||
| <van-divider>关联合同信息</van-divider> | |||
| <van-field readonly v-model="form.usedArea + '亩'" label="承租规模" placeholder="承租规模" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.rentLessee" label="承租人" placeholder="承租人" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.contractYears + '年'" label="年限" placeholder="年限" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.totalAmount + '元'" label="合同金额" placeholder="合同金额" input-align="right" :border="false"/> | |||
| <van-field readonly v-model="form.receivedAmount + '元'" label="已结款" placeholder="已结款" input-align="right" :border="false"/> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {jyxzyqkgkDetail} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "listMultipleLotsDetail", | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| useTypeOptions: [], | |||
| usedAreaOptions: [], | |||
| resourceTypeOptions: [] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("resource_type").then((response) => { | |||
| this.resourceTypeOptions = response.data; | |||
| }); | |||
| }, | |||
| mounted() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| let query = { | |||
| translate_dict: 1 | |||
| }; | |||
| jyxzyqkgkDetail(this.$route.query.id).then((res) => { | |||
| if (res.code === 200) { | |||
| res.data.useTypeText = this.selectDictLabel(this.useTypeOptions, res.data.useType); | |||
| res.data.resourceTypeText = this.selectDictLabel(this.resourceTypeOptions, res.data.resourceType); | |||
| this.form = res.data; | |||
| } | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary { | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper { | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head { | |||
| height: 90px; | |||
| padding: 0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people { | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon { | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time { | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: flex-end; | |||
| .icon { | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt { | |||
| padding: 0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img { | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p { | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main { | |||
| padding: 25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox { | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit { | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell { | |||
| padding-left: 0 !important; | |||
| padding-right: 0 !important; | |||
| padding-bottom: 0 !important; | |||
| } | |||
| /deep/ .van-field__label { | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before { | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message { | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,427 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| <p class="title">实施过程公开</p> | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <!-- <div class="add_btn" @click="add" v-show="showBtn"></div>--> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div></div> | |||
| <!-- <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div>--> | |||
| <div class="total_r">共{{listLength}}条公开</div> | |||
| </div> | |||
| <!-- <div class="record_list" v-if="showTab">--> | |||
| <!-- <div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div>--> | |||
| <!-- <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.otherName}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.openAt}} | |||
| </div> | |||
| </div> | |||
| <div class="operation" v-show="showBtn"> | |||
| <div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <!-- <div class="opera_btn edit" @click.stop="edit(item.id)">--> | |||
| <!-- <i class="icon "></i>--> | |||
| <!-- </div>--> | |||
| <!-- <div class="opera_btn delete" @click.stop="remove(item.id)">--> | |||
| <!-- <i class="icon"></i>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {Dialog, Toast} from "vant"; | |||
| import Cookies from "js-cookie"; | |||
| import {listOther, delSiyigongkai, listOtherOpen} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "otherOpenList", | |||
| data() { | |||
| return { | |||
| dataList:[], | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc', | |||
| openYear:'', | |||
| otherType: 13, | |||
| }, | |||
| yearList: [], | |||
| reload: false, | |||
| showTab: false, | |||
| otherTypeOptions: [], | |||
| showType: false, | |||
| loading: false, | |||
| finished: false, | |||
| applicationList:[], | |||
| listLength:'0', | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| if (this.showBtn){ | |||
| listOther(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }else{ | |||
| _this.queryParams.bookId = Cookies.get('bookId'); | |||
| listOtherOpen(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_process_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}}); | |||
| }, | |||
| add() { | |||
| this.$router.push({path:'/sunVillage_info/list_discussions_new_add'}); | |||
| }, | |||
| edit(id) { | |||
| this.$router.push({path:'/sunVillage_info/list_discussions_new_edit',query: {id:id}}); | |||
| }, | |||
| remove(id) { | |||
| Dialog.confirm({ | |||
| title: '警告', | |||
| message: '确认删除该项?', | |||
| }) | |||
| .then(() => { | |||
| const loading = Toast.loading({ | |||
| message: '删除中...', | |||
| duration: 0, | |||
| }); | |||
| delSiyigongkai(id).then((resp) => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| }) | |||
| .catch(() => {}); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.openYear = year; | |||
| this.reload = true; | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| .title { | |||
| } | |||
| /*.title::before {*/ | |||
| /* display: inline-block;*/ | |||
| /* width: 24px;*/ | |||
| /* height: 24px;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-right: 0.2rem;*/ | |||
| /* transform: rotate(*/ | |||
| /* 180deg*/ | |||
| /* );*/ | |||
| /*}*/ | |||
| /*.title::after {*/ | |||
| /* width: 0.32rem;*/ | |||
| /* height: 0.32rem;*/ | |||
| /* display: inline-block;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-left: 0.2rem;*/ | |||
| /*}*/ | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:15px 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,163 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 实施过程公开 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" /> | |||
| <van-field name="openContent" label="公开内容" input-align="right" :border="false" /> | |||
| <div class="open-content" v-html="form.openContent"></div> | |||
| <van-field | |||
| name="openPic" | |||
| label="公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openFile" | |||
| label="公开文件" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {otherPublicDetailN,otherPublicDetailOpen} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| id:'', | |||
| title: '综合公开', | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.otherType = this.$route.query.type; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if (this.showBtn){ | |||
| otherPublicDetailN(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| }else{ | |||
| otherPublicDetailOpen(this.id,Cookies.get('bookId')).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| } | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -35,7 +35,7 @@ | |||
| <van-col :span="3">{{item.assetType}}</van-col> | |||
| <van-col :span="3">{{item.buildTime}}</van-col> | |||
| <van-col :span="3">{{item.useType}}</van-col> | |||
| <van-col :span="3">{{item.netValue}}</van-col> | |||
| <van-col :span="3">{{item.quantity}}</van-col> | |||
| <van-col :span="3">{{item.unit}}</van-col> | |||
| <van-col :span="3">{{item.originalValue}}</van-col> | |||
| </van-row> | |||
| @@ -67,7 +67,7 @@ | |||
| queryParams:{ | |||
| bookId:'', | |||
| pageNum:1, | |||
| pageSize:10, | |||
| pageSize:500, | |||
| orderByColumn: 'code', | |||
| isAsc: 'asc', | |||
| translate_dict:1, | |||
| @@ -0,0 +1,470 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| style="" | |||
| > | |||
| 收支明细公开 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.ny == '' ? '全部': queryParams.ny}}</div> | |||
| <div class="total_r">共{{listLength}}条</div> | |||
| </div> | |||
| <van-popup v-model="showTab" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="year-month" | |||
| title="选择年月" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| :formatter="formatter" | |||
| @confirm="onConfirmOpenNy" | |||
| /> | |||
| </van-popup> | |||
| <!-- <div class="record_list" v-if="showTab">--> | |||
| <!-- <div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div>--> | |||
| <!-- <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <i class="icon_box"></i> | |||
| <p class="news_title">{{item.voucherSummary}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <!-- <div class="icon_time"></div>--> | |||
| {{item.bookDate}} | |||
| <p v-if="item.jieAmount" style="color: #1ddf07">¥ <span>{{item.jieAmount}}</span>元</p> | |||
| <p v-if="item.daiAmount" style="color: #df0707">¥ <span>{{item.daiAmount}}</span>元</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| <!-- <div class="bottom_tips">--> | |||
| <!-- <span class="xs">已经到底啦</span>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { financialPublicDetailReport , otherRemove } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| otherGkTypeOptions:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| show: false, | |||
| showTab: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| ny: this.format(new Date(),'yyyy-MM'), | |||
| isAsc:'desc' | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| nowYear:new Date().getFullYear(), | |||
| minDate: new Date(2020, 0, 1), | |||
| maxDate: new Date(), | |||
| currentDate: new Date(), | |||
| yearList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.otherType = this.$route.query.typeX; | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| console.log(_this.queryParams) | |||
| financialPublicDetailReport(_this.queryParams).then(response => { | |||
| _this.listLength = response.total == 0 ? 0 : (response.total - 1); | |||
| response.rows.map(res=>{ | |||
| // res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType); | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| formatter(type, val) { | |||
| if (type === 'year') { | |||
| return `${val}年`; | |||
| } else if (type === 'month') { | |||
| return `${val}月`; | |||
| } | |||
| return val; | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.queryParams.ny = this.format(data,'yyyy-MM'); | |||
| this.currentDate = data; | |||
| this.showTab = false; | |||
| this.applicationList = []; | |||
| this.queryParams.pageNum = 1; | |||
| this.loading = true; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.year = year ; | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| /** 删除按钮操作 */ | |||
| handleDelete(row,index) { | |||
| let assetStatus = row.assetStatus ? row.assetStatus : data[0].assetStatus; | |||
| if (assetStatus === '2' || assetStatus === '3') { | |||
| this.$notify({ | |||
| message: "不允许删除已出售或已报废的资产", | |||
| type: "warning", | |||
| }); | |||
| return; | |||
| } | |||
| let useType = row.useType; | |||
| if(useType == 3) { | |||
| this.$notify({ | |||
| message: "出租或出借的资产不允许删除", | |||
| type: "warning", | |||
| }); | |||
| return ; | |||
| } | |||
| const ids = row.id || this.ids; | |||
| this.$dialog.alert( | |||
| { | |||
| message:'是否确认删除固定资产?', | |||
| title:"警告", | |||
| confirmButtonText: "确定", | |||
| cancelButtonText: "取消", | |||
| } | |||
| ) | |||
| .then(function () { | |||
| return delPermanent(ids); | |||
| }) | |||
| .then(() => { | |||
| this.applicationList.splice(index, 1); | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| this.$router.push({path: '/sunVillage_info/list_contract_add', query: {type: this.$route.query.typeX}}) | |||
| }, | |||
| goDetail(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_contract_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}}) | |||
| }, | |||
| goEdit(id, operation){ | |||
| this.$router.push({path:'/sunVillage_info/list_contract_edit',query: {id:id,type:this.$route.query.typeX,operation: operation}}) | |||
| }, | |||
| goRanking(id,time){ | |||
| this.$router.push({path:'/sunVillage_info/list_tourists_ranking',query: {id:id,time:time}}) | |||
| }, | |||
| goRemove(id,index){ | |||
| this.$dialog.alert({ | |||
| title: '提示', | |||
| message: '确认删除?', | |||
| showCancelButton:true, | |||
| }) | |||
| .then(() => { | |||
| otherRemove(id).then(response => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.applicationList.splice(index,1); | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| width: 100%; | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 34px; | |||
| background: url('../../../static/images/sunVillage_info/code_new/list_icon.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| width: 100%; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| p{ | |||
| margin-left: auto; | |||
| color:#df0707; | |||
| span{ | |||
| font-size: 2.45vh; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.copy{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_copy.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,413 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| <p class="title">专项公示</p> | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn" @click="add" v-show="showBtn"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div></div> | |||
| <!-- <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div>--> | |||
| <div class="total_r">共{{listLength}}条公开</div> | |||
| </div> | |||
| <!-- <div class="record_list" v-if="showTab">--> | |||
| <!-- <div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div>--> | |||
| <!-- <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.openName}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <!-- <div class="icon_time"></div>--> | |||
| <!-- {{item.openAt}}--> | |||
| 有异议:{{item.differCount}} | |||
| 无异议:{{item.agreeCount}} | |||
| </div> | |||
| </div> | |||
| <div class="operation" v-show="showBtn"> | |||
| <div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn edit" @click.stop="edit(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn delete" @click.stop="remove(item.id)"> | |||
| <i class="icon"></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {Dialog, Toast} from "vant"; | |||
| import Cookies from "js-cookie"; | |||
| import {specialPublicityList, specialPublicityRemove} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "otherOpenList", | |||
| data() { | |||
| return { | |||
| dataList:[], | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc', | |||
| openYear:'', | |||
| otherType: null, | |||
| }, | |||
| yearList: [], | |||
| reload: false, | |||
| showTab: false, | |||
| otherTypeOptions: [], | |||
| showType: false, | |||
| loading: false, | |||
| finished: false, | |||
| applicationList:[], | |||
| listLength:'0', | |||
| showBtn:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| specialPublicityList(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| _this.applicationList.push(res); | |||
| }) | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({path:'/sunVillage_info/list_special_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}}); | |||
| }, | |||
| add() { | |||
| this.$router.push({path:'/sunVillage_info/list_special_add'}); | |||
| }, | |||
| edit(id) { | |||
| this.$router.push({path:'/sunVillage_info/list_special_edit',query: {id:id}}); | |||
| }, | |||
| remove(id) { | |||
| Dialog.confirm({ | |||
| title: '警告', | |||
| message: '确认删除该项?', | |||
| }) | |||
| .then(() => { | |||
| const loading = Toast.loading({ | |||
| message: '删除中...', | |||
| duration: 0, | |||
| }); | |||
| specialPublicityRemove(id).then((resp) => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| }) | |||
| .catch(() => {}); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.openYear = year; | |||
| this.reload = true; | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| .title { | |||
| } | |||
| /*.title::before {*/ | |||
| /* display: inline-block;*/ | |||
| /* width: 24px;*/ | |||
| /* height: 24px;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-right: 0.2rem;*/ | |||
| /* transform: rotate(*/ | |||
| /* 180deg*/ | |||
| /* );*/ | |||
| /*}*/ | |||
| /*.title::after {*/ | |||
| /* width: 0.32rem;*/ | |||
| /* height: 0.32rem;*/ | |||
| /* display: inline-block;*/ | |||
| /* content: '';*/ | |||
| /* background-image: url('../../assets/images/icon/index_header_focus.png');*/ | |||
| /* background-repeat: no-repeat;*/ | |||
| /* background-size: contain;*/ | |||
| /* margin-left: 0.2rem;*/ | |||
| /*}*/ | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:15px 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,349 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 专项公示 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示标题</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openAt" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择公示年月' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openAt" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="specialPublicityType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择公示类型' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示类型</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| :columns="specialPublicityTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <!-- <van-field readonly input-align="right" :border="false" >--> | |||
| <!-- <template #label>--> | |||
| <!-- <p style="margin-left: 5px;">二维码图片</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <!-- <!– @delete="deleteFile1"–>--> | |||
| <!-- <van-uploader v-model="qrcode" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />--> | |||
| <van-field v-model="form.openContent" placeholder="请输入内容" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">内容</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| commonUpload, | |||
| specialPublicityAdd | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| showThreeDetailType:false, | |||
| form:{ | |||
| openAt:this.format(new Date(),'yyyy-MM-dd'), | |||
| openPic:'', | |||
| qrcode:'', | |||
| }, | |||
| openPic:[], | |||
| qrcode:[], | |||
| openNy:new Date(), | |||
| openAt:'', | |||
| specialPublicityType:'', | |||
| queryParams:{ | |||
| id:'' | |||
| }, | |||
| qrcode2:[], | |||
| openPic2:[], | |||
| specialPublicityTypeOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.getDicts("special_publicity_type").then((response) => { | |||
| this.specialPublicityTypeOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmThreeDetailType(data){ | |||
| this.specialPublicityType = data.dictLabel; | |||
| this.form.specialPublicityType = data.dictValue; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| // that.form.qrcode = that.qrcode2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| specialPublicityAdd(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '新增成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },1000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openAt = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.openPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile2(file,detail){ | |||
| console.log(detail) | |||
| this.qrcode2.splice(detail.index,1) | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.qrcode2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.qrcode2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,173 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 专项公示 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.openName" label="公示标题" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.openAt" label="公示年月" input-align="right" :border="false" /> | |||
| <van-field | |||
| name="openPic" | |||
| label="公示图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| label-width="auto" | |||
| name="qrcode" | |||
| label="二维码图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="qrcode" :value="form.qrcode" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="specialPublicityType" :value="form.specialPublicityType" label="公示类型" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field name="specialPublicityType" :value="form.differCount" label="有异议数" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field name="specialPublicityType" :value="form.agreeCount" label="无异议数" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field label="内容" :value="form.openContent" placeholder="请输入内容" input-align="right" :border="false" /> | |||
| <van-field name="remake" :value="form.remark" label="备注" input-align="right" :border="false"/> | |||
| <van-field name="remake" :value="form.readCount" label="阅读量" input-align="right" :border="false"/> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {specialPublicityDetail} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| id:'', | |||
| title: '综合公开', | |||
| showBtn:true, | |||
| queryParams:{ | |||
| bookId:'', | |||
| id:'', | |||
| deptId:'' | |||
| }, | |||
| specialPublicityTypeOptions:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.otherType = this.$route.query.type; | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| this.getDicts("special_publicity_type").then((response) => { | |||
| this.specialPublicityTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| specialPublicityDetail(this.queryParams).then((resp) => { | |||
| console.log() | |||
| resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType); | |||
| this.form = resp.data; | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,199 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`" | |||
| > | |||
| 专项公示 | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.openName" label="公示标题" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.openAt" label="公示年月" input-align="right" :border="false" /> | |||
| <van-field | |||
| name="openPic" | |||
| label="公示图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| label-width="auto" | |||
| name="qrcode" | |||
| label="二维码图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload style="padding-left: 10PX;" name="qrcode" :value="form.qrcode" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="specialPublicityType" :value="form.specialPublicityType" label="公示类型" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field name="specialPublicityType" :value="form.differCount" label="有异议数" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field name="specialPublicityType" :value="form.agreeCount" label="无异议数" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field label="内容" :border="false" /> | |||
| <div class="contentBox" v-html="form.openContent"></div> | |||
| <van-field name="remake" :value="form.remark" label="备注" type="textarea" autosize input-align="right" :border="false"/> | |||
| <van-field name="remake" :value="form.readCount" label="阅读量" input-align="right" :border="false"/> | |||
| </div> | |||
| <div v-if="showHasVote" style="margin: 16px auto;display: flex;justify-content: space-evenly;padding: 0 25px"> | |||
| <van-button round block type="danger" @click="hasVote('1')">有异议</van-button> | |||
| <van-button round block type="primary" @click="hasVote('2')" style="margin-left: 25px;">无异议</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {specialPublicityDetail, updateSpecialPublicityCount, addReadCount} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| id:'', | |||
| title: '综合公开', | |||
| showBtn:true, | |||
| showHasVote:true, | |||
| queryParams:{ | |||
| bookId:'', | |||
| id:'', | |||
| deptId:'' | |||
| }, | |||
| specialPublicityTypeOptions:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.otherType = this.$route.query.type; | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = this.$route.query.bookId; | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| addReadCount({id: this.$route.query.id}).then((resp) => { | |||
| }); | |||
| this.getDicts("special_publicity_type").then((response) => { | |||
| this.specialPublicityTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| specialPublicityDetail(this.queryParams).then((resp) => { | |||
| console.log() | |||
| resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType); | |||
| if(resp.data.openContent.indexOf('<img') > -1){ | |||
| resp.data.openContent = resp.data.openContent.replace(/<img/g,'<img style="width:100%;"') | |||
| console.log(resp.data) | |||
| } | |||
| this.form = resp.data; | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| hasVote(type){ | |||
| this.queryParams.countType = type; | |||
| updateSpecialPublicityCount(this.queryParams).then((resp) => { | |||
| console.log() | |||
| resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType); | |||
| this.form = resp.data; | |||
| this.showHasVote = false; | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /*/deep/ .van-button--primary{*/ | |||
| /* background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;*/ | |||
| /* background-size: 100% 100%;*/ | |||
| /* border: none;*/ | |||
| /*}*/ | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .contentBox img{ | |||
| width: 100%; | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,371 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 专项公示 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示标题</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="form.openAt" | |||
| @click="showBuildTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择公示年月' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示年月</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showBuildTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="openAt" | |||
| type="date" | |||
| title="选择年月日" | |||
| @confirm="onConfirmOpenNy" | |||
| @cancel="showBuildTime = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| placeholder="请选择" | |||
| v-model="specialPublicityType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true , message:'请选择公示类型' }]" | |||
| > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示类型</p> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| value-key="dictLabel" | |||
| :columns="specialPublicityTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field readonly input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">公示图片</p> | |||
| </template> | |||
| </van-field> | |||
| <!-- @delete="deleteFile1"--> | |||
| <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" /> | |||
| <!-- <van-field readonly input-align="right" :border="false" >--> | |||
| <!-- <template #label>--> | |||
| <!-- <p style="margin-left: 5px;">二维码图片</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <!-- <!– @delete="deleteFile1"–>--> | |||
| <!-- <van-uploader v-model="qrcode" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />--> | |||
| <van-field v-model="form.openContent" placeholder="请输入内容" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">内容</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" > | |||
| <template #label> | |||
| <p style="margin-left: 5px;">备注</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| commonUpload, | |||
| specialPublicityDetail, | |||
| specialPublicityEdit | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| showBuildTime:false, | |||
| form:{ | |||
| openAt:this.format(new Date(),'yyyy-MM-dd'), | |||
| openPic:'', | |||
| qrcode:'', | |||
| }, | |||
| openPic:[], | |||
| qrcode:[], | |||
| openNy:new Date(), | |||
| openAt:'', | |||
| queryParams:{ | |||
| id:'' | |||
| }, | |||
| qrcode2:[], | |||
| openPic2:[], | |||
| showThreeDetailType:false, | |||
| specialPublicityType:'', | |||
| specialPublicityTypeOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.getDicts("special_publicity_type").then((response) => { | |||
| this.specialPublicityTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmThreeDetailType(data){ | |||
| this.specialPublicityType = data.dictLabel; | |||
| this.form.specialPublicityType = data.dictValue; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| getDetail(){ | |||
| specialPublicityDetail(this.queryParams).then((res) => { | |||
| if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){ | |||
| this.openPic = res.data.openPic.split(',') | |||
| this.openPic2 = res.data.openPic.split(',') | |||
| this.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, res.data.specialPublicityType); | |||
| this.openPic.map((rrr,i)=>{ | |||
| this.openPic[i] = {url:'/api'+rrr} | |||
| }) | |||
| } | |||
| // if (res.data.qrcode!='' && res.data.qrcode != null && res.data.qrcode != undefined){ | |||
| // this.qrcode = res.data.qrcode.split(',') | |||
| // this.qrcode2 = res.data.qrcode.split(',') | |||
| // this.qrcode.map((rrr,i)=>{ | |||
| // this.qrcode[i] = {url:'/api'+rrr} | |||
| // }) | |||
| // } | |||
| this.form = res.data; | |||
| }) | |||
| }, | |||
| onSubmit(){ | |||
| var that = this; | |||
| // that.form.qrcode = that.qrcode2.join(',') | |||
| that.form.openPic = that.openPic2.join(',') | |||
| specialPublicityEdit(that.form).then((r1) => { | |||
| if (r1.code == 200){ | |||
| that.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },1000) | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmOpenNy(data){ | |||
| this.form.openAt = this.format(data,'yyyy-MM-dd'); | |||
| this.openAt = data; | |||
| this.showBuildTime = false; | |||
| }, | |||
| deleteFile1(file,detail){ | |||
| console.log(detail) | |||
| this.openPic2.splice(detail.index,1) | |||
| }, | |||
| deleteFile2(file,detail){ | |||
| console.log(detail) | |||
| this.qrcode2.splice(detail.index,1) | |||
| }, | |||
| afterRead(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.openPic2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| afterRead2(file) { | |||
| this.$toast.loading({ | |||
| message: "上传中...", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| // 此时可以自行将文件上传至服务器 | |||
| if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false | |||
| file.map(res=>{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", res.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.qrcode2.push(r1.fileName); | |||
| }) | |||
| }) | |||
| }else{ | |||
| let params1 = new FormData(); | |||
| params1.append("file", file.file); | |||
| commonUpload(params1).then((r1) => { | |||
| this.qrcode2.push(r1.fileName); | |||
| }) | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .release_head{ | |||
| height: 90px; | |||
| padding:0 23px; | |||
| display: flex; | |||
| align-items: center; | |||
| font-size: 26px; | |||
| color: #929292; | |||
| .people{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| .icon{ | |||
| width: 24px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .time{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| } | |||
| .release_conetnt{ | |||
| padding:0 22px; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| line-height: 44px; | |||
| img{ | |||
| max-width: 100%; | |||
| margin-bottom: 16px; | |||
| } | |||
| p{ | |||
| margin-bottom: 16px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| /*padding-left: 10PX;*/ | |||
| width: auto; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 85PX; | |||
| } | |||
| /deep/ .van-field__error-message{ | |||
| display: none; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -294,10 +294,11 @@ | |||
| width: 120PX; | |||
| height: 50PX; | |||
| border-radius: 50PX; | |||
| overflow: hidden; | |||
| img{ | |||
| width: 100%; | |||
| height: 100%; | |||
| border-radius: 50PX; | |||
| transform: scale(1.2); | |||
| } | |||
| } | |||
| } | |||
| @@ -99,7 +99,7 @@ | |||
| created() { | |||
| this.height = document.body.clientHeight | |||
| this.getCookie(); | |||
| this.formData.deptId = Cookies.get('deptId'); | |||
| //this.formData.deptId = Cookies.get('deptId'); // 要关掉这个 | |||
| this.allowIdentityVerified(); | |||
| }, | |||
| methods: { | |||
| @@ -143,10 +143,15 @@ | |||
| let seconds = 3600; | |||
| let expires = new Date(new Date() * 1 + seconds * 1000); | |||
| getFamilyMemberList({idcard:this.formData.idcard,familyStatus:"02"}).then(res => { | |||
| getFamilyMemberList({idcard:this.formData.idcard/*,familyStatus:"02"*/}).then(res => { | |||
| const farmerCode = res.rows[0].farmerCode; | |||
| Cookies.set("farmerCode",farmerCode, { expires: 30 }); | |||
| Cookies.set("user", response.data, { expires: expires }); | |||
| // 可能不是从无权限公开页面跳入本页面的,可能直接封装的本页面作为入口,故重置以下 | |||
| Cookies.set("bookId", res.rows[0].bookId, {expires: 30,}); | |||
| Cookies.set("deptId", res.rows[0].deptId, {expires: 30,}); | |||
| if (this.formData.identityCheck){ | |||
| this.$router.push({ | |||
| path: '/sunVillage_info/identity_check', | |||
| @@ -0,0 +1,337 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <!-- <div class="return_btn" @click="onClickLeft"></div>--> | |||
| <div class="focus_head"> | |||
| <div class="title"> | |||
| <p>您好,</p> | |||
| <p>欢迎使用阳光三资</p> | |||
| </div> | |||
| </div> | |||
| <div class="login_main"> | |||
| <van-form @submit="handleLogin"> | |||
| <div class="login_from"> | |||
| <div class="flex_block"> | |||
| <div class="flex_input_main"> | |||
| <div class="icon_wrap user"></div> | |||
| <div class="input_wrap"> | |||
| <input type="text" v-model="formData.memberName" class="ipt" placeholder="姓名"/> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="flex_block"> | |||
| <div class="flex_input_main"> | |||
| <div class="icon_wrap password"></div> | |||
| <div class="input_wrap"> | |||
| <input type="text" v-model="formData.idcard" class="ipt" placeholder="身份证号码"/> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <!-- <div class="flex_block">--> | |||
| <!-- <div class="flex_input_main valid">--> | |||
| <!-- <div class="icon_wrap valid"></div>--> | |||
| <!-- <div class="input_wrap">--> | |||
| <!-- <input type="text" v-model="formData.code" class="ipt" maxlength="4" placeholder="请输入验证码"/>--> | |||
| <!-- </div>--> | |||
| <!-- </div>--> | |||
| <!-- <div class="valid_main">--> | |||
| <!-- <img :src="codeUrl" @click="getCode" />--> | |||
| <!-- </div>--> | |||
| <!-- </div>--> | |||
| <!-- <div style="display: flex;align-items: center;justify-content: space-between;"> | |||
| <van-checkbox v-model="formData.identityCheck">核身校验</van-checkbox> | |||
| <van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox> | |||
| </div> --> | |||
| <!-- <van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox>--> | |||
| </div> | |||
| <div class="login_btn"> | |||
| <!-- <div class="btn" :loading="loading">登录</div>--> | |||
| <van-button | |||
| class="btn" | |||
| round | |||
| block | |||
| type="info" | |||
| native-type="submit" | |||
| :loading="loading" | |||
| >登录</van-button> | |||
| </div> | |||
| </van-form> | |||
| <p class="copy_name">{{tsdh}}</p> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getCodeImg, getSmsCode } from "@/api/login"; | |||
| import {checkFarmer, allowFaceVerify, webList} from "@/api/sunVillage_info/fixedAssets"; | |||
| import { getFamilyMemberList } from "@/api/sunVillage_info/homestead/familyMember"; | |||
| import Cookies from "js-cookie"; | |||
| import { encrypt, decrypt } from "../../utils/jsencrypt"; | |||
| //引用wx sdk | |||
| import wx from "weixin-js-sdk"; | |||
| export default { | |||
| name: "loginCode", | |||
| data() { | |||
| return { | |||
| formData: { | |||
| memberName:'', | |||
| idcard:'', | |||
| bookId:'', | |||
| deptId:null, | |||
| facialAt:null, | |||
| isFacial:null, | |||
| headSculpture:null, | |||
| rememberMe:false, | |||
| identityCheck:false, | |||
| }, | |||
| loading: false, | |||
| codeUrl: "", //验证码 | |||
| tsdh: "中农融信(北京)科技股份有限公司", //验证码 | |||
| isSmsLogin: false, //是否手机验证码 | |||
| computeTime: 0, | |||
| height:0, | |||
| show:true | |||
| }; | |||
| }, | |||
| created() { | |||
| this.height = document.body.clientHeight | |||
| this.getCookie(); | |||
| //this.formData.deptId = Cookies.get('deptId'); // 要关掉这个 | |||
| this.allowIdentityVerified(); | |||
| webList().then((res) => { | |||
| if (res.code == 200) { | |||
| var content = res.rows; | |||
| content.map(rr=>{ | |||
| if (rr.configKey == 'web.open.technique'){ | |||
| this.tsdh = rr.configValue; | |||
| } | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| getCookie() { | |||
| const memberName = Cookies.get("memberName"); | |||
| const idcard = Cookies.get("idcard"); | |||
| const rememberMe = Cookies.get("rememberInformation"); | |||
| this.formData = { | |||
| memberName: memberName === undefined ? this.formData.memberName : memberName, | |||
| idcard: idcard === undefined ? this.formData.idcard : idcard, | |||
| rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | |||
| }; | |||
| }, | |||
| handleLogin(values) { | |||
| if (this.formData.rememberMe) { | |||
| Cookies.set("memberName", this.formData.memberName, { expires: 30 }); | |||
| Cookies.set("idcard", this.formData.idcard, { expires: 30 }); | |||
| Cookies.set("rememberInformation", this.formData.rememberMe, { expires: 30 }); | |||
| } else { | |||
| Cookies.remove("username"); | |||
| Cookies.remove("password"); | |||
| Cookies.remove("rememberInformation"); | |||
| } | |||
| //账号密码登录 | |||
| if (this.formData.memberName == "") { | |||
| this.$dialog.alert({ | |||
| message: '姓名不能为空', | |||
| }); | |||
| return false; | |||
| } else if (this.formData.idcard == "") { | |||
| this.$dialog.alert({ | |||
| message: '身份证不能为空', | |||
| }); | |||
| return false; | |||
| } | |||
| checkFarmer(this.formData).then(response => { | |||
| // console.log(response.data) | |||
| if (response.code == 200){ | |||
| let seconds = 3600; | |||
| let expires = new Date(new Date() * 1 + seconds * 1000); | |||
| getFamilyMemberList({idcard:this.formData.idcard/*,familyStatus:"02"*/}).then(res => { | |||
| const farmerCode = res.rows[0].farmerCode; | |||
| Cookies.set("farmerCode",farmerCode, { expires: 30 }); | |||
| Cookies.set("user", response.data, { expires: expires }); | |||
| // 可能不是从无权限公开页面跳入本页面的,可能直接封装的本页面作为入口,故重置以下 | |||
| Cookies.set("bookId", res.rows[0].bookId, {expires: 30,}); | |||
| Cookies.set("deptId", res.rows[0].deptId, {expires: 30,}); | |||
| if (this.formData.identityCheck){ | |||
| this.$router.push({ | |||
| path: '/sunVillage_info/identity_check', | |||
| query: { responseData: response.data }}); | |||
| return; | |||
| } | |||
| this.$router.push({path:'/sunVillage_info/index_code_rights_new'}) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| allowIdentityVerified() { | |||
| allowFaceVerify().then(response => { | |||
| this.formData.identityCheck = JSON.parse(response.data); | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-checkbox__label{ | |||
| color: #2376EC; | |||
| } | |||
| /deep/ .van-checkbox{ | |||
| /*justify-content: right;*/ | |||
| } | |||
| .home_wrapper{ | |||
| width: 100vw; | |||
| min-height: 100vh; | |||
| background: #F5F6F9 url('../../../static/images/sunVillage_info/sunVillage_info_login_code_new_bg.png') no-repeat center top; | |||
| background-size: 100% auto; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .focus_head{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| padding: 0 0 0 7vw; | |||
| height: 30vh; | |||
| .title{ | |||
| color: #112F6A; | |||
| font-family: 黑体; | |||
| font-size: 3.5vh; | |||
| margin-top: 80px; | |||
| p{ | |||
| margin-bottom: 1vh; | |||
| } | |||
| } | |||
| } | |||
| .focus_info{ | |||
| img{ | |||
| width: 94%; | |||
| margin: 0 auto; | |||
| display: block; | |||
| } | |||
| } | |||
| .login_main{ | |||
| width: 100%; | |||
| height: 70vh; | |||
| /*height: 550px;*/ | |||
| background: #ffffff; | |||
| background-size: 100% 100%; | |||
| margin: -1PX auto 0; | |||
| padding:50px; | |||
| border-radius: 35PX 35PX 0 0; | |||
| position: relative; | |||
| .copy_name{ | |||
| position: absolute; | |||
| bottom: 2vh; | |||
| text-align: center; | |||
| color: #707070; | |||
| width: calc(100% - 100px); | |||
| } | |||
| } | |||
| .login_from{ | |||
| .flex_block{ | |||
| margin-bottom: 40px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .flex_input_main{ | |||
| position: relative; | |||
| display: flex; | |||
| flex: 1; | |||
| align-items:center; | |||
| background: #E7F0FF; | |||
| border-radius: 62px; | |||
| height: 50Px; | |||
| .icon_wrap{ | |||
| width: 35px; | |||
| height: 35px; | |||
| &.user{ | |||
| background: url('../../assets/images/sunVillage_info/login_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-left: 30px; | |||
| } | |||
| &.password{ | |||
| background: url('../../assets/images/sunVillage_info/login_icon_2_code.png') no-repeat; | |||
| height: 25px; | |||
| background-size: 100% 100%; | |||
| margin-left: 30px; | |||
| } | |||
| &.valid{ | |||
| background: url('../../assets/images/sunVillage_info/login_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-left: 30px; | |||
| } | |||
| } | |||
| .input_wrap{ | |||
| flex: 1; | |||
| margin-left: 16px; | |||
| padding-right: 30px; | |||
| .ipt{ | |||
| width: 100%; | |||
| height: 48px; | |||
| background:transparent; | |||
| font-size: 30px; | |||
| color: #3f3d56; | |||
| } | |||
| } | |||
| .showHidden{ | |||
| width: 32px; | |||
| height: 32px; | |||
| background: url('../../assets/images/sunVillage_info/login_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: absolute; | |||
| right: 38px; | |||
| cursor: pointer; | |||
| &.ico_hide{ | |||
| background: url('../../assets/images/sunVillage_info/login_icon_5.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| &.valid{ | |||
| flex:0 0 380px; | |||
| } | |||
| } | |||
| .valid_main{ | |||
| width: 165px; | |||
| height: 62px; | |||
| border-radius: 30px; | |||
| img{ | |||
| width: 100%; | |||
| height: 100%; | |||
| border-radius: 30px; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .login_btn{ | |||
| padding-top: 80px; | |||
| .btn{ | |||
| width: 90%; | |||
| height: 50PX; | |||
| margin:0 auto; | |||
| font-size: 32px; | |||
| color: #fff; | |||
| line-height: 50PX; | |||
| text-align: center; | |||
| border: none; | |||
| background: linear-gradient(to right , #97EDF7 , #2376EC); | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -44,13 +44,9 @@ | |||
| </template> | |||
| <script> | |||
| import { getCodeImg, getSmsCode } from "@/api/login"; | |||
| import { checkFarmer, allowFaceVerify } from "@/api/sunVillage_info/fixedAssets"; | |||
| import { getFamilyMemberList } from "@/api/sunVillage_info/homestead/familyMember"; | |||
| import { allowFaceVerify } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import { encrypt, decrypt } from "../../utils/jsencrypt"; | |||
| //引用wx sdk | |||
| import wx from "weixin-js-sdk"; | |||
| import {farmerLogin} from "@/api/register"; | |||
| export default { | |||
| name: "loginFarmer", | |||
| @@ -0,0 +1,178 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| {{title}} | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" /> | |||
| <van-field name="openContent" label="公开内容" input-align="right" :border="false" /> | |||
| <div class="open-content" v-html="form.openContent"></div> | |||
| <van-field | |||
| name="openPic" | |||
| label="公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openFile" | |||
| label="公开文件" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {getOther} from "@/api/sunVillage_info/otherOpen"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: { | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| otherName: null, | |||
| otherType: '1', | |||
| openYear: null, | |||
| openAt: null, | |||
| openContent: null, | |||
| openFile: null, | |||
| openPic: null, | |||
| remark: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null, | |||
| }, | |||
| id:'', | |||
| title: '综合公开', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| getOther(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||
| if(dict) | |||
| this.title = dict.dictLabel; | |||
| }); | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,280 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| {{titlePreifx}}{{title}} | |||
| <div class="return_btn" @click="back()"></div> | |||
| </div> | |||
| <van-form ref="formData" :show-error-message="false" @submit="submit"> | |||
| <div class="list_main"> | |||
| <field-select | |||
| v-if="showTypeSelector" | |||
| v-model="form.otherType" | |||
| label="公开类型" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="请选择公开类型" | |||
| :rules="rules.otherType" | |||
| required | |||
| size="large" | |||
| :columns="otherTypeOptions"/> | |||
| <van-field name="otherName" v-model="form.otherName" label="公开名称" input-align="right" required :rules="rules.otherName" placeholder="请输入公开名称" size="large" :maxlength="150"/> | |||
| <field-date-picker | |||
| name="openAt" | |||
| class="field_no-label" | |||
| v-model="form.openAt" | |||
| placeholder="请选择公开时间" | |||
| formatter="yyyy-MM-dd" | |||
| input-align="right" | |||
| type="date" | |||
| label="公开时间" | |||
| :required="true" | |||
| :rules="rules.openAt" | |||
| size="large" | |||
| /> | |||
| <van-field name="openContent" label="公开内容" size="large" :border="false"/> | |||
| <vue-html5-editor :content="content" :height="300" @change="updateData" style="margin-top: 0.2rem;"></vue-html5-editor> | |||
| <van-field | |||
| name="openPic" | |||
| label="公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/> | |||
| <van-field | |||
| name="openFile" | |||
| label="公开文件" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openFile" v-model="form.openFile" accept="*" multiple/> | |||
| <van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import FieldDatePicker from "@/components/form/FieldDatePicker.vue"; | |||
| import {Toast} from "vant"; | |||
| import {addOther, getOther, updateOther} from "@/api/sunVillage_info/otherOpen"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "otherOpenEdit", | |||
| components: {FieldSelect, FieldDatePicker, CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: { | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| otherName: null, | |||
| otherType: null, | |||
| openYear: null, | |||
| openAt: null, | |||
| openContent: null, | |||
| openFile: null, | |||
| openPic: null, | |||
| remark: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null, | |||
| }, | |||
| rules: { | |||
| openAt: [{message: '请选择公开时间', required: true}], | |||
| otherName: [{message: '请输入公开名称', required: true}], | |||
| otherType: [{message: '请选择公开类型', required: true}], | |||
| }, | |||
| id: null, | |||
| intent: null, | |||
| content: '', | |||
| otherTypeOptions: [], | |||
| otherType: null, | |||
| title: '综合公开', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.intent = this.$route.query.intent; | |||
| this.otherType = this.$route.query.otherType; | |||
| if(this.isEdit) | |||
| this.getDetail(); | |||
| else | |||
| { | |||
| this.form.otherType = this.$route.query.otherType; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| this.otherTypeOptions = resp.data; | |||
| const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||
| if(dict) | |||
| this.title = dict.dictLabel; | |||
| }); | |||
| } | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| getOther(this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| this.content = this.form.openContent || ''; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||
| if(dict) | |||
| this.title = dict.dictLabel; | |||
| }); | |||
| }); | |||
| }, | |||
| back(ti) { | |||
| if(ti > 0) | |||
| setTimeout(() => this.$router.back(), ti); | |||
| else | |||
| this.$router.back(); | |||
| }, | |||
| updateData(t) { | |||
| this.form.openContent = t; | |||
| }, | |||
| submit() { | |||
| const loading = Toast.loading({ | |||
| message: '保存中...', | |||
| duration: 0, | |||
| }); | |||
| if(this.form.id) | |||
| { | |||
| updateOther(this.form).then((resp) => { | |||
| this.$notify({ type: 'success', message: '保存成功' }); | |||
| this.back(1500); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| } | |||
| else | |||
| { | |||
| addOther(this.form).then((resp) => { | |||
| this.$notify({ type: 'success', message: '新增成功' }); | |||
| this.back(1500); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| } | |||
| }, | |||
| }, | |||
| computed: { | |||
| isAdd() { | |||
| return this.intent === 'add'; | |||
| }, | |||
| isEdit() { | |||
| return this.intent === 'edit'; | |||
| }, | |||
| titlePreifx() { | |||
| return this.intent === 'edit' ? '编辑' : '新增'; | |||
| }, | |||
| showTypeSelector() { | |||
| return this.isAdd && !this.otherType; | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,485 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||
| > | |||
| <p class="title" @click="openTypeChooser">{{title}}</p> | |||
| <div class="return_btn" @click="back"></div> | |||
| <div class="add_btn" @click="add"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div> | |||
| <div class="total_r">共{{total}}条公开</div> | |||
| </div> | |||
| <div class="record_list" v-if="showTab"> | |||
| <div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div> | |||
| <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <paged-list | |||
| ref="pagedList" | |||
| :page-num.sync="queryParams.pageNum" | |||
| :page-size.sync="queryParams.pageSize" | |||
| :total.sync="total" | |||
| :getListFunc="getListReq" | |||
| :reload.sync="reload" | |||
| @reload="dataList = []" | |||
| get-when-created> | |||
| <div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.otherName}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.openAt}} | |||
| </div> | |||
| </div> | |||
| <div class="operation"> | |||
| <div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn edit" @click.stop="edit(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| <div class="opera_btn delete" @click.stop="remove(item.id)"> | |||
| <i class="icon"></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </paged-list> | |||
| </div> | |||
| <van-action-sheet | |||
| v-model="showType" | |||
| :actions="otherTypeOptions" | |||
| cancel-text="取消" | |||
| close-on-click-action | |||
| @select="changeType" | |||
| /> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import PagedList from "@/components/common/PagedList.vue"; | |||
| import {Dialog, Toast} from "vant"; | |||
| import {delOther, listOther} from "@/api/sunVillage_info/otherOpen"; | |||
| import {getLoginBook} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "otherOpenList", | |||
| components: {PagedList}, | |||
| data() { | |||
| return { | |||
| dataList:[], | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'openAt', | |||
| isAsc:'desc', | |||
| openYear:'', | |||
| otherType: null, | |||
| }, | |||
| yearList: [], | |||
| reload: false, | |||
| showTab: false, | |||
| otherTypeOptions: [], | |||
| showType: false, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.otherType = this.$route.query.otherType || ''; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| let arr = []; | |||
| arr.push({ | |||
| dictValue: '', | |||
| dictLabel: '综合公开', | |||
| name: '全部', | |||
| }); | |||
| resp.data.forEach((x) => { | |||
| x.name = x.dictLabel; | |||
| arr.push(x); | |||
| }); | |||
| this.otherTypeOptions = arr; | |||
| }); | |||
| getLoginBook().then((resp) => { | |||
| let startYear = new Date().getFullYear(); | |||
| let thisYear = startYear; | |||
| if(resp.data.startDay) | |||
| { | |||
| startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-'))) | |||
| } | |||
| for (let i = thisYear ; i >= startYear ; i--){ | |||
| this.yearList.push('' + i); | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| getListReq(pageInfo) { | |||
| return new Promise((resolve, reject) => { | |||
| listOther(this.queryParams).then((response) => { | |||
| response.rows.forEach((x) => this.dataList.push(x)); | |||
| resolve(response); | |||
| }); | |||
| }); | |||
| }, | |||
| gotoViewItem(id) { | |||
| let parms = { | |||
| id: id, | |||
| intent: 'view', | |||
| }; | |||
| if(this.queryParams.otherType) | |||
| parms.otherType = this.queryParams.otherType; | |||
| this.$router.push({ | |||
| name: 'otherOpenDetail', | |||
| query: parms, | |||
| }).catch(() => {}); | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) ); | |||
| }, | |||
| gotoAdd() { | |||
| let parms = { | |||
| intent: 'add', | |||
| }; | |||
| if(this.queryParams.otherType) | |||
| parms.otherType = this.queryParams.otherType; | |||
| this.$router.push({ | |||
| name: 'otherOpenEdit', | |||
| query: parms, | |||
| }).catch(() => {}); | |||
| }, | |||
| add() { | |||
| this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoAdd(), () => this.gotoAdd() ); | |||
| }, | |||
| gotoEdit(id) { | |||
| let parms = { | |||
| id: id, | |||
| intent: 'edit', | |||
| }; | |||
| if(this.queryParams.otherType) | |||
| parms.otherType = this.queryParams.otherType; | |||
| this.$router.push({ | |||
| name: 'otherOpenEdit', | |||
| query: parms, | |||
| }).catch(() => {}); | |||
| }, | |||
| edit(id) { | |||
| this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoEdit(id), () => this.gotoEdit(id) ); | |||
| }, | |||
| remove(id) { | |||
| Dialog.confirm({ | |||
| title: '警告', | |||
| message: '确认删除该项?', | |||
| }) | |||
| .then(() => { | |||
| const loading = Toast.loading({ | |||
| message: '删除中...', | |||
| duration: 0, | |||
| }); | |||
| delOther(id).then((resp) => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| this.$refs.pagedList.getList(); | |||
| }).finally(() => { | |||
| loading.clear(); | |||
| }); | |||
| }) | |||
| .catch(() => {}); | |||
| }, | |||
| back() { | |||
| this.$router.replace('/sunVillage_info/otherOpenIndex', () => this.$router.back(), () => this.$router.back() ); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.openYear = year; | |||
| this.reload = true; | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| openTypeChooser() { | |||
| this.showType = true; | |||
| }, | |||
| changeType(action, index) { | |||
| this.queryParams.otherType = action.dictValue; | |||
| this.reload = true; | |||
| }, | |||
| }, | |||
| computed: { | |||
| title() { | |||
| if(this.queryParams.otherType) | |||
| { | |||
| const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType); | |||
| if(dict) | |||
| return dict.dictLabel; | |||
| } | |||
| return '综合公开'; | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| .title { | |||
| } | |||
| .title::before { | |||
| display: inline-block; | |||
| width: 24px; | |||
| height: 24px; | |||
| content: ''; | |||
| background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||
| background-repeat: no-repeat; | |||
| background-size: contain; | |||
| margin-right: 0.2rem; | |||
| transform: rotate( | |||
| 180deg | |||
| ); | |||
| } | |||
| .title::after { | |||
| width: 0.32rem; | |||
| height: 0.32rem; | |||
| display: inline-block; | |||
| content: ''; | |||
| background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||
| background-repeat: no-repeat; | |||
| background-size: contain; | |||
| margin-left: 0.2rem; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:15px 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,194 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`"> | |||
| {{title}} | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" /> | |||
| <van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" /> | |||
| <van-field name="openContent" label="公开内容" input-align="right" :border="false" /> | |||
| <div class="open-content" v-html="form.openContent"></div> | |||
| <van-field | |||
| name="openPic" | |||
| label="公开图片" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openFile" | |||
| label="公开文件" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import { otherOpenDetail} from "@/api/sunVillage_info/otherOpen"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenVisitDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: { | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| otherName: null, | |||
| otherType: '1', | |||
| openYear: null, | |||
| openAt: null, | |||
| openContent: null, | |||
| openFile: null, | |||
| openPic: null, | |||
| remark: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null, | |||
| }, | |||
| id:'', | |||
| title: '综合公开', | |||
| bookId: null, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.bookId = Cookies.get('bookId'); | |||
| if(!this.bookId) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| otherOpenDetail(this.id).then((resp) => { | |||
| console.log(resp.data.openContent.indexOf('<img')) | |||
| if(resp.data.openContent.indexOf('<img') > -1){ | |||
| resp.data.openContent = resp.data.openContent.replace(/<img/g,'<img style="width:100%;"') | |||
| console.log(resp.data) | |||
| } | |||
| this.form = resp.data; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| const dict = resp.data.find((x) => x.dictValue == this.form.otherType); | |||
| if(dict) | |||
| this.title = dict.dictLabel; | |||
| }); | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| img{ | |||
| width: 100%; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,441 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||
| > | |||
| <p class="title" @click="openTypeChooser">{{title}}</p> | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <div class="record_main"> | |||
| <div class="record_det"> | |||
| <div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div> | |||
| <div class="total_r">共{{total}}条公开</div> | |||
| </div> | |||
| <div class="record_list" v-if="showTab"> | |||
| <div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div> | |||
| <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <paged-list | |||
| ref="pagedList" | |||
| :page-num.sync="queryParams.pageNum" | |||
| :page-size.sync="queryParams.pageSize" | |||
| :total.sync="total" | |||
| :getListFunc="getListReq" | |||
| :reload.sync="reload" | |||
| @reload="dataList = []" | |||
| get-when-created> | |||
| <div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" > | |||
| <div class="info"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.otherName}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.openAt}} | |||
| </div> | |||
| </div> | |||
| <div class="operation"> | |||
| <div class="opera_btn view" @click.stop="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </paged-list> | |||
| </div> | |||
| <van-action-sheet | |||
| v-model="showType" | |||
| :actions="otherTypeOptions" | |||
| cancel-text="取消" | |||
| close-on-click-action | |||
| @select="changeType" | |||
| /> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import PagedList from "@/components/common/PagedList.vue"; | |||
| import {Dialog, Toast} from "vant"; | |||
| import { otherOpenList} from "@/api/sunVillage_info/otherOpen"; | |||
| import {bookInfo, } from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenVisitList", | |||
| components: {PagedList}, | |||
| data() { | |||
| return { | |||
| dataList:[], | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'openAt', | |||
| isAsc:'desc', | |||
| openYear:'', | |||
| otherType: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| }, | |||
| yearList: [], | |||
| reload: false, | |||
| showTab: false, | |||
| otherTypeOptions: [], | |||
| showType: false, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| if(!this.queryParams.bookId) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| this.queryParams.otherType = this.$route.query.otherType || ''; | |||
| this.getDicts('other_gk_type').then((resp) => { | |||
| let arr = []; | |||
| arr.push({ | |||
| dictValue: '', | |||
| dictLabel: '综合公开', | |||
| name: '全部', | |||
| }); | |||
| resp.data.forEach((x) => { | |||
| x.name = x.dictLabel; | |||
| arr.push(x); | |||
| }); | |||
| this.otherTypeOptions = arr; | |||
| }); | |||
| bookInfo(this.queryParams.bookId).then((resp) => { | |||
| let startYear = new Date().getFullYear(); | |||
| let thisYear = startYear; | |||
| if(resp.data.startDay) | |||
| { | |||
| startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-'))) | |||
| } | |||
| for (let i = thisYear ; i >= startYear ; i--){ | |||
| this.yearList.push('' + i); | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| getListReq(pageInfo) { | |||
| return new Promise((resolve, reject) => { | |||
| otherOpenList(this.queryParams).then((response) => { | |||
| response.rows.forEach((x) => this.dataList.push(x)); | |||
| resolve(response); | |||
| }); | |||
| }); | |||
| }, | |||
| gotoViewItem(id) { | |||
| let parms = { | |||
| id: id, | |||
| intent: 'view', | |||
| }; | |||
| if(this.queryParams.otherType) | |||
| parms.otherType = this.queryParams.otherType; | |||
| this.$router.push({ | |||
| name: 'otherOpenVisitDetailNew', | |||
| query: parms, | |||
| }).catch(() => {}); | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.replace(`/sunVillage_info/otherOpenVisitIndexNew?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) ); | |||
| }, | |||
| back() { | |||
| this.$router.replace('/sunVillage_info/otherOpenVisitIndexNew', () => this.$router.back(), () => this.$router.back() ); | |||
| }, | |||
| tabClick(year){ | |||
| this.queryParams.openYear = year; | |||
| this.reload = true; | |||
| }, | |||
| tabShow(){ | |||
| this.showTab = !this.showTab; | |||
| }, | |||
| openTypeChooser() { | |||
| this.showType = true; | |||
| }, | |||
| changeType(action, index) { | |||
| this.queryParams.otherType = action.dictValue; | |||
| this.reload = true; | |||
| }, | |||
| }, | |||
| computed: { | |||
| title() { | |||
| if(this.queryParams.otherType) | |||
| { | |||
| const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType); | |||
| if(dict) | |||
| return dict.dictLabel; | |||
| } | |||
| return '综合公开'; | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| .title { | |||
| } | |||
| .title::before { | |||
| display: inline-block; | |||
| width: 24px; | |||
| height: 24px; | |||
| content: ''; | |||
| background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||
| background-repeat: no-repeat; | |||
| background-size: contain; | |||
| margin-right: 0.2rem; | |||
| transform: rotate( | |||
| 180deg | |||
| ); | |||
| } | |||
| .title::after { | |||
| width: 0.32rem; | |||
| height: 0.32rem; | |||
| display: inline-block; | |||
| content: ''; | |||
| background-image: url('../../../assets/images/icon/index_header_focus.png'); | |||
| background-repeat: no-repeat; | |||
| background-size: contain; | |||
| margin-left: 0.2rem; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:15px 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -8,10 +8,10 @@ | |||
| <div class="search_info"> | |||
| <div class="search_block"> | |||
| <i class="icon"></i> | |||
| <input type="text" class="ipt" v-model="queryParams.name" placeholder="搜索" @input="getSearchList"> | |||
| <!-- --> | |||
| <input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList"> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openResourceType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资产</div> | |||
| <div class="total">共{{listLength}}个资源</div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| @@ -65,6 +65,34 @@ | |||
| <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> | |||
| </div> | |||
| </van-popup> | |||
| <van-popup v-model="typeVisible" lock-scroll closeable position="top" > | |||
| <div style="padding: 0.2rem 0.3rem 0.3rem;"> | |||
| <van-cell-group> | |||
| <van-cell> | |||
| <div style="text-align: center; font-size: 18px;">筛选</div> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.noMap" :border="false">未上图</van-checkbox> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox> | |||
| </van-cell> | |||
| <field-select | |||
| v-model="queryParams.resourceType" | |||
| label="资源分类" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="选择资源分类" | |||
| :columns="resource_type" | |||
| :clearable="true" | |||
| /> | |||
| </van-cell-group> | |||
| <div style="padding: 0.2rem 0.5rem 0;"> | |||
| <van-button round type="primary" block @click="refresh">搜索</van-button> | |||
| </div> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| @@ -80,9 +108,11 @@ | |||
| } from "@/api/sunVillage_info/fixedAssets"; | |||
| import request from '@/utils/request' | |||
| import MapGisLine from "@/components/Map/MapGisLine"; | |||
| import Selector from "@/components/common/Selector.vue"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: { MapGisLine,}, | |||
| components: {FieldSelect, Selector, MapGisLine,}, | |||
| data() { | |||
| return { | |||
| theGeom:'', | |||
| @@ -103,7 +133,12 @@ | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| translate_dict:1, | |||
| name:'' | |||
| name:'', | |||
| resourceType: null, | |||
| noMap: false, | |||
| params: { | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| @@ -111,7 +146,9 @@ | |||
| showBtn:true, | |||
| listMap: 0, | |||
| resourceId: null, // 资源ID,记录当前资源的ID | |||
| resourceList: [] // 资源列表,存储本账套下所有的资源信息 | |||
| resourceList: [], // 资源列表,存储本账套下所有的资源信息 | |||
| typeVisible: false, | |||
| resource_type: [], | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -124,6 +161,9 @@ | |||
| this.houseGetDicts("use_type").then((response) => { | |||
| this.useTypeOptions = response.data; | |||
| }); | |||
| this.houseGetDicts("resource_type").then((response) => { | |||
| this.resource_type = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| saveGeom(){ | |||
| @@ -276,7 +316,24 @@ | |||
| goAdd(){ | |||
| this.$router.push('/sunVillage_info/resourceAdd') | |||
| }, | |||
| openResourceType() { | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| }, | |||
| computed: { | |||
| searchPlaceholder() { | |||
| let typeName = this.resource_type.find((x) => x.dictValue == this.queryParams.resourceType); | |||
| return '搜索' + (typeName ? typeName.dictLabel : ''); | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| @@ -328,23 +385,38 @@ | |||
| background: #fff; | |||
| display: flex; | |||
| border:2px solid #3494ff; | |||
| padding-right: 35px; | |||
| padding-right: 20px; | |||
| align-items: center; | |||
| position: relative; | |||
| .icon{ | |||
| width: 30px; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| display: inline-block; | |||
| margin:0 8px 0 26px; | |||
| position: absolute; | |||
| left: 0; | |||
| bottom: 0.15rem; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| display: inline-block; | |||
| margin-left: 64px; | |||
| } | |||
| .filter-icon { | |||
| font-weight: bold; | |||
| font-size: .4rem; | |||
| width: .6rem; | |||
| text-align: center; | |||
| position: absolute; | |||
| right: 0.2rem; | |||
| bottom: 0.15rem; | |||
| } | |||
| } | |||
| .total{ | |||
| flex: 1; | |||
| @@ -66,6 +66,17 @@ | |||
| <van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> | |||
| <van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> | |||
| <field-select | |||
| v-model="form.operationType" | |||
| label="经营属性" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="请选择" | |||
| :rulesx="[{ required: true }]" | |||
| requiredx | |||
| remote-url="/open/zdzh/list/operation_type" | |||
| :on-remote-response="'data'"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -212,8 +223,10 @@ | |||
| </template> | |||
| <script> | |||
| import { addResource } from "@/api/sunVillage_info/fixedAssets"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {FieldSelect}, | |||
| data() { | |||
| return { | |||
| // 资源分类字典 | |||
| @@ -262,7 +275,6 @@ | |||
| showAssetType:false, | |||
| resourceSortOptions:[], | |||
| //经营属性 | |||
| operationType:'经营性', | |||
| showOperationType:false, | |||
| operationTypeOptions:[], | |||
| //增加方式 | |||
| @@ -42,6 +42,15 @@ | |||
| <van-field readonly v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> | |||
| <van-field readonly v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> | |||
| <field-select | |||
| v-model="form.operationType" | |||
| label="经营属性" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="请选择" | |||
| remote-url="/open/zdzh/list/operation_type" | |||
| :on-remote-response="'data'"/> | |||
| <van-field | |||
| readonly | |||
| label="使用情况" | |||
| @@ -165,8 +174,10 @@ | |||
| </template> | |||
| <script> | |||
| import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {FieldSelect}, | |||
| data() { | |||
| return { | |||
| // 资源分类字典 | |||
| @@ -66,6 +66,17 @@ | |||
| <van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> | |||
| <van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> | |||
| <field-select | |||
| v-model="form.operationType" | |||
| label="经营属性" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="请选择" | |||
| :rulesx="[{ required: true }]" | |||
| requiredx | |||
| remote-url="/open/zdzh/list/operation_type" | |||
| :on-remote-response="'data'"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -212,8 +223,10 @@ | |||
| </template> | |||
| <script> | |||
| import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {FieldSelect}, | |||
| data() { | |||
| return { | |||
| // 资源分类字典 | |||
| @@ -235,7 +248,7 @@ | |||
| applicationListSecond:[], | |||
| form:{ | |||
| assetType:'151001', | |||
| operationType:'1', | |||
| operationType: null, | |||
| addType:'1', | |||
| buildTime:this.format(new Date(),'yyyy-MM-dd'), | |||
| useType:'1', | |||
| @@ -0,0 +1,226 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||
| > | |||
| 四议表决 | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field name="itemName" :value="form.itemName" label="事项名称" input-align="right" :border="false" /> | |||
| <van-field label="事项内容" :border="false" /> | |||
| <div class="contentBox" v-html="form.itemContent"></div> | |||
| <van-field name="voteType" :value="form.voteType" label="事项节点" label-width="auto" input-align="right" :border="false" /> | |||
| <van-field name="voteStatus" :value="form.voteStatus" label="事项状态" label-width="auto" input-align="right" :border="false" /> | |||
| </div> | |||
| <div class="list_main"> | |||
| <div style="display: flex;justify-content: space-between;"> | |||
| <span style="font-size: 14px;font-weight: bold;margin-left: 5px;">表决情况</span> | |||
| <span style="font-size: 14px;margin-left: 15px;">{{form.itemAt}}</span> | |||
| </div> | |||
| <div style="text-align: right;width: 100%;"> | |||
| <span style="font-size: 14px;margin-left: 10px;color: #1AC46F">{{voteNum1}}人同意</span> | |||
| <span style="font-size: 14px;margin-left: 10px;color: #FF5500">{{voteNum2}}人不同意</span> | |||
| <span style="font-size: 14px;margin-left: 10px;color: #999999">{{voteNum3}}人弃权</span> | |||
| </div> | |||
| <div style="color: #1AC46F;font-size: 14px;margin-left: 10px;margin-top: 10px;"> | |||
| 同意:{{vote1}} | |||
| </div> | |||
| <div style="color: #v;font-size: 14px;margin-left: 10px;margin-top: 10px;"> | |||
| 不同意:{{vote2}} | |||
| </div> | |||
| <div style="color: #999999;font-size: 14px;margin-left: 10px;margin-top: 10px;"> | |||
| 弃权:{{vote3}} | |||
| </div> | |||
| </div> | |||
| <div v-if="showHasVote" style="margin: 16px auto;display: flex;justify-content: space-evenly;padding: 0 25px"> | |||
| <van-button round block type="primary" :to="{name:'sunVillageInfoSpecialVoteDetail', query: {id:form.id}}" | |||
| style="border: 0;background-image: linear-gradient(to right, #48CBFC , #2D6DF6);">我要表决</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {specialPublicityVote, updateSpecialPublicityCount, addReadCount} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: {}, | |||
| id:'', | |||
| title: '综合公开', | |||
| vote1: '无', | |||
| vote2: '无', | |||
| vote3: '无', | |||
| voteNum1: 0, | |||
| voteNum2: 0, | |||
| voteNum3: 0, | |||
| showBtn:true, | |||
| showHasVote:true, | |||
| queryParams:{ | |||
| bookId:'', | |||
| id:'', | |||
| deptId:'' | |||
| }, | |||
| voteTypeOptions:[], | |||
| voteStatusOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.otherType = this.$route.query.type; | |||
| this.type = this.$route.query.type; | |||
| this.queryParams.bookId = this.$route.query.bookId; | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.queryParams.id = this.$route.query.id; | |||
| this.showBtn = this.$route.query.showBtn=='false'?false:true; | |||
| addReadCount({id: this.$route.query.id}).then((resp) => { | |||
| }); | |||
| this.getDicts("vote_type").then((response) => { | |||
| this.voteTypeOptions = response.data; | |||
| this.getDetail(); | |||
| }); | |||
| this.getDicts("vote_status").then((response) => { | |||
| this.voteStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| specialPublicityVote(this.queryParams).then((resp) => { | |||
| if(resp.data.voteStatus == '2'){ | |||
| this.showHasVote = false; | |||
| } | |||
| resp.data.voteType = this.selectDictLabel(this.voteTypeOptions, resp.data.voteType); | |||
| resp.data.voteStatus = this.selectDictLabel(this.voteStatusOptions, resp.data.voteStatus); | |||
| this.form = resp.data; | |||
| var votedetail =[]; | |||
| var vote11 = ""; | |||
| var vote22 = ""; | |||
| var vote33 = ""; | |||
| votedetail = resp.data.detailList; | |||
| for(let i = 0; i < votedetail.length; i++){ | |||
| if(votedetail[i].voteResult === '1'){ | |||
| vote11 += (votedetail[i].voteBy + " "); | |||
| this.voteNum1++; | |||
| } else if(votedetail[i].voteResult === '2'){ | |||
| vote22 += (votedetail[i].voteBy + " "); | |||
| this.voteNum2++; | |||
| }else if(votedetail[i].voteResult === '3'){ | |||
| vote33 += (votedetail[i].voteBy + " "); | |||
| this.voteNum3++; | |||
| } | |||
| } | |||
| if(vote11 != null && vote11.length > 0){ | |||
| this.vote1 = vote11; | |||
| } | |||
| if(vote22 != null && vote22.length > 0){ | |||
| this.vote2 = vote22; | |||
| } | |||
| if(vote33 != null && vote33.length > 0){ | |||
| this.vote3 = vote33; | |||
| } | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| hasVote(type){ | |||
| this.queryParams.countType = type; | |||
| updateSpecialPublicityCount(this.queryParams).then((resp) => { | |||
| console.log() | |||
| resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType); | |||
| this.form = resp.data; | |||
| this.showHasVote = false; | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /*/deep/ .van-button--primary{*/ | |||
| /* background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;*/ | |||
| /* background-size: 100% 100%;*/ | |||
| /* border: none;*/ | |||
| /*}*/ | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .contentBox img{ | |||
| width: 100%; | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| .open-content { | |||
| padding: .2rem .3rem; | |||
| max-height: 8rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,215 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||
| > | |||
| 四议表决 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-form @submit="handleGenerate" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <div class="main_box"> | |||
| <van-field label="表决人" required :rules="[{ required: true , message:'请输入表决人' }]" v-model="form.voteBy" placeholder="请输入表决人" input-align="right" label-width="auto"/> | |||
| <van-cell title="表决意见" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择表决意见' }]" v-model="form.voteResult"> | |||
| <van-radio name="1">同意</van-radio> | |||
| <van-radio name="2">不同意</van-radio> | |||
| <van-radio name="3">弃权</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <div> | |||
| <van-row> | |||
| <p class="title" style="margin: 5px 0px;position: relative;padding-left: 20px;font-size: 16px;">*电子签名</p> | |||
| </van-row> | |||
| <van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;"> | |||
| <div class="signature-box" @mousedown="canvasTTdown" @touchstart="canvasTTdown"> | |||
| <vue-esign | |||
| ref="esign" | |||
| class="mySign" | |||
| :width="500" | |||
| :height="370" | |||
| :isCrop="signature.isCrop" | |||
| :lineWidth="signature.lineWidth" | |||
| :lineColor="signature.lineColor" | |||
| :bgColor.sync="signature.bgColor" | |||
| /> | |||
| </div> | |||
| <img src="../../assets/images/sunVillage_info/signature_icon_10.png" id="canvasTT" style="position:absolute;top: 50%;left: 50%;transform: translate(-50%, -50%) rotate(270deg)" alt=""> | |||
| <div class="signature-footer"> | |||
| <van-button @click="handleReset" class="clearBtn" type="info" plain size="small">清空画板</van-button> | |||
| <!-- <van-button @click="handleGenerate" type="info" size="small">保存签字</van-button> --> | |||
| </div> | |||
| </van-cell-group> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button round block type="primary" class="submitButton" style="border: 0;background-image: linear-gradient(to right, #48CBFC , #2D6DF6);">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {votedetailAdd} from "@/api/sunVillage_info/fixedAssets"; | |||
| import $ from "jquery"; | |||
| import vueEsign from 'vue-esign' | |||
| import {getToken} from "@/utils/auth"; | |||
| import axios from 'axios' | |||
| export default { | |||
| name: "votedetailAdd", | |||
| data() { | |||
| return { | |||
| form:{ | |||
| voteId: this.$route.query.id, | |||
| voteBy: null, | |||
| voteImg: null, | |||
| voteResult: "1", | |||
| remark: null, | |||
| file: null, | |||
| }, | |||
| //电子签名 | |||
| signature: { | |||
| lineWidth: 6, // 画笔的线条粗细 | |||
| lineColor: "#000000", // 画笔的颜色 | |||
| bgColor: "", // 画布的背景颜色 | |||
| resultImg: "", // 最终画布生成的base64图片 | |||
| isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.handleReset(); | |||
| }, | |||
| methods: { | |||
| getError(e){ | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| canvasTTdown() { | |||
| $('#canvasTT').css('display', 'none'); | |||
| }, | |||
| // 清空画板 | |||
| handleReset() { | |||
| this.$refs.esign.reset(); | |||
| $('#canvasTT').css('display', 'block') | |||
| }, | |||
| // 生成签字图片 | |||
| handleGenerate() { | |||
| console.log("正在保存") | |||
| this.$toast.loading({ | |||
| message: "正在保存", | |||
| forbidClick: true, | |||
| duration: 0, | |||
| }); | |||
| this.$refs.esign | |||
| .generate() // 使用生成器调用把签字的图片转换成为base64图片格式 | |||
| .then((res) => { | |||
| this.signature.resultImg = res; | |||
| let wj = this.dataURLtoBlob(res); | |||
| let param = new FormData() // 创建form对象 | |||
| param.append('file', wj) // 通过append向form对象添加数据 | |||
| param.append('voteId', this.form.voteId); | |||
| param.append('voteBy', this.form.voteBy); | |||
| param.append('voteResult', this.form.voteResult); | |||
| param.append('remark', this.form.remark); | |||
| votedetailAdd(param).then(response => { | |||
| if (response.code === 200) { | |||
| this.$toast({ | |||
| icon: 'success', // 找到自己需要的图标 | |||
| message: '保存成功', | |||
| duration: "1000", | |||
| onClose: () => { | |||
| this.showSignPopup = false; | |||
| this.goBack(); | |||
| } | |||
| }); | |||
| } | |||
| }); | |||
| }) | |||
| .catch((err) => { | |||
| // 画布没有签字时会执行这里提示一下 | |||
| this.$toast.fail('请签名后再保存'); | |||
| }); | |||
| }, | |||
| dataURLtoBlob(dataurl, filename = 'file') { | |||
| let arr = dataurl.split(',') | |||
| let mime = arr[0].match(/:(.*?);/)[1] | |||
| let suffix = mime.split('/')[1] | |||
| let bstr = atob(arr[1]) | |||
| let n = bstr.length | |||
| let u8arr = new Uint8Array(n) | |||
| while (n--) { | |||
| u8arr[n] = bstr.charCodeAt(n) | |||
| } | |||
| return new File([u8arr], `${filename}.${suffix}`, { | |||
| type: mime | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding-bottom: 2%; | |||
| .header_main{ | |||
| height: 116px; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| margin-bottom: 2%; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| position: relative; | |||
| } | |||
| .main_box{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| border-radius: 6px; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| overflow: hidden; | |||
| background-color: #FFF; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,553 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 三清台账管理 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <div class="add_btn" @click="goAdd"></div> | |||
| </div> | |||
| <div class="search_info"> | |||
| <div class="search_block"> | |||
| <van-search class="search_block searchHeight" v-model="queryParams.zcmc" @input="getSearchList" :placeholder="searchPlaceholder" /> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openThreeAssetType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资产</div> | |||
| </div> | |||
| <div class="list_main"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <!--1--> | |||
| <van-swipe-cell right-width="200" class="item" v-for="(item,index) in applicationList" :key="index"> | |||
| <div class="item_box" @click="$router.push({name:'sunVillageInfoListThreeDetail',query:{id:item.id}})"> | |||
| <div class="head_block"> | |||
| <i class="icon"></i> | |||
| <div class="title">{{item.zcmc}}</div> | |||
| <div class="describe">{{item.threeAssetType}}</div> | |||
| </div> | |||
| <div class="order_block"> | |||
| <div class="order">{{item.zcdm}}</div> | |||
| <div class="describe">{{item.threeDetailType}}</div> | |||
| </div> | |||
| </div> | |||
| <template #right> | |||
| <div @click="handleDelete(item,index)" style="background-color: #ee0a24;height: 100%">删除</div> | |||
| <router-link :to="{name:'sunVillageInfoListThreeEdit',query:{id:item.id}}" style="background-color: #07c160">修改</router-link> | |||
| <div @click="openLoader(item.id,0)" style="background-color: rgb(98,173,102,0.2);color: #62AD66;">附件</div> | |||
| <div @click="openMap(item.id, item.theGeom,index)" style="background-color: #62AD66;color: #ffffff;">地图</div> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| <!-- <div class="bottom_tips">--> | |||
| <!-- <span class="xs">已经到底啦</span>--> | |||
| <!-- </div>--> | |||
| <van-popup v-model="showMap" lock-scroll position="top" :style="{ height: '80%' }" > | |||
| <div style="padding: 0;text-align: center"> | |||
| <MapGisLine ref="clickLoading" :message="theGeom" v-on:formSubmit="MapTag" :resourceId="resourceId" :resourceList="resourceList"></MapGisLine> | |||
| <!-- <div>地图信息:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>--> | |||
| <div style="margin-top: 1.5vh"> | |||
| <van-button type="info" size="small" @click="saveGeom">保存</van-button> | |||
| <van-button type="danger" size="small" @click="clearLayer">清除图层</van-button> | |||
| <van-button plain type="info" size="small" @click="showMap = false">取消</van-button> | |||
| </div> | |||
| </div> | |||
| </van-popup> | |||
| <van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" > | |||
| <div style="padding: 0 13% 0 5%;"> | |||
| <van-divider>附件</van-divider> | |||
| <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> | |||
| </div> | |||
| </van-popup> | |||
| <van-popup v-model="typeVisible" lock-scroll closeable position="top" > | |||
| <div style="padding: 0.2rem 0.3rem 0.3rem;"> | |||
| <van-cell-group> | |||
| <van-cell> | |||
| <div style="text-align: center; font-size: 18px;">筛选</div> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.params.noMap" :border="false">未上图</van-checkbox> | |||
| </van-cell> | |||
| <van-cell> | |||
| <van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox> | |||
| </van-cell> | |||
| <field-select | |||
| v-model="queryParams.threeAssetType" | |||
| label="三清类型" | |||
| value-key="dictLabel" | |||
| data-key="dictValue" | |||
| placeholder="选择三清类型" | |||
| :columns="threeAssetTypeOptions" | |||
| :clearable="true" | |||
| /> | |||
| </van-cell-group> | |||
| <div style="padding: 0.2rem 0.5rem 0;"> | |||
| <van-button round type="primary" block @click="refresh">搜索</van-button> | |||
| </div> | |||
| </div> | |||
| </van-popup> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| listThree, | |||
| commonAttach, | |||
| attachmentList, | |||
| systemAttachment, | |||
| delThree, | |||
| updateThree, | |||
| getThree, | |||
| clearThreeGeom | |||
| } from "@/api/sunVillage_info/three"; | |||
| import request from '@/utils/request' | |||
| import MapGisLine from "@/components/Map/MapGisLine"; | |||
| import Selector from "@/components/common/Selector.vue"; | |||
| import FieldSelect from "@/components/form/FieldSelect.vue"; | |||
| export default { | |||
| name: "certificateList", | |||
| components: {FieldSelect, Selector, MapGisLine,}, | |||
| data() { | |||
| return { | |||
| theGeom:'', | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| show: false, | |||
| showMap: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| translate_dict:1, | |||
| zcmc:'', | |||
| threeAssetType: null, | |||
| params: { | |||
| noMap: false, | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| listMap: 0, | |||
| resourceId: null, // 资产ID,记录当前资产的ID | |||
| resourceList: [], // 资产列表,存储本账套下所有的资产信息 | |||
| typeVisible: false, | |||
| threeAssetTypeOptions: [], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("three_asset_type").then((response) => { | |||
| this.threeAssetTypeOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| saveGeom(){ | |||
| var that = this; | |||
| updateThree({id: this.resourceId, theGeom: this.theGeom}).then((response) => { | |||
| if (response.code == 200){ | |||
| this.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| that.showMap = false; | |||
| getThree(that.resourceId).then(response => { | |||
| that.applicationList[that.listMap].theGeom = response.data.theGeom; | |||
| }); | |||
| },500) | |||
| } | |||
| }); | |||
| }, | |||
| clearLayer() { | |||
| this.$dialog.confirm({ | |||
| message: '是否清除图层?', | |||
| }).then(() => { | |||
| // on confirm | |||
| clearThreeGeom(this.resourceId).then(res => { | |||
| if (res.code === 200) { | |||
| this.$notify({ type: 'success', message: '清除成功' }); | |||
| this.showMap = false; | |||
| this.applicationList[this.listMap].theGeom = null; | |||
| } | |||
| }); | |||
| }).catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| openMap(id, theGeom,index){ | |||
| listThree().then(response => { | |||
| this.showMap = true; | |||
| this.resourceId = id; | |||
| this.theGeom = theGeom; | |||
| this.listMap = index; | |||
| this.resourceList = response.rows; | |||
| this.mapClickLoading(); | |||
| }); | |||
| }, | |||
| //每个查看修改,新增 方法下引用下面方法 | |||
| mapClickLoading(){ | |||
| setTimeout(() => { | |||
| this.$refs.clickLoading.drawingPaceCountryLine(); | |||
| }, 1000); | |||
| }, | |||
| /** 查找地图中定位点 */ | |||
| MapTag: function (data) { | |||
| // this.applicationList[this.listMap].theGeom = data; | |||
| this.theGeom = data; | |||
| }, | |||
| guidProduct(){ | |||
| return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | |||
| var r = Math.random() * 16 | 0, | |||
| v = c == 'x' ? r : (r & 0x3 | 0x8); | |||
| return v.toString(16); | |||
| }); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| listThree(this.queryParams).then(response => { | |||
| this.listLength = response.total; | |||
| response.rows.forEach(item => { | |||
| this.applicationList.push(item); | |||
| }); | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| console.log(file) | |||
| this.uploadFiles1.push(file.file); | |||
| let params1 = new FormData(); | |||
| params1.append("tableId", this.projectId); | |||
| params1.append("tableName", "t_asset_three"); | |||
| params1.append("bizPath", "asset"); | |||
| params1.append("fileType", this.projectIndex); | |||
| params1.append("file", file.file); | |||
| commonAttach(params1).then((r1) => { | |||
| this.$notify({ type: 'success', message: '上传成功' }); | |||
| }) | |||
| }, | |||
| openLoader(id,index){ | |||
| this.show = true; | |||
| this.projectId = id; | |||
| this.projectIndex = index; | |||
| this.fileList = []; | |||
| let oData1= { | |||
| tableId: id, | |||
| tableName: "t_asset_three", | |||
| bizPath: "asset", | |||
| fileType: '', | |||
| } | |||
| attachmentList(oData1).then(res => { | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| }) | |||
| }) | |||
| }, | |||
| /** 删除按钮操作 */ | |||
| handleDelete(row,index) { | |||
| const ids = row.id || this.ids; | |||
| this.$dialog.alert( | |||
| { | |||
| message:'是否确认删除资产?', | |||
| title:"警告", | |||
| showCancelButton:true, | |||
| confirmButtonText: "确定", | |||
| cancelButtonText: "取消", | |||
| } | |||
| ) | |||
| .then(function () { | |||
| return delThree(ids); | |||
| }) | |||
| .then(() => { | |||
| this.applicationList.splice(index, 1); | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }); | |||
| }, | |||
| getSearchList(){ | |||
| this.queryParams.pageNum = 1; | |||
| this.finished = false; | |||
| this.applicationList = []; | |||
| this.getList(); | |||
| }, | |||
| deleteFile1(file){ | |||
| console.log(file) | |||
| systemAttachment(file.id).then(res => { | |||
| this.$notify({ type: 'success', message: '删除成功' }); | |||
| }) | |||
| }, | |||
| goAdd(){ | |||
| this.$router.push('/sunVillage_info/threeAdd') | |||
| }, | |||
| openThreeAssetType() { | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||
| this.finished = false; | |||
| this.getList(); | |||
| }, | |||
| }, | |||
| computed: { | |||
| searchPlaceholder() { | |||
| let typeName = this.threeAssetTypeOptions.find((x) => x.dictValue == this.queryParams.threeAssetType); | |||
| return '搜索' + (typeName ? typeName.dictLabel : ''); | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-search__content{ | |||
| background-color: transparent; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .search_info{ | |||
| padding:20px 23px; | |||
| display: flex; | |||
| .search_block{ | |||
| width: 535px; | |||
| border-radius: 59px; | |||
| background: #fff; | |||
| display: flex; | |||
| border:2px solid #3494ff; | |||
| padding-right: 20px; | |||
| align-items: center; | |||
| &.searchHeight{ | |||
| border: none; | |||
| height: 57px; | |||
| padding-left: 0; | |||
| } | |||
| .icon{ | |||
| width: 30px; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin:0 8px 0 26px; | |||
| } | |||
| .filter-icon { | |||
| font-weight: bold; | |||
| font-size: .4rem; | |||
| width: .6rem; | |||
| text-align: center; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| } | |||
| } | |||
| .total{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| font-size: 26px; | |||
| color: #858585; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| /*height: 198px;*/ | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| margin-bottom: 20px; | |||
| .item_box{ | |||
| padding:25px 32px; | |||
| } | |||
| .head_block{ | |||
| height: 56px; | |||
| display: flex; | |||
| align-items: center; | |||
| width: 100%; | |||
| .icon{ | |||
| width: 34px; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 12px; | |||
| } | |||
| .title{ | |||
| flex:1; | |||
| font-size: 32px; | |||
| color: #252525; | |||
| overflow: hidden; | |||
| text-overflow: ellipsis; | |||
| white-space: nowrap; | |||
| padding-right: 20px; | |||
| } | |||
| .describe{ | |||
| height: 34px; | |||
| padding: 0 15px; | |||
| font-size: 24px; | |||
| color: #3494ff; | |||
| background: #e6f2ff; | |||
| border-radius: 8px; | |||
| } | |||
| } | |||
| .order_block{ | |||
| height: 50px; | |||
| display: flex; | |||
| align-items: center; | |||
| width: 100%; | |||
| .order{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| color: #252525; | |||
| } | |||
| .describe{ | |||
| font-size: 26px; | |||
| color: #3494ff; | |||
| } | |||
| } | |||
| .function_block{ | |||
| height: 46px; | |||
| display: flex; | |||
| align-items: center; | |||
| .time{ | |||
| display: flex; | |||
| flex: 1; | |||
| align-items: center; | |||
| font-size: 24px; | |||
| color: #858585; | |||
| .icon{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin-right: 8px; | |||
| } | |||
| } | |||
| .state{ | |||
| /*flex: 1;*/ | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| &.sell{ | |||
| color: #f69600; | |||
| } | |||
| &.scrap{ | |||
| color: #858585; | |||
| } | |||
| &.normal{ | |||
| color: #68c000; | |||
| } | |||
| } | |||
| .value{ | |||
| flex:1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:flex-end; | |||
| font-size: 24px; | |||
| color: #858585; | |||
| .amount{ | |||
| color: #eb1616; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| /deep/ .van-swipe-cell__right{ | |||
| display: flex; | |||
| align-items: center; | |||
| width: 200PX; | |||
| margin-left: 5PX; | |||
| a,div{ | |||
| margin: 0; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| color: #ffffff; | |||
| font-size: 14PX; | |||
| height: 100%; | |||
| flex: 1; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,417 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 资产新增 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <div class="titBox"> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/> | |||
| <p class="tit">基本信息</p> | |||
| </div> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" :maxlength="20"/> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="三清类型" | |||
| placeholder="请选择" | |||
| v-model="threeAssetType" | |||
| @click="showThreeAssetType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true }]" | |||
| /> | |||
| <van-popup v-model="showThreeAssetType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="threeAssetTypeOptions" | |||
| @confirm="onConfirmThreeAssetType" | |||
| @cancel="showThreeAssetType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="资产类型" | |||
| placeholder="请选择" | |||
| v-model="threeDetailType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true }]" | |||
| /> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="farmingResourceTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" type="number" input-align="right" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="权属性质" | |||
| placeholder="请选择" | |||
| v-model="natureOwnership" | |||
| @click="showNatureOwnership = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showNatureOwnership" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="natureOwnershipOptions" | |||
| @confirm="onConfirmNatureOwnership" | |||
| @cancel="showNatureOwnership = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="权属是否存在争议" | |||
| placeholder="请选择" | |||
| v-model="qssfczzy" | |||
| @click="showQssfczzy = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showQssfczzy" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmQssfczzy" | |||
| @cancel="showQssfczzy = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否委托代管" | |||
| placeholder="请选择" | |||
| v-model="sfwtdg" | |||
| @click="showSfwtdg = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showSfwtdg" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmSfwtdg" | |||
| @cancel="showSfwtdg = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" :maxlength="150"/> | |||
| <van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" :maxlength="150"/> | |||
| <van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" :maxlength="50"/> | |||
| <van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否能正常使用" | |||
| placeholder="请选择" | |||
| v-model="sfnzcsy" | |||
| @click="showSfnzcsy = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showSfnzcsy" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmSfnzcsy" | |||
| @cancel="showSfnzcsy = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" :maxlength="200"/> | |||
| <van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" :maxlength="500"/> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addThree } from "@/api/sunVillage_info/three"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| // 资产分类字典 | |||
| threeAssetTypeOptions: [], | |||
| farmingResourceTypeOptions: [], | |||
| showStartTime:false, | |||
| showEndTime:false, | |||
| showThreeAssetType:false, | |||
| threeAssetType:'集体资源资产', | |||
| showThreeDetailType:false, | |||
| threeDetailType:'草坡', | |||
| form:{ | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| zcdm: null, | |||
| zcmc: null, | |||
| threeAssetType: "1", | |||
| threeDetailType: "01", | |||
| ydmj: null, | |||
| jzmj: null, | |||
| szz: null, | |||
| natureOwnership: "1", | |||
| qssfczzy: "Y", | |||
| qszt: null, | |||
| sfwtdg: "Y", | |||
| lxdh: null, | |||
| phfs23: null, | |||
| xy23: null, | |||
| phfs24: null, | |||
| xy24: null, | |||
| phqk: null, | |||
| xzyy: null, | |||
| sfnzcsy: "Y", | |||
| wshsy: null, | |||
| bnsy: null, | |||
| phcs: null, | |||
| phsx: null, | |||
| zctjnd: null, | |||
| bz: null, | |||
| theGeom: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| natureOwnershipOptions:[], | |||
| showNatureOwnership:false, | |||
| natureOwnership:'公有', | |||
| sysYesNoOptions:[], | |||
| showQssfczzy:false, | |||
| qssfczzy:'是', | |||
| showSfwtdg:false, | |||
| sfwtdg:'是', | |||
| showSfnzcsy:false, | |||
| sfnzcsy:'是', | |||
| showBuildTime:false, | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| name:'', | |||
| }, | |||
| buildTime:new Date() | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("nature_ownership").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("sys_yes_no").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_asset_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmThreeAssetType(data){ | |||
| this.threeAssetType = data.text; | |||
| this.form.threeAssetType = data.value; | |||
| this.showThreeAssetType = false; | |||
| this.threeDetailType = ''; | |||
| this.form.threeDetailType = ''; | |||
| this.farmingResourceTypeOptions = [] | |||
| if (data.value == '1'){//集体资源资产 | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '2'){//农业设施设备 | |||
| this.houseGetDicts("three_nysssb_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '3'){//农户资产 | |||
| this.houseGetDicts("three_nh_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmThreeDetailType(data){ | |||
| this.threeDetailType = data.text; | |||
| this.form.threeDetailType = data.value; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| onConfirmQssfczzy(data){ | |||
| this.qssfczzy = data.text; | |||
| this.form.qssfczzy = data.value; | |||
| this.showQssfczzy = false; | |||
| }, | |||
| onConfirmNatureOwnership(data){ | |||
| this.natureOwnership = data.text; | |||
| this.form.natureOwnership = data.value; | |||
| this.showNatureOwnership = false; | |||
| }, | |||
| onConfirmSfwtdg(data){ | |||
| this.sfwtdg = data.text; | |||
| this.form.sfwtdg = data.value; | |||
| this.showSfwtdg = false; | |||
| }, | |||
| onConfirmSfnzcsy(data){ | |||
| this.sfnzcsy = data.text; | |||
| this.form.sfnzcsy = data.value; | |||
| this.showSfnzcsy = false; | |||
| }, | |||
| onSubmit(){ | |||
| addThree(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| this.$notify({ type: 'success', message: '新增成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,392 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 资产详情 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <div class="titBox"> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/> | |||
| <p class="tit">基本信息</p> | |||
| </div> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" /> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" /> | |||
| <van-field | |||
| readonly | |||
| label="三清类型" | |||
| placeholder="请选择" | |||
| v-model="threeAssetType" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="资产类型" | |||
| placeholder="请选择" | |||
| v-model="threeDetailType" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" input-align="right"v :border="false" /> | |||
| <van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" /> | |||
| <van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" /> | |||
| <van-field | |||
| readonly | |||
| label="权属性质" | |||
| placeholder="请选择" | |||
| v-model="natureOwnership" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field | |||
| readonlyx | |||
| label="权属是否存在争议" | |||
| placeholder="请选择" | |||
| v-model="qssfczzy" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" /> | |||
| <van-field | |||
| readonly | |||
| label="是否委托代管" | |||
| placeholder="请选择" | |||
| v-model="sfwtdg" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" /> | |||
| <van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" /> | |||
| <van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" /> | |||
| <van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" /> | |||
| <van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" /> | |||
| <van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" /> | |||
| <van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" /> | |||
| <van-field | |||
| readonly | |||
| label="是否能正常使用" | |||
| placeholder="请选择" | |||
| v-model="sfnzcsy" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" /> | |||
| <van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" /> | |||
| <van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" /> | |||
| <van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" /> | |||
| <van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" /> | |||
| <van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" /> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { updateThree,getThree } from "@/api/sunVillage_info/three"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| // 资产分类字典 | |||
| threeAssetTypeOptions: [], | |||
| farmingResourceTypeOptions: [], | |||
| threeJtzyzcTypeOptions: [], | |||
| threeNysssbTypeOptions: [], | |||
| threeNhTypeOptions: [], | |||
| natureOwnershipOptions:[], | |||
| sysYesNoOptions:[], | |||
| threeAssetTypeSelect: [], | |||
| threeJtzyzcTypeSelect: [], | |||
| threeNysssbTypeSelect: [], | |||
| threeNhTypeSelect: [], | |||
| natureOwnershipSelect:[], | |||
| sysYesNoSelect:[], | |||
| showStartTime:false, | |||
| showEndTime:false, | |||
| showThreeAssetType:false, | |||
| threeAssetType:'', | |||
| showThreeDetailType:false, | |||
| threeDetailType:'', | |||
| form:{ | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| zcdm: null, | |||
| zcmc: null, | |||
| threeAssetType: null, | |||
| threeDetailType: null, | |||
| ydmj: null, | |||
| jzmj: null, | |||
| szz: null, | |||
| natureOwnership: null, | |||
| qssfczzy: null, | |||
| qszt: null, | |||
| sfwtdg: null, | |||
| lxdh: null, | |||
| phfs23: null, | |||
| xy23: null, | |||
| phfs24: null, | |||
| xy24: null, | |||
| phqk: null, | |||
| xzyy: null, | |||
| sfnzcsy: null, | |||
| wshsy: null, | |||
| bnsy: null, | |||
| phcs: null, | |||
| phsx: null, | |||
| zctjnd: null, | |||
| bz: null, | |||
| theGeom: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| showNatureOwnership:false, | |||
| natureOwnership:'', | |||
| showQssfczzy:false, | |||
| qssfczzy:'', | |||
| showSfwtdg:false, | |||
| sfwtdg:'', | |||
| showSfnzcsy:false, | |||
| sfnzcsy:'', | |||
| showBuildTime:false, | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| name:'', | |||
| }, | |||
| buildTime:new Date() | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("nature_ownership").then((response) => { | |||
| this.natureOwnershipSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("sys_yes_no").then((response) => { | |||
| this.sysYesNoSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_asset_type").then((response) => { | |||
| this.threeAssetTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| this.threeJtzyzcTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeJtzyzcTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_nysssb_type").then((response) => { | |||
| this.threeNysssbTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeNysssbTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_nh_type").then((response) => { | |||
| this.threeNhTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeNhTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getThree(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| this.threeAssetType = this.selectDictLabel(this.threeAssetTypeSelect, response.data.threeAssetType); | |||
| this.natureOwnership = this.selectDictLabel(this.natureOwnershipSelect, response.data.natureOwnership); | |||
| this.qssfczzy = this.selectDictLabel(this.sysYesNoSelect, response.data.qssfczzy); | |||
| this.sfwtdg = this.selectDictLabel(this.sysYesNoSelect, response.data.sfwtdg); | |||
| this.sfnzcsy = this.selectDictLabel(this.sysYesNoSelect, response.data.sfnzcsy); | |||
| if (response.data.threeAssetType == '1'){//集体资源资产 | |||
| this.threeDetailType = this.selectDictLabel(this.threeJtzyzcTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeJtzyzcTypeOptions; | |||
| } | |||
| if (response.data.threeAssetType == '2'){//农业设施设备 | |||
| this.threeDetailType = this.selectDictLabel(this.threeNysssbTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeNysssbTypeOptions; | |||
| } | |||
| if (response.data.threeAssetType == '3'){//农户资产 | |||
| this.threeDetailType = this.selectDictLabel(this.threeNhTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeNhTypeOptions; | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmThreeAssetType(data){ | |||
| this.threeAssetType = data.text; | |||
| this.form.threeAssetType = data.value; | |||
| this.showThreeAssetType = false; | |||
| this.threeDetailType = ''; | |||
| this.form.threeDetailType = ''; | |||
| this.farmingResourceTypeOptions = [] | |||
| if (data.value == '1'){//集体资源资产 | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '2'){//农业设施设备 | |||
| this.houseGetDicts("three_nysssb_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '3'){//农户资产 | |||
| this.houseGetDicts("three_nh_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmThreeDetailType(data){ | |||
| this.threeDetailType = data.text; | |||
| this.form.threeDetailType = data.value; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| onConfirmQssfczzy(data){ | |||
| this.qssfczzy = data.text; | |||
| this.form.qssfczzy = data.value; | |||
| this.showQssfczzy = false; | |||
| }, | |||
| onConfirmNatureOwnership(data){ | |||
| this.natureOwnership = data.text; | |||
| this.form.natureOwnership = data.value; | |||
| this.showNatureOwnership = false; | |||
| }, | |||
| onConfirmSfwtdg(data){ | |||
| this.sfwtdg = data.text; | |||
| this.form.sfwtdg = data.value; | |||
| this.showSfwtdg = false; | |||
| }, | |||
| onConfirmSfnzcsy(data){ | |||
| this.sfnzcsy = data.text; | |||
| this.form.sfnzcsy = data.value; | |||
| this.showSfnzcsy = false; | |||
| }, | |||
| onSubmit(){ | |||
| updateThree(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| this.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,464 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 资产修改 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="list_main"> | |||
| <div class="titBox"> | |||
| <img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/> | |||
| <p class="tit">基本信息</p> | |||
| </div> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" :maxlength="20"/> | |||
| <van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="三清类型" | |||
| placeholder="请选择" | |||
| v-model="threeAssetType" | |||
| @click="showThreeAssetType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true }]" | |||
| /> | |||
| <van-popup v-model="showThreeAssetType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="threeAssetTypeOptions" | |||
| @confirm="onConfirmThreeAssetType" | |||
| @cancel="showThreeAssetType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="资产类型" | |||
| placeholder="请选择" | |||
| v-model="threeDetailType" | |||
| @click="showThreeDetailType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :border="false" | |||
| :rules="[{ required: true }]" | |||
| /> | |||
| <van-popup v-model="showThreeDetailType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="farmingResourceTypeOptions" | |||
| @confirm="onConfirmThreeDetailType" | |||
| @cancel="showThreeDetailType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" type="number" input-align="right" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="权属性质" | |||
| placeholder="请选择" | |||
| v-model="natureOwnership" | |||
| @click="showNatureOwnership = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showNatureOwnership" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="natureOwnershipOptions" | |||
| @confirm="onConfirmNatureOwnership" | |||
| @cancel="showNatureOwnership = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="权属是否存在争议" | |||
| placeholder="请选择" | |||
| v-model="qssfczzy" | |||
| @click="showQssfczzy = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showQssfczzy" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmQssfczzy" | |||
| @cancel="showQssfczzy = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否委托代管" | |||
| placeholder="请选择" | |||
| v-model="sfwtdg" | |||
| @click="showSfwtdg = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showSfwtdg" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmSfwtdg" | |||
| @cancel="showSfwtdg = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" :maxlength="150"/> | |||
| <van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" :maxlength="150"/> | |||
| <van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/> | |||
| <van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" :maxlength="50"/> | |||
| <van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否能正常使用" | |||
| placeholder="请选择" | |||
| v-model="sfnzcsy" | |||
| @click="showSfnzcsy = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| :border="false" | |||
| /> | |||
| <van-popup v-model="showSfnzcsy" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysYesNoOptions" | |||
| @confirm="onConfirmSfnzcsy" | |||
| @cancel="showSfnzcsy = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" :maxlength="200"/> | |||
| <van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" :maxlength="100"/> | |||
| <van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" :maxlength="500"/> | |||
| </div> | |||
| <div style="margin: 16px auto;width: 50%;"> | |||
| <van-button round block type="primary" native-type="submit"> | |||
| 保存 | |||
| </van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { updateThree,getThree } from "@/api/sunVillage_info/three"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| // 资产分类字典 | |||
| threeAssetTypeOptions: [], | |||
| farmingResourceTypeOptions: [], | |||
| threeJtzyzcTypeOptions: [], | |||
| threeNysssbTypeOptions: [], | |||
| threeNhTypeOptions: [], | |||
| natureOwnershipOptions:[], | |||
| sysYesNoOptions:[], | |||
| threeAssetTypeSelect: [], | |||
| threeJtzyzcTypeSelect: [], | |||
| threeNysssbTypeSelect: [], | |||
| threeNhTypeSelect: [], | |||
| natureOwnershipSelect:[], | |||
| sysYesNoSelect:[], | |||
| showStartTime:false, | |||
| showEndTime:false, | |||
| showThreeAssetType:false, | |||
| threeAssetType:'', | |||
| showThreeDetailType:false, | |||
| threeDetailType:'', | |||
| form:{ | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| zcdm: null, | |||
| zcmc: null, | |||
| threeAssetType: null, | |||
| threeDetailType: null, | |||
| ydmj: null, | |||
| jzmj: null, | |||
| szz: null, | |||
| natureOwnership: null, | |||
| qssfczzy: null, | |||
| qszt: null, | |||
| sfwtdg: null, | |||
| lxdh: null, | |||
| phfs23: null, | |||
| xy23: null, | |||
| phfs24: null, | |||
| xy24: null, | |||
| phqk: null, | |||
| xzyy: null, | |||
| sfnzcsy: null, | |||
| wshsy: null, | |||
| bnsy: null, | |||
| phcs: null, | |||
| phsx: null, | |||
| zctjnd: null, | |||
| bz: null, | |||
| theGeom: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| showNatureOwnership:false, | |||
| natureOwnership:'', | |||
| showQssfczzy:false, | |||
| qssfczzy:'', | |||
| showSfwtdg:false, | |||
| sfwtdg:'', | |||
| showSfnzcsy:false, | |||
| sfnzcsy:'', | |||
| showBuildTime:false, | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| name:'', | |||
| }, | |||
| buildTime:new Date() | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("nature_ownership").then((response) => { | |||
| this.natureOwnershipSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("sys_yes_no").then((response) => { | |||
| this.sysYesNoSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_asset_type").then((response) => { | |||
| this.threeAssetTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| this.threeJtzyzcTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeJtzyzcTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_nysssb_type").then((response) => { | |||
| this.threeNysssbTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeNysssbTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("three_nh_type").then((response) => { | |||
| this.threeNhTypeSelect = response.data; | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.threeNhTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getThree(this.$route.query.id).then(response => { | |||
| this.form = response.data; | |||
| this.threeAssetType = this.selectDictLabel(this.threeAssetTypeSelect, response.data.threeAssetType); | |||
| this.natureOwnership = this.selectDictLabel(this.natureOwnershipSelect, response.data.natureOwnership); | |||
| this.qssfczzy = this.selectDictLabel(this.sysYesNoSelect, response.data.qssfczzy); | |||
| this.sfwtdg = this.selectDictLabel(this.sysYesNoSelect, response.data.sfwtdg); | |||
| this.sfnzcsy = this.selectDictLabel(this.sysYesNoSelect, response.data.sfnzcsy); | |||
| if (response.data.threeAssetType == '1'){//集体资源资产 | |||
| this.threeDetailType = this.selectDictLabel(this.threeJtzyzcTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeJtzyzcTypeOptions; | |||
| } | |||
| if (response.data.threeAssetType == '2'){//农业设施设备 | |||
| this.threeDetailType = this.selectDictLabel(this.threeNysssbTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeNysssbTypeOptions; | |||
| } | |||
| if (response.data.threeAssetType == '3'){//农户资产 | |||
| this.threeDetailType = this.selectDictLabel(this.threeNhTypeSelect, response.data.threeDetailType); | |||
| this.farmingResourceTypeOptions = this.threeNhTypeOptions; | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmThreeAssetType(data){ | |||
| this.threeAssetType = data.text; | |||
| this.form.threeAssetType = data.value; | |||
| this.showThreeAssetType = false; | |||
| this.threeDetailType = ''; | |||
| this.form.threeDetailType = ''; | |||
| this.farmingResourceTypeOptions = [] | |||
| if (data.value == '1'){//集体资源资产 | |||
| this.houseGetDicts("three_jtzyzc_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '2'){//农业设施设备 | |||
| this.houseGetDicts("three_nysssb_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| if (data.value == '3'){//农户资产 | |||
| this.houseGetDicts("three_nh_type").then((response) => { | |||
| for(var i = 0 ; i < response.data.length ; i++){ | |||
| this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue}); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmThreeDetailType(data){ | |||
| this.threeDetailType = data.text; | |||
| this.form.threeDetailType = data.value; | |||
| this.showThreeDetailType = false; | |||
| }, | |||
| onConfirmQssfczzy(data){ | |||
| this.qssfczzy = data.text; | |||
| this.form.qssfczzy = data.value; | |||
| this.showQssfczzy = false; | |||
| }, | |||
| onConfirmNatureOwnership(data){ | |||
| this.natureOwnership = data.text; | |||
| this.form.natureOwnership = data.value; | |||
| this.showNatureOwnership = false; | |||
| }, | |||
| onConfirmSfwtdg(data){ | |||
| this.sfwtdg = data.text; | |||
| this.form.sfwtdg = data.value; | |||
| this.showSfwtdg = false; | |||
| }, | |||
| onConfirmSfnzcsy(data){ | |||
| this.sfnzcsy = data.text; | |||
| this.form.sfnzcsy = data.value; | |||
| this.showSfnzcsy = false; | |||
| }, | |||
| onSubmit(){ | |||
| updateThree(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| this.$notify({ type: 'success', message: '修改成功' }); | |||
| setTimeout(function(){ | |||
| history.back(-1); | |||
| },2000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -1,44 +1,53 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加开户行</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <!-- <van-nav-bar--> | |||
| <!-- left-arrow--> | |||
| <!-- fixed--> | |||
| <!-- placeholder--> | |||
| <!-- @click-left="$router.back(-1)"--> | |||
| <!-- >--> | |||
| <!-- <template #title>--> | |||
| <!-- <p style="font-weight: bold;">添加开户行</p>--> | |||
| <!-- </template>--> | |||
| <!-- </van-nav-bar>--> | |||
| <div class="header_main"> | |||
| 添加开户行 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <div class="main_box"> | |||
| <van-field label="省" required :rules="[{ required: true , message:'请输入省' }]" v-model="form.sheng" placeholder="请输入省" input-align="right" label-width="auto"/> | |||
| <van-field label="市" required :rules="[{ required: true , message:'请输入市' }]" v-model="form.shi" placeholder="请输入市" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| <FieldCascadeSelect :required="true" :rules="[{ required: true , message:'请选择省市' }]" data-key="value" value-key="label" :columns="regionOptions" v-model="form.region" placeholder="请选择开户省市" label="开户省市" label-width="auto" @input="onRegionChanged"/> | |||
| <FieldSelect | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| v-model="form.bankType" | |||
| label-width="auto" | |||
| required | |||
| :required="true" | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| :columns="bankTypeOptions" | |||
| data-key="dictValue" | |||
| value-key="dictLabel" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"> | |||
| <template #button> | |||
| <van-button :disabled="!canFetch" size="small" type="primary" native-type="button" @click="searchBankAddress">手动检索</van-button> | |||
| </template> | |||
| </van-field> | |||
| <van-popup v-model:show="showBankAddress" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| value-key="bankDeposit" | |||
| :columns="bankAddressOption" | |||
| @confirm="onConfirmBankAddress" | |||
| @cancel="showBankAddress = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> | |||
| <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| @@ -56,21 +65,30 @@ | |||
| <script> | |||
| import { addDeposit } from "@/api/onlineHome/bankAgriculture/bankOfDeposit"; | |||
| import {options} from "@/api/user"; | |||
| import FieldCascadeSelect from "@/components/form/FieldCascadeSelect"; | |||
| import {listDeposit, realtimeBankList} from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import FieldSelect from "@/components/form/FieldSelect"; | |||
| export default { | |||
| name: "paymentAccountAdd", | |||
| components: {FieldSelect, FieldCascadeSelect}, | |||
| data() { | |||
| return { | |||
| showBankType:false, | |||
| bankType:'', | |||
| // 所属银行字典 | |||
| bankTypeOptions: [], | |||
| showBankAddress: false, | |||
| bankAddressOption: [], | |||
| form:{ | |||
| sheng: "", //省 必填 | |||
| shi: "", //市 必填 | |||
| bankType: "", //所属银行 必填 | |||
| bankDeposit: "", //开户行 必填 | |||
| payeePaymentLines: "", //联行号 //必填 | |||
| } | |||
| clearingBank: "", //上级清算行 | |||
| region: [], | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -83,9 +101,7 @@ | |||
| getDetail(){ | |||
| // 所属银行 | |||
| this.getDicts("bank_type_all").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.bankTypeOptions = res.data; | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| @@ -108,14 +124,102 @@ | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| onRegionChanged(val) { | |||
| val = val || []; | |||
| this.form.sheng = val.length > 0 ? val[0] : null; | |||
| this.form.shi = val.length > 1 ? val[1] : null; | |||
| }, | |||
| onConfirmBankAddress(value){ | |||
| this.form.bankAddress = value.bankDeposit; | |||
| this.form.payeePaymentLines = value.payeePaymentLines; | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.bankDeposit = value.bankDeposit; | |||
| this.showBankAddress = false; | |||
| }, | |||
| checkFormField(what, desc) { | |||
| if(!this.form[what]) | |||
| { | |||
| this.$toast({ | |||
| icon: 'fail', | |||
| message: '请选择' + desc, | |||
| duration:"1000", | |||
| }); | |||
| return false; | |||
| } | |||
| return true; | |||
| }, | |||
| searchBankAddress(){ | |||
| if(!this.checkFormField('sheng', '省')) return; | |||
| if(!this.checkFormField('shi', '市')) return; | |||
| if(!this.checkFormField('bankType', '所属银行')) return; | |||
| if(!this.checkFormField('bankDeposit', '关键词')) return; | |||
| let data = { | |||
| sheng: this.form.sheng, | |||
| shi: this.form.shi, | |||
| bankType: this.form.bankType, | |||
| bankDeposit: this.form.bankDeposit, | |||
| } | |||
| listDeposit(data).then(response => { | |||
| if (response.rows.length<1){ | |||
| realtimeBankList(data, false).then(response2 => { | |||
| this.bankAddressOption = response2.data; | |||
| this.showBankAddress = true; | |||
| }); | |||
| }else{ | |||
| this.bankAddressOption = response.rows; | |||
| this.showBankAddress = true; | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| computed: { | |||
| regionOptions() { | |||
| return options; | |||
| }, | |||
| canFetch() { | |||
| return this.form.sheng && this.form.shi && this.form.bankType && this.form.bankDeposit; | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| padding-bottom: 2%; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| margin-bottom: 2%; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 20PX; | |||
| height: 20PX; | |||
| background: url('../../../../../static/images/icon/icon_flow.png') center center no-repeat; | |||
| background-size: 20PX 20PX; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| @@ -39,6 +39,8 @@ | |||
| <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> | |||
| <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| @@ -69,6 +71,8 @@ | |||
| bankType: "", //所属银行 必填 | |||
| bankDeposit: "", //开户行 必填 | |||
| payeePaymentLines: "", //联行号 //必填 | |||
| clearingBank: "", //上级清算行 | |||
| institutionNumber: "",//上级清算行机构号 | |||
| } | |||
| }; | |||
| }, | |||
| @@ -68,6 +68,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -221,7 +222,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -236,7 +237,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -244,6 +245,7 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| this.depositListShow = false; | |||
| @@ -285,7 +287,7 @@ | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "institutionNumber":response.rows[i].institutionNumber | |||
| "institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank | |||
| } | |||
| ); | |||
| } | |||
| @@ -17,6 +17,7 @@ | |||
| <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -63,6 +63,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| @@ -190,7 +191,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -205,7 +206,7 @@ | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber}); | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank}); | |||
| } | |||
| }); | |||
| }, | |||
| @@ -213,6 +214,7 @@ | |||
| this.bankDeposit = data.text | |||
| this.form.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.payeePaymentLines | |||
| this.form.clearingBank = data.clearingBank | |||
| this.form.alternateField10 = data.institutionNumber | |||
| this.showBankDeposit = false; | |||
| this.depositListShow = false; | |||
| @@ -255,7 +257,7 @@ | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "institutionNumber":response.rows[i].institutionNumber | |||
| "institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank | |||
| } | |||
| ); | |||
| } | |||
| @@ -181,6 +181,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -203,7 +204,7 @@ | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| @@ -332,7 +333,7 @@ | |||
| }, | |||
| methods: { | |||
| validator(val){ | |||
| return /^\d{6,}$/.test(val); | |||
| return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val); | |||
| }, | |||
| getDetail(){ | |||
| // 账户类型 | |||
| @@ -416,6 +417,7 @@ | |||
| console.log(val) | |||
| this.$set(this.form, "bankName", val.text); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| this.$set(this.form, "clearingBank", val.clearingBank); | |||
| this.$set(this.form, "alternateField10", val.institutionNumber); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| @@ -446,6 +448,7 @@ | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.$set(this.form, "clearingBank", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| @@ -507,6 +510,7 @@ | |||
| "text":response.rows[i].bankDeposit, | |||
| "value":response.rows[i].id, | |||
| "payeePaymentLines":response.rows[i].payeePaymentLines, | |||
| "clearingBank":response.rows[i].clearingBank, | |||
| "institutionNumber":response.rows[i].institutionNumber | |||
| } | |||
| ); | |||