| @@ -2431,6 +2431,26 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositModify'], resolve) | |||
| }, | |||
| { | |||
| path: '/yinnong/listBalanceRanking', | |||
| name: 'yinnongListBalanceRanking', | |||
| meta: { | |||
| title: '科目余额表', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/yinnong/listBalanceRanking'], resolve) | |||
| }, | |||
| { | |||
| path: '/yinnong/detailedLedger', | |||
| name: 'yinnongDetailedLedger', | |||
| meta: { | |||
| title: '明细账', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/yinnong/detailedLedger'], resolve) | |||
| }, | |||
| { | |||
| path: '/lawEnforcement', | |||
| name: 'lawEnforcement', | |||
| @@ -116,7 +116,7 @@ | |||
| <van-action-sheet v-model="dateObj.subjectVisbile" duration="0.2"> | |||
| <van-cascader | |||
| v-model="cascaderValue" | |||
| title="请选择所在地区" | |||
| title="请选择所在科目" | |||
| :options="subjectsTree" | |||
| @close="dateObj.subjectVisbile = false" | |||
| @finish="onFinish" | |||
| @@ -304,12 +304,12 @@ export default { | |||
| }); | |||
| }, | |||
| onFinish({ selectedOptions }){ | |||
| let lastArr = selectedOptions[selectedOptions.length-1]; | |||
| this.queryParams.startSubjectId = lastArr.subjectId | |||
| this.queryParams.endSubjectId = lastArr.subjectId | |||
| this.subjectText = lastArr.label; | |||
| this.initPage(); | |||
| this.dateObj.subjectVisbile = false | |||
| }, | |||
| onChangeAcidentArea(aaa){ | |||
| // console.log(aaa) | |||
| @@ -0,0 +1,622 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 明细账 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <!---期间--> | |||
| <div class="period_main"> | |||
| <div class="bt_title"> | |||
| <div class="icon"></div> | |||
| <div class="title">期间</div> | |||
| </div> | |||
| <div class="calendar_block" @click="startDateClick">{{queryParams.startDate.replace('-','年')}}月</div> | |||
| <div class="to">至</div> | |||
| <div class="calendar_block" @click="endDateClick">{{queryParams.endDate.replace('-','年')}}月</div> | |||
| </div> | |||
| <!--科目--> | |||
| <div class="subject_main"> | |||
| <div class="bt_title"> | |||
| <div class="icon"></div> | |||
| <div class="title">科目</div> | |||
| </div> | |||
| <div class="subject_block" @click="subjectClick"> | |||
| <div class="title">{{subjectText}}</div> | |||
| <div class="xs_icon"></div> | |||
| </div> | |||
| </div> | |||
| <!--内容--> | |||
| <div class="center_box"> | |||
| <div class="vocher_name"> | |||
| <van-row class="head_m"> | |||
| <van-col :span="14" class="year_m"> | |||
| <div class="year_text">2022</div> | |||
| <div class="unit_m"> | |||
| <div class="ubs">月</div> | |||
| <div class="ubs">日</div> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="10" class="credential_m">凭证字</van-col> | |||
| </van-row> | |||
| <van-row class="vocher_mTitle" v-for="(item,index) in tableList" :key="index"> | |||
| <van-col :span="7">{{item.month}}</van-col> | |||
| <van-col :span="7">{{item.day}}</van-col> | |||
| <van-col :span="10"> | |||
| <div class="pz_tx" @click="subjectNameFun(item.voucherWordNum)">{{item.voucherWordNum}}</div> | |||
| </van-col> | |||
| </van-row> | |||
| <!-- <van-row class="vocher_mTitle"> | |||
| <van-col :span="7">09</van-col> | |||
| <van-col :span="7">09</van-col> | |||
| <van-col :span="10"> | |||
| <div class="pz_tx">记-06</div> | |||
| </van-col> | |||
| </van-row> --> | |||
| </div> | |||
| <div class="vocher_content"> | |||
| <div class="vocher_cmain"> | |||
| <van-row class="head_m"> | |||
| <van-col :span="9">摘要</van-col> | |||
| <van-col :span="4">借方</van-col> | |||
| <van-col :span="4">贷方</van-col> | |||
| <van-col :span="3">方向</van-col> | |||
| <van-col :span="4">余额</van-col> | |||
| </van-row> | |||
| <div class="content_m"> | |||
| <van-row v-for="(item,index) in tableList" :key="index"> | |||
| <van-col :span="9" class="zy"> | |||
| <span>{{item.voucherSummary}}</span> | |||
| </van-col> | |||
| <van-col :span="4" class="je">{{item.jieAmount}}</van-col> | |||
| <van-col :span="4" class="je">{{item.daiAmount}}</van-col> | |||
| <van-col :span="3" class="km">{{item.balanceDirection}}</van-col> | |||
| <van-col :span="4" class="je">{{item.balance}}</van-col> | |||
| </van-row> | |||
| <!-- <van-row > | |||
| <van-col :span="9" class="zy">摘要</van-col> | |||
| <van-col :span="4" class="je">200.00</van-col> | |||
| <van-col :span="4" class="je">20000.00</van-col> | |||
| <van-col :span="3" class="km">借</van-col> | |||
| <van-col :span="4" class="je">200.00</van-col> | |||
| </van-row> --> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <!--开始日期--> | |||
| <van-action-sheet v-model="dateObj.startVisbile" duration="0.2" > | |||
| <van-datetime-picker | |||
| v-model="dateObj.startDate" | |||
| title="选择日期" | |||
| :min-date="dateObj.minDate" | |||
| :max-date="dateObj.maxDate" | |||
| @confirm="startConfirm" | |||
| @cancel ="startCancel" | |||
| type="year-month" | |||
| /> | |||
| </van-action-sheet> | |||
| <!--结束日期--> | |||
| <van-action-sheet v-model="dateObj.endVisbile" duration="0.2" > | |||
| <van-datetime-picker | |||
| v-model="dateObj.endDate" | |||
| title="选择日期" | |||
| :min-date="dateObj.minDate" | |||
| :max-date="dateObj.maxDate" | |||
| @confirm="endConfirm" | |||
| @cancel ="startCancel" | |||
| type="year-month" | |||
| /> | |||
| </van-action-sheet> | |||
| <!--科目选择--> | |||
| <van-action-sheet v-model="dateObj.subjectVisbile" duration="0.2"> | |||
| <van-cascader | |||
| v-model="cascaderValue" | |||
| title="请选择所在科目" | |||
| :options="subjectsTree" | |||
| @close="dateObj.subjectVisbile = false" | |||
| @finish="onFinish" | |||
| :field-names="fieldNames" | |||
| @change="onChangeAcidentArea" | |||
| /> | |||
| </van-action-sheet> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { subjectData ,getLoginBook,listNormalDetails} from "@/api/sunVillage_info/fixedAssets"; | |||
| export default { | |||
| name: "detailedLedger", | |||
| data() { | |||
| return{ | |||
| //数据 | |||
| tableList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| startDate:'', //开始日期 | |||
| endDate:'', //结束日期 | |||
| startSubjectId:'', //开始科目 | |||
| endSubjectId:'', //结束科目 | |||
| startSubjectLevel: 1, | |||
| endSubjectLevel: 4, | |||
| filterZero: true, | |||
| includeNonVoucher: false, | |||
| groupBySubject: true | |||
| }, | |||
| //日期相关 | |||
| dateObj:{ | |||
| //开始日期-弹窗显隐 | |||
| startVisbile:false, | |||
| startDate: new Date(), | |||
| minDate:new Date(2018, 0, 1), | |||
| maxDate:new Date(2028, 5, 1), | |||
| //结束日期-弹窗显隐 | |||
| endVisbile:false, | |||
| endDate:new Date(), | |||
| //科目选择 | |||
| subjectVisbile:false | |||
| }, | |||
| subjectText:'', //科目页面显示 | |||
| SubjectsList:[], //科目选项 | |||
| subjectsTree: [], //会计科目显示列表(树) | |||
| cascaderValue:"", //科目选择 | |||
| fieldNames: { | |||
| text: 'label', | |||
| value: 'subjectId', | |||
| children: 'children', | |||
| }, | |||
| subjectYear:'' | |||
| } | |||
| }, | |||
| mounted(){ | |||
| //初始化账套 | |||
| this.initLoginBook(); | |||
| this.initAxios() | |||
| }, | |||
| methods:{ | |||
| initLoginBook(){ | |||
| getLoginBook().then((res) => { | |||
| if (res.code == 200) { | |||
| let currentDays = res.data.currentDay; | |||
| if (currentDays == null) { | |||
| this.$notify({ | |||
| message:'当前账套未开启!', | |||
| type: 'error' | |||
| }); | |||
| return false; | |||
| } | |||
| this.$set(this.queryParams, "startDate", currentDays); | |||
| this.$set(this.queryParams, "endDate", currentDays); | |||
| let dataArr = currentDays.split('-') | |||
| this.$set(this.dateObj, "startDate", new Date(dataArr[0], dataArr[1]-1), 1); | |||
| this.$set(this.dateObj, "endDate", new Date(dataArr[0], dataArr[1]-1), 1); | |||
| this.subjectYear = (currentDays.substr(0, 4)); | |||
| } | |||
| }) | |||
| }, | |||
| initAxios(){ | |||
| //获取会计科目列表数据 | |||
| this.getDicts("subject_type").then((resp) => { | |||
| subjectData({year:this.subjectYear}).then((res) => { | |||
| res.rows.forEach((x) => { | |||
| x.label = x.subjectId + ' ' + x.subjectName | |||
| }); | |||
| this.SubjectsList = res.rows; | |||
| let curObj = res.rows[0]; | |||
| if(res.rows.length>0){ | |||
| this.subjectText = curObj.label; | |||
| this.queryParams.startSubjectId = curObj.subjectId; | |||
| this.queryParams.endSubjectId = curObj.subjectId; | |||
| this.cascaderValue = curObj.subjectId; | |||
| this.initPage() | |||
| this.makeSubjectsTree(res.rows, resp.data); | |||
| }else{ | |||
| this.subjectText = '暂无数据'; | |||
| } | |||
| }); | |||
| }); | |||
| }, | |||
| subjectClick(){ | |||
| this.dateObj.subjectVisbile = true | |||
| }, | |||
| makeSubjectsTree(SubjectsList, subjectTypes) { | |||
| let func = (pid) => { | |||
| let arr = null; | |||
| for(let v of SubjectsList) | |||
| { | |||
| let parentId = v.parentId || v.subjectId.substr(0, v.subjectId.length - 3) || null; | |||
| if(parentId == pid) | |||
| { | |||
| if(!arr) arr = []; | |||
| let a = func(v.subjectId); | |||
| if(a) | |||
| v.children = a; | |||
| v.label = v.subjectId + ' ' + v.subjectNameAll; | |||
| v.is_last = 'Y'; | |||
| v.disabled = false; | |||
| arr.push(v); | |||
| } | |||
| } | |||
| return arr; | |||
| }; | |||
| let res = func(null); | |||
| let r = []; | |||
| res.forEach((x) => { | |||
| let subjectIdStart = x.subjectId[0]; | |||
| let item = r.find((y) => y.subjectId == subjectIdStart); | |||
| if(!item) | |||
| { | |||
| let type = subjectTypes.find((y) => y.dictValue == subjectIdStart); | |||
| if(!type) | |||
| return; | |||
| item = { | |||
| subjectId: type.dictValue, | |||
| label: type.dictLabel, | |||
| sortFlag: type.dictSort, | |||
| is_last: 'N', | |||
| subjectNameAll: '', | |||
| children: [], | |||
| disabled: true | |||
| }; | |||
| r.push(item); | |||
| } | |||
| item.children.push(x); | |||
| }); | |||
| r.sort((a, b) => a.dictSort - b.dictSort); | |||
| // console.log(r) | |||
| this.subjectsTree = r; | |||
| }, | |||
| initPage(){ | |||
| listNormalDetails(this.queryParams).then((res)=>{ | |||
| if(res.code == 200){ | |||
| let content = res.rows; | |||
| if(content.length>0){ | |||
| this.tableList = content[0].list; | |||
| }else{ | |||
| this.tableList = [] | |||
| } | |||
| } | |||
| }) | |||
| }, | |||
| subjectNameFun(num){ | |||
| let endNum = num.split("-"); | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/voucher", | |||
| query: { | |||
| vocherId: endNum[1], | |||
| num:encodeURI(num) | |||
| }, | |||
| }); | |||
| }, | |||
| onFinish({ selectedOptions }){ | |||
| let lastArr = selectedOptions[selectedOptions.length-1]; | |||
| this.queryParams.startSubjectId = lastArr.subjectId | |||
| this.queryParams.endSubjectId = lastArr.subjectId | |||
| this.subjectText = lastArr.label; | |||
| this.initPage(); | |||
| this.dateObj.subjectVisbile = false | |||
| }, | |||
| onChangeAcidentArea(aaa){ | |||
| // console.log(aaa) | |||
| }, | |||
| //点击开始日期--显示弹窗 | |||
| startDateClick(){ | |||
| this.dateObj.startVisbile = true; | |||
| }, | |||
| //弹窗-开始日期-确定 | |||
| startConfirm(value){ | |||
| let years = this.format(value,'yyyy'); | |||
| let months = this.format(value,'MM'); | |||
| this.queryParams.startDate = years+'-'+months; | |||
| this.dateObj.startVisbile = false; | |||
| this.initPage(); | |||
| }, | |||
| //弹窗-开始日期-取消 | |||
| startCancel(){ | |||
| this.dateObj.startVisbile = false; | |||
| this.dateObj.endVisbile = false; | |||
| }, | |||
| //点击结束日期-显示弹窗 | |||
| endDateClick(){ | |||
| this.dateObj.endVisbile = true; | |||
| }, | |||
| //弹窗--结束日期-确定 | |||
| endConfirm(value){ | |||
| let years = this.format(value,'yyyy'); | |||
| let months = this.format(value,'MM'); | |||
| this.queryParams.endDate = years+'-'+months; | |||
| this.dateObj.endVisbile = false; | |||
| this.initPage(); | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .period_main{ | |||
| padding:28px 22px 0; | |||
| display: flex; | |||
| align-items: center; | |||
| .bt_title{ | |||
| display: flex; | |||
| align-items: center; | |||
| margin-right: 15px; | |||
| .icon{ | |||
| width: 50px; | |||
| height: 50px; | |||
| border-radius: 50%; | |||
| box-shadow: 4px 0px 7px rgba(63, 68, 75, 0.1); | |||
| background:#2facfe url('../../assets/images/sunVillage_info/list_icon_13.png') center center no-repeat; | |||
| background-size: 29px 25px; | |||
| margin-right: 12px; | |||
| } | |||
| .title{ | |||
| font-size: 30px; | |||
| color: #2facfe; | |||
| } | |||
| } | |||
| .calendar_block{ | |||
| flex: 1; | |||
| border-radius: 8px; | |||
| box-shadow: 4px 4px 7px rgba(63, 68, 75, 0.1); | |||
| background: #fff; | |||
| height: 64px; | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| letter-spacing: 2px; | |||
| justify-content: center; | |||
| } | |||
| .to{ | |||
| width: 68px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| font-size: 30px; | |||
| color: #868686; | |||
| } | |||
| } | |||
| .subject_main{ | |||
| padding:20px 22px 0; | |||
| display: flex; | |||
| align-items: center; | |||
| .bt_title{ | |||
| display: flex; | |||
| align-items: center; | |||
| margin-right: 15px; | |||
| .icon{ | |||
| width: 50px; | |||
| height: 50px; | |||
| border-radius: 50%; | |||
| box-shadow: 4px 0px 7px rgba(63, 68, 75, 0.1); | |||
| background:#2facfe url('../../assets/images/sunVillage_info/list_icon_13.png') center center no-repeat; | |||
| background-size: 29px 25px; | |||
| margin-right: 12px; | |||
| } | |||
| .title{ | |||
| font-size: 30px; | |||
| color: #2facfe; | |||
| } | |||
| } | |||
| .subject_block{ | |||
| flex: 1; | |||
| border-radius: 8px; | |||
| box-shadow: 4px 4px 7px rgba(63, 68, 75, 0.1); | |||
| background: #fff; | |||
| height: 64px; | |||
| display: flex; | |||
| padding:0 26px 0 22px; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| .title{ | |||
| width: 475px; | |||
| height: 64px; | |||
| line-height: 64px; | |||
| font-size: 30px; | |||
| white-space: nowrap; | |||
| overflow: hidden; | |||
| text-overflow: ellipsis; | |||
| color: #2b2b2b; | |||
| } | |||
| .xs_icon{ | |||
| width: 11px; | |||
| height: 23px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_12.png') center center no-repeat; | |||
| background-size: 100% 100%; | |||
| } | |||
| } | |||
| } | |||
| .center_box{ | |||
| margin-left: 22px; | |||
| display: flex; | |||
| margin-top: 22px; | |||
| background: #fff; | |||
| border-top-left-radius: 8px; | |||
| border-bottom-left-radius: 8px; | |||
| .vocher_name{ | |||
| width: 405px; | |||
| .head_m{ | |||
| height: 110px; | |||
| background: #2facfe; | |||
| border-radius: 8px; | |||
| .year_m{ | |||
| border-right: 1px solid #fff; | |||
| .year_text{ | |||
| height: 56px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| color: #fff; | |||
| font-size: 30px; | |||
| } | |||
| .unit_m{ | |||
| height: 54px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| padding-bottom: 10px; | |||
| .ubs{ | |||
| width: 94px; | |||
| height: 43px; | |||
| background: #cbeaff; | |||
| font-size: 30px; | |||
| color: #1a84c9; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| border-radius: 6px; | |||
| &:nth-child(1){ | |||
| margin-right: 12px; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .credential_m{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| color: #fff; | |||
| font-size: 30px; | |||
| height: 110px; | |||
| } | |||
| } | |||
| .vocher_mTitle{ | |||
| background: #d7e8f3; | |||
| .van-col{ | |||
| height: 84px; | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| border-right: 1px solid #fff; | |||
| .pz_tx{ | |||
| color: #278dff; | |||
| padding-bottom: 8px; | |||
| border-bottom: 1px solid #278dff; | |||
| } | |||
| } | |||
| &:nth-child(2n-1){ | |||
| background: #e3f4ff; | |||
| } | |||
| } | |||
| } | |||
| .vocher_content{ | |||
| flex: 1; | |||
| overflow:hidden; | |||
| overflow-x: scroll; | |||
| // white-space:nowrap; | |||
| display: -webkit-box; | |||
| -webkit-overflow-scrolling: touch; | |||
| .vocher_cmain{ | |||
| width: 1200px; | |||
| .head_m{ | |||
| .van-col{ | |||
| height: 110px; | |||
| font-size: 30px; | |||
| color: #2facfe; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| border-right: 1px solid #bfbfbf; | |||
| &:last-child{ | |||
| border-right: 0; | |||
| } | |||
| } | |||
| } | |||
| .content_m{ | |||
| .van-row{ | |||
| &:nth-child(2n-1){ | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| .van-col{ | |||
| height: 84px; | |||
| font-size: 30px; | |||
| padding:0 22px; | |||
| display: flex; | |||
| align-items: center; | |||
| border-right: 1px solid #bfbfbf; | |||
| &:last-child{ | |||
| border-right: 0 none; | |||
| } | |||
| &.zy{ | |||
| display: flex; | |||
| align-items: center; | |||
| span{ | |||
| position: relative; | |||
| overflow: hidden; | |||
| text-overflow: -o-ellipsis-lastline; | |||
| text-overflow: ellipsis; | |||
| display: -webkit-box; | |||
| -webkit-line-clamp: 2; | |||
| line-clamp: 2; | |||
| -webkit-box-orient: vertical; | |||
| } | |||
| } | |||
| &.je{ | |||
| justify-content: flex-end; | |||
| } | |||
| &.km{ | |||
| justify-content: center; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,632 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 科目余额表 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| <!-- <div class="add_btn" v-show="showBtn" @click="goAdd"></div>--> | |||
| </div> | |||
| <div class="search_info"> | |||
| <div class="date_box" @click="showPickerTime = true"> | |||
| <img src="../../assets/images/sunVillage_info/date_icon.png"> | |||
| <p>{{date}}</p> | |||
| </div> | |||
| <van-popup v-model="showPickerTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="year-month" | |||
| title="选择年月" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirm" | |||
| @cancel="showPicker = false" | |||
| :formatter="formatter" | |||
| /> | |||
| </van-popup> | |||
| <div class="search_block"> | |||
| <i class="icon"></i> | |||
| <input readonly type="text" class="ipt" v-model="subjectName" placeholder="请选择科目查询" @click="visible=true"> | |||
| <i class="delete_icon" v-show="subjectName" @click="emptyInput"></i> | |||
| </div> | |||
| <!-- <div class="total">共{{listLength}}个资产</div> @input="getSearch"--> | |||
| </div> | |||
| <div class="radio_box"> | |||
| <van-checkbox v-model="queryParams.showSubSubject" @change="showSub" checked-color="#2facfe">显示明细</van-checkbox> | |||
| <div class="total">共{{listLength}}条</div> | |||
| </div> | |||
| <div class="center_box"> | |||
| <div class="name_box"> | |||
| <van-row> | |||
| <van-col :span="24">科目编码/科目名称</van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in applicationList" :key="index"> | |||
| <van-col :span="24">{{item.subjectId}} {{item.subjectName}}</van-col> | |||
| </van-row> | |||
| <div class="name_bg"></div> | |||
| <img src="../../assets/images/sunVillage_info/name_icon.png" class="name_icon"/> | |||
| </div> | |||
| <div class="right_box"> | |||
| <div class="right_box_box"> | |||
| <van-row> | |||
| <van-col :span="8"> | |||
| <p>期初余额</p> | |||
| <div class="yue_type"> | |||
| <p>借方</p> | |||
| <p>贷方</p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="8"> | |||
| <p>本期发生</p> | |||
| <div class="yue_type"> | |||
| <p>借方</p> | |||
| <p>贷方</p> | |||
| </div> | |||
| </van-col> | |||
| <van-col :span="8"> | |||
| <p>期末余额</p> | |||
| <div class="yue_type"> | |||
| <p>借方</p> | |||
| <p>贷方</p> | |||
| </div> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-for="(item,index) in applicationList" :key="index"> | |||
| <van-col :span="4">{{item.qcjfye}}</van-col> | |||
| <van-col :span="4">{{item.qcdfye}}</van-col> | |||
| <van-col :span="4">{{item.bqjffs}}</van-col> | |||
| <van-col :span="4">{{item.bqdffs}}</van-col> | |||
| <van-col :span="4">{{item.qmjffs}}</van-col> | |||
| <van-col :span="4">{{item.qmdffs}}</van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| <div class="clear"></div> | |||
| </div> | |||
| <SubjectTreeChooser :visible.sync="visible" @select="getSearch" v-model="queryParams.startSubjectId" :can-select-non-leaf="true" height="480px"></SubjectTreeChooser> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { trailBalanceList , getLoginBook } from "@/api/sunVillage_info/fixedAssets"; | |||
| import SubjectTreeChooser from "@/components/form/SubjectTreeChooser"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "certificateList", | |||
| components: { SubjectTreeChooser }, | |||
| data() { | |||
| return { | |||
| subjectName:'', | |||
| visible:false, | |||
| subjectId:'', | |||
| radio:'1', | |||
| applicationList:[], | |||
| applicationListSecond:[], | |||
| assetStatusOptions:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| show: false, | |||
| showTab: false, | |||
| showPickerTime: false, | |||
| fileList:[], | |||
| listLength:'0', | |||
| searchInput:'', | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:999, | |||
| startDate:'', | |||
| startSubjectId:'', | |||
| endSubjectId:'', | |||
| showSubSubject:false | |||
| }, | |||
| uploadFiles1:[], | |||
| projectId:'', | |||
| projectIndex:'', | |||
| showBtn:true, | |||
| yearMonth:[], | |||
| deptName:'', | |||
| minDate: new Date(2020, 0, 1), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| date:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| getLoginBook().then((res) => { | |||
| if (res.code == 200) { | |||
| if (res.data.currentDay != null || res.data.startDay != null){ | |||
| let resDate = res.data.currentDay != null ? res.data.currentDay : res.data.startDay != null ? res.data.startDay : this.format(new Date(),'yyyy-MM') | |||
| this.queryParams.startDate = resDate; | |||
| let date = resDate.split('-'); | |||
| this.date = date[0] + '年' + date[1] + '月'; | |||
| this.currentDate = new Date(date[0], date[1]-1, 1) | |||
| } | |||
| } | |||
| }); | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| var _this = this; | |||
| setTimeout(() => { | |||
| console.log(_this.queryParams) | |||
| trailBalanceList(_this.queryParams).then(response => { | |||
| _this.listLength = response.total; | |||
| response.rows.map(res=>{ | |||
| res.bqjffs = Number(res.bqjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.bqdffs = Number(res.bqdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.qcjfye = Number(res.qcjfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.qcdfye = Number(res.qcdfye).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.qmjffs = Number(res.qmjffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| res.qmdffs = Number(res.qmdffs).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => { | |||
| return $1 + ","; }).replace(/\.$/, ""); | |||
| }) | |||
| _this.applicationList = response.rows; | |||
| if(_this.applicationList.length >= response.total){ | |||
| _this.finished = true; | |||
| return; | |||
| }else{ | |||
| _this.loading = false; | |||
| _this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| onConfirm(time) { | |||
| this.date = this.format(time,'yyyy年MM月'); | |||
| this.queryParams.startDate = this.format(time,'yyyy-MM'); | |||
| this.getList(); | |||
| this.showPickerTime = false; | |||
| }, | |||
| formatter(type, val) { | |||
| if (type === 'year') { | |||
| return `${val}年`; | |||
| } else if (type === 'month') { | |||
| return `${val}月`; | |||
| } | |||
| return val; | |||
| }, | |||
| getSearch(val){ | |||
| console.log(val) | |||
| this.subjectName = val.subjectId + " " + val.subjectName; | |||
| this.queryParams.endSubjectId = this.queryParams.startSubjectId; | |||
| this.getList(); | |||
| }, | |||
| showSub(val){ | |||
| console.log(val) | |||
| this.queryParams.showSubSubject = val; | |||
| this.getList(); | |||
| }, | |||
| emptyInput(){ | |||
| this.subjectName = ''; | |||
| this.queryParams.endSubjectId = ''; | |||
| this.queryParams.startSubjectId = ''; | |||
| this.getList(); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-radio__label{ | |||
| font-size: 14PX; | |||
| color: #2facfe; | |||
| } | |||
| .radio_box{ | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| padding:20px 23px; | |||
| } | |||
| .date_box{ | |||
| display: flex; | |||
| align-items: center; | |||
| img{ | |||
| width: 30PX; | |||
| border-radius: 100%; | |||
| box-shadow: 0px 6px 10px rgba(63,68,75,0.5); | |||
| } | |||
| p{ | |||
| font-size: 14PX; | |||
| margin-left: 5PX; | |||
| color: #2facfe; | |||
| } | |||
| } | |||
| .search_info{ | |||
| padding:20px 23px; | |||
| display: flex; | |||
| justify-content: space-between; | |||
| align-items: center; | |||
| .search_block{ | |||
| height: 59px; | |||
| width: 450px; | |||
| border-radius: 59px; | |||
| background: #fff; | |||
| display: flex; | |||
| padding-right: 35px; | |||
| align-items: center; | |||
| box-shadow: 0px 6px 5px rgba(63,68,75,0.2); | |||
| .icon{ | |||
| width: 30px; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin:0 8px 0 26px; | |||
| } | |||
| .delete_icon{ | |||
| width: 15PX; | |||
| height: 15PX; | |||
| background: url('../../assets/images/sunVillage_info/delete_icon_input.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| margin:0 8px 0 26px; | |||
| } | |||
| .ipt{ | |||
| flex: 1; | |||
| font-size: 26px; | |||
| background: none; | |||
| border:0 none; | |||
| line-height: 59px; | |||
| } | |||
| } | |||
| } | |||
| .total{ | |||
| font-size: 14PX; | |||
| color: #858585; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| height: 100px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:15px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| .info{ | |||
| flex:1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: space-between; | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| .news_title{ | |||
| max-width:416px; | |||
| overflow: hidden; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| -o-text-overflow: ellipsis; | |||
| } | |||
| .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; | |||
| } | |||
| } | |||
| .red{ | |||
| color: #fa0c0c; | |||
| } | |||
| .green{ | |||
| color: #4caf50; | |||
| } | |||
| .time{ | |||
| font-size: 32px; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| flex: 1; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: flex-end; | |||
| 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: 28px; | |||
| .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; | |||
| .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; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.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; | |||
| } | |||
| } | |||
| .banner { | |||
| display: flex; | |||
| background:#3494ff; | |||
| color:#fff; | |||
| text-align: center; | |||
| margin:3%; | |||
| border-radius: 10PX; | |||
| } | |||
| .banner_tabs{ | |||
| flex:1; | |||
| padding:10PX 0; | |||
| font-size: 16PX; | |||
| div:nth-child(2){ | |||
| font-size: 14PX; | |||
| margin-top: 5PX; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| .name_box{ | |||
| float: left; | |||
| width: 180PX; | |||
| position: relative; | |||
| .name_bg{ | |||
| background-color: rgba(47,172,254,0.2); | |||
| width: 180PX; | |||
| height: 100%; | |||
| position: absolute; | |||
| top: 0; | |||
| } | |||
| .name_icon{ | |||
| position: absolute; | |||
| top: 60PX; | |||
| left: 50%; | |||
| transform: translateX(-50%); | |||
| } | |||
| .van-row:nth-child(odd){ | |||
| .van-col { | |||
| background-color: #ffffff; | |||
| } | |||
| } | |||
| .van-row:nth-child(1){ | |||
| border-top-left-radius: 10PX; | |||
| border-bottom-left-radius: 10PX; | |||
| background-color: #ffffff; | |||
| .van-col { | |||
| background-color: #2facfe; | |||
| color: #ffffff; | |||
| border-radius: 10PX; | |||
| line-height: 60PX; | |||
| text-align: center; | |||
| } | |||
| } | |||
| .van-col{ | |||
| font-size: 16PX; | |||
| padding: 0PX 5PX; | |||
| text-align: left; | |||
| line-height: 40PX; | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| } | |||
| .center_box{ | |||
| padding-left: 3%; | |||
| } | |||
| .right_box{ | |||
| float: left; | |||
| width: calc(100% - 180PX); | |||
| overflow:hidden; | |||
| overflow-x: scroll; | |||
| white-space:nowrap; | |||
| display: -webkit-box; | |||
| -webkit-overflow-scrolling: touch; | |||
| .right_box_box{ | |||
| width: 600PX; | |||
| } | |||
| .van-row:nth-child(odd){ | |||
| .van-col{ | |||
| background-color: #ffffff; | |||
| } | |||
| } | |||
| .van-row:nth-child(1){ | |||
| .van-col{ | |||
| color: #2facfe; | |||
| height: 60PX; | |||
| text-align: center; | |||
| line-height: 30PX; | |||
| border-right: 1px solid #ccc; | |||
| } | |||
| } | |||
| .van-col{ | |||
| font-size: 16PX; | |||
| text-align: right; | |||
| height: 40PX; | |||
| line-height: 40PX; | |||
| &:nth-child(2n){ | |||
| border-right: 1px solid #ccc; | |||
| } | |||
| } | |||
| .yue_type{ | |||
| display: flex; | |||
| border-top: 1px solid #2facfe; | |||
| p{ | |||
| width: 50%; | |||
| line-height: 30PX; | |||
| color: #333333; | |||
| } | |||
| } | |||
| } | |||
| .clear{ | |||
| clear: both; | |||
| } | |||
| </style> | |||
| @@ -60,15 +60,15 @@ | |||
| </template> | |||
| </van-cell> | |||
| <van-grid :border="false"> | |||
| <van-grid-item text="科目余额表" :to="{name:'approvalList'}" > | |||
| <div class="icon" slot="default" style="background:#FF4646;" > | |||
| <img src="../../../static/images/onlineHome/icon_Y1.png" alt /> | |||
| <van-grid-item text="科目余额表" :to="{name:'yinnongListBalanceRanking'}" > | |||
| <div class="icon all" slot="default" > | |||
| <img src="../../../static/images/onlineHome/icon_Y11.png" alt /> | |||
| </div> | |||
| <p style="margin-top: 5px;color: #666666;">科目余额表</p> | |||
| </van-grid-item> | |||
| <van-grid-item text="科目明细账" :to="{name:'approvalList'}" > | |||
| <div class="icon" slot="default" style="background:#FF4646;" > | |||
| <img src="../../../static/images/onlineHome/icon_Y2.png" alt /> | |||
| <van-grid-item text="科目明细账" :to="{name:'yinnongDetailedLedger'}" > | |||
| <div class="icon all" slot="default"> | |||
| <img src="../../../static/images/onlineHome/icon_Y12.png" alt /> | |||
| </div> | |||
| <p style="margin-top: 5px;color: #666666;">科目明细账</p> | |||
| </van-grid-item> | |||
| @@ -285,6 +285,17 @@ | |||
| >>> .icon img{ | |||
| width:50px; | |||
| } | |||
| >>> .icon.all{ | |||
| width: 80px; | |||
| padding: 0; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: center; | |||
| } | |||
| >>> .icon.all img{ | |||
| width: 80px; | |||
| /* padding: 0; */ | |||
| } | |||
| >>> .indexCard{ | |||
| margin:2%;width:96%;padding:20px 0;padding:20px 0;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);background: #fff | |||
| } | |||