Przeglądaj źródła

task 经费预算

rongxin_dev
庞东旭 1 dzień temu
rodzic
commit
10dce0d8e1
11 zmienionych plików z 2662 dodań i 0 usunięć
  1. +112
    -0
      src/api/sunVillage_info/fixedAssets.js
  2. BIN
      src/assets/images/sunVillage_info/index_icon_16.png
  3. +72
    -0
      src/router/index.js
  4. +554
    -0
      src/views/sunVillage_info/list_funds.vue
  5. +256
    -0
      src/views/sunVillage_info/list_funds_add.vue
  6. +222
    -0
      src/views/sunVillage_info/list_funds_detail.vue
  7. +261
    -0
      src/views/sunVillage_info/list_funds_edit.vue
  8. +518
    -0
      src/views/sunVillage_info/list_funds_list.vue
  9. +233
    -0
      src/views/sunVillage_info/list_funds_list_add.vue
  10. +198
    -0
      src/views/sunVillage_info/list_funds_list_detail.vue
  11. +236
    -0
      src/views/sunVillage_info/list_funds_list_edit.vue

+ 112
- 0
src/api/sunVillage_info/fixedAssets.js Wyświetl plik

@@ -1502,3 +1502,115 @@ export function webList(query) {
params: query
})
}

// 查询经费预算列表
export function listFunds(query) {
return request({
url: '/cashier/funds/list',
method: 'get',
params: query
})
}
// 查询审批模板列表
export function listTemplate(query) {
return request({
url: '/service/template/list',
method: 'get',
params: query
})
}

// 新增经费预算
export function addFunds(data) {
return request({
url: '/cashier/funds/add',
method: 'post',
data: data
})
}

// 开始审批经费预算
export function applyFunds(id) {
return request({
url: '/cashier/funds/submitApply/' + id,
method: 'post',
})
}

// 撤销审批经费预算
export function revokeFunds(id) {
return request({
url: '/cashier/funds/revokeApply/' + id,
method: 'post',
})
}

// 删除经费预算
export function delFunds(id) {
return request({
url: '/cashier/funds/remove/' + id,
method: 'get'
})
}

// 查询经费预算详细
export function getFunds(id) {
return request({
url: '/cashier/funds/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 修改经费预算
export function updateFunds(data) {
return request({
url: '/cashier/funds/edit',
method: 'post',
data: data
})
}

// 查询经费明细列表
export function listFundsdetail(query) {
return request({
url: '/cashier/fundsdetail/list',
method: 'get',
params: query
})
}

// 删除经费明细
export function delFundsdetail(id) {
return request({
url: '/cashier/fundsdetail/remove/' + id,
method: 'get'
})
}

// 新增经费明细
export function addFundsdetail(data) {
return request({
url: '/cashier/fundsdetail/add',
method: 'post',
data: data
})
}

// 修改经费明细
export function updateFundsdetail(data) {
return request({
url: '/cashier/fundsdetail/edit',
method: 'post',
data: data
})
}

// 查询经费明细详细
export function getFundsdetail(id) {
return request({
url: '/cashier/fundsdetail/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

BIN
src/assets/images/sunVillage_info/index_icon_16.png Wyświetl plik

Przed Po
Szerokość: 65  |  Wysokość: 58  |  Rozmiar: 2.3 KiB

+ 72
- 0
src/router/index.js Wyświetl plik

@@ -3542,6 +3542,78 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_edit'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds',
name: 'sunVillageInfoListFunds',
meta: {
title: '经费预算',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_add',
name: 'sunVillageInfoListFundsAdd',
meta: {
title: '新增经费预算',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_edit',
name: 'sunVillageInfoListFundsEdit',
meta: {
title: '修改经费预算',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_edit'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_detail',
name: 'sunVillageInfoListFundsDetail',
meta: {
title: '经费预算',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_list',
name: 'sunVillageInfoListFundsList',
meta: {
title: '预算明细',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_list'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_list_add',
name: 'sunVillageInfoListFundsListAdd',
meta: {
title: '新增预算明细',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_list_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_list_edit',
name: 'sunVillageInfoListFundsListEdit',
meta: {
title: '修改预算明细',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_list_edit'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_funds_list_detail',
name: 'sunVillageInfoListFundsListDetail',
meta: {
title: '查看预算明细',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_funds_list_detail'], resolve)
},
{ ////阳光村务(新)-- 四议表决
path: '/sunVillage_info/special_vote',
name: 'sunVillageInfoSpecialVote',


+ 554
- 0
src/views/sunVillage_info/list_funds.vue Wyświetl plik

@@ -0,0 +1,554 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title">经费预算</p>
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="add" v-show="showBtn"></div>
</div>

<div class="list_main">

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" >
<van-swipe-cell>
<div class="info">
<div class="title">
<p class="news_title">{{item.auditbatchNo || '暂无批次号'}}</p>
<p class="status_tag"
:style="{
backgroundColor: {
'0': '#848484',
'1': '#e6a23c',
'2': '#f56c6c',
'3': '#67c23a',
'4': '#909399',
}[item.auditStatus]
}">
{{selectDictLabel(auditStatusOptions, item.auditStatus)}}
</p>
</div>

<div class="time">
<div class="icon_time"></div>{{item.fundsNy}}
<p>{{item.totalAmt}}元</p>
</div>
</div>
<template #right>
<div class="btn_right">
<p @click="handleApply(item)" class="tj" v-if="item.auditStatus === '0' || item.auditStatus === '2'">
{{ item.auditStatus === '0' ? '提交申请' : '重新提交' }}
</p>
<p @click="handleRevoke(item)" class="cx" v-if="item.auditStatus === '1'">撤销</p>
<p @click="list(item.id)" class="mx">明细</p>
<p @click="edit(item.id)" class="xg" v-if="item.auditStatus === '0' || item.auditStatus === '2'">修改</p>
<p @click="handleDelete(item)" class="sc" v-if="item.auditStatus === '0' || item.auditStatus === '2'">删除</p>
<p @click="openFile(item.id)" class="fj">附件</p>
</div>
</template>
</van-swipe-cell>
</div>
</van-list>
<van-action-sheet v-model="showFile" title="附件查看">
<div class="content">
<van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />
</div>
</van-action-sheet>
</div>
</div>
</template>

<script>
import {Dialog, Toast} from "vant";
import Cookies from "js-cookie";
import {listFunds, applyFunds, revokeFunds, delFunds, commonAttach, attachmentList, systemAttachment} from "@/api/sunVillage_info/fixedAssets";
import request from "@/utils/request";
export default {
name: "otherOpenList",
data() {
return {
dataList:[],
total: 0,
openPic:[],
openPic2:[],
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
openYear:'',
otherType: null,
},
yearList: [],
showFile: false,
openPicId: null,
reload: false,
showTab: false,
auditStatusOptions: [],
showType: false,
loading: false,
finished: false,
applicationList:[],
listLength:'0',
showBtn:true,
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
this.houseGetDicts("a_audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listFunds(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
viewItem(id){
this.$router.push({path:'/sunVillage_info/list_funds_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}});
},
add() {
this.$router.push({path:'/sunVillage_info/list_funds_add'});
},
edit(id) {
this.$router.push({path:'/sunVillage_info/list_funds_edit',query: {id:id}});
},
list(id) {
this.$router.push({path:'/sunVillage_info/list_funds_list',query: {id:id}});
},
handleDelete(row) {
const id = row.id;
Dialog.confirm({
title: '警告',
message: '是否确认删除此条经费预算数据?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
delFunds(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
/** 提交申请 */
handleApply(row) {
const id = row.id;
Dialog.confirm({
title: '警告',
message: '是否确认提交此数据项的审批申请?',
})
.then(() => {
const loading = Toast.loading({
message: '正在提交...',
duration: 0,
});
applyFunds(id).then((resp) => {
this.$notify({ type: 'success', message: '提交成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
/** 撤销申请 */
handleRevoke(row) {
const id = row.id;
Dialog.confirm({
title: '警告',
message: '是否确认撤销当前数据项的审批申请?',
})
.then(() => {
const loading = Toast.loading({
message: '正在撤销...',
duration: 0,
});
revokeFunds(id).then((resp) => {
this.$notify({ type: 'success', message: '撤销成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
openFile(id){
this.openPic = [];
this.showFile = true;
this.openPicId = id;
let oData1= {
tableId: id,
tableName: "t_cashier_funds",
bizPath: "cashier",
}
attachmentList(oData1).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.openPic.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}), "id": r.id})
})
})
},
deleteFile1(file,detail){
systemAttachment(file.id).then((res) => {});
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
let params1 = new FormData();
params1.append("tableId", this.openPicId);
params1.append("tableName", "t_cashier_funds");
params1.append("bizPath", "cashier");
params1.append("fileType", 0);
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
}
}
}
</script>

<style scoped lang="scss">
.content {
padding: 1.4vh;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main{
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}

.title {
}
/*.title::before {*/
/* display: inline-block;*/
/* width: 24px;*/
/* height: 24px;*/
/* content: '';*/
/* background-image: url('../../assets/images/icon/index_header_focus.png');*/
/* background-repeat: no-repeat;*/
/* background-size: contain;*/
/* margin-right: 0.2rem;*/
/* transform: rotate(*/
/* 180deg*/
/* );*/
/*}*/
/*.title::after {*/
/* width: 0.32rem;*/
/* height: 0.32rem;*/
/* display: inline-block;*/
/* content: '';*/
/* background-image: url('../../assets/images/icon/index_header_focus.png');*/
/* background-repeat: no-repeat;*/
/* background-size: contain;*/
/* margin-left: 0.2rem;*/
/*}*/
}
.record_main{
padding:30px 22px;
.record_det{
height: 38px;
line-height: 38px;
display: flex;
justify-content:space-between;
.year_l{
font-size: 30px;
display: flex;
align-items: center;
color: #858585;

.unit{
padding-left: 5px;
}
.icon{
width: 23px;
height: 12px;
display: block;
background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-bottom: 4px;
margin-right: 8px;
&.zk {
transform: rotate(0deg)
}
&.ss{
transform: rotate(180deg)
}

}
}
.total_r{
font-size: 26px;
letter-spacing: 2px;
}
}
.record_list{
display: flex;
flex-flow: wrap;
margin-top: 12PX;
.flex_block{
font-size: 30px;
color: #878787;
padding-right: 30px;
&.current{
color: #4199fe;
font-weight: bold;
}
}
}
}
.list_main{
padding:15px 22px;
.item{
height: 140px;
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
/*padding:25px 32px;*/
/*display: flex;*/
margin-bottom: 20px;
/*justify-content: space-between;*/
overflow: hidden;
.btn_right{
display: flex;
align-items: center;
height: 100%;
p{
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
width: 100px;
font-size: 24px;
}
.tj{
background: #67c23a;
}
.cx{
background: #e6a23c;
}
.mx{
background: #0074ff;
}
.xg{
background: #ff6200;
}
.sc{
background: #be0000;
}
.fj{
background: #00bea1;
}

}
.info{
padding:25px 32px;
.title{
display: flex;
font-size: 32px;
align-items: center;
justify-content: space-between;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 30px;
background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
flex-shrink: 0;
}
.news_title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.tips_mark{
width: 34px;
height: 34px;
background: #fa0c0c;
border-radius: 8px;
font-size: 24px;
color: #fff;
text-align: center;
line-height: 34px;
margin-left: 10px;
flex-shrink: 0;
}
.status_tag{
background: red;
color: #ffffff;
padding: 2px 15px;
border-radius: 5px;
font-size: 22px;
}
}
.time{
font-size: 24px;
color: #858585;
display: flex;
align-items: center;
height: 30px;
margin-top: 6px;
p{
margin-left: 30px;
}
.icon_time{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
}
}
}
.operation{
display: flex;
align-items: center;
justify-content: right;
text-align: right;
.opera_btn{
width: 52px;
height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content:center;

&.delete{
background:#df0707;
margin-left: 10PX;
.icon{
width: 22px;
height: 29px;
background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.edit{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 26px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.view{
background: #3494ff;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.list{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
}
}
}

}
.bottom_tips{
font-size: 24px;
color: #a7a6a6;
text-align: center;
margin-top: 32px;
background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat;
background-size: 260px 2px;
.xs{
padding:0 8px;
background: #e9e9e9;
}
}
}
.top_head_title{
font-size: 16PX;
text-align: center;
padding: 15PX 0;
}
</style>

+ 256
- 0
src/views/sunVillage_info/list_funds_add.vue Wyświetl plik

@@ -0,0 +1,256 @@
<template>
<div class="home_wrapper">
<div class="header_main">
经费预算
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.fundsNy"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示年月' }]"
>
<template #label>
<p style="margin-left: 5px;">预算年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="fundsNy"
type="year-month"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required :rules="[{ required: true }]" v-model="form.totalAmt" placeholder="请输入总预算额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">总预算额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="approvalTemplateId"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择审批流程' }]"
>
<template #label>
<p style="margin-left: 5px;">审批流程</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="approvalTemplateList"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.fundsRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>

<div style="margin: 16px auto;width: 50%;">
<van-button round block type="primary" native-type="submit">
保存
</van-button>
</div>
</van-form>
</div>
</template>

<script>
import {
commonUpload,
listTemplate,
addFunds
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
fundsNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
approvalTemplateId: 208
},
fundsNy:new Date(),
approvalTemplateId:'经费预算',
approvalTemplateList: [],
};
},
created() {
listTemplate({ type: '12' }).then(response => {
this.approvalTemplateList = response.rows;
});
},
methods: {
onConfirmThreeDetailType(data){
this.approvalTemplateId = data.name;
this.form.approvalTemplateId = data.id;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
addFunds(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.fundsNy = this.format(data,'yyyy-MM');
this.fundsNy = data;
this.showBuildTime = false;
}
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 222
- 0
src/views/sunVillage_info/list_funds_detail.vue Wyświetl plik

@@ -0,0 +1,222 @@
<template>
<div class="home_wrapper">
<div class="header_main">
经费预算
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.fundsNy"
input-align="right"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择公示年月' }]"
>
<template #label>
<p style="margin-left: 5px;">预算年月</p>
</template>
</van-field>

<van-field readonly :rules="[{ required: true }]" v-model="form.totalAmt" placeholder="请输入总预算额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">总预算额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="approvalTemplateId"
input-align="right"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择审批流程' }]"
>
<template #label>
<p style="margin-left: 5px;">审批流程</p>
</template>
</van-field>

<van-field v-model="form.fundsRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>
</van-form>
</div>
</template>

<script>
import {
getFunds,
listTemplate,
updateFunds
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
fundsNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
approvalTemplateId: 208
},
fundsNy:new Date(),
approvalTemplateId:'经费预算',
approvalTemplateList: [],
};
},
created() {
listTemplate({ type: '12' }).then(response => {
this.approvalTemplateList = response.rows;
const id = this.$route.query.id;
getFunds(id).then(response2 => {
this.approvalTemplateId = this.approvalTemplateList.filter(function (e) { return e.id == response2.data.approvalTemplateId; })[0].name;
this.form = response2.data;
});
});
},
methods: {
onSubmit(){
var that = this;
updateFunds(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
}
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 261
- 0
src/views/sunVillage_info/list_funds_edit.vue Wyświetl plik

@@ -0,0 +1,261 @@
<template>
<div class="home_wrapper">
<div class="header_main">
经费预算
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.fundsNy"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示年月' }]"
>
<template #label>
<p style="margin-left: 5px;">预算年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="fundsNy"
type="year-month"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required :rules="[{ required: true }]" v-model="form.totalAmt" placeholder="请输入总预算额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">总预算额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="approvalTemplateId"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择审批流程' }]"
>
<template #label>
<p style="margin-left: 5px;">审批流程</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="name"
:columns="approvalTemplateList"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.fundsRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>

<div style="margin: 16px auto;width: 50%;">
<van-button round block type="primary" native-type="submit">
保存
</van-button>
</div>
</van-form>
</div>
</template>

<script>
import {
getFunds,
listTemplate,
updateFunds
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
fundsNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
approvalTemplateId: 208
},
fundsNy:new Date(),
approvalTemplateId:'经费预算',
approvalTemplateList: [],
};
},
created() {
listTemplate({ type: '12' }).then(response => {
this.approvalTemplateList = response.rows;
const id = this.$route.query.id;
getFunds(id).then(response2 => {
this.approvalTemplateId = this.approvalTemplateList.filter(function (e) { return e.id == response2.data.approvalTemplateId; })[0].name;
this.form = response2.data;
});
});
},
methods: {
onConfirmThreeDetailType(data){
this.approvalTemplateId = data.name;
this.form.approvalTemplateId = data.id;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
updateFunds(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.fundsNy = this.format(data,'yyyy-MM');
this.fundsNy = data;
this.showBuildTime = false;
}
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 518
- 0
src/views/sunVillage_info/list_funds_list.vue Wyświetl plik

@@ -0,0 +1,518 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title">预算明细</p>
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="add" v-show="showBtn"></div>
</div>

<div class="list_main">

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" >
<van-swipe-cell>
<div class="info">
<div class="title">
<p class="news_title">{{item.fundName}}</p>
<!-- <p class="status_tag"-->
<!-- :style="{-->
<!-- backgroundColor: {-->
<!-- '0': '#848484',-->
<!-- '1': '#e6a23c',-->
<!-- '2': '#f56c6c',-->
<!-- '3': '#67c23a',-->
<!-- '4': '#909399',-->
<!-- }[item.auditStatus]-->
<!-- }">-->
<!-- {{selectDictLabel(auditStatusOptions, item.auditStatus)}}-->
<!-- </p>-->
</div>

<div class="time">
<div class="icon_time"></div>{{item.fundAmt}}元
<p>是否有年度预算:{{selectDictLabel(isBudgetOptions, item.isBudget)}}</p>
</div>
</div>
<template #right>
<div class="btn_right">
<p @click="openFile(item.id)" class="tj">附件</p>
<p @click="edit(item.id)" class="xg">修改</p>
<p @click="handleDelete(item)" class="sc">删除</p>
</div>
</template>
</van-swipe-cell>

<!-- <div class="operation" v-show="showBtn">-->
<!-- <div class="opera_btn view" @click.stop="viewItem(item.id)">-->
<!-- <i class="icon "></i>-->
<!-- </div>-->
<!-- <div class="opera_btn edit" @click.stop="edit(item.id)">-->
<!-- <i class="icon "></i>-->
<!-- </div>-->
<!-- <div class="opera_btn delete" @click.stop="remove(item.id)">-->
<!-- <i class="icon"></i>-->
<!-- </div>-->
<!-- </div>-->
</div>
</van-list>
<van-action-sheet v-model="showFile" title="附件查看">
<div class="content">
<van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />
</div>
</van-action-sheet>
</div>
</div>
</template>

<script>
import {Dialog, Toast} from "vant";
import Cookies from "js-cookie";
import {
listFundsdetail,
applyFunds,
revokeFunds,
delFundsdetail,
attachmentList, systemAttachment, commonAttach
} from "@/api/sunVillage_info/fixedAssets";
import request from "@/utils/request";
export default {
name: "otherOpenList",
data() {
return {
dataList:[],
total: 0,
openPic:[],
openPic2:[],
showFile: false,
openPicId: null,
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
bookId: null,
deptId: null,
fundsId: '',
isBudget: null,
},
yearList: [],
reload: false,
showTab: false,
isBudgetOptions: [],
showType: false,
loading: false,
finished: false,
applicationList:[],
listLength:'0',
showBtn:true,
};
},
created() {
this.queryParams.fundsId = this.$route.query.id;
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
this.houseGetDicts("sys_yes_no").then((response) => {
this.isBudgetOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listFundsdetail(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
viewItem(id){
this.$router.push({path:'/sunVillage_info/list_funds_list_detail',query: {id:id}});
},
add() {
this.$router.push({path:'/sunVillage_info/list_funds_list_add',query: {id:this.queryParams.fundsId}});
},
edit(id) {
this.$router.push({path:'/sunVillage_info/list_funds_list_edit',query: {id:id}});
},
handleDelete(row) {
const id = row.id;
Dialog.confirm({
title: '警告',
message: '是否确认删除此条经费明细数据?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
delFundsdetail(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
openFile(id){
this.openPic = [];
this.showFile = true;
this.openPicId = id;
let oData1= {
tableId: id,
tableName: "t_cashier_fundsdetail",
bizPath: "cashier",
}
attachmentList(oData1).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.openPic.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}), "id": r.id})
})
})
},
deleteFile1(file,detail){
systemAttachment(file.id).then((res) => {});
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
let params1 = new FormData();
params1.append("tableId", this.openPicId);
params1.append("tableName", "t_cashier_fundsdetail");
params1.append("bizPath", "cashier");
params1.append("fileType", 0);
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
}
}
}
</script>

<style scoped lang="scss">
.content {
padding: 1.4vh;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main{
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}

.title {
}
/*.title::before {*/
/* display: inline-block;*/
/* width: 24px;*/
/* height: 24px;*/
/* content: '';*/
/* background-image: url('../../assets/images/icon/index_header_focus.png');*/
/* background-repeat: no-repeat;*/
/* background-size: contain;*/
/* margin-right: 0.2rem;*/
/* transform: rotate(*/
/* 180deg*/
/* );*/
/*}*/
/*.title::after {*/
/* width: 0.32rem;*/
/* height: 0.32rem;*/
/* display: inline-block;*/
/* content: '';*/
/* background-image: url('../../assets/images/icon/index_header_focus.png');*/
/* background-repeat: no-repeat;*/
/* background-size: contain;*/
/* margin-left: 0.2rem;*/
/*}*/
}
.record_main{
padding:30px 22px;
.record_det{
height: 38px;
line-height: 38px;
display: flex;
justify-content:space-between;
.year_l{
font-size: 30px;
display: flex;
align-items: center;
color: #858585;

.unit{
padding-left: 5px;
}
.icon{
width: 23px;
height: 12px;
display: block;
background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-bottom: 4px;
margin-right: 8px;
&.zk {
transform: rotate(0deg)
}
&.ss{
transform: rotate(180deg)
}

}
}
.total_r{
font-size: 26px;
letter-spacing: 2px;
}
}
.record_list{
display: flex;
flex-flow: wrap;
margin-top: 12PX;
.flex_block{
font-size: 30px;
color: #878787;
padding-right: 30px;
&.current{
color: #4199fe;
font-weight: bold;
}
}
}
}
.list_main{
padding:15px 22px;
.item{
height: 140px;
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
/*padding:25px 32px;*/
/*display: flex;*/
margin-bottom: 20px;
/*justify-content: space-between;*/
overflow: hidden;
.btn_right{
display: flex;
align-items: center;
height: 100%;
p{
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
width: 100px;
font-size: 24px;
}
.tj{
background: #67c23a;
}
.cx{
background: #e6a23c;
}
.mx{
background: #0074ff;
}
.xg{
background: #ff6200;
}
.sc{
background: #be0000;
}

}
.info{
padding:25px 32px;
.title{
display: flex;
font-size: 32px;
align-items: center;
justify-content: space-between;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 30px;
background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
flex-shrink: 0;
}
.news_title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.tips_mark{
width: 34px;
height: 34px;
background: #fa0c0c;
border-radius: 8px;
font-size: 24px;
color: #fff;
text-align: center;
line-height: 34px;
margin-left: 10px;
flex-shrink: 0;
}
.status_tag{
background: red;
color: #ffffff;
padding: 2px 15px;
border-radius: 5px;
font-size: 22px;
}
}
.time{
font-size: 24px;
color: #858585;
display: flex;
align-items: center;
height: 30px;
margin-top: 6px;
p{
margin-left: 30px;
}
.icon_time{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
}
}
}
.operation{
display: flex;
align-items: center;
justify-content: right;
text-align: right;
.opera_btn{
width: 52px;
height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content:center;

&.delete{
background:#df0707;
margin-left: 10PX;
.icon{
width: 22px;
height: 29px;
background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.edit{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 26px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.view{
background: #3494ff;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.list{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
}
}
}

}
.bottom_tips{
font-size: 24px;
color: #a7a6a6;
text-align: center;
margin-top: 32px;
background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat;
background-size: 260px 2px;
.xs{
padding:0 8px;
background: #e9e9e9;
}
}
}
.top_head_title{
font-size: 16PX;
text-align: center;
padding: 15PX 0;
}
</style>

+ 233
- 0
src/views/sunVillage_info/list_funds_list_add.vue Wyświetl plik

@@ -0,0 +1,233 @@
<template>
<div class="home_wrapper">
<div class="header_main">
预算明细
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.fundName" placeholder="请输入项目名称" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">项目名称</p>
</template>
</van-field>

<van-field required :rules="[{ required: true }]" v-model="form.fundAmt" placeholder="请输入预算金额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">预算金额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="isBudget"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择' }]"
>
<template #label>
<p style="margin-left: 5px;">是否有年度预算</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="isBudgetOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.fundRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>

<div style="margin: 16px auto;width: 50%;">
<van-button round block type="primary" native-type="submit">
保存
</van-button>
</div>
</van-form>
</div>
</template>

<script>
import {
listTemplate,
addFundsdetail
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
isBudget: 'N'
},
fundsNy:new Date(),
isBudget:'否',
approvalTemplateList: [],
isBudgetOptions: [],
};
},
created() {
this.houseGetDicts("sys_yes_no").then((response) => {
this.isBudgetOptions = response.data;
});
},
methods: {
onConfirmThreeDetailType(data){
this.isBudget = data.dictLabel;
this.form.isBudget = data.dictValue;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
that.form.fundsId = this.$route.query.id;
addFundsdetail(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.fundsNy = this.format(data,'yyyy-MM');
this.fundsNy = data;
this.showBuildTime = false;
}
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 198
- 0
src/views/sunVillage_info/list_funds_list_detail.vue Wyświetl plik

@@ -0,0 +1,198 @@
<template>
<div class="home_wrapper">
<div class="header_main">
预算明细
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form>
<div class="list_main">

<van-field readonly :rules="[{ required: true }]" v-model="form.fundName" placeholder="请输入项目名称" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">项目名称</p>
</template>
</van-field>

<van-field readonly :rules="[{ required: true }]" v-model="form.fundAmt" placeholder="请输入预算金额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">预算金额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="isBudget"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
>
<template #label>
<p style="margin-left: 5px;">是否有年度预算</p>
</template>
</van-field>

<van-field readonly v-model="form.fundRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>
</div>
</van-form>
</div>
</template>

<script>
import {
getFundsdetail,
updateFundsdetail
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
isBudget: 'N'
},
fundsNy:new Date(),
isBudget:'否',
approvalTemplateList: [],
isBudgetOptions: [],
};
},
created() {
this.houseGetDicts("sys_yes_no").then((response) => {
this.isBudgetOptions = response.data;
getFundsdetail(this.$route.query.id).then(response => {
this.isBudget = this.selectDictLabel(this.isBudgetOptions, response.data.isBudget);
this.form = response.data;
});
});
},
methods: {
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 236
- 0
src/views/sunVillage_info/list_funds_list_edit.vue Wyświetl plik

@@ -0,0 +1,236 @@
<template>
<div class="home_wrapper">
<div class="header_main">
预算明细
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.fundName" placeholder="请输入项目名称" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">项目名称</p>
</template>
</van-field>

<van-field required :rules="[{ required: true }]" v-model="form.fundAmt" placeholder="请输入预算金额" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">预算金额</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="isBudget"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择' }]"
>
<template #label>
<p style="margin-left: 5px;">是否有年度预算</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="isBudgetOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.fundRemark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>

<div style="margin: 16px auto;width: 50%;">
<van-button round block type="primary" native-type="submit">
保存
</van-button>
</div>
</van-form>
</div>
</template>

<script>
import {
getFundsdetail,
updateFundsdetail
} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
isBudget: 'N'
},
fundsNy:new Date(),
isBudget:'否',
approvalTemplateList: [],
isBudgetOptions: [],
};
},
created() {
this.houseGetDicts("sys_yes_no").then((response) => {
this.isBudgetOptions = response.data;
getFundsdetail(this.$route.query.id).then(response => {
this.isBudget = this.selectDictLabel(this.isBudgetOptions, response.data.isBudget);
this.form = response.data;
});
});
},
methods: {
onConfirmThreeDetailType(data){
this.isBudget = data.dictLabel;
this.form.isBudget = data.dictValue;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
updateFundsdetail(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.fundsNy = this.format(data,'yyyy-MM');
this.fundsNy = data;
this.showBuildTime = false;
}
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

Ładowanie…
Anuluj
Zapisz