kun 10/8/21:47

This commit is contained in:
沈学坤
2019-10-08 21:47:14 +08:00
parent 60fa6ac94e
commit 8b2b683ca4
13 changed files with 745 additions and 334 deletions

View File

@@ -1,10 +1,23 @@
<template>
<div id="wrapper-w"
:style="{'background-image':'url('+imgUrl.foot+')'}">
<div>
<div id="wrapper-w" :style="{'background-image':'url('+imgUrl.foot1+')'}">
<div class="div1">
<p>版权所有朝阳区委社会工委区民政局</p>
<p>京ICP备19040879号 Copyright 2019-2029 www.cyteam.orz.cn All Rights Reserved</p>
</div>
<div class="div2">
<div class="img-box">
<img src="https://dummyimage.com/80" alt />
<p>微信公众号</p>
</div>
<div class="img-box">
<img src="https://dummyimage.com/80" alt />
<p>微信公众号</p>
</div>
<div class="img-box">
<img src="https://dummyimage.com/80" alt />
<p>微信公众号</p>
</div>
</div>
</div>
</template>
@@ -15,15 +28,16 @@ export default {
data () {
return {
imgUrl: {
foot: require('../../static/img/foot.png')
foot: require('../../static/img/foot.png'),
foot1: require('../../static/img/foot1.png')
}
}
},
computed: {},
watch: {},
methods: {},
created () {},
mounted () {}
created () { },
mounted () { }
}
</script>
@@ -31,14 +45,37 @@ export default {
#wrapper-w {
// width: 1280px;
width: 100%;
height: 227px !important;
height: 292px !important;
background-size: 100% 100%;
background-color: rgba($color: #000000, $alpha: 0.6);
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
& > div {
.div2 {
width: 540px;
height: 110px;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 34px;
img {
margin-bottom: 11px;
}
p {
font-family: "MicrosoftYaHei";
font-size: 16px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #ffffff;
}
}
& > .div1 {
display: inline-block;
height: 64px;
text-align: center;
@@ -57,7 +94,7 @@ export default {
font-size: 16px;
font-weight: bold;
font-stretch: normal;
line-height: 60px;
margin-top: 30px;
letter-spacing: 0px;
color: #ffffff;
}

View File

@@ -12,9 +12,9 @@ axios.interceptors.request.use(config => {
) {
// 如果是登录和注册操作则不需要携带header里面的token
} else {
if (localStorage.token) {
if (sessionStorage.token) {
config.headers = {
Authorization: localStorage.token
Authorization: sessionStorage.token
}
}
}
@@ -37,7 +37,7 @@ axios.interceptors.response.use(
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) {
// 判断该路由是否需要登录权限
if (localStorage.token) {
if (sessionStorage.token) {
// 获取当前的token是否存在
console.log('token存在')
next()

View File

@@ -79,7 +79,8 @@
<!-- <td v-if="info.status == 1" style="color:#2fd63f">正常</td>
<td v-if="info.status == 0" style="color:#e13232">异常</td>-->
<td v-if="info.status == '正常'" style="color:#2fd63f">{{info.status}}</td>
<td v-if="info.status == '异常'" style="color:#e13232">{{info.status}}</td>
<td v-if="info.status == '活动异常'" style="color:#e57e1a">{{info.status}}</td>
<td v-if="info.status == '违法失信'" style="color:#e13232">{{info.status}}</td>
</tr>
</template>
<template v-if="searchValue.length > 0">
@@ -97,7 +98,8 @@
<!-- <td v-if="info.status == 1" style="color:#2fd63f">正常</td>
<td v-if="info.status == 0" style="color:#e13232">异常</td>-->
<td v-if="info.status == '正常'" style="color:#2fd63f">{{info.status}}</td>
<td v-if="info.status == '异常'" style="color:#e13232">{{info.status}}</td>
<td v-if="info.status == '活动异常'" style="color:#e57e1a">{{info.status}}</td>
<td v-if="info.status == '违法失信'" style="color:#e13232">{{info.status}}</td>
</tr>
</template>
</table>
@@ -121,7 +123,7 @@ export default {
data() {
return {
index_num: 1,
text: ["全部", "异常名单", "白名单"],
text: ["全部", "异常名单", "信用良好名录"],
sub: 0,
imgUrl: {
xa: require("../../static/img/xa.png")
@@ -276,7 +278,7 @@ export default {
url: 'v1/society/society',
data: {}
}).then(res => {
if (res.data.code !== 200) {
if (res.data.data.code !== 200) {
return;
}
_this.bgData = res.data.data.data.info
@@ -474,7 +476,7 @@ export default {
width: 110px;
}
&:nth-of-type(3) {
width: 89px;
width: 121px;
}
}

View File

@@ -30,6 +30,7 @@ export default {
imgUrl: {
login: require('../../static/img/login.png'),
yh: require('../../static/img/yh.png'),
registered: require('../../static/img/registered.png'),
mm: require('../../static/img/mm.png')
},
account: '',
@@ -49,12 +50,11 @@ export default {
password: _this.password
}
}).then(res => {
if (res.data.code === 200) {
console.log(res.data)
if (res.data.data.code === 200) {
this.$message.success('登陆成功')
this.$router.push('/personalZte')
this.$router.push('/')
// 全局存储token
window.localStorage['token'] = JSON.stringify(res.data.data.data.id)
window.sessionStorage['token'] = res.data.data.data.id
} else {
this.$message.error('请求数据有问题!')
}
@@ -75,6 +75,7 @@ export default {
min-width: 1280px;
height: 720px;
background-size: 100% 100%;
background-repeat: no-repeat;
display: flex;
justify-content: center;
align-items: center;

View File

@@ -183,7 +183,6 @@ export default {
}).then(res => {
if (res.data.code === 200) {
_this.reg = res.data
console.log(res.data)
} else {
_this.$message.error('请求数据有问题!')
}

View File

@@ -261,7 +261,7 @@ export default {
s = n;
this.sub = s;
if (this.sub == 2) {
let sid = localStorage.token
let sid = sessionStorage.token
let _this = this
// console.log(_this.type,
// _this.reg_manage, _this.supervisor, _this.work_person, _this.flow_party_person,

View File

@@ -79,11 +79,11 @@ export default {
watch: {},
methods: {
collection(article_id) {
if (!localStorage.token) {
if (!sessionStorage.token) {
alert('请先登录~')
return;
}
this.coll = !this.coll;
let _this = this
this.$http({
method: 'post',
@@ -93,7 +93,11 @@ export default {
article_id: article_id
}
}).then(res => {
console.log(res)
if (res.data.data.code === 200) {
_this.coll = !_this.coll;
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
@@ -109,7 +113,7 @@ export default {
id: id
}
}).then(res => {
if (res.data.code === 200) {
if (res.data.data.code === 200) {
_this.bgData = res.data.data.data
} else {
_this.$message.error('请求数据有问题!')

View File

@@ -72,7 +72,7 @@ export default {
type: _this.getType
}
}).then(res => {
if (res.data.code === 200) {
if (res.data.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length

View File

@@ -17,25 +17,25 @@
<div>
<section>
<span>初筛通过</span>
<span>10</span>
<span>{{bgValue.overview_one}}</span>
</section>
</div>
<div>
<section>
<span>立项通过</span>
<span>10</span>
<span>{{bgValue.overview_two}}</span>
</section>
</div>
<div>
<section>
<span>执行中</span>
<span>10</span>
<span>{{bgValue.overview_three}}</span>
</section>
</div>
<div>
<section>
<span>已完结</span>
<span>10</span>
<span>{{bgValue.overview_four}}</span>
</section>
</div>
</div>
@@ -47,12 +47,14 @@
<option value>2017/10/14 2017/10/15</option>
</select>
<select class="two" name="type">
<option value>类型1</option>
<option value>类型2</option>
<template v-for="(type,index) in bgValue.type">
<option :key="index" :value="index">{{type}}</option>
</template>
</select>
<select class="three" name="area">
<option value>区域1</option>
<option value>区域2</option>
<template v-for="(area,index) in bgValue.area">
<option :key="index" :value="index">{{area}}</option>
</template>
</select>
<span @click="$jump('application')">项目申报</span>
</div>
@@ -69,33 +71,33 @@
</div>
<!-- 主题内容 -->
<div class="cc">
<template v-for="(item,index) in sData">
<div class="list" :key="index" v-if="index < 4" @click="$jump('schedule')">
<template v-for="(item,index) in bgData.info">
<div class="list" :key="index" @click="$jump('schedule')">
<div class="div">
<div class="bb">
<h3>世界婚博会</h3>
<h3>{{item.name}}</h3>
<h5>活动</h5>
</div>
<time>2019-07-19</time>
<time>{{item.protime}}</time>
</div>
<dl>
<dt>
<img :src="imgUrl.tg" v-if="item.state == 0" />
<img :src="imgUrl.btg" v-if="item.state == 1" />
<img :src="imgUrl.shz" v-if="item.state == 2" />
<img :src="imgUrl.zxz" v-if="item.state == 3" />
<img :src="imgUrl.tg" v-if="item.tid == 5" />
<img :src="imgUrl.btg" v-else-if="item.tid == 4 || item.tid == 9" />
<img :src="imgUrl.zxz" v-else-if="item.tid == 10" />
<img :src="imgUrl.shz" v-else />
</dt>
<dd>
<span class="iconfont icon-zuzhijiegou"></span>
<span>朝阳社会组织</span>
<span>{{item.party_id}}</span>
</dd>
<dd>
<span class="iconfont icon-weizhi"></span>
<span>北京市朝阳区建外街道</span>
<span>{{item.postaladdress}}</span>
</dd>
<dd>
<span class="iconfont icon-shenhetongguo1"></span>
<span>当前申报阶段立项审核中</span>
<span>当前申报阶段{{item.status}}</span>
</dd>
</dl>
</div>
@@ -109,9 +111,10 @@
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="7"
background
layout="prev, pager, next"
:total="10"
:total="totalCount"
></el-pagination>
</div>
</div>
@@ -138,27 +141,117 @@ export default {
},
text: ['全部', '项目初筛', '项目立项'],
sub: 0,
sData: [
{ state: 0 },
{ state: 0 },
{ state: 0 },
{ state: 1 },
{ state: 1 },
{ state: 2 },
{ state: 3 },
{ state: 3 },
{ state: 2 },
{ state: 0 }
]
bgData: [],
bgValue: []
}
},
computed: {},
watch: {},
methods: {
getDataOne () {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/get-info',
data: {}
}).then(res => {
if (res.data.code === 200) {
_this.bgValue = res.data.data
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getDataTwo () {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
params: {
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
console.log(_this.bgData)
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getDataThree () {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
params: {
prolink: 1,
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getDataFour () {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
params: {
prolink: 2,
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
btn (index) {
let s = this.sub
s = index
this.sub = s
switch (this.sub) {
case 0:
this.getDataTwo()
break
case 1:
this.getDataThree()
break
case 2:
this.getDataFour()
break
default:
break
}
},
sendMsgToParent () {
this.$emit('listenToChildExen', this.num)
@@ -169,13 +262,30 @@ export default {
},
handleCurrentChange (val) {
this.currentPage = val
switch (this.sub) {
case 0:
this.getDataTwo()
break
case 1:
this.getDataThree()
break
case 2:
this.getDataFour()
break
default:
break
}
this.getPackData()
},
getPackData () {}
getPackData () { }
},
created () {
this.currentPage = Number(localStorage.getItem('pagination')) || 1
this.handleCurrentChange(this.currentPage)
this.getDataOne()
this.getDataTwo()
},
mounted () {
this.sendMsgToParent()
@@ -186,9 +296,9 @@ export default {
<style lang='scss' scoped>
.wra {
width: 934px;
height: 1165px;
height: auto;
background-color: #ffffff;
padding: 35px 30px 0px;
padding: 35px 30px 100px;
box-sizing: border-box;
#box {

View File

@@ -3,18 +3,18 @@
<form action method onsubmit="return false" enctype="multipart/form-data">
<div class="box">
<label for>请输入原密码:</label>
<input class="input" type="password" v-model="passowrd_old" />
<input class="input" type="password" v-model="password_old" />
</div>
<div class="box">
<label for>请输入新密码:</label>
<input class="input" type="password" v-model="passowrd_new" />
<input class="input" type="password" v-model="password_new" />
</div>
<div class="box">
<label for>请再次输入新密码:</label>
<input class="input" type="password" v-model="passowrd_re" />
<input class="input" type="password" v-model="password_re" />
</div>
<div class="btn" @click="oBtn()">
<input type="submit" value="保存" />
<input type="submit" value="保存" />
</div>
</form>
</div>
@@ -27,9 +27,9 @@ export default {
data () {
return {
num: 654,
passowrd_old: '',
passowrd_new: '',
passowrd_re: '',
password_old: '',
password_new: '',
password_re: '',
id: null
}
},
@@ -37,20 +37,24 @@ export default {
watch: {},
methods: {
oBtn () {
if (this.password_new !== this.password_re) {
alert('新密码不相符!')
}
if (this.password_old === '' || this.password_new === '' || this.password_re === '') {
alert('不可为空!')
}
let _this = this
this.$http({
method: 'post',
url: 'v1/login/update-pwd',
data: {
id: _this.id,
passowrd_old: _this.passowrd_old,
passowrd_new: _this.passowrd_new,
passowrd_re: _this.passowrd_re
password_old: _this.password_old,
password_new: _this.password_new,
password_re: _this.password_re
}
}).then(res => {
console.log(res)
// alert(res.data.data.data.msg)
alert(res.data.data.msg)
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
@@ -62,7 +66,7 @@ export default {
}
},
created () {
this.id = localStorage.token
this.id = sessionStorage.token
},
mounted () {
this.sendMsgToParent()

View File

@@ -5,95 +5,46 @@
<h3>项目创建</h3>
<!-- 导航 -->
<div class="box">
<div :class="sub == 0 ? 'color' : ''"
:style="{'background-image': sub == 0 ? 'url('+imgUrl.bg0+')' : 'url('+imgUrl.bg1+')'}">1 填写基本信息</div>
<div :class="sub == 1 ? 'color' : ''"
:style="{'background-image': sub == 1 ? 'url('+imgUrl.bg0+')' : 'url('+imgUrl.bg1+')'}">2 填写详细信息</div>
<div
:class="sub == 0 ? 'color' : ''"
:style="{'background-image': sub == 0 ? 'url('+imgUrl.bg0+')' : 'url('+imgUrl.bg1+')'}"
>1 填写基本信息</div>
<div
:class="sub == 1 ? 'color' : ''"
:style="{'background-image': sub == 1 ? 'url('+imgUrl.bg0+')' : 'url('+imgUrl.bg1+')'}"
>2 填写详细信息</div>
</div>
<form action
onsubmit="return false">
<div v-if="sub == 0">
<form action method enctype="multipart/form-data" onsubmit="return false">
<div v-show="sub == 0">
<h4>基本信息</h4>
<!-- start -->
<aside>
<div>
<label for>项目名称:</label>
<input type="text"
name
id />
<label>项目名称:</label>
<input type="text" name="name" value v-model="name" required />
</div>
<div>
<label for>项目申报单位:</label>
<input type="text"
name
id />
<label>项目申报单位:</label>
<input type="text" name="company" v-model="company" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>项目类型:</label>
<input type="text"
name
id />
</div>
<div>
<label for>项目落地区域:</label>
<input type="text"
name
id />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>一级项目方向:</label>
<input type="text"
name
id />
</div>
<div>
<label for>二级项目方向:</label>
<input type="text"
name
id />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>项目服务领域:</label>
<input type="text"
name
id />
</div>
<div>
<label for>申报单位属性:</label>
<input type="text"
name
id />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>申请日期:</label>
<select name
id>
<option value>2019-01-31</option>
<option value>2019-01-20</option>
<label>项目类型:</label>
<select name="tid" v-model="tid">
<template v-for="(type,index) in types">
<option :key="index" :value="index">{{type}}</option>
</template>
</select>
</div>
<div>
<label for>截止日期:</label>
<select name
id>
<option value>2019-01-31</option>
<option value>2019-01-20</option>
<label>项目落地区域:</label>
<select name="rid" v-model="rid">
<template v-for="(list,index) in area">
<option :key="index" :value="index">{{list}}</option>
</template>
</select>
</div>
</aside>
@@ -101,222 +52,214 @@
<!-- start -->
<aside>
<div>
<label for>通讯地址:</label>
<input type="text"
name
id />
<label>一级项目方向:</label>
<input type="text" name="first_level" v-model="first_level" value required />
</div>
<div>
<label for>邮政编码:</label>
<input type="text"
name
id />
<label>二级项目方向:</label>
<input type="text" name="secondary" v-model="secondary" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>电子信箱:</label>
<input type="text"
name
id />
<label>项目服务领域:</label>
<input type="text" name="fieldeara" v-model="fieldeara" value required />
</div>
<div>
<label for>传真电话:</label>
<input type="text"
name
id />
<label>申报单位属性:</label>
<input type="text" name="attribute" v-model="attribute" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>法定代表人:</label>
<input type="text"
name
id />
<label>申请日期:</label>
<input type="date" name="aterm" v-model="aterm" value required />
<!-- <select name="aterm">
<option value>2019-01-31</option>
<option value>2019-01-20</option>
</select>-->
</div>
<div>
<label for>法人代码:</label>
<input type="text"
name
id />
<label>截止日期:</label>
<input type="date" name="fterm" v-model="fterm" value required />
<!-- <select name="fterm">
<option value>2019-01-31</option>
<option value>2019-01-20</option>
</select>-->
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>负责人姓名:</label>
<input class="i"
type="text"
name
id />
<label>通讯地址:</label>
<input type="text" name="postaladdress" v-model="postaladdress" value required />
</div>
<div>
<label for>职务:</label>
<input class="i"
type="text"
name
id />
<label>邮政编码:</label>
<input type="text" name="postalcode" v-model="postalcode" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label>电子信箱:</label>
<input type="text" name="pmail" v-model="pmail" value required />
</div>
<div>
<label for>办公电话:</label>
<input class="i"
type="text"
name
id />
<label>传真电话:</label>
<input type="text" name="fax_tel" v-model="fax_tel" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label>法定代表人:</label>
<input type="text" name="plegal" v-model="plegal" value required />
</div>
<div>
<label for>手机:</label>
<input class="i"
type="text"
name
id />
<label>法人代码:</label>
<input type="text" name="plcode" v-model="plcode" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label>负责人姓名:</label>
<input class="i" type="text" name="pname" v-model="pname" value required />
</div>
<div>
<label>职务:</label>
<input class="i" type="text" name="poster" v-model="poster" value required />
</div>
<div>
<label>办公电话:</label>
<input class="i" type="text" name="poffice_tel" v-model="poffice_tel" value required />
</div>
<div>
<label>手机:</label>
<input class="i" type="text" name="aphone" v-model="aphone" value required />
</div>
</aside>
<!-- end -->
<aside>
<div>
<label for>联系人姓名:</label>
<input class="i"
type="text"
name
id />
<label>联系人姓名:</label>
<input class="i" type="text" name="cname" v-model="cname" value required />
</div>
<div>
<label for>职务:</label>
<input class="i"
type="text"
name
id />
<label>职务:</label>
<input class="i" type="text" name="cpost" v-model="cpost" value required />
</div>
<div>
<label for>办公电话:</label>
<input class="i"
type="text"
name
id />
<label>办公电话:</label>
<input class="i" type="text" name="coffice_tel" v-model="coffice_tel" value required />
</div>
<div>
<label for>手机:</label>
<input class="i"
type="text"
name
id />
<label>手机:</label>
<input class="i" type="text" name="cphone" v-model="cphone" value required />
</div>
</aside>
<!-- end -->
<div class="btn"
@click="btn(1)">下一步</div>
<div class="btn" @click="btn(1)">下一步</div>
</div>
<div v-if="sub == 1">
<div v-show="sub == 1">
<div class="cc">
<!-- start -->
<aside>
<div>
<label for>项目主责单位:</label>
<input class="i-i"
type="text"
name
id />
<label>项目主责单位:</label>
<input class="i-i" type="text" name="prespo" v-model="prespo" value required />
</div>
</aside>
<aside>
<div>
<label>通讯地址:</label>
<input class="i-i" type="text" name="respoadd" v-model="respoadd" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>项目名称:</label>
<input type="text"
name
id />
<label>项目名称:</label>
<input type="text" name="name" v-model="name" value required />
</div>
<div>
<label for>邮政编码:</label>
<input type="text"
name
id />
<label>邮政编码:</label>
<input type="text" name="respopcode" v-model="respopcode" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>电子信箱:</label>
<input type="text"
name
id />
<label>电子信箱:</label>
<input type="text" name="respomail" v-model="respomail" value required />
</div>
<div>
<label for>传真电话:</label>
<input type="text"
name
id />
<label>传真电话:</label>
<input type="text" name="respophone" v-model="respophone" value required />
</div>
</aside>
<!-- end -->
<!-- start -->
<aside>
<div>
<label for>负责人姓名:</label>
<input class="i"
type="text"
name
id />
<label>负责人姓名:</label>
<input class="i" type="text" name="respopname" v-model="respopname" value required />
</div>
<div>
<label for>职务:</label>
<input class="i"
type="text"
name
id />
<label>职务:</label>
<input class="i" type="text" name="respopost" v-model="respopost" value required />
</div>
<div>
<label for>办公电话:</label>
<input class="i"
type="text"
name
id />
<label>办公电话:</label>
<input
class="i"
type="text"
name="respoophone"
v-model="respoophone"
value
required
/>
</div>
<div>
<label for>手机:</label>
<input class="i"
type="text"
name
id />
<label>手机:</label>
<input class="i" type="text" name="respoptel" v-model="respoptel" value required />
</div>
</aside>
<!-- end -->
<aside>
<div>
<label for>联系人姓名:</label>
<input class="i"
type="text"
name
id />
<label>联系人姓名:</label>
<input class="i" type="text" name="respocname" v-model="respocname" value required />
</div>
<div>
<label for>职务:</label>
<input class="i"
type="text"
name
id />
<label>职务:</label>
<input class="i" type="text" name="respocpost" v-model="respocpost" value required />
</div>
<div>
<label for>办公电话:</label>
<input class="i"
type="text"
name
id />
<label>办公电话:</label>
<input
class="i"
type="text"
name="respocophone"
v-model="respocophone"
value
required
/>
</div>
<div>
<label for>手机:</label>
<input class="i"
type="text"
name
id />
<label>手机:</label>
<input class="i" type="text" name="respoctel" v-model="respoctel" value required />
</div>
</aside>
<!-- end -->
@@ -324,51 +267,94 @@
<div>
<div class="xx">
<h5>申报单位简介</h5>
<textarea name
id></textarea>
<textarea value name="decldes" v-model="decldes" required></textarea>
</div>
<div class="xx">
<h5>项目简介</h5>
<textarea name
id></textarea>
<textarea value name="prodes" v-model="prodes" required></textarea>
</div>
<div class="xx">
<h5>项目论证</h5>
<textarea name
id></textarea>
<h3>() 项目实施的必要性可行性</h3>
<textarea value name="prodemo" v-model="prodemo" required></textarea>
<h3>() 项目实施的已有基础具体方法和途径及进度安排预期效果及完成时间</h3>
<p>1.项目实施的已有基础</p>
<textarea
value
name="prodemojc"
v-model="prodemojc"
required
placeholder="(说明:包括但不限于项目实施已有的相关经验或有助于项目实施的资源支持等)"
></textarea>
<p>2.具体方法和途径</p>
<textarea
name="prodemotj"
value
v-model="prodemotj"
required
placeholder="(说明:包括项目实施的具体方式、途径。明确项目的具体组成内容(子项目、各类服务等),每类、每次活动的具体内容、形式、对象、次数、人数等)"
></textarea>
<p>3.进度安排</p>
<textarea
name="prodemojd"
value
v-model="prodemojd"
required
placeholder="(说明:可单独作为一部分,也可与“具体方法和途径”一并细化到子项目中说明。建议时间单元为月,不建议简单表述为“年内”、“上半年”“下半年”、“第*季度”等。)"
></textarea>
<p>4.预期效果</p>
<textarea
value
name="prodemoxg"
v-model="prodemoxg"
placeholder="(说明:具体明确项目实施所要达到的目标或预期的效果以及)"
></textarea>
<p>5.项目团队及分工</p>
<textarea
value
required
v-model="prodemofg"
name="prodemofg"
placeholder="(说明:包括项目实施的组织管理机构组成,各子项目或各项服务活动的具体承接单位和负责人,各有关协作单位等。如有以主责单位名义申报的综合性、联合性项目,要细化各子项目的组织实施体系。如有涉及到委托管理(如财务委托管理)的,要在组织架构中予以说明。要把可能引起转包怀疑的所有事项交代清楚,避免在检查、审计和评估中产生误解。)"
></textarea>
<h3>() 项目实施涵盖的范围实施的规模服务的人群创新之处等</h3>
<textarea required name="prodemotwo" v-model="prodemotwo" value></textarea>
</div>
<div class="xx">
<h5>经费预算</h5>
<textarea name
id></textarea>
<textarea name="funds" v-model="funds" required value></textarea>
</div>
<div class="xxx">
<h5>申报单位承诺</h5>
<div class="plpl">
<span @click="thf()"
:class="thff ? 'ic' : ''"
class="iconfont icon-fuxuankuang_xuanzhong"></span>
<label for>我们确认项目中报内容的真实性,并愿意承担相应的责任</label>
<span
@click="thf()"
:class="thff ? 'ic' : ''"
class="iconfont icon-fuxuankuang_xuanzhong"
></span>
<label>我们确认项目中报内容的真实性,并愿意承担相应的责任</label>
</div>
</div>
<div class="xxx">
<h5>项目主责单位意见</h5>
<div class="btnn">
<label id="uploadFile">
<!-- @change="getFile($event)" -->
<label>
上传文件
<input id="uploadFile"
v-show="false"
type="file"
@change="getFile($event)" />
<input type="file" @change="getFile($event)" v-show="false" name="file" />
</label>
</div>
</div>
</div>
<div class="ll">
<div>保存</div>
<input type="submit"
name="submit"
value="提交" />
<button type="button" @click="submit(0)">保存</button>
<button type="submit" @click="submit(1)">提交</button>
</div>
</div>
</form>
@@ -382,6 +368,7 @@
import HeaderNav from "../../components/HeaderNav";
/* eslint-disable */
import FooterNav from "../../components/FooterNav";
const T_T = new Date()
export default {
components: {
HeaderNav,
@@ -392,13 +379,64 @@ export default {
return {
index_num: 2,
sub: 0,
file: "",
imgUrl: {
bg0: require("../../../static/img/bg0.png"),
bg1: require("../../../static/img/bg1.png"),
xa: require("../../../static/img/xa.png")
},
thff: false
thff: false,
types: [],
area: [],
name: '',
company: '',
tid: Number,
rid: Number,
first_level: '',
secondary: '',
fieldeara: '',
attribute: '',
aterm: '',
fterm: '',
postaladdress: '',
postalcode: '',
pmail: '',
fax_tel: '',
plegal: '',
plcode: '',
pname: '',
poster: '',
poffice_tel: '',
aphone: '',
cname: '',
cpost: '',
coffice_tel: '',
cphone: '',
prespo: '',
respoadd: '',
respopcode: '',
respomail: '',
respophone: '',
respoctel: '',
respopname: '',
respopost: '',
respoophone: '',
respoptel: '',
respocname: '',
respocpost: '',
respocophone: '',
decldes: '',
prodes: '',
prodemo: '',
prodemojc: '',
prodemotj: '',
prodemojd: '',
prodemoxg: '',
prodemofg: '',
prodemotwo: '',
funds: '',
proimages: '',
file: '',
subStatus: 0
};
},
computed: {},
@@ -413,12 +451,115 @@ export default {
this.sub = s;
},
getFile(event) {
this.file = event.target.files[0];
console.log(this.file);
let file = event.target.files[0];
let param = new FormData(); //创建form对象
param.append('file', file);//通过append向form对象添加数据
// console.log(param.get('file')); //FormData私有类对象访问不到可以通过get判断值是否传进去
let config = {
headers: { 'Content-Type': 'multipart/form-data' }
}; //添加请求头
this.$http.post('v1/file/files', param, config)
.then(response => {
let url = response.data.data.url
this.file = url
})
},
submit(index) {
let s = this.subStatus;
s = index;
this.subStatus = s
this.proimages = this.file
let _this = this
this.$http({
method: 'post',
url: 'v1/project/apply',
data: {
subStatus: _this.subStatus,
name: _this.name,
company: _this.company,
tid: _this.tid,
rid: _this.rid,
first_level: _this.first_level,
secondary: _this.secondary,
fieldeara: _this.fieldeara,
attribute: _this.attribute,
aterm: _this.aterm,
fterm: _this.fterm,
postaladdress: _this.postaladdress,
postalcode: _this.postalcode,
pmail: _this.pmail,
fax_tel: _this.fax_tel,
plegal: _this.plegal,
plcode: _this.plcode,
pname: _this.pname,
poster: _this.poster,
poffice_tel: _this.poffice_tel,
aphone: _this.aphone,
cname: _this.cname,
cpost: _this.cpost,
coffice_tel: _this.coffice_tel,
cphone: _this.cphone,
prespo: _this.prespo,
respoadd: _this.respoadd,
respopcode: _this.respopcode,
respomail: _this.respomail,
respophone: _this.respophone,
respoctel: _this.respoctel,
respopname: _this.respopname,
respopost: _this.respopost,
respoophone: _this.respoophone,
respoptel: _this.respoptel,
respocname: _this.respocname,
respocpost: _this.respocpost,
respocophone: _this.respocophone,
decldes: _this.decldes,
prodes: _this.prodes,
prodemo: _this.prodemo,
prodemojc: _this.prodemojc,
prodemotj: _this.prodemotj,
prodemojd: _this.prodemojd,
prodemoxg: _this.prodemoxg,
prodemofg: _this.prodemofg,
prodemotwo: _this.prodemotwo,
funds: _this.funds,
proimages: _this.proimages
}
}).then(res => {
if (res.data.code === 200) {
alert(res.data.message)
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getData() {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/get-info',
data: {}
}).then(res => {
if (res.data.code === 200) {
_this.types = res.data.data.type
_this.area = res.data.data.area
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
}
},
created() {},
mounted() {}
created() {
this.getData()
},
mounted() { }
};
</script>
@@ -441,7 +582,8 @@ export default {
display: flex;
justify-content: center;
align-items: center;
div {
button[type="button"] {
margin-right: 152px;
width: 197px;
height: 63px;
@@ -455,9 +597,11 @@ export default {
letter-spacing: 0px;
color: #ffffff;
text-align: center;
outline: none;
border: 0;
}
input[type="submit"] {
button[type="submit"] {
width: 197px;
height: 63px;
background-color: #e60012;
@@ -471,6 +615,7 @@ export default {
letter-spacing: 0px;
color: #ffffff;
outline: none;
border: 0;
}
}
@@ -538,18 +683,37 @@ export default {
.xx {
margin-top: 60px;
width: 100%;
height: 188px;
height: auto;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
textarea {
margin-top: 30px;
width: 1139px;
height: 138px;
background-color: #ffffff;
border: solid 1px #c7c7c7;
resize: none;
font-family: "MicrosoftYaHei";
font-size: 18px;
font-weight: normal;
font-stretch: normal;
line-height: 39px;
letter-spacing: 0px;
color: #999999;
}
p {
margin-top: 38px;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
}
h5 {
@@ -561,6 +725,17 @@ export default {
letter-spacing: 0px;
color: #333333;
}
h3 {
width: 100%;
font-family: "MicrosoftYaHei";
font-size: 20px;
font-weight: normal;
font-stretch: normal;
letter-spacing: 0px;
color: #333333;
margin-top: 38px;
}
}
.cc {

View File

@@ -18,25 +18,25 @@
<div>
<section>
<span>初筛通过</span>
<span>10</span>
<span>{{bgValue.overview_one}}</span>
</section>
</div>
<div>
<section>
<span>立项通过</span>
<span>10</span>
<span>{{bgValue.overview_two}}</span>
</section>
</div>
<div>
<section>
<span>执行中</span>
<span>10</span>
<span>{{bgValue.overview_three}}</span>
</section>
</div>
<div>
<section>
<span>已完结</span>
<span>10</span>
<span>{{bgValue.overview_four}}</span>
</section>
</div>
</div>
@@ -48,12 +48,12 @@
<option value>2017/10/14 2017/10/15</option>
</select>
<select class="two" name="type">
<template v-for="(type,index) in types">
<template v-for="(type,index) in bgValue.type">
<option :key="index" :value="index">{{type}}</option>
</template>
</select>
<select class="three" name="area">
<template v-for="(area,index) in area">
<template v-for="(area,index) in bgValue.area">
<option :key="index" :value="index">{{area}}</option>
</template>
</select>
@@ -72,8 +72,8 @@
</div>
<!-- 主题内容 -->
<div class="cc">
<template v-for="(item,index) in bgData">
<div class="list" :key="index" v-if="index < 9" @click="$jump('schedule')">
<template v-for="(item,index) in bgData.info">
<div class="list" :key="index" @click="$jump('schedule')">
<div class="div">
<div class="bb">
<h3>{{item.name}}</h3>
@@ -83,10 +83,10 @@
</div>
<dl>
<dt>
<img :src="imgUrl.tg" v-if="item.state == 0" />
<img :src="imgUrl.btg" v-if="item.state == 1" />
<img :src="imgUrl.shz" v-if="item.state == 2" />
<img :src="imgUrl.zxz" v-if="item.state == 3" />
<img :src="imgUrl.tg" v-if="item.tid == 5" />
<img :src="imgUrl.btg" v-else-if="item.tid == 4 || item.tid == 9" />
<img :src="imgUrl.zxz" v-else-if="item.tid == 10" />
<img :src="imgUrl.shz" v-else />
</dt>
<dd>
<span class="iconfont icon-zuzhijiegou"></span>
@@ -112,9 +112,10 @@
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-size="pageSize"
:pager-count="7"
background
layout="prev, pager, next"
:total="10"
:total="totalCount"
></el-pagination>
</div>
</div>
@@ -150,14 +151,13 @@ export default {
text: ["全部", "项目初筛", "项目立项"],
sub: 0,
bgData: [],
types: [],
area: []
bgValue: []
};
},
computed: {},
watch: {},
methods: {
getData() {
getDataOne() {
let _this = this
this.$http({
method: 'get',
@@ -165,8 +165,7 @@ export default {
data: {}
}).then(res => {
if (res.data.code === 200) {
_this.types = res.data.data.type
_this.area = res.data.data.area
_this.bgValue = res.data.data
} else {
_this.$message.error('请求数据有问题!')
}
@@ -176,16 +175,67 @@ export default {
console.log(err)
})
},
getDataTwo() {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
data: {}
params: {
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data.info
console.log(_this.bgData);
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
console.log(_this.bgData)
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getDataThree() {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
params: {
prolink: 1,
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
} else {
_this.$message.error('请求数据有问题!')
}
})
// eslint-disable-next-line handle-callback-err
.catch(err => {
console.log(err)
})
},
getDataFour() {
let _this = this
this.$http({
method: 'get',
url: 'v1/project/list',
params: {
prolink: 2,
page: _this.currentPage
}
}).then(res => {
if (res.data.code === 200) {
_this.bgData = res.data.data.data
_this.totalCount = _this.bgData.allNum
_this.pageSize = _this.bgData.info.length
} else {
_this.$message.error('请求数据有问题!')
}
@@ -199,6 +249,20 @@ export default {
let s = this.sub;
s = index;
this.sub = s;
switch (this.sub) {
case 0:
this.getDataTwo();
break;
case 1:
this.getDataThree();
break;
case 2:
this.getDataFour();
break;
default:
break;
}
},
handleSizeChange(val) {
this.pageNum = val;
@@ -206,6 +270,21 @@ export default {
},
handleCurrentChange(val) {
this.currentPage = val;
switch (this.sub) {
case 0:
this.getDataTwo();
break;
case 1:
this.getDataThree();
break;
case 2:
this.getDataFour();
break;
default:
break;
}
this.getPackData();
},
getPackData() { }
@@ -213,7 +292,8 @@ export default {
created() {
this.currentPage = Number(localStorage.getItem("pagination")) || 1;
this.handleCurrentChange(this.currentPage);
this.getData()
this.getDataOne()
this.getDataTwo()
},
mounted() { }
};
@@ -336,14 +416,13 @@ export default {
color: #666666;
}
.block{
.block {
width: 288px;
height: 14px;
line-height: 14px;
display: inline-block;
overflow: hidden;
}
}
dt {

BIN
static/img/foot1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB