| @@ -13,7 +13,7 @@ module.exports = { | |||||
| "/dev-api": { | "/dev-api": { | ||||
| // 请求的目标主机 | // 请求的目标主机 | ||||
| //target: 'http://116.255.135.38:8081/nsgk_test/', | //target: 'http://116.255.135.38:8081/nsgk_test/', | ||||
| target: 'http://192.168.31.47:8080/', | |||||
| target: 'http://192.168.31.107:8080/', | |||||
| changeOrigin: true, | changeOrigin: true, | ||||
| pathRewrite: { | pathRewrite: { | ||||
| '^/dev-api': '' | '^/dev-api': '' | ||||
| @@ -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": { | "domain-browser": { | ||||
| "version": "1.2.0", | "version": "1.2.0", | ||||
| "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", | ||||
| @@ -4612,6 +4617,15 @@ | |||||
| "is-glob": "^4.0.1" | "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": { | "globals": { | ||||
| "version": "9.18.0", | "version": "9.18.0", | ||||
| "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", | ||||
| @@ -6301,6 +6315,14 @@ | |||||
| "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | ||||
| "dev": true | "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": { | "minimalistic-assert": { | ||||
| "version": "1.0.1", | "version": "1.0.1", | ||||
| "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | ||||
| @@ -9759,8 +9781,7 @@ | |||||
| "process": { | "process": { | ||||
| "version": "0.11.10", | "version": "0.11.10", | ||||
| "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | ||||
| "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", | |||||
| "dev": true | |||||
| "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" | |||||
| }, | }, | ||||
| "process-nextick-args": { | "process-nextick-args": { | ||||
| "version": "2.0.1", | "version": "2.0.1", | ||||
| @@ -11,6 +11,7 @@ | |||||
| }, | }, | ||||
| "dependencies": { | "dependencies": { | ||||
| "axios": "^0.21.1", | "axios": "^0.21.1", | ||||
| "global": "^4.4.0", | |||||
| "js-cookie": "^2.2.1", | "js-cookie": "^2.2.1", | ||||
| "lib-flexible": "^0.3.2", | "lib-flexible": "^0.3.2", | ||||
| "node-sass": "^5.0.0", | "node-sass": "^5.0.0", | ||||
| @@ -52,6 +52,7 @@ export function getCodeImg() { | |||||
| method: 'get' | method: 'get' | ||||
| }) | }) | ||||
| } | } | ||||
| // 发送短信验证码 | // 发送短信验证码 | ||||
| export function getSmsCode(mobile) { | export function getSmsCode(mobile) { | ||||
| @@ -65,3 +66,4 @@ export function getSmsCode(mobile) { | |||||
| data:data | data:data | ||||
| }) | }) | ||||
| } | } | ||||
| @@ -11,8 +11,9 @@ export function getDeptList(id) { | |||||
| //挂牌项目列表 | //挂牌项目列表 | ||||
| export function getOutProjectList(data){ | export function getOutProjectList(data){ | ||||
| return request({ | return request({ | ||||
| url:'/transaction/website/outproject/list?deptId=&projectNumber=&', | |||||
| url:'/transaction/website/outproject/list', | |||||
| method:'get', | method:'get', | ||||
| params:data | |||||
| }) | }) | ||||
| } | } | ||||
| //挂牌项目详情 | //挂牌项目详情 | ||||
| @@ -29,4 +29,12 @@ export function registerOn(memberName, idcard, mobile, smsCode,uuid) { | |||||
| data: data | 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 | 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 store from './store/' | ||||
| import './permission' // permission control | import './permission' // permission control | ||||
| import global from '@/utils/global'; | |||||
| import { getDicts } from "@/utils/data"; | import { getDicts } from "@/utils/data"; | ||||
| import { selectDictLabel , onClickLeft , getNowFormatDate } from "@/utils/utils"; | import { selectDictLabel , onClickLeft , getNowFormatDate } from "@/utils/utils"; | ||||
| @@ -19,6 +21,7 @@ Vue.prototype.getDicts = getDicts | |||||
| Vue.prototype.selectDictLabel = selectDictLabel | Vue.prototype.selectDictLabel = selectDictLabel | ||||
| Vue.prototype.onClickLeft = onClickLeft | Vue.prototype.onClickLeft = onClickLeft | ||||
| Vue.prototype.getNowFormatDate = getNowFormatDate | Vue.prototype.getNowFormatDate = getNowFormatDate | ||||
| Vue.prototype.global = global | |||||
| // Vant 引用 | // Vant 引用 | ||||
| import Vant from 'vant'; | import Vant from 'vant'; | ||||
| @@ -6,8 +6,29 @@ import { getToken } from '@/utils/auth' | |||||
| NProgress.configure({ showSpinner: false }) | 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'] | |||||
| 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) => { | router.beforeEach((to, from, next) => { | ||||
| NProgress.start() | NProgress.start() | ||||
| @@ -81,7 +81,8 @@ export const constantRoutes = [ | |||||
| path: '/biddingHall', | path: '/biddingHall', | ||||
| name: 'biddingHall', | name: 'biddingHall', | ||||
| meta: { | meta: { | ||||
| title: '竞价大厅' | |||||
| title: '竞价大厅', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/biddingHall'], resolve) | component: (resolve) => require(['@/views/biddingHall'], resolve) | ||||
| }, | }, | ||||
| @@ -106,7 +107,8 @@ export const constantRoutes = [ | |||||
| path: '/news/index', | path: '/news/index', | ||||
| name: 'news', | name: 'news', | ||||
| meta: { | meta: { | ||||
| title: '新闻资讯' | |||||
| title: '新闻资讯', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/news/index'], resolve) | component: (resolve) => require(['@/views/news/index'], resolve) | ||||
| }, | }, | ||||
| @@ -114,7 +116,8 @@ export const constantRoutes = [ | |||||
| path: '/news/newDetail', | path: '/news/newDetail', | ||||
| name: 'newDetail', | name: 'newDetail', | ||||
| meta: { | meta: { | ||||
| title: '新闻详情' | |||||
| title: '新闻详情', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/news/newDetail'], resolve) | component: (resolve) => require(['@/views/news/newDetail'], resolve) | ||||
| }, | }, | ||||
| @@ -122,7 +125,8 @@ export const constantRoutes = [ | |||||
| path: '/notice/index', | path: '/notice/index', | ||||
| name: 'notice', | name: 'notice', | ||||
| meta: { | meta: { | ||||
| title: '项目公告' | |||||
| title: '项目公告', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/notice/index'], resolve) | component: (resolve) => require(['@/views/notice/index'], resolve) | ||||
| }, | }, | ||||
| @@ -130,7 +134,8 @@ export const constantRoutes = [ | |||||
| path: '/supply/index', | path: '/supply/index', | ||||
| name: 'supply', | name: 'supply', | ||||
| meta: { | meta: { | ||||
| title: '个人供求' | |||||
| title: '个人供求', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/supply/index'], resolve) | component: (resolve) => require(['@/views/supply/index'], resolve) | ||||
| }, | }, | ||||
| @@ -138,7 +143,8 @@ export const constantRoutes = [ | |||||
| path: '/interaction/index', | path: '/interaction/index', | ||||
| name: 'interaction', | name: 'interaction', | ||||
| meta: { | meta: { | ||||
| title: '互动交流' | |||||
| title: '互动交流', | |||||
| hidden: true, | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/interaction/index'], resolve) | 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); | 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 seperator1 = "-"; | ||||
| var seperator2 = ":"; | var seperator2 = ":"; | ||||
| var month = date.getMonth() + 1; | var month = date.getMonth() + 1; | ||||
| @@ -1,5 +1,12 @@ | |||||
| <template> | <template> | ||||
| <div> | <div> | ||||
| <van-nav-bar | |||||
| title="竞价大厅" | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="onClickLeft" | |||||
| /> | |||||
| <van-search | <van-search | ||||
| v-model="value" | v-model="value" | ||||
| shape="round" | shape="round" | ||||
| @@ -8,7 +8,7 @@ | |||||
| </van-row> | </van-row> | ||||
| <van-swipe class="my-swipe" :autoplay="3000" height="180" indicator-color="white"> | <van-swipe class="my-swipe" :autoplay="3000" height="180" indicator-color="white"> | ||||
| <van-swipe-item v-for="(item,index) in bannerList" :key="index"> | <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> | <p class="bannerTit">{{item.title}}</p> | ||||
| </van-swipe-item> | </van-swipe-item> | ||||
| </van-swipe> | </van-swipe> | ||||
| @@ -18,7 +18,7 @@ | |||||
| <van-image src="../../static/images/icon/icon_new.png" width="40" height="40" /> | <van-image src="../../static/images/icon/icon_new.png" width="40" height="40" /> | ||||
| <p>新闻资讯</p> | <p>新闻资讯</p> | ||||
| </van-grid-item> | </van-grid-item> | ||||
| <van-grid-item> | |||||
| <van-grid-item to="/biddingHall"> | |||||
| <van-image src="../../static/images/icon/icon_bidding.png" width="40" height="40" /> | <van-image src="../../static/images/icon/icon_bidding.png" width="40" height="40" /> | ||||
| <p>竞价大厅</p> | <p>竞价大厅</p> | ||||
| </van-grid-item> | </van-grid-item> | ||||
| @@ -49,17 +49,20 @@ | |||||
| @load="getList()" | @load="getList()" | ||||
| > | > | ||||
| <!-- @load="newList"--> | <!-- @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 插槽来自定义右侧图标 --> | <!-- 使用 right-icon 插槽来自定义右侧图标 --> | ||||
| <template #title> | |||||
| <p class="newContent">{{item.title}}</p> | |||||
| </template> | |||||
| <template #right-icon> | <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> | </template> | ||||
| </van-cell> | </van-cell> | ||||
| </van-list> | </van-list> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { newList } from "@/api/index"; | import { newList } from "@/api/index"; | ||||
| export default { | export default { | ||||
| @@ -100,6 +103,7 @@ export default { | |||||
| this.newList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | this.newList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | ||||
| } | } | ||||
| } | } | ||||
| console.log(this.newList) | |||||
| if(this.newList.length >= response.total){ | if(this.newList.length >= response.total){ | ||||
| this.finished = true; | this.finished = true; | ||||
| return; | return; | ||||
| @@ -122,6 +126,10 @@ export default { | |||||
| } | } | ||||
| this.loading = false; | this.loading = false; | ||||
| }); | }); | ||||
| }, | |||||
| goDetail(id){ | |||||
| console.log(id) | |||||
| window.location = 'news/newDetail?id='+id; | |||||
| } | } | ||||
| }, | }, | ||||
| }; | }; | ||||
| @@ -166,6 +174,13 @@ export default { | |||||
| text-align: left; | text-align: left; | ||||
| color: #333333; | color: #333333; | ||||
| } | } | ||||
| .newContent{ | |||||
| display: -webkit-box; | |||||
| -webkit-box-orient: vertical; | |||||
| -webkit-line-clamp: 2; | |||||
| word-break: break-all; | |||||
| overflow: hidden; | |||||
| } | |||||
| .search-icon { | .search-icon { | ||||
| line-height: inherit; | line-height: inherit; | ||||
| margin-left: 10px; | margin-left: 10px; | ||||
| @@ -5,6 +5,7 @@ | |||||
| left-arrow | left-arrow | ||||
| fixed | fixed | ||||
| placeholder | placeholder | ||||
| @click-left="onClickLeft" | |||||
| /> | /> | ||||
| <van-list | <van-list | ||||
| v-model="loading" | v-model="loading" | ||||
| @@ -54,7 +55,9 @@ export default { | |||||
| this.loading = true; | this.loading = true; | ||||
| interactionList(this.queryParams).then(response => { | interactionList(this.queryParams).then(response => { | ||||
| console.log(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){ | if(this.interactionList.length >= response.total){ | ||||
| this.finished = true; | this.finished = true; | ||||
| return; | return; | ||||
| @@ -1,10 +1,17 @@ | |||||
| <template> | <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> | ||||
| <div class="login-main"> | <div class="login-main"> | ||||
| <ul class="head_nav clear"> | <ul class="head_nav clear"> | ||||
| <li @click="isSmsLogin = false" :class="{ active: !isSmsLogin }"> | <li @click="isSmsLogin = false" :class="{ active: !isSmsLogin }"> | ||||
| @@ -37,7 +44,7 @@ | |||||
| clearable | clearable | ||||
| label="验证码" | label="验证码" | ||||
| placeholder="图形验证码" | placeholder="图形验证码" | ||||
| > | > | ||||
| <template #button> | <template #button> | ||||
| <img class="code-img" :src="codeUrl" @click="getCode" /> | <img class="code-img" :src="codeUrl" @click="getCode" /> | ||||
| @@ -85,15 +92,15 @@ | |||||
| <div class="reveal-modal-con"> | <div class="reveal-modal-con"> | ||||
| <div class="dd_txt"> | <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> | ||||
| <!-- <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> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| @@ -121,10 +128,12 @@ export default { | |||||
| codeUrl: "", //验证码 | codeUrl: "", //验证码 | ||||
| isSmsLogin: false, //是否手机验证码 | isSmsLogin: false, //是否手机验证码 | ||||
| computeTime: 0, | computeTime: 0, | ||||
| height:0 | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getCode(); | this.getCode(); | ||||
| this.height = document.body.clientHeight | |||||
| //调用微信公众号方法 | //调用微信公众号方法 | ||||
| // wx.config({ | // wx.config({ | ||||
| // debug: true, // 开启调试模式, | // debug: true, // 开启调试模式, | ||||
| @@ -228,7 +237,28 @@ export default { | |||||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | <!-- Add "scoped" attribute to limit CSS to this component only --> | ||||
| <style scoped lang="scss"> | <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 { | .app-container { | ||||
| background: url("../../static/images/index/registerBg.png") no-repeat; | |||||
| background-size: 100% 100%; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| .focus-logo { | .focus-logo { | ||||
| width: 310px; | width: 310px; | ||||
| margin: 0 auto 40px; | margin: 0 auto 40px; | ||||
| @@ -252,6 +282,7 @@ export default { | |||||
| overflow: hidden; | overflow: hidden; | ||||
| border: 1px solid #ddd; | border: 1px solid #ddd; | ||||
| padding-bottom:40px; | padding-bottom:40px; | ||||
| margin-top: 0.4rem; | |||||
| } | } | ||||
| .head_nav { | .head_nav { | ||||
| li { | li { | ||||
| @@ -288,7 +319,7 @@ export default { | |||||
| text-align: center; | text-align: center; | ||||
| font-size: 28px; | font-size: 28px; | ||||
| a { | a { | ||||
| color: #666; | |||||
| color: #FFF; | |||||
| } | } | ||||
| } | } | ||||
| .other-login { | .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}}"> | <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 插槽来自定义右侧图标 --> | <!-- 使用 right-icon 插槽来自定义右侧图标 --> | ||||
| <template #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> | </template> | ||||
| </van-cell> | </van-cell> | ||||
| </van-list> | </van-list> | ||||
| @@ -1,6 +1,7 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container"> | <div class="app-container"> | ||||
| <van-search v-model="value" placeholder="请输入搜索关键词" @search="onSearch"/> | <van-search v-model="value" placeholder="请输入搜索关键词" @search="onSearch"/> | ||||
| <van-dropdown-menu> | <van-dropdown-menu> | ||||
| <van-dropdown-item v-model="value1" :options="projectTypeOption" @change="getList"/> | <van-dropdown-item v-model="value1" :options="projectTypeOption" @change="getList"/> | ||||
| <van-dropdown-item :value="value2" :title="value2" ref="item"> | <van-dropdown-item :value="value2" :title="value2" ref="item"> | ||||
| @@ -15,9 +16,10 @@ | |||||
| </van-dropdown-item> | </van-dropdown-item> | ||||
| <van-dropdown-item v-model="value3" :options="option3" @change="getList"/> | <van-dropdown-item v-model="value3" :options="option3" @change="getList"/> | ||||
| </van-dropdown-menu> | </van-dropdown-menu> | ||||
| <van-list v-model="loading" :finished="finished" finished-text="没有更多了"> | <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"> | <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> | <template #tags> | ||||
| <p class="title">【{{item.rollout}}】{{item.projectName}}</p> | <p class="title">【{{item.rollout}}】{{item.projectName}}</p> | ||||
| <p class="type">{{ item.projectShowStatus }}</p> | <p class="type">{{ item.projectShowStatus }}</p> | ||||
| @@ -35,7 +37,7 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import {getOutProjectList,getDeptList} from "../../api/project"; | |||||
| import {getOutProjectList,getDeptList} from "@/api/project/index"; | |||||
| export default { | export default { | ||||
| name: "project", | name: "project", | ||||
| @@ -43,7 +45,7 @@ export default { | |||||
| return { | return { | ||||
| value1: '', | value1: '', | ||||
| value2: '标的物位置', | value2: '标的物位置', | ||||
| activeId: 1, | |||||
| activeId: this.global.deptId, | |||||
| activeIndex: 0, | activeIndex: 0, | ||||
| value3: '', | value3: '', | ||||
| value:"", | value:"", | ||||
| @@ -57,9 +59,11 @@ export default { | |||||
| ], | ], | ||||
| option3: [ | option3: [ | ||||
| { text: '竞价状态', value: '' }, | { text: '竞价状态', value: '' }, | ||||
| { text: '全部', value: '全部' }, | |||||
| { text: '竞价中', value: '竞价中' }, | |||||
| { text: '竞价结束', value: '竞价结束' }, | |||||
| { text: '正在报名', value: '正在报名' }, | |||||
| { text: '等待竞价', value: '等待竞价' }, | |||||
| { text: '正在竞价', value: '正在竞价' }, | |||||
| { text: '等待成交', value: '等待成交' }, | |||||
| { text: '已经成交', value: '已经成交' }, | |||||
| ], | ], | ||||
| //标的物类型 | //标的物类型 | ||||
| projectTypeOption:[{text:'标的物类型',value:''}], | projectTypeOption:[{text:'标的物类型',value:''}], | ||||
| @@ -72,6 +76,7 @@ export default { | |||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getDicts("project_type").then(response => { | this.getDicts("project_type").then(response => { | ||||
| console.log(response) | |||||
| response.data.map(item => { | response.data.map(item => { | ||||
| this.projectTypeOption.push({ value:item.dictCode, text: item.dictLabel}); | this.projectTypeOption.push({ value:item.dictCode, text: item.dictLabel}); | ||||
| }); | }); | ||||
| @@ -113,11 +118,13 @@ export default { | |||||
| }, | }, | ||||
| getList(){ | getList(){ | ||||
| let queryDatas = { | let queryDatas = { | ||||
| deptId: this.value1, | |||||
| projectNumber:this.activeId, | |||||
| deptId: this.activeId, | |||||
| projectNumber:this.value1, | |||||
| projectShowStatus:this.value3 | projectShowStatus:this.value3 | ||||
| } | } | ||||
| console.log(queryDatas) | |||||
| getOutProjectList(queryDatas).then(response =>{ | getOutProjectList(queryDatas).then(response =>{ | ||||
| console.log(response) | |||||
| this.infoList = response.rows | this.infoList = response.rows | ||||
| if(this.infoList.length>0){ | if(this.infoList.length>0){ | ||||
| let newList = [] | let newList = [] | ||||
| @@ -11,10 +11,10 @@ | |||||
| <van-tab title="竞拍信息" title-style="font-size:12px;"> | <van-tab title="竞拍信息" title-style="font-size:12px;"> | ||||
| <van-swipe class="my-swipe" height="235" indicator-color="white" @change="onChange"> | <van-swipe class="my-swipe" height="235" indicator-color="white" @change="onChange"> | ||||
| <template v-if="detail.fileUrlList !== undefined &&detail.fileUrlList.length>0"> | <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> | ||||
| <template v-else> | <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> | ||||
| <template #indicator> | <template #indicator> | ||||
| <div class="custom-indicator">{{ current + 1 }}/{{ detail.fileUrlList !== undefined &&detail.fileUrlList.length>0 ? detail.fileUrlList.length:1 }}</div> | <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-col span="24" class="title">【{{ detail.rollout }}】{{ detail.projectName }}</van-col> | ||||
| </van-row> | </van-row> | ||||
| <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-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-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> | </van-row> | ||||
| </div> | </div> | ||||
| <div class="lead"> | <div class="lead"> | ||||
| <van-row > | <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"> | <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">{{biddinglistInformation[0].money}}元</van-col> | ||||
| <van-col span="4">领先</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> | </template> | ||||
| </van-row> | </van-row> | ||||
| </div> | </div> | ||||
| @@ -1,34 +1,54 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container" :style="{height:height+'px'}"> | <div class="app-container" :style="{height:height+'px'}"> | ||||
| <van-nav-bar | <van-nav-bar | ||||
| title="个人注册" | |||||
| title="单位用户注册" | |||||
| left-arrow | left-arrow | ||||
| fixed | fixed | ||||
| placeholder | 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 | <van-field | ||||
| center | |||||
| clearable | |||||
| label="短信验证码" | |||||
| placeholder="请输入短信验证码" | |||||
| readonly | |||||
| clickable | |||||
| name="picker" | |||||
| :value="value" | |||||
| label="供求类型" | |||||
| placeholder="点击选择供求类型" | |||||
| @click="showPicker = true" | |||||
| required | required | ||||
| :rules="[{ required:true }]" | :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> | <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> | </template> | ||||
| </van-field> | </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"> | <div class="submit"> | ||||
| <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | ||||
| <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | ||||
| @@ -38,24 +58,72 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getCodeImg } from "@/api/login"; | |||||
| import { userRegister } from "@/api/register/index"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "companyRegister", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| height:0, | 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() { | created() { | ||||
| this.getCode(); | |||||
| this.getDicts("economic_type").then(res => { | |||||
| res.data.map(item => { | |||||
| this.columns.push(item.dictLabel); | |||||
| }); | |||||
| }); | |||||
| this.height = document.body.clientHeight | 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> | </script> | ||||
| <style scoped lang="scss"> | <style scoped lang="scss"> | ||||
| .app-container { | .app-container { | ||||
| background-color: #FFF; | background-color: #FFF; | ||||
| .code-img { | |||||
| width: 220px; | |||||
| } | |||||
| } | } | ||||
| .submit{ | .submit{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -1,5 +1,12 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container" :style="{height:height+'px'}"> | <div class="app-container" :style="{height:height+'px'}"> | ||||
| <van-nav-bar | |||||
| title="注册" | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="onClickLeft" | |||||
| /> | |||||
| <div class="title"> | <div class="title"> | ||||
| <p class="title_one">PROPERTY RIGHT</p> | <p class="title_one">PROPERTY RIGHT</p> | ||||
| <p class="title_two">TRANSACTION</p> | <p class="title_two">TRANSACTION</p> | ||||
| @@ -106,25 +113,48 @@ | |||||
| <p>农村产权交易网</p> | <p>农村产权交易网</p> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <van-form @submit="onSubmit"> | |||||
| <div class="agree_box"> | <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> | </div> | ||||
| <van-button native-type="submit" type="info" round color="#007e72" block style="width: 90%;margin:0 auto;">注册</van-button> | |||||
| </van-form> | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import {Dialog} from "vant"; | |||||
| export default { | export default { | ||||
| name: "notice", | name: "notice", | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| height:0 | |||||
| height:0, | |||||
| checkbox:false | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.height = document.body.clientHeight | 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> | </script> | ||||
| @@ -136,7 +166,7 @@ export default { | |||||
| height: 100%; | height: 100%; | ||||
| } | } | ||||
| .title{ | .title{ | ||||
| padding-top: 30%; | |||||
| padding-top: 20%; | |||||
| width: 88%; | width: 88%; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| } | } | ||||
| @@ -176,15 +206,12 @@ export default { | |||||
| width: 90%; | width: 90%; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| margin-top: 0.4rem; | 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> | </style> | ||||
| @@ -1,5 +1,12 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container" :style="{height:height+'px'}"> | <div class="app-container" :style="{height:height+'px'}"> | ||||
| <van-nav-bar | |||||
| title="注册" | |||||
| left-arrow | |||||
| fixed | |||||
| placeholder | |||||
| @click-left="onClickLeft" | |||||
| /> | |||||
| <div class="title"> | <div class="title"> | ||||
| <p class="title_one">PROPERTY RIGHT</p> | <p class="title_one">PROPERTY RIGHT</p> | ||||
| <p class="title_two">TRANSACTION</p> | <p class="title_two">TRANSACTION</p> | ||||
| @@ -56,7 +63,7 @@ export default { | |||||
| overflow: hidden; | overflow: hidden; | ||||
| } | } | ||||
| .title{ | .title{ | ||||
| padding-top: 30%; | |||||
| padding-top: 20%; | |||||
| width: 88%; | width: 88%; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| } | } | ||||
| @@ -1,30 +1,44 @@ | |||||
| <template> | <template> | ||||
| <div class="app-container" :style="{height:height+'px'}"> | <div class="app-container" :style="{height:height+'px'}"> | ||||
| <van-nav-bar | <van-nav-bar | ||||
| title="个人注册" | |||||
| title="个人用户注册" | |||||
| left-arrow | left-arrow | ||||
| fixed | fixed | ||||
| placeholder | 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 | <van-field | ||||
| v-model="form.code" | |||||
| center | center | ||||
| clearable | clearable | ||||
| label="短信验证码" | |||||
| placeholder="请输入短信验证码" | |||||
| required | |||||
| :rules="[{ required:true }]" | |||||
| label="验证码" | |||||
| placeholder="图形验证码" | |||||
| required :rules="[{ required:true }]" | |||||
| > | > | ||||
| <template #button> | <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> | </template> | ||||
| </van-field> | </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"> | <div class="submit"> | ||||
| <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p> | ||||
| <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button> | ||||
| @@ -34,24 +48,56 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getCodeImg } from "@/api/login"; | |||||
| import { userRegister } from "@/api/register/index"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "userRegister", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| height:0, | height:0, | ||||
| tel:'' | |||||
| tel:'', | |||||
| confirmPassWord:'', | |||||
| form: { | |||||
| phone: "", //账号 | |||||
| code: "", //验证码 | |||||
| password: "", //密码 | |||||
| realname: "", //姓名 | |||||
| idCardNum: "", //身份证号 | |||||
| address: "", //地址 | |||||
| uuid:'',//图形验证码ID | |||||
| memberType:1, | |||||
| economicType:1 | |||||
| }, | |||||
| codeUrl:'' | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getCode() | |||||
| this.height = document.body.clientHeight | 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> | </script> | ||||
| <style scoped lang="scss"> | <style scoped lang="scss"> | ||||
| .app-container { | .app-container { | ||||
| background-color: #FFF; | background-color: #FFF; | ||||
| .code-img { | |||||
| width: 220px; | |||||
| } | |||||
| } | } | ||||
| .submit{ | .submit{ | ||||
| position: absolute; | position: absolute; | ||||
| @@ -7,21 +7,37 @@ | |||||
| placeholder | placeholder | ||||
| @click-left="onClickLeft" | @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" /> | <van-cell title="银行账户信息修改" to="bankInformation" is-link icon="credit-pay" /> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getInfo } from "@/api/login/index"; | |||||
| import { getMember , showUserImg } from "@/api/user/index"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "Setting", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | 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> | </script> | ||||
| @@ -5,57 +5,226 @@ | |||||
| left-arrow | left-arrow | ||||
| fixed | fixed | ||||
| placeholder | 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 > | <template #extra > | ||||
| <p style="color: #007e72">修改手机号</p> | <p style="color: #007e72">修改手机号</p> | ||||
| </template> | </template> | ||||
| </van-field> | </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="上传相关附件"> | <van-field name="uploader" label="上传相关附件"> | ||||
| <template #input> | <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> | </template> | ||||
| </van-field> | </van-field> | ||||
| <p style="color: red; text-align: center;">*身份证照片、本人和身份证的合影</p> | <p style="color: red; text-align: center;">*身份证照片、本人和身份证的合影</p> | ||||
| <div class="submit"> | <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> | </div> | ||||
| </van-form> | </van-form> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getInfo } from "@/api/login/index"; | |||||
| import { getMember , base64Attach , userUpdate , showUserImg , deleteUserImg} from "@/api/user/index"; | |||||
| import {Dialog} from "vant"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "companyInformation", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| height:0, | height:0, | ||||
| tel:'', | 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() { | created() { | ||||
| this.height = document.body.clientHeight | 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: { | 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) { | afterRead(file) { | ||||
| // 此时可以自行将文件上传至服务器 | // 此时可以自行将文件上传至服务器 | ||||
| console.log(this.fileList) | 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> | </script> | ||||
| @@ -8,7 +8,7 @@ | |||||
| @click-left="onClickLeft" | @click-left="onClickLeft" | ||||
| /> | /> | ||||
| <van-form @submit="submitForm"> | <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 > | <template #extra > | ||||
| <p style="color: #007e72" onclick="window.location='phoneInformation'">修改手机号</p> | <p style="color: #007e72" onclick="window.location='phoneInformation'">修改手机号</p> | ||||
| </template> | </template> | ||||
| @@ -47,7 +47,6 @@ export default { | |||||
| tableId:'' | tableId:'' | ||||
| }, | }, | ||||
| userForm:{ | userForm:{ | ||||
| phone:'', | |||||
| idCardNum:'', | idCardNum:'', | ||||
| realname:'', | realname:'', | ||||
| address:'', | address:'', | ||||
| @@ -64,16 +63,17 @@ export default { | |||||
| getInfo(){ | getInfo(){ | ||||
| getInfo().then(response => { | getInfo().then(response => { | ||||
| getMember(response.user.userId).then(response => { | getMember(response.user.userId).then(response => { | ||||
| console.log(response) | |||||
| this.userForm.idCardNum = response.data.idCardNum; | this.userForm.idCardNum = response.data.idCardNum; | ||||
| this.userForm.realname = response.data.realname; | this.userForm.realname = response.data.realname; | ||||
| this.userForm.address = response.data.address; | this.userForm.address = response.data.address; | ||||
| this.userForm.phone = response.data.phone; | |||||
| this.userForm.id = response.data.id; | this.userForm.id = response.data.id; | ||||
| this.form.tableId = response.data.id; | this.form.tableId = response.data.id; | ||||
| this.tel = response.data.phone | |||||
| showUserImg(response.data.id).then(responseSecond => { | showUserImg(response.data.id).then(responseSecond => { | ||||
| console.log(responseSecond) | console.log(responseSecond) | ||||
| for (var i = 0 ; i < responseSecond.data.length ; i++){ | 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) { | 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){ | deleteFile(elIndex){ | ||||
| deleteUserImg(elIndex.id).then(response => {}); | |||||
| if(elIndex.id != ''){ | |||||
| deleteUserImg(elIndex.id).then(response => {}); | |||||
| } | |||||
| return (file, name) => { | return (file, name) => { | ||||
| let fileIndex = name.index | let fileIndex = name.index | ||||
| this.fileList[elIndex].splice(fileIndex, 1) | this.fileList[elIndex].splice(fileIndex, 1) | ||||
| @@ -122,10 +129,11 @@ export default { | |||||
| background-color: #FFF; | background-color: #FFF; | ||||
| } | } | ||||
| .submit{ | .submit{ | ||||
| position: absolute; | |||||
| position: fixed; | |||||
| bottom: 5%; | bottom: 5%; | ||||
| width: 90%; | width: 90%; | ||||
| left: 5%; | left: 5%; | ||||
| background-color: #FFFFFF; | |||||
| p{ | p{ | ||||
| text-align: center; | text-align: center; | ||||
| margin-bottom: 0.2rem; | margin-bottom: 0.2rem; | ||||
| @@ -11,57 +11,98 @@ | |||||
| v-model="loading" | v-model="loading" | ||||
| :finished="finished" | :finished="finished" | ||||
| finished-text="没有更多了" | finished-text="没有更多了" | ||||
| @load="onLoad" | |||||
| @load="getList" | |||||
| class="biddingList" | 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> | </van-list> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getMember , biddinglist } from "@/api/user/index"; | |||||
| import { getInfo } from "@/api/login/index"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "userBidding", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| loading: false, | loading: false, | ||||
| finished: true, | |||||
| time: 30 * 60 * 60 * 1000, | |||||
| finished: false, | |||||
| biddinglist:[], | |||||
| queryParams:{ | |||||
| memberId:'', | |||||
| pageNum:1, | |||||
| pageSize:10 | |||||
| } | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | 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> | </script> | ||||
| <style scoped lang="scss"> | <style scoped lang="scss"> | ||||
| .app-container { | .app-container { | ||||
| background-color: #FFF; | |||||
| } | } | ||||
| .biddingList{ | .biddingList{ | ||||
| padding: 0.5rem 2% 0; | |||||
| .van-row{ | |||||
| padding: 0 3%; | |||||
| } | |||||
| padding: 0 2%; | |||||
| } | } | ||||
| .row{ | .row{ | ||||
| color: #666666; | color: #666666; | ||||
| @@ -12,7 +12,7 @@ | |||||
| /> | /> | ||||
| </van-col> | </van-col> | ||||
| <van-col span="17"> | <van-col span="17"> | ||||
| <p>13306310001</p> | |||||
| <p>{{phone}}</p> | |||||
| <p onclick="window.location='accountSetting'">账户设置</p> | <p onclick="window.location='accountSetting'">账户设置</p> | ||||
| </van-col> | </van-col> | ||||
| </van-row> | </van-row> | ||||
| @@ -22,25 +22,38 @@ | |||||
| <van-cell title="我的咨询" is-link icon="service-o" to="userInteraction" /> | <van-cell title="我的咨询" is-link icon="service-o" to="userInteraction" /> | ||||
| <van-cell title="我的供求" is-link icon="bag-o" to="userSupply" /> | <van-cell title="我的供求" is-link icon="bag-o" to="userSupply" /> | ||||
| </div> | </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> | </div> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { logout } from "@/api/login/index"; | |||||
| import { getMember , supplyList , deleteSupply} from "@/api/user/index"; | |||||
| import { logout ,getInfo } from "@/api/login/index"; | |||||
| export default { | export default { | ||||
| name: "notice", | |||||
| name: "user", | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| phone:'' | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| this.getInfo(); | |||||
| }, | }, | ||||
| methods: { | methods: { | ||||
| loginOut(){ | loginOut(){ | ||||
| logout().then(response => { | logout().then(response => { | ||||
| location.reload(true); | |||||
| }); | |||||
| }, | |||||
| getInfo(){ | |||||
| getInfo().then(response => { | |||||
| console.log(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{ | .loginOut{ | ||||
| width: 94%; | width: 94%; | ||||
| margin-left: 3%; | margin-left: 3%; | ||||
| background-color: transparent; | |||||
| color:red; | |||||
| border-color: red; | |||||
| } | } | ||||
| </style> | </style> | ||||
| @@ -17,7 +17,6 @@ | |||||
| :finished="finished" | :finished="finished" | ||||
| finished-text="没有更多了" | finished-text="没有更多了" | ||||
| style="margin-top: 10px;" | style="margin-top: 10px;" | ||||
| @load="getList" | |||||
| > | > | ||||
| <van-cell icon="play" v-for="(item , index) in supplyList" v-if="item.supplyDemandType == 1" :key="index"> | <van-cell icon="play" v-for="(item , index) in supplyList" v-if="item.supplyDemandType == 1" :key="index"> | ||||
| <template #title> | <template #title> | ||||
| @@ -25,12 +24,12 @@ | |||||
| </template> | </template> | ||||
| <template #label> | <template #label> | ||||
| 联系电话:{{item.phone}} <p style="float: right;">发布时间:{{item.logintime}}</p> | 联系电话:{{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="16"></van-col> | ||||
| <van-col span="4" style="color: #007E72;text-align: right;" @click="goAdd('update',item.id)" v-if="item.reply == null"> | <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-icon name="edit" size="15" style="top:3px"/>修改 | ||||
| </van-col> | </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-icon name="delete-o" size="15" style="top:3px"/>删除 | ||||
| </van-col> | </van-col> | ||||
| </van-row> | </van-row> | ||||
| @@ -52,6 +51,15 @@ | |||||
| </template> | </template> | ||||
| <template #label> | <template #label> | ||||
| 联系电话:{{item.phone}} <p style="float: right;">发布时间:{{item.logintime}}</p> | 联系电话:{{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> | </template> | ||||
| </van-cell> | </van-cell> | ||||
| </van-list> | </van-list> | ||||
| @@ -61,8 +69,9 @@ | |||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| import { getMember , supplyList } from "@/api/user/index"; | |||||
| import { getMember , supplyList , deleteSupply} from "@/api/user/index"; | |||||
| import { getInfo } from "@/api/login/index"; | import { getInfo } from "@/api/login/index"; | ||||
| import {Dialog} from "vant"; | |||||
| export default { | export default { | ||||
| name: "userSupply", | name: "userSupply", | ||||
| data() { | data() { | ||||
| @@ -76,8 +85,6 @@ export default { | |||||
| //查询参数 | //查询参数 | ||||
| queryParams:{ | queryParams:{ | ||||
| memberId:'', | memberId:'', | ||||
| pageNum:1, | |||||
| pageSize:10 | |||||
| } | } | ||||
| }; | }; | ||||
| }, | }, | ||||
| @@ -100,6 +107,7 @@ export default { | |||||
| getInfo().then(response => { | getInfo().then(response => { | ||||
| getMember(response.user.userId).then(response => { | getMember(response.user.userId).then(response => { | ||||
| this.queryParams.memberId = response.data.id; | this.queryParams.memberId = response.data.id; | ||||
| this.getList(); | |||||
| }); | }); | ||||
| }); | }); | ||||
| }, | }, | ||||
| @@ -110,14 +118,30 @@ export default { | |||||
| for (var i = 0; i < response.rows.length; i++) { | for (var i = 0; i < response.rows.length; i++) { | ||||
| this.supplyList.push(response.rows[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; | 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> | </script> | ||||
| @@ -13,9 +13,11 @@ | |||||
| clickable | clickable | ||||
| name="picker" | name="picker" | ||||
| :value="value" | :value="value" | ||||
| label="选择器" | |||||
| placeholder="点击选择城市" | |||||
| label="供求类型" | |||||
| placeholder="点击选择供求类型" | |||||
| @click="showPicker = true" | @click="showPicker = true" | ||||
| required | |||||
| :rules="[{ required:true }]" | |||||
| /> | /> | ||||
| <van-popup v-model="showPicker" position="bottom"> | <van-popup v-model="showPicker" position="bottom"> | ||||
| <van-picker | <van-picker | ||||
| @@ -25,11 +27,16 @@ | |||||
| @cancel="showPicker = false" | @cancel="showPicker = false" | ||||
| /> | /> | ||||
| </van-popup> | </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.realname" label="姓名" placeholder="请输入姓名" required :rules="[{ required:true }]"/> | ||||
| <van-field v-model="form.phone" 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"> | <div class="submit"> | ||||
| <van-button round block type="info" color="#007E72" native-type="submit">发布</van-button> | <van-button round block type="info" color="#007E72" native-type="submit">发布</van-button> | ||||
| </div> | </div> | ||||
| @@ -38,7 +45,7 @@ | |||||
| </template> | </template> | ||||
| <script> | <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 { getInfo } from "@/api/login/index"; | ||||
| import {Dialog} from "vant"; | import {Dialog} from "vant"; | ||||
| export default { | export default { | ||||
| @@ -50,6 +57,7 @@ export default { | |||||
| value: '', | value: '', | ||||
| showPicker: false, | showPicker: false, | ||||
| columns:['供应','需求'], | columns:['供应','需求'], | ||||
| fileList:[], | |||||
| form:{ | form:{ | ||||
| projectName:'', | projectName:'', | ||||
| location:'', | location:'', | ||||
| @@ -58,7 +66,16 @@ export default { | |||||
| projectContent:'', | projectContent:'', | ||||
| logintime:'', | logintime:'', | ||||
| deptId:100, | deptId:100, | ||||
| } | |||||
| supplyDemandType:'' | |||||
| }, | |||||
| file:{ | |||||
| tableName:'t_transaction_supply_demand', | |||||
| tableId:'', | |||||
| files:[], | |||||
| fileType:'', | |||||
| bizPath:'transaction' | |||||
| }, | |||||
| upLoadList:[] | |||||
| }; | }; | ||||
| }, | }, | ||||
| created() { | created() { | ||||
| @@ -73,10 +90,29 @@ export default { | |||||
| } | } | ||||
| }, | }, | ||||
| methods: { | 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) { | onConfirm(value, index) { | ||||
| this.value = value; | this.value = value; | ||||
| this.showPicker = false; | this.showPicker = false; | ||||
| Toast(`当前值:${value}, 当前索引:${index}`); | |||||
| this.form.supplyDemandType = index + 1 ; | |||||
| }, | }, | ||||
| getInfo(){ | getInfo(){ | ||||
| getInfo().then(response => { | getInfo().then(response => { | ||||
| @@ -88,46 +124,68 @@ export default { | |||||
| }); | }); | ||||
| }, | }, | ||||
| getInteraction(){ | 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(){ | submitInteraction(){ | ||||
| this.form.logintime = this.getNowFormatDate(); | this.form.logintime = this.getNowFormatDate(); | ||||
| if(this.$route.query.type == 'update'){ | 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{ | }else{ | ||||
| userDemand(this.form).then(response => { | 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> | </script> | ||||
| @@ -137,10 +195,11 @@ export default { | |||||
| background-color: #FFF; | background-color: #FFF; | ||||
| } | } | ||||
| .submit{ | .submit{ | ||||
| position: absolute; | |||||
| position: fixed; | |||||
| bottom: 5%; | bottom: 5%; | ||||
| width: 90%; | width: 90%; | ||||
| left: 5%; | left: 5%; | ||||
| background-color: #FFFFFF; | |||||
| p{ | p{ | ||||
| text-align: center; | text-align: center; | ||||
| margin-bottom: 0.2rem; | margin-bottom: 0.2rem; | ||||