移动端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

427 line
16 KiB

  1. <template>
  2. <div class="home_wrapper">
  3. <div class="head_main">
  4. <div class="location">
  5. <div class="address" @click="villageVisbile = true"><i class="icon"></i>{{deptName}}</div>
  6. <van-popup v-model="villageVisbile" round position="bottom">
  7. <van-cascader
  8. v-model="villageValue"
  9. title="请选择所在村"
  10. :options="hcAreaInfoOption"
  11. @close="hcAreaInfoClose"
  12. @finish="hcAreaInfoFinish"
  13. active-color="#1989fa"
  14. :field-names="hcAreaInfoFieldName"
  15. />
  16. </van-popup>
  17. <div class="address" @click="bookVisbile = true">{{bookName}}</div>
  18. <van-popup v-model="bookVisbile" round position="bottom">
  19. <van-picker
  20. title="请选择账套"
  21. show-toolbar
  22. :columns="bookList"
  23. @confirm="onConfirmBook"
  24. @cancel="onCancelBook"
  25. value-key="bookName"
  26. />
  27. </van-popup>
  28. </div>
  29. <van-popover
  30. v-model="showPopover"
  31. trigger="click"
  32. :actions="actions"
  33. placement="bottom-end"
  34. @select="selectChange"
  35. >
  36. <template #reference>
  37. <div class="exit_btn">
  38. <i class="icon"></i>
  39. </div>
  40. </template>
  41. </van-popover>
  42. <!-- @click="logout"-->
  43. </div>
  44. <div class="index_info">
  45. <div class="title"></div>
  46. <div class="nav_list">
  47. <div class="nav_list_box">
  48. <van-cell style="border-radius: 6px;">
  49. <template #title>
  50. <p style="font-weight: bold;font-size: 18px;display: inline-block">阳光村务</p>
  51. </template>
  52. </van-cell>
  53. <router-link :to="{name:'sunVillageInfoListFinance'}" class="nav_item n_1">财务公开榜</router-link>
  54. <router-link :to="{name:'sunVillageInfoListTourists'}" class="nav_item n_2">零工公开榜</router-link>
  55. <router-link :to="{name:'sunVillageInfoListIssues'}" class="nav_item n_3">重大事项</router-link>
  56. <router-link :to="{name:'sunVillageInfoListBalanceRanking'}" class="nav_item n_4">科目余额表</router-link>
  57. <router-link :to="{name:'sunVillageInfoListVote'}" class="nav_item n_5">发布投票</router-link>
  58. <router-link :to="{name:'sunVillageInfoFixedAssets'}" class="nav_item n_6">资产登记</router-link>
  59. <router-link :to="{name:'sunVillageInfoInformation'}" class="nav_item n_7">合同登记</router-link>
  60. <router-link :to="{name:'sunVillageInfoListRegister'}" class="nav_item n_8">零工登记</router-link>
  61. </div>
  62. </div>
  63. <div class="nav_list">
  64. <div class="nav_box">
  65. <van-cell style="border-radius: 6px;">
  66. <template #title>
  67. <p style="font-weight: bold;font-size: 18px;display: inline-block">支出申请</p>
  68. </template>
  69. </van-cell>
  70. <van-grid :border="false">
  71. <van-grid-item text="银行卡转账" :to="{name:'sunVillageApprovalList'}" >
  72. <div class="icon" slot="default" style="background:#FF4646;" >
  73. <img src="../../../static/images/onlineHome/icon_Y1.png" alt />
  74. </div>
  75. <p style="margin-top: 5px;color: #666666;">银行卡转账</p>
  76. </van-grid-item>
  77. <!-- <van-grid-item text="代管转账" :to="{name:'approvalList4'}" >-->
  78. <!-- <div class="icon" slot="default" style="background:#c568f5;" >-->
  79. <!-- <img src="../../../static/images/onlineHome/icon_Y4.png" alt />-->
  80. <!-- </div>-->
  81. <!-- <p style="margin-top: 5px;color: #666666;">代管转账</p>-->
  82. <!-- </van-grid-item>-->
  83. <van-grid-item text="信用卡还款" :to="{name:'sunVillageApprovalList2'}" >
  84. <div class="icon" slot="default" style="background:#3ac2db;" >
  85. <img src="../../../static/images/onlineHome/icon_Y2.png" alt />
  86. </div>
  87. <p style="margin-top: 5px;color: #666666;">信用卡还款</p>
  88. </van-grid-item>
  89. <!-- <van-grid-item text="现金提现" :to="{name:'approvalList10'}" >-->
  90. <!-- <div class="icon" slot="default" style="background:#FF6464;" >-->
  91. <!-- <img src="../../../static/images/onlineHome/icon_Y6.png" alt />-->
  92. <!-- </div>-->
  93. <!-- <p style="margin-top: 5px;color: #666666;">现金提现</p>-->
  94. <!-- </van-grid-item>-->
  95. <van-grid-item text="备付金支出" :to="{name:'sunVillageApprovalList11'}" >
  96. <div class="icon" slot="default" style="background:#7790FE;" >
  97. <img src="../../../static/images/onlineHome/icon_Y7.png" alt />
  98. </div>
  99. <p style="margin-top: 5px;color: #666666;">备付金支出</p>
  100. </van-grid-item>
  101. <van-grid-item text="汇票支出" :to="{name:'sunVillageApprovalList12'}" >
  102. <div class="icon" slot="default" style="background:#539ffd;" >
  103. <img src="../../../static/images/onlineHome/icon_Y8.png" alt />
  104. </div>
  105. <p style="margin-top: 5px;color: #666666;">汇票支出</p>
  106. </van-grid-item>
  107. <van-grid-item text="收款账户" :to="{name:'sunVillageCollectionList'}" >
  108. <div class="icon" slot="default" style="background:#7dda4f;" >
  109. <img src="../../../static/images/onlineHome/icon_Y9.png" alt />
  110. </div>
  111. <p style="margin-top: 5px;color: #666666;">收款账户</p>
  112. </van-grid-item>
  113. <van-grid-item text="付款账户" :to="{name:'sunVillagePaymentAccountList'}" >
  114. <div class="icon" slot="default" style="background:#FF4646;" >
  115. <img src="../../../static/images/onlineHome/icon_Y10.png" alt />
  116. </div>
  117. <p style="margin-top: 5px;color: #666666;">付款账户</p>
  118. </van-grid-item>
  119. <van-grid-item text="开户行" :to="{name:'sunVillageBankOfDepositList'}" >
  120. <div class="icon" slot="default" style="background:#FF6464;" >
  121. <img src="../../../static/images/onlineHome/icon_Y6.png" alt />
  122. </div>
  123. <p style="margin-top: 5px;color: #666666;">开户行</p>
  124. </van-grid-item>
  125. </van-grid>
  126. </div>
  127. </div>
  128. </div>
  129. <div class="footer">
  130. 技术支持:北京农燊高科信息技术有限公司
  131. </div>
  132. </div>
  133. </template>
  134. <script>
  135. import { changeBook , listByDeptId , treeselectByUser } from "@/api/sunVillage_info/fixedAssets";
  136. import { getInfo } from "@/api/login/index";
  137. import {changeDept} from "../../api/onlineHome/done";
  138. import {bookListByDeptId} from "../../api/homestead";
  139. import Cookies from "js-cookie";
  140. import {logout} from "../../api/login";
  141. export default {
  142. name: "certificateList",
  143. data() {
  144. return {
  145. showPopover: false,
  146. actions: [
  147. { text: '个人信息', icon: 'manager-o' , index: 0 },
  148. { text: '修改密码', icon: 'edit' , index: 1 },
  149. { text: '退出登录', icon: 'revoke' , index: 2 },
  150. ],
  151. deptIdOptions:[],
  152. villageVisbile:false,
  153. showBookList:false,
  154. deptName:'',
  155. //选中的值
  156. villageValue: "",
  157. //省市区区级list
  158. hcAreaInfoOption: [],
  159. hcAreaInfoFieldName: {
  160. text: "label",
  161. value: "value",
  162. children: "children",
  163. },
  164. bookName:'',
  165. queryParams: {
  166. pageNum: 1,
  167. pageSize: 100,
  168. },
  169. //账套列表
  170. bookVisbile:false,
  171. bookList:[],
  172. bookName:"",
  173. bookId:"",
  174. book:"",
  175. };
  176. },
  177. created() {
  178. getInfo().then(response => {
  179. this.bookName = response.user.bookName
  180. this.deptName = response.user.deptName
  181. Cookies.set("bookName", response.user.bookName, {
  182. expires: 30,
  183. });
  184. Cookies.set("deptName", response.user.deptName, {
  185. expires: 30,
  186. });
  187. Cookies.set("bookId", response.user.loginBookId, {
  188. expires: 30,
  189. });
  190. Cookies.set("deptId", response.user.loginDeptId, {
  191. expires: 30,
  192. });
  193. this.getBookList(response.user.loginDeptId);
  194. });
  195. treeselectByUser().then((res) => {
  196. if (res.code == 200) {
  197. this.hcAreaInfoOption = res.data;
  198. }
  199. });
  200. this.$set(this.queryParams, "systemType", '4');
  201. },
  202. methods: {
  203. //关闭选择地址弹窗
  204. hcAreaInfoClose() {
  205. this.villageVisbile = false;
  206. },
  207. hcAreaInfoFinish({ value, selectedOptions, tabIndex }) {
  208. // 切换部门
  209. let Depquery={"loginDeptID":value}
  210. changeDept(Depquery).then((response) => {
  211. if (response.code === 200) {
  212. this.$store.dispatch("GetInfo").then(() => {
  213. // this.$router.go(0);
  214. window.location.href = "/sunVillage_info/index";
  215. });
  216. }
  217. });
  218. this.villageVisbile = false;
  219. },
  220. getBookList(e){
  221. let params = {
  222. loginDeptID:e
  223. }
  224. listByDeptId(params).then((response) => {
  225. if (response.code == 200) {
  226. this.bookList = response.rows;
  227. }
  228. })
  229. },
  230. onConfirmBook(e){
  231. this.bookVisbile = false
  232. this.bookName = e.bookName
  233. let param={"loginBookId":e.id}
  234. changeBook(param).then((response) => {
  235. if (response.code === 200) {
  236. this.$store.dispatch("GetInfo").then(() => {
  237. // this.$router.go(0);
  238. window.location.href = "/sunVillage_info/index";
  239. });
  240. }
  241. });
  242. },
  243. onCancelBook(e){
  244. this.bookVisbile = false
  245. },
  246. logout(){
  247. logout().then(res => {
  248. this.$router.push({path:"/sunVillage_info/index_code",query:{bookId:Cookies.get('bookId'),deptId:Cookies.get('deptId')}})
  249. })
  250. },
  251. selectChange(val){
  252. console.log(val)
  253. val.index == 0 ? this.$router.push({path:"/sunVillage_info/user"}) : val.index == 1 ? this.$router.push({path:"/sunVillage_info/passWord"}) : val.index == 2 ? this.logout() : '';
  254. }
  255. },
  256. }
  257. </script>
  258. <style scoped lang="scss">
  259. .home_wrapper{
  260. background: #f1f2f2;
  261. width: 100vw;
  262. min-height: 100vh;
  263. .head_main{
  264. height: 340px;
  265. background: url('../../assets/images/sunVillage_info/index_head.png') no-repeat;
  266. background-size: 100% 100%;
  267. position: relative;
  268. .location{
  269. height: 42px;
  270. line-height: 42px;
  271. position: absolute;
  272. left: 38px;
  273. top: 72px;
  274. display: flex;
  275. .address{
  276. padding:0 18px;
  277. background:rgba(255,255,255,0.75);
  278. border-radius: 42px;
  279. font-size: 28px;
  280. color: #3f3d56;
  281. margin-right: 12px;
  282. display: flex;
  283. align-items:center;
  284. .icon{
  285. display: block;
  286. width: 20px;
  287. height: 26px;
  288. background: url('../../assets/images/sunVillage_info/index_icon_1.png') no-repeat;
  289. background-size: 100% 100%;
  290. margin-right: 10px;
  291. }
  292. }
  293. }
  294. /deep/ .van-popover__wrapper{
  295. position: absolute;
  296. top: 64px;
  297. right: 36px;
  298. }
  299. .exit_btn{
  300. width: 61px;
  301. height: 61px;
  302. /*background: #3f3d56;*/
  303. border-radius: 50%;
  304. display: flex;
  305. align-items: center;
  306. justify-content: center;
  307. /*position: absolute;*/
  308. /*top: 64px;*/
  309. /*right: 36px;*/
  310. .icon{
  311. width: 100%;
  312. height: 100%;
  313. background: url('../../assets/images/sunVillage_info/login_head_h.png') no-repeat;
  314. background-size: 100% 100%;
  315. }
  316. }
  317. }
  318. .index_info{
  319. padding-top: 4.1vh;
  320. .title{
  321. width: 521px;
  322. height: 52px;
  323. background: url('../../assets/images/sunVillage_info/index_title.png') no-repeat;
  324. background-size: 100% 100%;
  325. margin:0 auto;
  326. }
  327. .nav_list{
  328. margin-top: 6vh;
  329. padding:0 38px;
  330. &:nth-child(3){
  331. margin-top: 3vh;
  332. }
  333. .van-cell{
  334. background: transparent;
  335. }
  336. .nav_list_box{
  337. display: flex;
  338. flex-flow: wrap;
  339. box-shadow: 0px 0px 18px rgba(63,68,75,0.2);
  340. padding: 0 0 20PX;
  341. border-radius: 15PX;
  342. overflow: hidden;
  343. }
  344. .nav_box{
  345. box-shadow: 0px 0px 18px rgba(63,68,75,0.2);
  346. margin-bottom: 40PX;
  347. border-radius: 15PX;
  348. overflow: hidden;
  349. /deep/ .van-grid-item__content{
  350. background: transparent;
  351. padding-top: 0;
  352. }
  353. }
  354. .nav_item{
  355. width: 25%;
  356. /*height: 180px;*/
  357. border-radius: 30px;
  358. font-size: 24px;
  359. color: #3f3d56;
  360. text-align: center;
  361. display: flex;
  362. align-items: center;
  363. justify-content: center;
  364. padding-top: 100px;
  365. &.n_1{
  366. background: url('../../assets/images/sunVillage_info/index_block_01.png') no-repeat center top;
  367. background-size: 50%;
  368. margin-bottom: 20PX;
  369. }
  370. &.n_2{
  371. background: url('../../assets/images/sunVillage_info/index_block_02.png') no-repeat center top;
  372. background-size: 50%;
  373. margin-bottom: 20PX;
  374. }
  375. &.n_3 {
  376. background: url('../../assets/images/sunVillage_info/index_block_03.png') no-repeat center top;
  377. background-size: 50%;
  378. margin-bottom: 20PX;
  379. }
  380. &.n_4 {
  381. background: url('../../assets/images/sunVillage_info/index_block_04.png') no-repeat center top;
  382. background-size: 50%;
  383. margin-bottom: 20PX;
  384. }
  385. &.n_5 {
  386. background: url('../../assets/images/sunVillage_info/index_block_05.png') no-repeat center top;
  387. background-size: 50%;
  388. }
  389. &.n_6 {
  390. background: url('../../assets/images/sunVillage_info/index_block_06.png') no-repeat center top;
  391. background-size: 50%;
  392. }
  393. &.n_7 {
  394. background: url('../../assets/images/sunVillage_info/index_block_07.png') no-repeat center top;
  395. background-size: 50%;
  396. }
  397. &.n_8 {
  398. background: url('../../assets/images/sunVillage_info/index_block_08.png') no-repeat center top;
  399. background-size: 50%;
  400. }
  401. }
  402. .icon{
  403. padding: 15px;
  404. border-radius: 10px;
  405. box-sizing: border-box;
  406. width: 80px;
  407. height: 80px;
  408. text-align:center;
  409. }
  410. .icon img{
  411. width:50px;
  412. }
  413. }
  414. }
  415. .footer{
  416. width: 100%;
  417. font-size: 22px;
  418. color: #3f3d56;
  419. text-align: center;
  420. padding-bottom: 25PX;
  421. }
  422. }
  423. </style>