Conflicts: config/index.jswulanhaote
| @@ -3472,6 +3472,11 @@ | |||
| } | |||
| } | |||
| }, | |||
| "dom-walk": { | |||
| "version": "0.1.2", | |||
| "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", | |||
| "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" | |||
| }, | |||
| "domain-browser": { | |||
| "version": "1.2.0", | |||
| "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", | |||
| @@ -4612,6 +4617,15 @@ | |||
| "is-glob": "^4.0.1" | |||
| } | |||
| }, | |||
| "global": { | |||
| "version": "4.4.0", | |||
| "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", | |||
| "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", | |||
| "requires": { | |||
| "min-document": "^2.19.0", | |||
| "process": "^0.11.10" | |||
| } | |||
| }, | |||
| "globals": { | |||
| "version": "9.18.0", | |||
| "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", | |||
| @@ -5662,6 +5676,11 @@ | |||
| "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | |||
| "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | |||
| }, | |||
| "jquery": { | |||
| "version": "3.6.0", | |||
| "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-3.6.0.tgz?cache=0&sync_timestamp=1614705639458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjquery%2Fdownload%2Fjquery-3.6.0.tgz", | |||
| "integrity": "sha1-xyoJ8Vwb3OFC9J2/EXC9+K2sJHA=" | |||
| }, | |||
| "js-base64": { | |||
| "version": "2.6.4", | |||
| "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", | |||
| @@ -6301,6 +6320,14 @@ | |||
| "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | |||
| "dev": true | |||
| }, | |||
| "min-document": { | |||
| "version": "2.19.0", | |||
| "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", | |||
| "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", | |||
| "requires": { | |||
| "dom-walk": "^0.1.0" | |||
| } | |||
| }, | |||
| "minimalistic-assert": { | |||
| "version": "1.0.1", | |||
| "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | |||
| @@ -9759,8 +9786,7 @@ | |||
| "process": { | |||
| "version": "0.11.10", | |||
| "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | |||
| "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", | |||
| "dev": true | |||
| "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" | |||
| }, | |||
| "process-nextick-args": { | |||
| "version": "2.0.1", | |||
| @@ -11,6 +11,8 @@ | |||
| }, | |||
| "dependencies": { | |||
| "axios": "^0.21.1", | |||
| "jquery": "^3.6.0", | |||
| "global": "^4.4.0", | |||
| "js-cookie": "^2.2.1", | |||
| "lib-flexible": "^0.3.2", | |||
| "node-sass": "^5.0.0", | |||
| @@ -52,6 +52,7 @@ export function getCodeImg() { | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 发送短信验证码 | |||
| export function getSmsCode(mobile) { | |||
| @@ -65,3 +66,4 @@ export function getSmsCode(mobile) { | |||
| data:data | |||
| }) | |||
| } | |||
| @@ -11,8 +11,9 @@ export function getDeptList(id) { | |||
| //挂牌项目列表 | |||
| export function getOutProjectList(data){ | |||
| return request({ | |||
| url:'/transaction/website/outproject/list?deptId=&projectNumber=&', | |||
| url:'/transaction/website/outproject/list', | |||
| method:'get', | |||
| params:data | |||
| }) | |||
| } | |||
| //挂牌项目详情 | |||
| @@ -29,4 +29,12 @@ export function registerOn(memberName, idcard, mobile, smsCode,uuid) { | |||
| data: data | |||
| }) | |||
| } | |||
| //注册 | |||
| export function userRegister(data) { | |||
| return request({ | |||
| url: '/transaction/website/addMember', | |||
| method: 'post', | |||
| data: data | |||
| }) | |||
| } | |||
| @@ -102,3 +102,45 @@ export function userDemand(query){ | |||
| data: query | |||
| }) | |||
| } | |||
| //发布供求 | |||
| export function updateDemand(query){ | |||
| return request({ | |||
| url: '/transaction/demand', | |||
| method: 'put', | |||
| data: query | |||
| }) | |||
| } | |||
| //供求查询 | |||
| export function selectDemand(id){ | |||
| return request({ | |||
| url: '/transaction/demand/'+id, | |||
| method: 'get', | |||
| }) | |||
| } | |||
| //删除供求 | |||
| export function deleteSupply(id){ | |||
| return request({ | |||
| url: '/transaction/demand/'+id, | |||
| method: 'delete' | |||
| }) | |||
| } | |||
| // 展示图片 | |||
| export function showImg(id){ | |||
| return request({ | |||
| url: '/transaction/website/supplyDemand/showImg/id/'+id, | |||
| method: 'get', | |||
| }) | |||
| } | |||
| //我的竞价 | |||
| export function biddinglist(query){ | |||
| return request({ | |||
| url: '/transaction/outproject/biddinglist/member', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| @@ -11,6 +11,8 @@ import './config/flexible' | |||
| import store from './store/' | |||
| import './permission' // permission control | |||
| import global from '@/utils/global'; | |||
| import { getDicts } from "@/utils/data"; | |||
| import { selectDictLabel , onClickLeft , getNowFormatDate } from "@/utils/utils"; | |||
| @@ -19,6 +21,7 @@ Vue.prototype.getDicts = getDicts | |||
| Vue.prototype.selectDictLabel = selectDictLabel | |||
| Vue.prototype.onClickLeft = onClickLeft | |||
| Vue.prototype.getNowFormatDate = getNowFormatDate | |||
| Vue.prototype.global = global | |||
| // Vant 引用 | |||
| import Vant from 'vant'; | |||
| @@ -6,8 +6,29 @@ import { getToken } from '@/utils/auth' | |||
| NProgress.configure({ showSpinner: false }) | |||
| const whiteList = ['/index', '/login', '/auth-redirect', '/bind', '/register', '/news/index', '/notice/index', '/supply/index' | |||
| , '/interaction/index', '/register/index', '/register/registerType', '/register/userRegister', '/register/companyRegister', '/homestead/login', '/homestead/index'] | |||
| const whiteList = [ | |||
| '/index', | |||
| '/login', | |||
| '/auth-redirect', | |||
| '/bind', | |||
| '/register', | |||
| '/news/index', | |||
| '/news/newDetail', | |||
| '/notice/index', | |||
| '/supply/index', | |||
| '/interaction/index', | |||
| '/register/index', | |||
| '/register/registerType', | |||
| '/register/userRegister', | |||
| '/register/companyRegister', | |||
| '/biddingHall', | |||
| '/project', | |||
| '/policy', | |||
| '/policyDetail', | |||
| '/attestationDetail', | |||
| '/noticeDetail', | |||
| ] | |||
| router.beforeEach((to, from, next) => { | |||
| NProgress.start() | |||
| @@ -46,7 +67,7 @@ router.beforeEach((to, from, next) => { | |||
| next() | |||
| } else { | |||
| next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 | |||
| //next('/index'); | |||
| //next('/index'); | |||
| NProgress.done() | |||
| } | |||
| } | |||
| @@ -81,7 +81,8 @@ export const constantRoutes = [ | |||
| path: '/biddingHall', | |||
| name: 'biddingHall', | |||
| meta: { | |||
| title: '竞价大厅' | |||
| title: '竞价大厅', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/biddingHall'], resolve) | |||
| }, | |||
| @@ -106,7 +107,8 @@ export const constantRoutes = [ | |||
| path: '/news/index', | |||
| name: 'news', | |||
| meta: { | |||
| title: '新闻资讯' | |||
| title: '新闻资讯', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/news/index'], resolve) | |||
| }, | |||
| @@ -114,7 +116,8 @@ export const constantRoutes = [ | |||
| path: '/news/newDetail', | |||
| name: 'newDetail', | |||
| meta: { | |||
| title: '新闻详情' | |||
| title: '新闻详情', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/news/newDetail'], resolve) | |||
| }, | |||
| @@ -122,7 +125,8 @@ export const constantRoutes = [ | |||
| path: '/notice/index', | |||
| name: 'notice', | |||
| meta: { | |||
| title: '项目公告' | |||
| title: '项目公告', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/notice/index'], resolve) | |||
| }, | |||
| @@ -130,7 +134,8 @@ export const constantRoutes = [ | |||
| path: '/supply/index', | |||
| name: 'supply', | |||
| meta: { | |||
| title: '个人供求' | |||
| title: '个人供求', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/supply/index'], resolve) | |||
| }, | |||
| @@ -138,7 +143,8 @@ export const constantRoutes = [ | |||
| path: '/interaction/index', | |||
| name: 'interaction', | |||
| meta: { | |||
| title: '互动交流' | |||
| title: '互动交流', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/interaction/index'], resolve) | |||
| }, | |||
| @@ -0,0 +1,8 @@ | |||
| const deptId = 100 ; | |||
| const severApi = 'http://192.168.31.107:8080'; | |||
| export default | |||
| { | |||
| deptId,//区县ID | |||
| severApi,//全局API | |||
| } | |||
| @@ -15,8 +15,13 @@ export function onClickLeft(){ | |||
| history.back(-1); | |||
| } | |||
| export function getNowFormatDate() { | |||
| var date = new Date(); | |||
| export function getNowFormatDate(time) { | |||
| var date; | |||
| if (!time){ | |||
| date = new Date(); | |||
| }else{ | |||
| date = time; | |||
| } | |||
| var seperator1 = "-"; | |||
| var seperator2 = ":"; | |||
| var month = date.getMonth() + 1; | |||
| @@ -1,5 +1,12 @@ | |||
| <template> | |||
| <div> | |||
| <van-nav-bar | |||
| title="竞价大厅" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-search | |||
| v-model="value" | |||
| shape="round" | |||
| @@ -1,6 +1,46 @@ | |||
| <template> | |||
| <div class="app-container" @touchmove.prevent> | |||
| <div class="app-container"> | |||
| <div class="map_area"></div> | |||
| <!--列表 定位--> | |||
| <div class="rightIcon_wrap"> | |||
| <div class="positioning_wrap"> | |||
| <div class="icon"></div> | |||
| </div> | |||
| <div class="selectionIcon_wrap" @click="selectionPush"> | |||
| <div class="icon"></div> | |||
| <div class="text">列表</div> | |||
| </div> | |||
| </div> | |||
| <!--列表拉取详情--> | |||
| <div class="homesteadList_wrap"> | |||
| <div class="title_m"> | |||
| <div class="more_icon" @click="homesteadListShrink"></div> | |||
| <div class="name">宅基地列表</div> | |||
| </div> | |||
| <div class="main_m"> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="name_text">孙全礼</div> | |||
| <div class="square_text">80㎡</div> | |||
| <div class="operation_mian"> | |||
| <div class="describe yph">已盘活</div> | |||
| </div> | |||
| </div> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="name_text">杜永俭</div> | |||
| <div class="square_text">130㎡</div> | |||
| <div class="operation_mian"> | |||
| <div class="describe dlzdph">待流转待盘活</div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="footerBtn_wrap"> | |||
| <div class="options active">农房</div> | |||
| <div class="options">农地</div> | |||
| </div> | |||
| </div> | |||
| <!--选择地址--> | |||
| <div class="address_wrap"> | |||
| <div class="address_item"> | |||
| @@ -29,16 +69,45 @@ | |||
| </div> | |||
| <div class="address_item"> | |||
| <div class="portrait"></div> | |||
| <div class="name">南郊村南郊村</div> | |||
| <div class="name">南郊村</div> | |||
| </div> | |||
| <div class="address_item more"> | |||
| <div class="portrait"></div> | |||
| <div class="name"></div> | |||
| <div class="name" @click="addressPush"></div> | |||
| </div> | |||
| </div> | |||
| <!--搜索栏目--> | |||
| <div class="searchBar_wrap"> | |||
| <div class="actionBar_wrap" v-if="searchBarOperVisbile"> | |||
| <div class="m_list"> | |||
| <div class="tensile active"><div class="icon"></div></div> | |||
| </div> | |||
| <div class="m_list"> | |||
| <div class="positioning"> | |||
| <div class="icon"></div> | |||
| </div> | |||
| </div> | |||
| <div class="m_list"> | |||
| <div class="spacing"> | |||
| <div class="icon"></div> | |||
| </div> | |||
| </div> | |||
| <div class="m_list"> | |||
| <div class="scale"> | |||
| <div class="icon"></div> | |||
| </div> | |||
| </div> | |||
| <div class="m_list"> | |||
| <div class="closes gray" @click="searchBarOperFun('false')"> | |||
| <div class="icon"></div> | |||
| </div> | |||
| </div> | |||
| <div class="m_list"> | |||
| <div class="correct"></div> | |||
| </div> | |||
| </div> | |||
| <div class="searchBar_area"> | |||
| <div class="bar_icon"></div> | |||
| <div class="bar_ipt"> | |||
| @@ -46,7 +115,7 @@ | |||
| </div> | |||
| <div class="bar_text">搜索</div> | |||
| </div> | |||
| <div class="searchBar_more"></div> | |||
| <div class="searchBar_more" @click="searchBarOperFun('true')"></div> | |||
| </div> | |||
| <!--点击房地-显示的搜索---> | |||
| @@ -181,122 +250,237 @@ | |||
| <div class="landHomesteadEdit_wrap"> | |||
| <div class="content_mian"> | |||
| <div class="info_title">录入宗地信息</div> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s50 mr50"> | |||
| <div class="title_m">农房编号</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="请输入农房编号" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| <div class="flex_main"> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s50 mr50"> | |||
| <div class="title_m">农房编号</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="农房编号" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s50"> | |||
| <div class="title_m">房屋所有人名称</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="房屋所有人名称" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="number_s50"> | |||
| <div class="title_m">房屋所有人名称</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="请输入房屋所有人名称" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s60 mr50"> | |||
| <div class="title_m">地址</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="地址" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s40"> | |||
| <div class="title_m">农房权属</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="农房权属" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s60 mr50"> | |||
| <div class="title_m">地址</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="请输入地址" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">是否有审批手续</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="审批手续" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">建筑面积</div> | |||
| <div class="input_m about"> | |||
| <span class="about_symbol">≈</span> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="建筑面积" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s30"> | |||
| <div class="title_m">现状情况</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="现状情况" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="number_s40"> | |||
| <div class="title_m">农房权属</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="选择农房权属" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s50 mr50"> | |||
| <div class="title_m">房屋所有权证号</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="房屋所有权证号" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s50"> | |||
| <div class="title_m">土地证号</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="土地证号" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">是否有审批手续</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="审批手续" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">土地性质</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="土地性质" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">土地面积</div> | |||
| <div class="input_m about"> | |||
| <span class="about_symbol">≈</span> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="土地面积" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s30"> | |||
| <div class="title_m">是否有流转意向</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="是否有流转意向" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="number_s35 mr50"> | |||
| <div class="title_m">建筑面积</div> | |||
| <div class="input_m about"> | |||
| <span class="about_symbol">≈</span> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="建筑面积" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s50 mr50"> | |||
| <div class="title_m">租赁人</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="租赁人" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <div class="number_s50"> | |||
| <div class="title_m">租赁年限</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="租赁年限" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="number_s30"> | |||
| <div class="title_m">现状情况</div> | |||
| <div class="input_m select"> | |||
| <i class="dropDown_icon"></i> | |||
| <van-field | |||
| v-model="message" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| placeholder="现状情况" | |||
| class="landHomesteadEdit_input" | |||
| @click="showPicker = true" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| <!--1--> | |||
| <div class="flex_block"> | |||
| <div class="number_s100"> | |||
| <div class="title_m">租赁人</div> | |||
| <div class="input_m"> | |||
| <van-field | |||
| v-model="message" | |||
| placeholder="租赁人" | |||
| class="landHomesteadEdit_input" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <!--2--> | |||
| <div class="uploadPicturesFlex_block"> | |||
| <div class="title_m">上传图片</div> | |||
| <div class="main_m"> | |||
| <van-uploader v-model="fileList" multiple :max-count="2" /> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| @@ -306,21 +490,85 @@ | |||
| <div class="save">保存</div> | |||
| </div> | |||
| </div> | |||
| <!--农地农房选择--> | |||
| <div class="farmlandEditSwitch_wrap"> | |||
| <div class="mains"> | |||
| <div class="close_btn"></div> | |||
| <div class="farmhouse"> | |||
| <div class="icons"></div> | |||
| <p class="names">农房</p> | |||
| </div> | |||
| <div class="farmland"> | |||
| <div class="icons"></div> | |||
| <p class="names">农地</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import $ from "jquery"; | |||
| export default { | |||
| name: "homesteadLogin", | |||
| data() { | |||
| return { | |||
| //搜索栏目-操作栏显隐 | |||
| searchBarOperVisbile: false, | |||
| //以下删 | |||
| message: "", | |||
| showPicker: false, | |||
| columns: ["杭州", "宁波", "温州", "嘉兴", "湖州"], | |||
| fileList: [], | |||
| }; | |||
| }, | |||
| mounted() {}, | |||
| methods: { | |||
| searchBarOperFun(statue) { | |||
| if (statue == "true") { | |||
| this.searchBarOperVisbile = true; | |||
| } else { | |||
| this.searchBarOperVisbile = false; | |||
| } | |||
| }, | |||
| /*右侧列表 --展开收缩*/ | |||
| selectionPush() { | |||
| $(".homesteadList_wrap").animate( | |||
| { | |||
| right: "0", | |||
| }, | |||
| 300 | |||
| ); | |||
| }, | |||
| homesteadListShrink() { | |||
| $(".homesteadList_wrap").animate( | |||
| { | |||
| right: "-300px", | |||
| }, | |||
| 300 | |||
| ); | |||
| }, | |||
| /*点击顶部村庄--伸缩样式*/ | |||
| addressPush() { | |||
| let addressWrapBlock = $(".address_wrap .address_item.more .name"); | |||
| let lefValue = 0; | |||
| if (addressWrapBlock.hasClass("shrink")) { | |||
| addressWrapBlock.removeClass("shrink"); | |||
| lefValue = "-40px"; | |||
| } else { | |||
| addressWrapBlock.addClass("shrink"); | |||
| lefValue = "8px"; | |||
| } | |||
| $(".address_wrap").animate( | |||
| { | |||
| left: lefValue, | |||
| }, | |||
| 300 | |||
| ); | |||
| }, | |||
| /*以下删*/ | |||
| onConfirm(time) { | |||
| this.message = time; | |||
| this.showPicker = false; | |||
| @@ -333,6 +581,138 @@ export default { | |||
| width: 100vw; | |||
| height: 100vh; | |||
| position: relative; | |||
| .rightIcon_wrap { | |||
| position: absolute; | |||
| right: 16px; | |||
| bottom: 160px; | |||
| .selectionIcon_wrap { | |||
| width: 74px; | |||
| background: #fff; | |||
| border-radius: 10px; | |||
| padding: 14px 0; | |||
| .icon { | |||
| width: 38px; | |||
| height: 38px; | |||
| background: url("../../assets/images/homestead/selection_icon.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| margin: 0 auto 4px; | |||
| } | |||
| .text { | |||
| font-size: 24px; | |||
| text-align: center; | |||
| } | |||
| } | |||
| .positioning_wrap { | |||
| width: 74px; | |||
| background: #fff; | |||
| margin-bottom: 16px; | |||
| border-radius: 10px; | |||
| height: 74px; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中*/ | |||
| .icon { | |||
| width: 38px; | |||
| height: 38px; | |||
| background: url("../../assets/images/homestead/positioning_icon.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| margin: 0 auto; | |||
| } | |||
| } | |||
| } | |||
| .homesteadList_wrap { | |||
| // display: none; | |||
| display: flex; | |||
| position: absolute; | |||
| right: -536px; | |||
| top: 20px; | |||
| bottom: 160px; | |||
| width: 536px; | |||
| background: #fff; | |||
| z-index: 999; | |||
| border-top-left-radius: 15px; | |||
| border-bottom-left-radius: 15px; | |||
| flex-direction: column; | |||
| .title_m { | |||
| color: #333; | |||
| line-height: 36px; | |||
| padding: 20px 40px 32px; | |||
| .name { | |||
| font-size: 40px; | |||
| line-height: 42px; | |||
| height: 42px; | |||
| } | |||
| .more_icon { | |||
| width: 38px; | |||
| height: 38px; | |||
| background: url("../../assets/images/homestead/selectionNext_icon.png") | |||
| no-repeat; | |||
| float: right; | |||
| margin-top: 2px; | |||
| } | |||
| } | |||
| .main_m { | |||
| overflow-y: auto; | |||
| padding: 0 40px; | |||
| // height: 300px; | |||
| flex: 1; | |||
| .flex_block { | |||
| height: 70px; | |||
| display: flex; | |||
| // justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| .name_text { | |||
| font-size: 34px; | |||
| flex: 1; | |||
| } | |||
| .square_text { | |||
| font-size: 34px; | |||
| flex: 0.8; | |||
| } | |||
| .operation_mian { | |||
| flex: 0 0 150px; | |||
| .describe { | |||
| font-size: 20px; | |||
| padding: 6px 12px; | |||
| float: right; | |||
| color: #fff; | |||
| &.yph { | |||
| background: #3cbf5b; | |||
| border-radius: 30px; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .footerBtn_wrap { | |||
| flex: 0 0 90px; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| .options { | |||
| flex: 1; | |||
| font-size: 38px; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| height: 90px; | |||
| &:first-child { | |||
| border-bottom-left-radius: 15px; | |||
| } | |||
| &.active { | |||
| background: #3cbf5b; | |||
| color: #fff; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .map_area { | |||
| width: 100vw; | |||
| height: 100vh; | |||
| @@ -345,7 +725,8 @@ export default { | |||
| position: fixed; | |||
| z-index: 9; | |||
| top: 24px; | |||
| left: 16px; | |||
| // left: 16px; | |||
| left: -80px; | |||
| display: flex; | |||
| .address_item { | |||
| display: flex; | |||
| @@ -379,6 +760,9 @@ export default { | |||
| width: 40px; | |||
| height: 40px; | |||
| padding: 0; | |||
| &.shrink { | |||
| transform: rotate(180deg); | |||
| } | |||
| } | |||
| } | |||
| .address_suspension { | |||
| @@ -403,8 +787,8 @@ export default { | |||
| } | |||
| } | |||
| .searchBar_wrap { | |||
| display: none; | |||
| // display: flex; | |||
| // display: none; | |||
| display: flex; | |||
| position: fixed; | |||
| bottom: 0; | |||
| left: 0; | |||
| @@ -413,6 +797,117 @@ export default { | |||
| background: #fff; | |||
| border-top-left-radius: 15px; | |||
| border-top-right-radius: 15px; | |||
| .actionBar_wrap { | |||
| display: flex; | |||
| position: absolute; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| height: 100%; | |||
| background: #fff; | |||
| border-top-left-radius: 15px; | |||
| border-top-right-radius: 15px; | |||
| .m_list { | |||
| flex: 1; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| .tensile, | |||
| .positioning, | |||
| .spacing, | |||
| .scale { | |||
| width: 76px; | |||
| height: 72px; | |||
| background: #ffffff; | |||
| border-radius: 8px; | |||
| box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.16); | |||
| .icon { | |||
| width: 76px; | |||
| height: 72px; | |||
| } | |||
| &.active { | |||
| background: #333; | |||
| &.tensile { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/tensile_active.png") | |||
| center center no-repeat; | |||
| background-size: 38px 50px; | |||
| } | |||
| } | |||
| &.positioning { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/positioning_active.png") | |||
| center center no-repeat; | |||
| background-size: 38px 48px; | |||
| } | |||
| } | |||
| &.spacing { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/spacing_active.png") | |||
| center center no-repeat; | |||
| background-size: 46px 46px; | |||
| } | |||
| } | |||
| &.scale { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/scale_active.png") | |||
| center center no-repeat; | |||
| background-size: 48px 48px; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .tensile { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/tensile.png") | |||
| center center no-repeat; | |||
| background-size: 38px 50px; | |||
| } | |||
| } | |||
| .positioning { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/positioning.png") | |||
| center center no-repeat; | |||
| background-size: 38px 48px; | |||
| } | |||
| } | |||
| .spacing { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/spacing.png") | |||
| center center no-repeat; | |||
| background-size: 46px 46px; | |||
| } | |||
| } | |||
| .scale { | |||
| .icon { | |||
| background: url("../../assets/images/homestead/operation/scale.png") | |||
| center center no-repeat; | |||
| background-size: 48px 48px; | |||
| } | |||
| } | |||
| .closes { | |||
| background: url("../../assets/images/homestead/searchBar_close.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| width: 72px; | |||
| height: 72px; | |||
| &.gray { | |||
| background: url("../../assets/images/homestead/searchBar_close_gray.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| .correct { | |||
| background: url("../../assets/images/homestead/searchBar_save.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| width: 72px; | |||
| height: 72px; | |||
| } | |||
| } | |||
| } | |||
| .searchBar_area { | |||
| flex: 1; | |||
| height: 80px; | |||
| @@ -690,7 +1185,8 @@ export default { | |||
| } | |||
| } | |||
| .landHomesteadEdit_wrap { | |||
| display: flex; | |||
| display: none; | |||
| // display: flex; | |||
| position: absolute; | |||
| left: 0; | |||
| bottom: 0; | |||
| @@ -700,7 +1196,7 @@ export default { | |||
| .content_mian { | |||
| flex: 1; | |||
| margin: 0 16px; | |||
| padding: 28px 40px 28px 40px; | |||
| padding: 28px 25px 28px 40px; | |||
| background: #fff; | |||
| border-top-left-radius: 15px; | |||
| border-top-right-radius: 15px; | |||
| @@ -714,6 +1210,11 @@ export default { | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| color: #333; | |||
| } | |||
| .flex_main { | |||
| height: 890px; | |||
| padding-right: 15px; | |||
| overflow-y: auto; | |||
| } | |||
| .flex_block { | |||
| height: 100px; | |||
| margin-bottom: 20px; | |||
| @@ -723,6 +1224,12 @@ export default { | |||
| float: left; | |||
| flex-direction: column; | |||
| } | |||
| .number_s100 { | |||
| width: 100%; | |||
| float: left; | |||
| display: flex; | |||
| flex-direction: column; | |||
| } | |||
| .number_s60 { | |||
| // flex: 0.6; | |||
| width: 60%; | |||
| @@ -805,6 +1312,20 @@ export default { | |||
| padding-right: 50px; | |||
| } | |||
| } | |||
| .uploadPicturesFlex_block { | |||
| .title_m { | |||
| font-size: 28px; | |||
| flex: 0 0 50px; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| word-break: break-all; | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| margin-bottom: 20px; | |||
| } | |||
| .main_m { | |||
| } | |||
| } | |||
| } | |||
| .footer_main { | |||
| flex: 0 0 120px; | |||
| @@ -830,6 +1351,89 @@ export default { | |||
| } | |||
| } | |||
| } | |||
| .farmlandEditSwitch_wrap { | |||
| display: none; | |||
| width: 100vw; | |||
| height: 100vh; | |||
| background: url("../../assets/images/homestead/farmlandEditSwitch_bg.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| z-index: 1001; | |||
| .mains { | |||
| width: 544px; | |||
| height: 480px; | |||
| background: #fff; | |||
| position: absolute; | |||
| left: 50%; | |||
| top: 50%; | |||
| margin: -272px 0 0 -240px; | |||
| z-index: 1002; | |||
| border-radius: 30px; | |||
| padding: 0 30px; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| .close_btn { | |||
| position: absolute; | |||
| width: 28px; | |||
| height: 28px; | |||
| background: url("../../assets/images/homestead/farmlandEditSwitch_close.png") | |||
| no-repeat; | |||
| background-size: 100% 100%; | |||
| right: 40px; | |||
| top: 40px; | |||
| } | |||
| .farmhouse { | |||
| flex: 1; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| } | |||
| .farmland { | |||
| flex: 1; | |||
| display: flex; | |||
| justify-content: center; /* 相对父元素水平居中 */ | |||
| align-items: center; /* 子元素相对父元素垂直居中 */ | |||
| } | |||
| .farmhouse, | |||
| .farmland { | |||
| flex-direction: column; | |||
| .icons { | |||
| width: 146px; | |||
| height: 146px; | |||
| margin-bottom: 14px; | |||
| } | |||
| .names { | |||
| font-size: 40px; | |||
| color: #3cbf5b; | |||
| } | |||
| } | |||
| .farmhouse { | |||
| .icons { | |||
| background: url("../../assets/images/homestead/nf.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| .farmland { | |||
| .icons { | |||
| background: url("../../assets/images/homestead/nd.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| // <div class="farmhouse"> | |||
| // <div class="icons"></div> | |||
| // <p class="names">农房</p> | |||
| // </div> | |||
| // <div class="farmland"> | |||
| // <div class="icons"></div> | |||
| // <p class="names">农地</p> | |||
| // </div> | |||
| } | |||
| } | |||
| } | |||
| ::-webkit-scrollbar { | |||
| @@ -837,23 +1441,23 @@ export default { | |||
| } | |||
| ::-webkit-scrollbar:vertical { | |||
| width: 8px; | |||
| border-radius: 8px; | |||
| width: 10px; | |||
| border-radius: 10px; | |||
| } | |||
| ::-webkit-scrollbar:horizontal { | |||
| height: 8px; | |||
| border-radius: 8px; | |||
| height: 10px; | |||
| border-radius: 10px; | |||
| } | |||
| ::-webkit-scrollbar-thumb { | |||
| background-color: #9f9f9f; | |||
| border-radius: 8px; | |||
| border: 1px solid #ffffff; | |||
| background-color: #eee; | |||
| border-radius: 10px; | |||
| border: 3px solid #ffffff; | |||
| } | |||
| ::-webkit-scrollbar-track { | |||
| border-radius: 8px; | |||
| border-radius: 10px; | |||
| background-color: #ffffff; | |||
| } | |||
| </style> | |||
| @@ -8,7 +8,7 @@ | |||
| </van-row> | |||
| <van-swipe class="my-swipe" :autoplay="3000" height="180" indicator-color="white"> | |||
| <van-swipe-item v-for="(item,index) in bannerList" :key="index"> | |||
| <van-image :src="item.img" height="180" /> | |||
| <van-image :src="item.img" height="180" @click="goDetail(item.id)" /> | |||
| <p class="bannerTit">{{item.title}}</p> | |||
| </van-swipe-item> | |||
| </van-swipe> | |||
| @@ -18,7 +18,7 @@ | |||
| <van-image src="../../static/images/icon/icon_new.png" width="40" height="40" /> | |||
| <p>新闻资讯</p> | |||
| </van-grid-item> | |||
| <van-grid-item> | |||
| <van-grid-item to="/biddingHall"> | |||
| <van-image src="../../static/images/icon/icon_bidding.png" width="40" height="40" /> | |||
| <p>竞价大厅</p> | |||
| </van-grid-item> | |||
| @@ -49,17 +49,20 @@ | |||
| @load="getList()" | |||
| > | |||
| <!-- @load="newList"--> | |||
| <van-cell v-for="item in newList" :key="item.id" :title="item.title" :label="item.newsTime"> | |||
| <van-cell v-for="item in newList" :key="item.id" :label="item.newsTime" :to="{name:'newDetail', query: {id:item.id}}"> | |||
| <!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||
| <template #title> | |||
| <p class="newContent">{{item.title}}</p> | |||
| </template> | |||
| <template #right-icon> | |||
| <van-image :src="item.img" class="search-icon" width="30%" /> | |||
| <van-image :src="item.img" class="search-icon" width="30%" v-if="item.img" /> | |||
| <van-image src="../../static/images/zwtpxw.jpg" class="search-icon" width="30%" v-else/> | |||
| </template> | |||
| </van-cell> | |||
| </van-list> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { newList } from "@/api/index"; | |||
| export default { | |||
| @@ -100,6 +103,7 @@ export default { | |||
| this.newList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | |||
| } | |||
| } | |||
| console.log(this.newList) | |||
| if(this.newList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| @@ -122,6 +126,10 @@ export default { | |||
| } | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| goDetail(id){ | |||
| console.log(id) | |||
| window.location = 'news/newDetail?id='+id; | |||
| } | |||
| }, | |||
| }; | |||
| @@ -166,6 +174,13 @@ export default { | |||
| text-align: left; | |||
| color: #333333; | |||
| } | |||
| .newContent{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 2; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .search-icon { | |||
| line-height: inherit; | |||
| margin-left: 10px; | |||
| @@ -5,6 +5,7 @@ | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-list | |||
| v-model="loading" | |||
| @@ -54,7 +55,9 @@ export default { | |||
| this.loading = true; | |||
| interactionList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| this.interactionList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.interactionList.push(response.rows[i]); | |||
| } | |||
| if(this.interactionList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| @@ -1,10 +1,17 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <div class="focus-logo"> | |||
| <img src="@/assets/images/login-logo.png" /> | |||
| <p class="describe">登录页</p> | |||
| <div class="app-container" :style="{height:height+'px'}"> | |||
| <van-nav-bar | |||
| title="登录" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <div class="title"> | |||
| <p class="title_one">PROPERTY RIGHT</p> | |||
| <p class="title_two">TRANSACTION</p> | |||
| <p class="title_three">农村产权交易平台</p> | |||
| </div> | |||
| <div class="login-main"> | |||
| <ul class="head_nav clear"> | |||
| <li @click="isSmsLogin = false" :class="{ active: !isSmsLogin }"> | |||
| @@ -37,7 +44,7 @@ | |||
| clearable | |||
| label="验证码" | |||
| placeholder="图形验证码" | |||
| > | |||
| <template #button> | |||
| <img class="code-img" :src="codeUrl" @click="getCode" /> | |||
| @@ -85,15 +92,15 @@ | |||
| <div class="reveal-modal-con"> | |||
| <div class="dd_txt"> | |||
| <router-link to="/register">注册账户</router-link> | |||
| </div> | |||
| <div class="other-login"> | |||
| <p class="desc">—— 更多登录方式 ——</p> | |||
| <p class="icon-other-logins"> | |||
| <router-link class="wx" to="/"></router-link> | |||
| <router-link class="rlsb" to="/"></router-link> | |||
| </p> | |||
| <router-link to="register/index">注册账户</router-link> | |||
| </div> | |||
| <!-- <div class="other-login">--> | |||
| <!-- <p class="desc">—— 更多登录方式 ——</p>--> | |||
| <!-- <p class="icon-other-logins">--> | |||
| <!-- <router-link class="wx" to="/"></router-link>--> | |||
| <!-- <router-link class="rlsb" to="/"></router-link>--> | |||
| <!-- </p>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| @@ -121,10 +128,12 @@ export default { | |||
| codeUrl: "", //验证码 | |||
| isSmsLogin: false, //是否手机验证码 | |||
| computeTime: 0, | |||
| height:0 | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getCode(); | |||
| this.height = document.body.clientHeight | |||
| //调用微信公众号方法 | |||
| // wx.config({ | |||
| // debug: true, // 开启调试模式, | |||
| @@ -228,7 +237,28 @@ export default { | |||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | |||
| <style scoped lang="scss"> | |||
| .title{ | |||
| padding-top: 20%; | |||
| width: 88%; | |||
| margin: 0 auto; | |||
| } | |||
| .title_one{ | |||
| color: #666666; | |||
| font-size: 0.4rem; | |||
| } | |||
| .title_two{ | |||
| color: #007e72; | |||
| font-size: 0.6rem; | |||
| } | |||
| .title_three{ | |||
| color: #FFF; | |||
| font-size: 0.8rem; | |||
| } | |||
| .app-container { | |||
| background: url("../../static/images/index/registerBg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| width: 100%; | |||
| height: 100%; | |||
| .focus-logo { | |||
| width: 310px; | |||
| margin: 0 auto 40px; | |||
| @@ -252,6 +282,7 @@ export default { | |||
| overflow: hidden; | |||
| border: 1px solid #ddd; | |||
| padding-bottom:40px; | |||
| margin-top: 0.4rem; | |||
| } | |||
| .head_nav { | |||
| li { | |||
| @@ -288,7 +319,7 @@ export default { | |||
| text-align: center; | |||
| font-size: 28px; | |||
| a { | |||
| color: #666; | |||
| color: #FFF; | |||
| } | |||
| } | |||
| .other-login { | |||
| @@ -327,4 +358,4 @@ export default { | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| </style> | |||
| @@ -17,7 +17,8 @@ | |||
| <van-cell v-for="item in newList" :key="item.id" :title="item.title" :label="item.newsTime" :to="{name:'newDetail', query: {id:item.id}}"> | |||
| <!-- 使用 right-icon 插槽来自定义右侧图标 --> | |||
| <template #right-icon> | |||
| <van-image :src="item.img" class="search-icon" width="30%" style="margin-left: 10px;" /> | |||
| <van-image :src="item.img" class="search-icon" width="30%" style="margin-left: 10px;" v-if="item.img" /> | |||
| <van-image src="../../static/images/zwtpxw.jpg" class="search-icon" width="30%" v-else/> | |||
| </template> | |||
| </van-cell> | |||
| </van-list> | |||
| @@ -1,6 +1,7 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-search v-model="value" placeholder="请输入搜索关键词" @search="onSearch"/> | |||
| <van-dropdown-menu> | |||
| <van-dropdown-item v-model="value1" :options="projectTypeOption" @change="getList"/> | |||
| <van-dropdown-item :value="value2" :title="value2" ref="item"> | |||
| @@ -15,9 +16,10 @@ | |||
| </van-dropdown-item> | |||
| <van-dropdown-item v-model="value3" :options="option3" @change="getList"/> | |||
| </van-dropdown-menu> | |||
| <van-list v-model="loading" :finished="finished" finished-text="没有更多了"> | |||
| <router-link :to="{path:'project/projectDetail',query:{id:item.id}}" v-for="(item,index) in infoList" :key="index"> | |||
| <van-card :thumb="item.fileUrl?''+item.fileUrl:'../../static/images/index/projectImg.png'" > | |||
| <van-card :thumb="item.fileUrl?global.severApi+item.fileUrl:'../../static/images/zwtpxw.jpg'" > | |||
| <template #tags> | |||
| <p class="title">【{{item.rollout}}】{{item.projectName}}</p> | |||
| <p class="type">{{ item.projectShowStatus }}</p> | |||
| @@ -35,7 +37,7 @@ | |||
| </template> | |||
| <script> | |||
| import {getOutProjectList,getDeptList} from "../../api/project"; | |||
| import {getOutProjectList,getDeptList} from "@/api/project/index"; | |||
| export default { | |||
| name: "project", | |||
| @@ -43,7 +45,7 @@ export default { | |||
| return { | |||
| value1: '', | |||
| value2: '标的物位置', | |||
| activeId: 1, | |||
| activeId: this.global.deptId, | |||
| activeIndex: 0, | |||
| value3: '', | |||
| value:"", | |||
| @@ -57,9 +59,11 @@ export default { | |||
| ], | |||
| option3: [ | |||
| { text: '竞价状态', value: '' }, | |||
| { text: '全部', value: '全部' }, | |||
| { text: '竞价中', value: '竞价中' }, | |||
| { text: '竞价结束', value: '竞价结束' }, | |||
| { text: '正在报名', value: '正在报名' }, | |||
| { text: '等待竞价', value: '等待竞价' }, | |||
| { text: '正在竞价', value: '正在竞价' }, | |||
| { text: '等待成交', value: '等待成交' }, | |||
| { text: '已经成交', value: '已经成交' }, | |||
| ], | |||
| //标的物类型 | |||
| projectTypeOption:[{text:'标的物类型',value:''}], | |||
| @@ -72,6 +76,7 @@ export default { | |||
| }, | |||
| created() { | |||
| this.getDicts("project_type").then(response => { | |||
| console.log(response) | |||
| response.data.map(item => { | |||
| this.projectTypeOption.push({ value:item.dictCode, text: item.dictLabel}); | |||
| }); | |||
| @@ -113,11 +118,13 @@ export default { | |||
| }, | |||
| getList(){ | |||
| let queryDatas = { | |||
| deptId: this.value1, | |||
| projectNumber:this.activeId, | |||
| deptId: this.activeId, | |||
| projectNumber:this.value1, | |||
| projectShowStatus:this.value3 | |||
| } | |||
| console.log(queryDatas) | |||
| getOutProjectList(queryDatas).then(response =>{ | |||
| console.log(response) | |||
| this.infoList = response.rows | |||
| if(this.infoList.length>0){ | |||
| let newList = [] | |||
| @@ -11,10 +11,10 @@ | |||
| <van-tab title="竞拍信息" title-style="font-size:12px;"> | |||
| <van-swipe class="my-swipe" height="235" indicator-color="white" @change="onChange"> | |||
| <template v-if="detail.fileUrlList !== undefined &&detail.fileUrlList.length>0"> | |||
| <van-swipe-item v-for="(item,index) in detail.fileUrlList" :key="index"><van-image :src="item.fileUrl?''+item.fileUrl:'../../static/images/index/banner.png'" height="235" /></van-swipe-item> | |||
| <van-swipe-item v-for="(item,index) in detail.fileUrlList" :key="index"><van-image :src="item.fileUrl?global.severApi+item.fileUrl:'../../static/images/zwtp.jpg'" height="235" /></van-swipe-item> | |||
| </template> | |||
| <template v-else> | |||
| <van-swipe-item><van-image src="../../static/images/index/banner.png" height="235" /></van-swipe-item> | |||
| <van-swipe-item><van-image src="../../static/images/zwtp.jpg" height="235" /></van-swipe-item> | |||
| </template> | |||
| <template #indicator> | |||
| <div class="custom-indicator">{{ current + 1 }}/{{ detail.fileUrlList !== undefined &&detail.fileUrlList.length>0 ? detail.fileUrlList.length:1 }}</div> | |||
| @@ -28,26 +28,26 @@ | |||
| <van-col span="24" class="title">【{{ detail.rollout }}】{{ detail.projectName }}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="4">{{ process }}</van-col> | |||
| <van-col span="20"><van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒" /></van-col> | |||
| <van-col span="5">{{ process }}</van-col> | |||
| <van-col span="19"><van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒" /></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="4">挂牌价</van-col> | |||
| <van-col span="20" class="price"><span>{{detail.price}}</span> 元/亩/年</van-col> | |||
| <van-col span="5">挂牌价</van-col> | |||
| <van-col span="19" class="price"><span>{{detail.price}}</span> 元/亩/年</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="4">保证金</van-col> | |||
| <van-col span="20" class="money"><span>{{ detail.deposit }}</span> 元</van-col> | |||
| <van-col span="5">保证金</van-col> | |||
| <van-col span="19" class="money"><span>{{ detail.deposit }}</span> 元</van-col> | |||
| </van-row> | |||
| </div> | |||
| <div class="lead"> | |||
| <van-row > | |||
| <van-col span="3"><van-image src="../../static/images/icon/phone.png" style="vertical-align: text-top;" /></van-col> | |||
| <van-col span="2"><van-image src="../../static/images/icon/phone.png" style="vertical-align: text-top;" /></van-col> | |||
| <template v-if="biddinglistInformation!=undefined&&biddinglistInformation.length>0"> | |||
| <van-col span="4">{{biddinglistInformation[0].userName}}</van-col> | |||
| <van-col span="5">{{biddinglistInformation[0].userName}}</van-col> | |||
| <van-col span="4">{{biddinglistInformation[0].money}}元</van-col> | |||
| <van-col span="4">领先</van-col> | |||
| <van-col span="8">{{biddinglistInformation[0].createTime}}</van-col> | |||
| <van-col span="9">{{biddinglistInformation[0].createTime}}</van-col> | |||
| </template> | |||
| </van-row> | |||
| </div> | |||
| @@ -1,34 +1,54 @@ | |||
| <template> | |||
| <div class="app-container" :style="{height:height+'px'}"> | |||
| <van-nav-bar | |||
| title="个人注册" | |||
| title="单位用户注册" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-form> | |||
| <van-field v-model="tel" type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" /> | |||
| <van-form @submit="getSubmit"> | |||
| <van-field | |||
| center | |||
| clearable | |||
| label="短信验证码" | |||
| placeholder="请输入短信验证码" | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| label="供求类型" | |||
| placeholder="点击选择供求类型" | |||
| @click="showPicker = true" | |||
| required | |||
| :rules="[{ required:true }]" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="columns" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.phone" type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" /> | |||
| <van-field | |||
| v-model="form.code" | |||
| center | |||
| clearable | |||
| label="验证码" | |||
| placeholder="图形验证码" | |||
| required :rules="[{ required:true }]" | |||
| > | |||
| <template #button> | |||
| <van-button size="small" type="primary" native-type="button" :rules="[{ required:true }]">发送验证码</van-button> | |||
| <img class="code-img" :src="codeUrl" @click="getCode" /> | |||
| </template> | |||
| </van-field> | |||
| <van-field type="password" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field type="password" label="确认密码" placeholder="请再次输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.password" type="password" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="confirmPassWord" type="password" label="确认密码" placeholder="请再次输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/> | |||
| <van-field label="负责人姓名" placeholder="请输入负责人姓名" required :rules="[{ required:true }]"/> | |||
| <van-field label="身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/> | |||
| <van-field label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/> | |||
| <van-field label="联系地址" placeholder="请输入联系地址" /> | |||
| <van-field v-model="form.companyName" label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.realname" label="负责人姓名" placeholder="请输入负责人姓名" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.idCardNum" label="身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.companyCode" label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.companyLicense" label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" /> | |||
| <div class="submit"> | |||
| <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | |||
| <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | |||
| @@ -38,24 +58,72 @@ | |||
| </template> | |||
| <script> | |||
| import { getCodeImg } from "@/api/login"; | |||
| import { userRegister } from "@/api/register/index"; | |||
| export default { | |||
| name: "notice", | |||
| name: "companyRegister", | |||
| data() { | |||
| return { | |||
| height:0, | |||
| tel:'' | |||
| tel:'', | |||
| value:'', | |||
| confirmPassWord:'', | |||
| showPicker: false, | |||
| columns:[], | |||
| form: { | |||
| phone: "", //账号 | |||
| code: "", //验证码 | |||
| password: "", //密码 | |||
| realname: "", //姓名 | |||
| idCardNum: "", //身份证号 | |||
| address: "", //地址 | |||
| uuid:'',//图形验证码ID | |||
| memberType:2, | |||
| economicType:1, | |||
| companyName:'', | |||
| companyLicense:'', | |||
| companyCode:'' | |||
| }, | |||
| codeUrl:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getCode(); | |||
| this.getDicts("economic_type").then(res => { | |||
| res.data.map(item => { | |||
| this.columns.push(item.dictLabel); | |||
| }); | |||
| }); | |||
| this.height = document.body.clientHeight | |||
| }, | |||
| methods: {}, | |||
| methods: { | |||
| getCode() { | |||
| getCodeImg().then((res) => { | |||
| this.form.uuid = res.uuid; | |||
| this.codeUrl = "data:image/gif;base64," + res.img; | |||
| }); | |||
| }, | |||
| onConfirm(value, index) { | |||
| this.value = value; | |||
| this.showPicker = false; | |||
| this.form.supplyDemandType = index + 1 ; | |||
| }, | |||
| getSubmit(){ | |||
| console.log(this.form) | |||
| userRegister(this.form).then((res) => { | |||
| console.log(res) | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| background-color: #FFF; | |||
| .code-img { | |||
| width: 220px; | |||
| } | |||
| } | |||
| .submit{ | |||
| position: absolute; | |||
| @@ -1,5 +1,12 @@ | |||
| <template> | |||
| <div class="app-container" :style="{height:height+'px'}"> | |||
| <van-nav-bar | |||
| title="注册" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <div class="title"> | |||
| <p class="title_one">PROPERTY RIGHT</p> | |||
| <p class="title_two">TRANSACTION</p> | |||
| @@ -106,25 +113,48 @@ | |||
| <p>农村产权交易网</p> | |||
| </div> | |||
| </div> | |||
| <van-form @submit="onSubmit"> | |||
| <div class="agree_box"> | |||
| <label class="agree"><input type="checkbox">我已仔细阅读该须知,并同意该须知相关规定。</label> | |||
| <van-button round color="#007e72" block to="registerType">注册</van-button> | |||
| <van-field name="checkbox"> | |||
| <template #input> | |||
| <van-checkbox v-model="checkbox" checked-color="#007e72" shape="square"/><p style="color: #FFF;margin-left: 5px;">我已仔细阅读该须知,并同意该须知相关规定。</p> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <van-button native-type="submit" type="info" round color="#007e72" block style="width: 90%;margin:0 auto;">注册</van-button> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {Dialog} from "vant"; | |||
| export default { | |||
| name: "notice", | |||
| data() { | |||
| return { | |||
| height:0 | |||
| height:0, | |||
| checkbox:false | |||
| }; | |||
| }, | |||
| created() { | |||
| this.height = document.body.clientHeight | |||
| }, | |||
| methods: {}, | |||
| methods: { | |||
| onSubmit(){ | |||
| console.log(this.checkbox); | |||
| if(this.checkbox == true){ | |||
| window.location='registerType'; | |||
| }else{ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '请选择同意协议', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }) | |||
| } | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -136,7 +166,7 @@ export default { | |||
| height: 100%; | |||
| } | |||
| .title{ | |||
| padding-top: 30%; | |||
| padding-top: 20%; | |||
| width: 88%; | |||
| margin: 0 auto; | |||
| } | |||
| @@ -176,15 +206,12 @@ export default { | |||
| width: 90%; | |||
| margin: 0 auto; | |||
| margin-top: 0.4rem; | |||
| margin-bottom: 15px; | |||
| } | |||
| .agree{ | |||
| color: #FFF; | |||
| margin-bottom:0.4rem; | |||
| display: block; | |||
| .van-cell{ | |||
| padding: 0; | |||
| background-color: transparent; | |||
| margin: 0 auto; | |||
| } | |||
| .agree_box input[type='checkbox']{ | |||
| margin-right: 5px; | |||
| position: relative; | |||
| top: 5px; | |||
| } | |||
| </style> | |||
| @@ -1,5 +1,12 @@ | |||
| <template> | |||
| <div class="app-container" :style="{height:height+'px'}"> | |||
| <van-nav-bar | |||
| title="注册" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <div class="title"> | |||
| <p class="title_one">PROPERTY RIGHT</p> | |||
| <p class="title_two">TRANSACTION</p> | |||
| @@ -56,7 +63,7 @@ export default { | |||
| overflow: hidden; | |||
| } | |||
| .title{ | |||
| padding-top: 30%; | |||
| padding-top: 20%; | |||
| width: 88%; | |||
| margin: 0 auto; | |||
| } | |||
| @@ -1,30 +1,44 @@ | |||
| <template> | |||
| <div class="app-container" :style="{height:height+'px'}"> | |||
| <van-nav-bar | |||
| title="个人注册" | |||
| title="个人用户注册" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-form> | |||
| <van-field v-model="tel" type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" /> | |||
| <van-form @submit="getSubmit"> | |||
| <van-field v-model="form.phone" type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" /> | |||
| <!-- <van-field--> | |||
| <!-- center--> | |||
| <!-- clearable--> | |||
| <!-- label="短信验证码"--> | |||
| <!-- placeholder="请输入短信验证码"--> | |||
| <!-- required--> | |||
| <!-- v-model="form.sms"--> | |||
| <!-- :rules="[{ required:true }]"--> | |||
| <!-- >--> | |||
| <!-- <template #button>--> | |||
| <!-- <van-button size="small" type="primary" native-type="button" :rules="[{ required:true }]">发送验证码</van-button>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| <van-field | |||
| v-model="form.code" | |||
| center | |||
| clearable | |||
| label="短信验证码" | |||
| placeholder="请输入短信验证码" | |||
| required | |||
| :rules="[{ required:true }]" | |||
| label="验证码" | |||
| placeholder="图形验证码" | |||
| required :rules="[{ required:true }]" | |||
| > | |||
| <template #button> | |||
| <van-button size="small" type="primary" native-type="button" :rules="[{ required:true }]">发送验证码</van-button> | |||
| <img class="code-img" :src="codeUrl" @click="getCode" /> | |||
| </template> | |||
| </van-field> | |||
| <van-field type="password" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field type="password" label="确认密码" placeholder="请再次输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field label="姓名" placeholder="请输入姓名" required :rules="[{ required:true }]"/> | |||
| <van-field label="身份证号" placeholder="请输入身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field label="联系地址" placeholder="请输入联系地址" /> | |||
| <van-field v-model="form.password" type="password" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="confirmPassWord" type="password" label="确认密码" placeholder="请再次输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.realname" label="姓名" placeholder="请输入姓名" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.idCardNum" label="身份证号" placeholder="请输入身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" /> | |||
| <div class="submit"> | |||
| <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | |||
| <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | |||
| @@ -34,24 +48,56 @@ | |||
| </template> | |||
| <script> | |||
| import { getCodeImg } from "@/api/login"; | |||
| import { userRegister } from "@/api/register/index"; | |||
| export default { | |||
| name: "notice", | |||
| name: "userRegister", | |||
| data() { | |||
| return { | |||
| height:0, | |||
| tel:'' | |||
| tel:'', | |||
| confirmPassWord:'', | |||
| form: { | |||
| phone: "", //账号 | |||
| code: "", //验证码 | |||
| password: "", //密码 | |||
| realname: "", //姓名 | |||
| idCardNum: "", //身份证号 | |||
| address: "", //地址 | |||
| uuid:'',//图形验证码ID | |||
| memberType:1, | |||
| economicType:1 | |||
| }, | |||
| codeUrl:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getCode() | |||
| this.height = document.body.clientHeight | |||
| }, | |||
| methods: {}, | |||
| methods: { | |||
| getCode() { | |||
| getCodeImg().then((res) => { | |||
| this.form.uuid = res.uuid; | |||
| this.codeUrl = "data:image/gif;base64," + res.img; | |||
| }); | |||
| }, | |||
| getSubmit(){ | |||
| console.log(this.form) | |||
| userRegister(this.form).then((res) => { | |||
| console.log(res) | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| background-color: #FFF; | |||
| .code-img { | |||
| width: 220px; | |||
| } | |||
| } | |||
| .submit{ | |||
| position: absolute; | |||
| @@ -7,21 +7,37 @@ | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-cell title="用户资料修改" to="userInformation" is-link icon="points" /> | |||
| <van-cell title="用户资料修改" @click="goInformation" to="userInformation" is-link icon="points" /> | |||
| <van-cell title="银行账户信息修改" to="bankInformation" is-link icon="credit-pay" /> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getInfo } from "@/api/login/index"; | |||
| import { getMember , showUserImg } from "@/api/user/index"; | |||
| export default { | |||
| name: "notice", | |||
| name: "Setting", | |||
| data() { | |||
| return { | |||
| }; | |||
| }, | |||
| created() { | |||
| getInfo().then(response => { | |||
| getMember(response.user.userId).then(response => { | |||
| this.memberType = response.data.memberType; | |||
| console.log(this.memberType) | |||
| }); | |||
| }); | |||
| }, | |||
| methods: { | |||
| goInformation(){ | |||
| if(this.memberType == 1){ | |||
| window.location = 'userInformation'; | |||
| }else{ | |||
| window.location = 'companyInformation'; | |||
| } | |||
| } | |||
| }, | |||
| methods: {}, | |||
| }; | |||
| </script> | |||
| @@ -5,57 +5,226 @@ | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-form> | |||
| <van-field value="15314031621" type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" > | |||
| <van-form @submit="submitForm"> | |||
| <van-field v-model="tel" readonly type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" > | |||
| <template #extra > | |||
| <p style="color: #007e72">修改手机号</p> | |||
| </template> | |||
| </van-field> | |||
| <van-field value="15314031621" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/> | |||
| <van-field value="北京农燊高科" label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/> | |||
| <van-field value="庞东旭" label="负责人姓名" placeholder="请输入负责人姓名" required :rules="[{ required:true }]"/> | |||
| <van-field value="230381199705255156" label="身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field value="1122334" label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/> | |||
| <van-field value="私企" label="企业性质" placeholder="请输入企业性质" /> | |||
| <van-field value="软件程序开发" label="经营范围" placeholder="请输入经营范围" /> | |||
| <van-field value="2010.9-2020.5" label="经营期限" placeholder="请输入经营期限" /> | |||
| <van-field value="2010年9月10日" label="成立时间" placeholder="请输入成立时间" /> | |||
| <van-field value="2100万" label="注册资金" placeholder="请输入注册资金" /> | |||
| <van-field value="124578963" label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/> | |||
| <van-field value="山东威海" label="联系地址" placeholder="请输入联系地址" /> | |||
| <!-- <van-field value="15314031621" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/>--> | |||
| <van-field v-model="userForm.companyName" label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="userForm.realname" label="负责人姓名" placeholder="请输入负责人姓名" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="userForm.idCardNum" label="身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="userForm.companyCode" label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="企业性质" | |||
| :value="companyNameValue" | |||
| placeholder="选择企业性质" | |||
| @click="showPickerPiker = true" | |||
| required :rules="[{ required:true }]" | |||
| /> | |||
| <van-popup v-model="showPickerPiker" round position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="companyNameList" | |||
| @cancel="showPickerPiker = false" | |||
| @confirm="onConfirmCompany" | |||
| /> | |||
| </van-popup> | |||
| <!-- <van-field v-model="userForm.companyNature" label="企业性质" placeholder="请输入企业性质" required :rules="[{ required:true }]" />--> | |||
| <van-field v-model="userForm.companyScope" label="经营范围" placeholder="请输入经营范围" required :rules="[{ required:true }]" /> | |||
| <van-field v-model="userForm.companyTimeLimit" label="经营期限" placeholder="请输入经营期限" required :rules="[{ required:true }]" /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="成立时间" | |||
| :value="userForm.companySetupTime" | |||
| placeholder="选择成立时间" | |||
| @click="showPicker = true" | |||
| required :rules="[{ required:true }]" | |||
| /> | |||
| <van-popup v-model="showPicker" round position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @cancel="showPicker = false" | |||
| @confirm="onConfirm" | |||
| /> | |||
| </van-popup> | |||
| <!-- <van-field v-model="userForm.companySetupTime" label="成立时间" placeholder="请输入成立时间" required :rules="[{ required:true }]" />--> | |||
| <van-field v-model="userForm.companyCapital" label="注册资金" placeholder="请输入注册资金" required :rules="[{ required:true }]" /> | |||
| <van-field v-model="userForm.companyLicense" label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="userForm.address" label="联系地址" placeholder="请输入联系地址" required :rules="[{ required:true }]" /> | |||
| <van-field name="uploader" label="上传相关附件"> | |||
| <template #input> | |||
| <van-uploader :after-read="afterRead" v-model="fileList" multiple /> | |||
| <van-uploader :after-read="afterRead" :before-delete="deleteFile" v-model="fileList" multiple :max-count="5" /> | |||
| </template> | |||
| </van-field> | |||
| <p style="color: red; text-align: center;">*身份证照片、本人和身份证的合影</p> | |||
| <div class="submit"> | |||
| <van-button round block type="info" color="#007E72" native-type="submit" style="width: 90%;margin: 0 auto;">立即注册</van-button> | |||
| <van-button round block type="info" color="#007E72" native-type="submit" style="width: 90%;margin: 0 auto;">保存</van-button> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getInfo } from "@/api/login/index"; | |||
| import { getMember , base64Attach , userUpdate , showUserImg , deleteUserImg} from "@/api/user/index"; | |||
| import {Dialog} from "vant"; | |||
| export default { | |||
| name: "notice", | |||
| name: "companyInformation", | |||
| data() { | |||
| return { | |||
| height:0, | |||
| tel:'', | |||
| fileList:[] | |||
| showPicker: false, | |||
| showPickerPiker: false, | |||
| minDate: new Date(1900, 0, 1), | |||
| maxDate: new Date(), | |||
| currentDate: new Date(), | |||
| value:'', | |||
| companyNameValue:'', | |||
| fileList:[], | |||
| companyNameList:[], | |||
| form: { | |||
| files:[], | |||
| fileType:'', | |||
| bizPath:'transaction', | |||
| tableName:'t_transaction_member', | |||
| tableId:'' | |||
| }, | |||
| userForm:{ | |||
| companyName:'', | |||
| idCardNum:'', | |||
| realname:'', | |||
| companyCode:'', | |||
| companyName:'', | |||
| companyNature:'', | |||
| companyScope:'', | |||
| companyTimeLimit:'', | |||
| companySetupTime:'', | |||
| companyCapital:'', | |||
| companyLicense:'', | |||
| address:'', | |||
| }, | |||
| userInfo:[], | |||
| upLoadList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.height = document.body.clientHeight | |||
| this.getInfo() | |||
| this.getDicts("company_nature").then(res => { | |||
| console.log(res); | |||
| for (var i = 0 ; i < res.data.length ; i++ ){ | |||
| this.companyNameList.push(res.data[i].dictLabel) | |||
| } | |||
| //this.value = this.selectDictLabel(res.data,response.data.supplyDemandType); | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmCompany(value,index){ | |||
| console.log(value) | |||
| this.companyNameValue = value; | |||
| this.showPickerPiker = false; | |||
| this.userForm.companyNature = index+1 | |||
| console.log(this.userForm.companyName) | |||
| }, | |||
| onConfirm(value) { | |||
| this.userForm.companySetupTime = this.getNowFormatDate(value).substr(0,10); | |||
| console.log(new Date()) | |||
| this.showPicker = false; | |||
| }, | |||
| getInfo(){ | |||
| getInfo().then(response => { | |||
| getMember(response.user.userId).then(response => { | |||
| console.log(response) | |||
| this.userForm.companyName = response.data.companyName; | |||
| this.userForm.idCardNum = response.data.idCardNum; | |||
| this.userForm.realname = response.data.realname; | |||
| this.userForm.companyCode = response.data.companyCode; | |||
| this.userForm.companyName = response.data.companyName; | |||
| this.userForm.companyNature = response.data.companyNature; | |||
| this.userForm.companyScope = response.data.companyScope; | |||
| this.userForm.companyTimeLimit = response.data.companyTimeLimit; | |||
| this.userForm.companySetupTime = response.data.companySetupTime; | |||
| this.userForm.companyCapital = response.data.companyCapital; | |||
| this.userForm.companyLicense = response.data.companyLicense; | |||
| this.userForm.address = response.data.address; | |||
| this.tel = response.data.phone | |||
| this.getDicts("company_nature").then(res => { | |||
| console.log(res); | |||
| this.companyNameValue = this.selectDictLabel(res.data,response.data.companyNature); | |||
| }); | |||
| this.userForm.id = response.data.id; | |||
| this.form.tableId = response.data.id; | |||
| showUserImg(response.data.id).then(responseSecond => { | |||
| console.log(responseSecond) | |||
| this.form.files = responseSecond.data | |||
| for (var i = 0 ; i < responseSecond.data.length ; i++){ | |||
| this.fileList.push({url:this.global.severApi+responseSecond.data[i].fileUrl,id:responseSecond.data[i].id}) | |||
| } | |||
| }); | |||
| }); | |||
| }); | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| console.log(this.fileList) | |||
| console.log(file); | |||
| for ( var i = 0 ; i < this.fileList.length ; i++){ | |||
| console.log(this.fileList[i].url) | |||
| if(this.fileList[i].url == undefined&&this.fileList!='') { | |||
| this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true}; | |||
| } | |||
| } | |||
| }, | |||
| deleteFile(elIndex){ | |||
| if(elIndex.id != ''){ | |||
| deleteUserImg(elIndex.id).then(response => {}); | |||
| } | |||
| return (file, name) => { | |||
| let fileIndex = name.index | |||
| this.fileList[elIndex].splice(fileIndex, 1) | |||
| this.upLoadList[elIndex].splice(fileIndex, 1) | |||
| } | |||
| }, | |||
| submitForm(){ | |||
| this.form.files = []; | |||
| userUpdate(this.userForm).then(response => { | |||
| var imgList = []; | |||
| console.log(this.fileList) | |||
| for (var i = 0 ; i < this.fileList.length ; i++){ | |||
| if(this.fileList[i].url.indexOf('http') == -1&&this.fileList!=''){ | |||
| this.form.files.push(this.fileList[i].url); | |||
| } | |||
| } | |||
| console.log(this.form.files) | |||
| base64Attach(this.form).then(responseSecond => { | |||
| if(response.code == 200 && responseSecond.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '修改成功', | |||
| confirmButtonText: '确定', | |||
| }) | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -8,7 +8,7 @@ | |||
| @click-left="onClickLeft" | |||
| /> | |||
| <van-form @submit="submitForm"> | |||
| <van-field v-model="userForm.phone" type="tel" label="手机号" placeholder="请输入手机号" readonly required :rules="[{ required:true }]" > | |||
| <van-field v-model="tel" readonly type="tel" label="手机号" placeholder="请输入手机号" readonly required :rules="[{ required:true }]" > | |||
| <template #extra > | |||
| <p style="color: #007e72" onclick="window.location='phoneInformation'">修改手机号</p> | |||
| </template> | |||
| @@ -47,7 +47,6 @@ export default { | |||
| tableId:'' | |||
| }, | |||
| userForm:{ | |||
| phone:'', | |||
| idCardNum:'', | |||
| realname:'', | |||
| address:'', | |||
| @@ -64,16 +63,17 @@ export default { | |||
| getInfo(){ | |||
| getInfo().then(response => { | |||
| getMember(response.user.userId).then(response => { | |||
| console.log(response) | |||
| this.userForm.idCardNum = response.data.idCardNum; | |||
| this.userForm.realname = response.data.realname; | |||
| this.userForm.address = response.data.address; | |||
| this.userForm.phone = response.data.phone; | |||
| this.userForm.id = response.data.id; | |||
| this.form.tableId = response.data.id; | |||
| this.tel = response.data.phone | |||
| showUserImg(response.data.id).then(responseSecond => { | |||
| console.log(responseSecond) | |||
| for (var i = 0 ; i < responseSecond.data.length ; i++){ | |||
| this.fileList.push({url:'http://116.255.135.38:8081/nsgk_test'+responseSecond.data[i].fileUrl,id:responseSecond.data[i].id}) | |||
| this.fileList.push({url:this.global.severApi+responseSecond.data[i].fileUrl,id:responseSecond.data[i].id}) | |||
| } | |||
| }); | |||
| }); | |||
| @@ -81,10 +81,17 @@ export default { | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| this.fileList[this.fileList.length-1] = {url:file.content,id:'',isImage: true}; | |||
| for ( var i = 0 ; i < this.fileList.length ; i++){ | |||
| console.log(this.fileList[i].url) | |||
| if(this.fileList[i].url == undefined&&this.fileList!='') { | |||
| this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true}; | |||
| } | |||
| } | |||
| }, | |||
| deleteFile(elIndex){ | |||
| deleteUserImg(elIndex.id).then(response => {}); | |||
| if(elIndex.id != ''){ | |||
| deleteUserImg(elIndex.id).then(response => {}); | |||
| } | |||
| return (file, name) => { | |||
| let fileIndex = name.index | |||
| this.fileList[elIndex].splice(fileIndex, 1) | |||
| @@ -122,10 +129,11 @@ export default { | |||
| background-color: #FFF; | |||
| } | |||
| .submit{ | |||
| position: absolute; | |||
| position: fixed; | |||
| bottom: 5%; | |||
| width: 90%; | |||
| left: 5%; | |||
| background-color: #FFFFFF; | |||
| p{ | |||
| text-align: center; | |||
| margin-bottom: 0.2rem; | |||
| @@ -11,57 +11,98 @@ | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="onLoad" | |||
| @load="getList" | |||
| class="biddingList" | |||
| > | |||
| <van-row> | |||
| <van-col span="11" style="font-size: 0.4rem;line-height: 0.65rem">管家堡乡张村张三丰500亩水田出租出</van-col> | |||
| <van-col span="13"> | |||
| <van-row class="row"> | |||
| <van-col span="9">距竞价结束</van-col> | |||
| <van-col span="15" class="col"><van-count-down :time="time" format="DD天HH时mm分ss秒" style="font-size: 0.2rem;color: #C21F3A" /></van-col> | |||
| </van-row> | |||
| <van-row class="row"> | |||
| <van-col span="9">当前价格</van-col> | |||
| <van-col span="15" class="col"><span>500</span>元/亩/年</van-col> | |||
| </van-row> | |||
| <van-row class="row" style="margin: 0;"> | |||
| <van-col span="9">我的出价</van-col> | |||
| <van-col span="15" class="col"><span>500</span>元/亩/年</van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-divider :style="{borderColor:'#B4B4B4'}"/> | |||
| <van-cell v-for="(item , index) in biddinglist" :key="index"> | |||
| <van-row> | |||
| <van-col span="24" style="font-size: 0.4rem;margin-bottom: 0.1rem;">{{item.projectName}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24"> | |||
| <van-row class="row"> | |||
| <van-col span="4" style="font-size: 0.2rem;">当前价格</van-col> | |||
| <van-col span="8" class="col"><span>{{item.money}}</span>{{item.unit}}</van-col> | |||
| <van-col span="4" style="font-size: 0.2rem;">我的出价</van-col> | |||
| <van-col span="8" class="col"><span>{{item.memberMoney}}</span>{{item.unit}}</van-col> | |||
| </van-row> | |||
| <van-row class="row"> | |||
| <van-col span="5" style="font-size: 0.2rem;">距竞价结束</van-col> | |||
| <van-col span="19" class="col"> | |||
| <van-count-down :time="item.biddingStopTime" format="DD天HH时mm分ss秒" style="font-size: 0.2rem;color: #C21F3A;margin-top: 3px;" /> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getMember , biddinglist } from "@/api/user/index"; | |||
| import { getInfo } from "@/api/login/index"; | |||
| export default { | |||
| name: "notice", | |||
| name: "userBidding", | |||
| data() { | |||
| return { | |||
| loading: false, | |||
| finished: true, | |||
| time: 30 * 60 * 60 * 1000, | |||
| finished: false, | |||
| biddinglist:[], | |||
| queryParams:{ | |||
| memberId:'', | |||
| pageNum:1, | |||
| pageSize:10 | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getInfo(); | |||
| }, | |||
| methods: { | |||
| getInfo(){ | |||
| getInfo().then(response => { | |||
| getMember(response.user.userId).then(response => { | |||
| this.queryParams.memberId = response.data.id; | |||
| this.getList(); | |||
| }); | |||
| }); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| biddinglist(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var nowTime = Date.parse(new Date()); | |||
| var timeTest = response.rows[i].biddingStopTime; | |||
| var endTimes=timeTest.substring(0,10).split('-'); | |||
| timeTest = endTimes[1]+'/'+endTimes[2]+'/'+endTimes[0]+' '+timeTest.substring(10,19); | |||
| var leftTime = Date.parse(timeTest)-nowTime; | |||
| response.rows[i].biddingStopTime = leftTime ; | |||
| this.biddinglist.push(response.rows[i]); | |||
| } | |||
| if(this.biddinglist.length >= response.total){ | |||
| this.finished = true; | |||
| this.loading = false; | |||
| return; | |||
| } | |||
| this.finished = true; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| }, | |||
| methods: {}, | |||
| }; | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| background-color: #FFF; | |||
| } | |||
| .biddingList{ | |||
| padding: 0.5rem 2% 0; | |||
| .van-row{ | |||
| padding: 0 3%; | |||
| } | |||
| padding: 0 2%; | |||
| } | |||
| .row{ | |||
| color: #666666; | |||
| @@ -12,7 +12,7 @@ | |||
| /> | |||
| </van-col> | |||
| <van-col span="17"> | |||
| <p>13306310001</p> | |||
| <p>{{phone}}</p> | |||
| <p onclick="window.location='accountSetting'">账户设置</p> | |||
| </van-col> | |||
| </van-row> | |||
| @@ -22,25 +22,38 @@ | |||
| <van-cell title="我的咨询" is-link icon="service-o" to="userInteraction" /> | |||
| <van-cell title="我的供求" is-link icon="bag-o" to="userSupply" /> | |||
| </div> | |||
| <van-button plain type="warning" class="loginOut" @click="loginOut">退出登录</van-button> | |||
| <van-button class="loginOut" color="linear-gradient(to right, #ff6034, #ee0a24)" @click="loginOut"> | |||
| 退出登录 | |||
| </van-button> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { logout } from "@/api/login/index"; | |||
| import { getMember , supplyList , deleteSupply} from "@/api/user/index"; | |||
| import { logout ,getInfo } from "@/api/login/index"; | |||
| export default { | |||
| name: "notice", | |||
| name: "user", | |||
| data() { | |||
| return { | |||
| phone:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getInfo(); | |||
| }, | |||
| methods: { | |||
| loginOut(){ | |||
| logout().then(response => { | |||
| location.reload(true); | |||
| }); | |||
| }, | |||
| getInfo(){ | |||
| getInfo().then(response => { | |||
| console.log(response) | |||
| getMember(response.user.userId).then(response => { | |||
| console.log(response) | |||
| this.phone = response.data.phone; | |||
| }); | |||
| }); | |||
| }, | |||
| }, | |||
| @@ -76,8 +89,5 @@ export default { | |||
| .loginOut{ | |||
| width: 94%; | |||
| margin-left: 3%; | |||
| background-color: transparent; | |||
| color:red; | |||
| border-color: red; | |||
| } | |||
| </style> | |||
| @@ -17,7 +17,6 @@ | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| style="margin-top: 10px;" | |||
| @load="getList" | |||
| > | |||
| <van-cell icon="play" v-for="(item , index) in supplyList" v-if="item.supplyDemandType == 1" :key="index"> | |||
| <template #title> | |||
| @@ -25,12 +24,12 @@ | |||
| </template> | |||
| <template #label> | |||
| 联系电话:{{item.phone}} <p style="float: right;">发布时间:{{item.logintime}}</p> | |||
| <van-row style="margin-top: 5px;"> | |||
| <van-row style="margin-top: 5px;" v-if="item.isAuditStatus == 'N'"> | |||
| <van-col span="16"></van-col> | |||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="goAdd('update',item.id)" v-if="item.reply == null"> | |||
| <van-icon name="edit" size="15" style="top:3px"/>修改 | |||
| </van-col> | |||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="deleteInteraction(item.id)" v-if="item.reply == null"> | |||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="deleteSupply(item.id)" v-if="item.reply == null"> | |||
| <van-icon name="delete-o" size="15" style="top:3px"/>删除 | |||
| </van-col> | |||
| </van-row> | |||
| @@ -52,6 +51,15 @@ | |||
| </template> | |||
| <template #label> | |||
| 联系电话:{{item.phone}} <p style="float: right;">发布时间:{{item.logintime}}</p> | |||
| <van-row style="margin-top: 5px;" v-if="item.isAuditStatus == 'N'"> | |||
| <van-col span="16"></van-col> | |||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="goAdd('update',item.id)" v-if="item.reply == null"> | |||
| <van-icon name="edit" size="15" style="top:3px"/>修改 | |||
| </van-col> | |||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="deleteSupply(item.id)" v-if="item.reply == null"> | |||
| <van-icon name="delete-o" size="15" style="top:3px"/>删除 | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-list> | |||
| @@ -61,8 +69,9 @@ | |||
| </template> | |||
| <script> | |||
| import { getMember , supplyList } from "@/api/user/index"; | |||
| import { getMember , supplyList , deleteSupply} from "@/api/user/index"; | |||
| import { getInfo } from "@/api/login/index"; | |||
| import {Dialog} from "vant"; | |||
| export default { | |||
| name: "userSupply", | |||
| data() { | |||
| @@ -76,8 +85,6 @@ export default { | |||
| //查询参数 | |||
| queryParams:{ | |||
| memberId:'', | |||
| pageNum:1, | |||
| pageSize:10 | |||
| } | |||
| }; | |||
| }, | |||
| @@ -100,6 +107,7 @@ export default { | |||
| getInfo().then(response => { | |||
| getMember(response.user.userId).then(response => { | |||
| this.queryParams.memberId = response.data.id; | |||
| this.getList(); | |||
| }); | |||
| }); | |||
| }, | |||
| @@ -110,14 +118,30 @@ export default { | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.supplyList.push(response.rows[i]); | |||
| } | |||
| if(this.supplyList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| } | |||
| this.queryParams.pageNum += 1 ; | |||
| this.finished = true; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| deleteSupply(id){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '是否删除?', | |||
| confirmButtonText: '确定', | |||
| }).then(() => { | |||
| deleteSupply(id).then(response => { | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '删除成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| this.supplyList = []; | |||
| this.getList(); | |||
| }) | |||
| }); | |||
| }) | |||
| } | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -13,9 +13,11 @@ | |||
| clickable | |||
| name="picker" | |||
| :value="value" | |||
| label="选择器" | |||
| placeholder="点击选择城市" | |||
| label="供求类型" | |||
| placeholder="点击选择供求类型" | |||
| @click="showPicker = true" | |||
| required | |||
| :rules="[{ required:true }]" | |||
| /> | |||
| <van-popup v-model="showPicker" position="bottom"> | |||
| <van-picker | |||
| @@ -25,11 +27,16 @@ | |||
| @cancel="showPicker = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="form.projectName" label="项目名称" placeholder="请输入标题" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.location" label="项目地址" placeholder="请输入标题" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.projectName" label="项目名称" placeholder="请输入项目名称" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.location" label="项目地址" placeholder="请输入项目地址" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.realname" label="姓名" placeholder="请输入姓名" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.phone" label="联系电话" placeholder="请输入联系电话" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.projectContent" label="项目详情" type="textarea" autosize placeholder="请输入咨询内容" required :rules="[{ required:true }]"/> | |||
| <van-field v-model="form.projectContent" label="项目详情" type="textarea" autosize placeholder="请输入项目详情" required :rules="[{ required:true }]"/> | |||
| <van-field name="uploader" label="上传相关附件" required :rules="[{ required:true }]"> | |||
| <template #input> | |||
| <van-uploader :after-read="afterRead" :before-delete="deleteFile" v-model="fileList" multiple :max-count="5" /> | |||
| </template> | |||
| </van-field> | |||
| <div class="submit"> | |||
| <van-button round block type="info" color="#007E72" native-type="submit">发布</van-button> | |||
| </div> | |||
| @@ -38,7 +45,7 @@ | |||
| </template> | |||
| <script> | |||
| import { getMember , userDemand , updateCommunicate , selectCommunicate } from "@/api/user/index"; | |||
| import { getMember , userDemand , updateDemand , selectDemand , base64Attach , showImg , deleteUserImg} from "@/api/user/index"; | |||
| import { getInfo } from "@/api/login/index"; | |||
| import {Dialog} from "vant"; | |||
| export default { | |||
| @@ -50,6 +57,7 @@ export default { | |||
| value: '', | |||
| showPicker: false, | |||
| columns:['供应','需求'], | |||
| fileList:[], | |||
| form:{ | |||
| projectName:'', | |||
| location:'', | |||
| @@ -58,7 +66,16 @@ export default { | |||
| projectContent:'', | |||
| logintime:'', | |||
| deptId:100, | |||
| } | |||
| supplyDemandType:'' | |||
| }, | |||
| file:{ | |||
| tableName:'t_transaction_supply_demand', | |||
| tableId:'', | |||
| files:[], | |||
| fileType:'', | |||
| bizPath:'transaction' | |||
| }, | |||
| upLoadList:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| @@ -73,10 +90,29 @@ export default { | |||
| } | |||
| }, | |||
| methods: { | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| for ( var i = 0 ; i < this.fileList.length ; i++){ | |||
| if(this.fileList[i].url == undefined&&this.fileList!='') { | |||
| this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true}; | |||
| } | |||
| } | |||
| }, | |||
| deleteFile(elIndex){ | |||
| // deleteUserImg(elIndex.id).then(response => {}); | |||
| if(elIndex.id != ''){ | |||
| deleteUserImg(elIndex.id).then(response => {}); | |||
| } | |||
| return (file, name) => { | |||
| let fileIndex = name.index | |||
| this.fileList[elIndex].splice(fileIndex, 1) | |||
| this.upLoadList[elIndex].splice(fileIndex, 1) | |||
| } | |||
| }, | |||
| onConfirm(value, index) { | |||
| this.value = value; | |||
| this.showPicker = false; | |||
| Toast(`当前值:${value}, 当前索引:${index}`); | |||
| this.form.supplyDemandType = index + 1 ; | |||
| }, | |||
| getInfo(){ | |||
| getInfo().then(response => { | |||
| @@ -88,46 +124,68 @@ export default { | |||
| }); | |||
| }, | |||
| getInteraction(){ | |||
| selectCommunicate(this.$route.query.id).then(response => { | |||
| this.form.content = response.data.content; | |||
| this.form.title = response.data.title; | |||
| this.form.realname = response.data.realname; | |||
| this.form.phone = response.data.phone; | |||
| this.form.id = this.$route.query.id; | |||
| selectDemand(this.$route.query.id).then(response => { | |||
| this.form.projectName = response.data.projectName; | |||
| this.form.location = response.data.location; | |||
| this.form.projectContent = response.data.projectContent; | |||
| this.form.realname = response.data.realname; | |||
| this.form.phone = response.data.phone; | |||
| this.form.id = this.$route.query.id; | |||
| this.form.supplyDemandType = response.data.supplyDemandType; | |||
| this.getDicts("supply_demand_type").then(res => { | |||
| this.value = this.selectDictLabel(res.data,response.data.supplyDemandType); | |||
| }); | |||
| showImg(response.data.id).then(responseSecond => { | |||
| for (var i = 0 ; i < responseSecond.data.length ; i++){ | |||
| this.fileList.push({url:this.global.severApi+responseSecond.data[i].fileUrl,id:responseSecond.data[i].id}) | |||
| } | |||
| }); | |||
| }); | |||
| }, | |||
| submitInteraction(){ | |||
| this.form.logintime = this.getNowFormatDate(); | |||
| if(this.$route.query.type == 'update'){ | |||
| updateCommunicate(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '修改成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| self.location=document.referrer; | |||
| }) | |||
| this.file.tableId = this.$route.query.id ; | |||
| updateDemand(this.form).then(response => { | |||
| for (var i = 0 ; i < this.fileList.length ; i++){ | |||
| if(this.fileList[i].url.indexOf('http://') == -1&&this.fileList!=''){ | |||
| this.file.files.push(this.fileList[i].url); | |||
| } | |||
| } | |||
| base64Attach(this.file).then(response => { | |||
| if (response.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '修改成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| self.location=document.referrer; | |||
| }) | |||
| } | |||
| }); | |||
| }); | |||
| }else{ | |||
| userDemand(this.form).then(response => { | |||
| if (response.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '发布成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| self.location=document.referrer; | |||
| }) | |||
| this.file.tableId = response.data; | |||
| for(var i = 0 ; i < this.fileList.length ; i++){ | |||
| this.file.files.push(this.fileList[i].url); | |||
| } | |||
| base64Attach(this.file).then(response => { | |||
| if (response.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '发布成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| self.location=document.referrer; | |||
| }) | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| }, | |||
| }; | |||
| </script> | |||
| @@ -137,10 +195,11 @@ export default { | |||
| background-color: #FFF; | |||
| } | |||
| .submit{ | |||
| position: absolute; | |||
| position: fixed; | |||
| bottom: 5%; | |||
| width: 90%; | |||
| left: 5%; | |||
| background-color: #FFFFFF; | |||
| p{ | |||
| text-align: center; | |||
| margin-bottom: 0.2rem; | |||