| @@ -1372,6 +1372,15 @@ export function specialPublicityDetail(query) { | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function addReadCount(query) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/addReadCount', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询四议两公开列表 | |||
| export function specialPublicityEdit(data) { | |||
| return request({ | |||
| @@ -1406,3 +1415,45 @@ export function updateSpecialPublicityCount(query) { | |||
| 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' | |||
| }) | |||
| } | |||
| @@ -115,7 +115,7 @@ export default { | |||
| console.log('定位失败: ' + error.message); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| { enableHighAccuracy: true, timeout: 10000 } | |||
| { enableHighAccuracy: true, timeout: 5000 } | |||
| ); | |||
| return; | |||
| } | |||
| @@ -124,6 +124,22 @@ export default { | |||
| 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() { | |||
| //加载地图编辑 | |||
| @@ -132,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 = ''; | |||
| @@ -359,6 +414,7 @@ export default { | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| @@ -398,7 +454,7 @@ export default { | |||
| }); | |||
| //获取坐标是否存在 | |||
| var Zb; | |||
| this.getCurrentLocation((response) => { | |||
| this.getDeptLocation((response) => { | |||
| if (response.code == 200) { | |||
| let InsertCode = response.data; | |||
| if (InsertCode != null) { | |||
| @@ -524,6 +580,7 @@ export default { | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| @@ -111,7 +111,7 @@ | |||
| console.log('定位失败: ' + error.message); | |||
| getQueryLand().then(callback); | |||
| }, | |||
| { enableHighAccuracy: true, timeout: 10000 } | |||
| { enableHighAccuracy: true, timeout: 5000 } | |||
| ); | |||
| return; | |||
| } | |||
| @@ -120,6 +120,22 @@ | |||
| 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() { | |||
| //加载地图编辑 | |||
| @@ -128,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({ | |||
| @@ -399,6 +454,7 @@ | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| @@ -440,7 +496,7 @@ | |||
| //获取坐标是否存在 | |||
| var Zb; | |||
| //开始定位当前位置 | |||
| this.getCurrentLocation(res => { | |||
| this.getDeptLocation(res => { | |||
| if (res.code == 200) { | |||
| let lat = res.data.lat; | |||
| let lng = res.data.lng; | |||
| @@ -601,6 +657,7 @@ | |||
| }else { | |||
| Zb =[115.452752, 31.789033]; | |||
| } | |||
| addMark(lng,lat); | |||
| map.getView().animate({ | |||
| // 只设置需要的属性即可 | |||
| center: ol.proj.fromLonLat(Zb), // 中心点 | |||
| @@ -214,6 +214,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',//首页 | |||
| @@ -4029,6 +4029,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', | |||
| @@ -6468,6 +6486,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', | |||
| @@ -9,11 +9,8 @@ | |||
| <div class="search_block"> | |||
| <i class="icon"></i> | |||
| <input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList"> | |||
| <selector :visible.sync="typeVisible" v-model="queryParams.operationType" :columns="operation_type" clear value-key="dictValue" label-key="dictLabel" @confirm="refresh" @cancel="refresh"> | |||
| <template> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openAssetType" /> | |||
| </template> | |||
| </selector> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openAssetType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资产</div> | |||
| </div> | |||
| @@ -74,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> | |||
| @@ -90,9 +115,11 @@ | |||
| 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 | |||
| }, | |||
| @@ -114,6 +141,10 @@ | |||
| isAsc:'desc', | |||
| name:'', | |||
| operationType: null, | |||
| noMap: false, | |||
| params: { | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| @@ -304,6 +335,7 @@ | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||
| @@ -0,0 +1,243 @@ | |||
| <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"> | |||
| 投诉电话:044-1234567 | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {bookInfo, nologinMenus} 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:"", | |||
| }; | |||
| }, | |||
| 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 | |||
| } | |||
| }, | |||
| methods: { | |||
| goCode(){ | |||
| this.$router.push({path:'/sunVillage_info/login_code'}) | |||
| }, | |||
| goOut(){ | |||
| // Cookies.remove("memberName"); | |||
| // Cookies.remove("idcard"); | |||
| Cookies.remove("user"); | |||
| this.$router.push({name:'sunVillageInfoIndexCode',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> | |||
| @@ -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,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> | |||
| @@ -87,6 +87,12 @@ | |||
| <!-- <!– @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> | |||
| @@ -36,8 +36,9 @@ | |||
| <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> | |||
| @@ -34,8 +34,12 @@ | |||
| <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="备注" input-align="right" :border="false"/> | |||
| <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"> | |||
| @@ -47,7 +51,7 @@ | |||
| </template> | |||
| <script> | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import {specialPublicityDetail, updateSpecialPublicityCount} from "@/api/sunVillage_info/fixedAssets"; | |||
| import {specialPublicityDetail, updateSpecialPublicityCount, addReadCount} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "otherOpenDetail", | |||
| @@ -74,6 +78,9 @@ | |||
| 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(); | |||
| @@ -84,6 +91,10 @@ | |||
| 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; | |||
| }); | |||
| }, | |||
| @@ -155,6 +166,9 @@ | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .contentBox img{ | |||
| width: 100%; | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| @@ -87,6 +87,11 @@ | |||
| <!-- <!– @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> | |||
| @@ -0,0 +1,326 @@ | |||
| <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">技术支持:中农融信(北京)科技股份有限公司</p> | |||
| </div> | |||
| </div> | |||
| </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 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: "", //验证码 | |||
| isSmsLogin: false, //是否手机验证码 | |||
| computeTime: 0, | |||
| height:0, | |||
| show:true | |||
| }; | |||
| }, | |||
| created() { | |||
| this.height = document.body.clientHeight | |||
| this.getCookie(); | |||
| //this.formData.deptId = Cookies.get('deptId'); // 要关掉这个 | |||
| this.allowIdentityVerified(); | |||
| }, | |||
| 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> | |||
| @@ -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> | |||
| @@ -9,11 +9,7 @@ | |||
| <div class="search_block"> | |||
| <i class="icon"></i> | |||
| <input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList"> | |||
| <selector :visible.sync="typeVisible" v-model="queryParams.resourceType" :columns="resource_type" clear value-key="dictValue" label-key="dictLabel" @confirm="refresh" @cancel="refresh"> | |||
| <template> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openResourceType" /> | |||
| </template> | |||
| </selector> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openResourceType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资源</div> | |||
| </div> | |||
| @@ -69,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> | |||
| @@ -85,9 +109,10 @@ | |||
| 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: {Selector, MapGisLine,}, | |||
| components: {FieldSelect, Selector, MapGisLine,}, | |||
| data() { | |||
| return { | |||
| theGeom:'', | |||
| @@ -110,6 +135,10 @@ | |||
| translate_dict:1, | |||
| name:'', | |||
| resourceType: null, | |||
| noMap: false, | |||
| params: { | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| @@ -291,6 +320,7 @@ | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||
| @@ -8,11 +8,7 @@ | |||
| <div class="search_info"> | |||
| <div class="search_block"> | |||
| <van-search class="search_block searchHeight" v-model="queryParams.zcmc" @input="getSearchList" :placeholder="searchPlaceholder" /> | |||
| <selector :visible.sync="typeVisible" v-model="queryParams.threeAssetType" :columns="threeAssetTypeOptions" clear value-key="dictValue" label-key="dictLabel" @confirm="refresh" @cancel="refresh"> | |||
| <template> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openThreeAssetType" /> | |||
| </template> | |||
| </selector> | |||
| <van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openThreeAssetType" /> | |||
| </div> | |||
| <div class="total">共{{listLength}}个资产</div> | |||
| </div> | |||
| @@ -68,6 +64,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.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> | |||
| @@ -84,9 +108,10 @@ | |||
| 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: {Selector, MapGisLine,}, | |||
| components: {FieldSelect, Selector, MapGisLine,}, | |||
| data() { | |||
| return { | |||
| theGeom:'', | |||
| @@ -109,6 +134,10 @@ | |||
| translate_dict:1, | |||
| zcmc:'', | |||
| threeAssetType: null, | |||
| params: { | |||
| noMap: false, | |||
| noAttachment: false, | |||
| }, | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| @@ -272,6 +301,7 @@ | |||
| this.typeVisible = true; | |||
| }, | |||
| refresh() { | |||
| this.typeVisible = false; | |||
| this.queryParams.pageNum = 1; | |||
| this.listLength = 0; | |||
| this.applicationList = []; | |||