移动端
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.

461 lines
17 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 :border="false" 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:'sunVillageInfoListRegister'}" class="nav_item n_8">零工登记</router-link>
  56. <router-link :to="{name:'sunVillageInfoStatisticalReport'}" class="nav_item n_9">统计填报</router-link>
  57. <router-link :to="{name:'sunVillageInfoListIssues'}" class="nav_item n_3">重大事项</router-link>
  58. <router-link :to="{name:'sunVillageInfoListVote'}" class="nav_item n_5">发布投票</router-link>
  59. <router-link :to="{name:'sunVillageInfoListPhoto'}" class="nav_item n_11">村庄图公开</router-link>
  60. <router-link :to="{name:'sunVillageInfoListContract'}" class="nav_item n_12">其他公开</router-link>
  61. </div>
  62. </div>
  63. <div class="nav_list">
  64. <div class="nav_list_box">
  65. <van-cell :border="false" 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. <router-link :to="{name:'sunVillageApprovalList'}" class="nav_item n_01">银行卡转账</router-link>
  71. <router-link :to="{name:'sunVillageApprovalList2'}" class="nav_item n_02">信用卡还款</router-link>
  72. <router-link :to="{name:'sunVillageApprovalList11'}" class="nav_item n_03">备付金支出</router-link>
  73. <router-link :to="{name:'sunVillageApprovalList12'}" class="nav_item n_04">汇票支出</router-link>
  74. <router-link :to="{name:'sunVillageCollectionList'}" class="nav_item n_05">收款账户</router-link>
  75. <router-link :to="{name:'sunVillagePaymentAccountList'}" class="nav_item n_06">付款账户</router-link>
  76. <router-link :to="{name:'sunVillageBankOfDepositList'}" class="nav_item n_07">开户行</router-link>
  77. </div>
  78. </div>
  79. <div class="nav_list">
  80. <div class="nav_list_box">
  81. <van-cell :border="false" style="border-radius: 6px;">
  82. <template #title>
  83. <p style="font-weight: bold;font-size: 18px;display: inline-block">财务信息</p>
  84. </template>
  85. </van-cell>
  86. <router-link :to="{name:'sunVillageInfoListBalanceRanking'}" class="nav_item n_4">余额表</router-link>
  87. <router-link :to="{name:'sunVillageInfoDetailedLedger'}" class="nav_item n_10">明细账</router-link>
  88. <router-link :to="{name:'sunVillageInfoFixedAssets'}" class="nav_item n_6">固定资产</router-link>
  89. <router-link :to="{name:'sunVillageInfoInformation'}" class="nav_item n_7">合同信息</router-link>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="footer">
  94. 技术支持:北京农燊高科信息技术有限公司
  95. </div>
  96. </div>
  97. </template>
  98. <script>
  99. import { changeBook , listByDeptId , treeselectByUser } from "@/api/sunVillage_info/fixedAssets";
  100. import { getInfo } from "@/api/login/index";
  101. import {changeDept} from "../../api/onlineHome/done";
  102. import {bookListByDeptId} from "../../api/homestead";
  103. import Cookies from "js-cookie";
  104. import {logout} from "../../api/login";
  105. export default {
  106. name: "certificateList",
  107. data() {
  108. return {
  109. showPopover: false,
  110. actions: [
  111. { text: '个人信息', icon: 'manager-o' , index: 0 },
  112. { text: '修改密码', icon: 'edit' , index: 1 },
  113. { text: '退出登录', icon: 'revoke' , index: 2 },
  114. ],
  115. deptIdOptions:[],
  116. villageVisbile:false,
  117. showBookList:false,
  118. deptName:'',
  119. //选中的值
  120. villageValue: "",
  121. //省市区区级list
  122. hcAreaInfoOption: [],
  123. hcAreaInfoFieldName: {
  124. text: "label",
  125. value: "value",
  126. children: "children",
  127. },
  128. bookName:'',
  129. queryParams: {
  130. pageNum: 1,
  131. pageSize: 100,
  132. },
  133. //账套列表
  134. bookVisbile:false,
  135. bookList:[],
  136. bookName:"",
  137. bookId:"",
  138. book:"",
  139. };
  140. },
  141. created() {
  142. getInfo().then(response => {
  143. this.bookName = response.user.bookName
  144. this.deptName = response.user.deptName
  145. Cookies.set("bookName", response.user.bookName, {
  146. expires: 30,
  147. });
  148. Cookies.set("deptName", response.user.deptName, {
  149. expires: 30,
  150. });
  151. Cookies.set("bookId", response.user.loginBookId, {
  152. expires: 30,
  153. });
  154. Cookies.set("deptId", response.user.loginDeptId, {
  155. expires: 30,
  156. });
  157. this.getBookList(response.user.loginDeptId);
  158. });
  159. treeselectByUser().then((res) => {
  160. if (res.code == 200) {
  161. this.hcAreaInfoOption = res.data;
  162. }
  163. });
  164. this.$set(this.queryParams, "systemType", '4');
  165. },
  166. methods: {
  167. //关闭选择地址弹窗
  168. hcAreaInfoClose() {
  169. this.villageVisbile = false;
  170. },
  171. hcAreaInfoFinish({ value, selectedOptions, tabIndex }) {
  172. // 切换部门
  173. let Depquery={"loginDeptID":value}
  174. changeDept(Depquery).then((response) => {
  175. if (response.code === 200) {
  176. this.$store.dispatch("GetInfo").then(() => {
  177. // this.$router.go(0);
  178. window.location.href = "/sunVillage_info/index";
  179. });
  180. }
  181. });
  182. this.villageVisbile = false;
  183. },
  184. getBookList(e){
  185. let params = {
  186. loginDeptID:e
  187. }
  188. listByDeptId(params).then((response) => {
  189. if (response.code == 200) {
  190. this.bookList = response.rows;
  191. }
  192. })
  193. },
  194. onConfirmBook(e){
  195. this.bookVisbile = false
  196. this.bookName = e.bookName
  197. let param={"loginBookId":e.id}
  198. changeBook(param).then((response) => {
  199. if (response.code === 200) {
  200. this.$store.dispatch("GetInfo").then(() => {
  201. // this.$router.go(0);
  202. window.location.href = "/sunVillage_info/index";
  203. });
  204. }
  205. });
  206. },
  207. onCancelBook(e){
  208. this.bookVisbile = false
  209. },
  210. logout(){
  211. logout().then(res => {
  212. this.$router.push({path:"/sunVillage_info/index_code",query:{bookId:Cookies.get('bookId'),deptId:Cookies.get('deptId')}})
  213. })
  214. },
  215. selectChange(val){
  216. 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() : '';
  217. }
  218. },
  219. }
  220. </script>
  221. <style scoped lang="scss">
  222. .home_wrapper{
  223. background: #f1f2f2;
  224. width: 100vw;
  225. min-height: 100vh;
  226. .head_main{
  227. height: 340px;
  228. background: url('../../assets/images/sunVillage_info/index_head.png') no-repeat;
  229. background-size: 100% 100%;
  230. position: relative;
  231. .location{
  232. height: 42px;
  233. line-height: 42px;
  234. position: absolute;
  235. left: 38px;
  236. top: 72px;
  237. display: flex;
  238. .address{
  239. padding:0 18px;
  240. background:rgba(255,255,255,0.75);
  241. border-radius: 42px;
  242. font-size: 28px;
  243. color: #3f3d56;
  244. margin-right: 12px;
  245. display: flex;
  246. align-items:center;
  247. .icon{
  248. display: block;
  249. width: 20px;
  250. height: 26px;
  251. background: url('../../assets/images/sunVillage_info/index_icon_1.png') no-repeat;
  252. background-size: 100% 100%;
  253. margin-right: 10px;
  254. }
  255. }
  256. }
  257. /deep/ .van-popover__wrapper{
  258. position: absolute;
  259. top: 64px;
  260. right: 36px;
  261. }
  262. .exit_btn{
  263. width: 61px;
  264. height: 61px;
  265. /*background: #3f3d56;*/
  266. border-radius: 50%;
  267. display: flex;
  268. align-items: center;
  269. justify-content: center;
  270. /*position: absolute;*/
  271. /*top: 64px;*/
  272. /*right: 36px;*/
  273. .icon{
  274. width: 100%;
  275. height: 100%;
  276. background: url('../../assets/images/sunVillage_info/login_head_h.png') no-repeat;
  277. background-size: 100% 100%;
  278. }
  279. }
  280. }
  281. .index_info{
  282. padding-top: 4.1vh;
  283. .title{
  284. width: 521px;
  285. height: 52px;
  286. background: url('../../assets/images/sunVillage_info/index_title.png') no-repeat;
  287. background-size: 100% 100%;
  288. margin:0 auto;
  289. }
  290. .nav_list{
  291. margin-top: 6vh;
  292. padding:0 38px;
  293. &:nth-child(3){
  294. margin-top: 3vh;
  295. }
  296. &:nth-child(4){
  297. margin-top: 3vh;
  298. }
  299. .van-cell{
  300. background: transparent;
  301. }
  302. .nav_list_box{
  303. display: flex;
  304. flex-flow: wrap;
  305. box-shadow: 0px 0px 18px rgba(63,68,75,0.2);
  306. /*padding: 0 0 20PX;*/
  307. border-radius: 15PX;
  308. overflow: hidden;
  309. background: #ffffff;
  310. }
  311. .nav_box{
  312. box-shadow: 0px 0px 18px rgba(63,68,75,0.2);
  313. margin-bottom: 40PX;
  314. border-radius: 15PX;
  315. overflow: hidden;
  316. /deep/ .van-grid-item__content{
  317. background: transparent;
  318. padding-top: 0;
  319. }
  320. }
  321. .nav_item{
  322. width: 25%;
  323. /*height: 180px;*/
  324. border-radius: 30px;
  325. font-size: 24px;
  326. color: #3f3d56;
  327. text-align: center;
  328. display: flex;
  329. align-items: center;
  330. justify-content: center;
  331. padding-top: 100px;
  332. &.n_1{
  333. background: url('../../assets/images/sunVillage_info/index_block_01.png') no-repeat center top;
  334. background-size: 50%;
  335. margin-bottom: 20PX;
  336. }
  337. &.n_2{
  338. background: url('../../assets/images/sunVillage_info/index_block_02.png') no-repeat center top;
  339. background-size: 50%;
  340. margin-bottom: 20PX;
  341. }
  342. &.n_3 {
  343. background: url('../../assets/images/sunVillage_info/index_block_03.png') no-repeat center top;
  344. background-size: 50%;
  345. margin-bottom: 20PX;
  346. }
  347. &.n_4 {
  348. background: url('../../assets/images/sunVillage_info/index_block_04.png') no-repeat center top;
  349. background-size: 50%;
  350. margin-bottom: 20PX;
  351. }
  352. &.n_5 {
  353. background: url('../../assets/images/sunVillage_info/index_block_05.png') no-repeat center top;
  354. background-size: 50%;
  355. margin-bottom: 20PX;
  356. }
  357. &.n_6 {
  358. background: url('../../assets/images/sunVillage_info/index_block_06.png') no-repeat center top;
  359. background-size: 50%;
  360. margin-bottom: 20PX;
  361. }
  362. &.n_7 {
  363. background: url('../../assets/images/sunVillage_info/index_block_07.png') no-repeat center top;
  364. background-size: 50%;
  365. margin-bottom: 20PX;
  366. }
  367. &.n_8 {
  368. background: url('../../assets/images/sunVillage_info/index_block_08.png') no-repeat center top;
  369. background-size: 50%;
  370. margin-bottom: 20PX;
  371. }
  372. &.n_9 {
  373. background: url('../../assets/images/sunVillage_info/index_block_09.png') no-repeat center top;
  374. background-size: 50%;
  375. margin-bottom: 20PX;
  376. }
  377. &.n_10 {
  378. background: url('../../assets/images/sunVillage_info/index_block_10.png') no-repeat center top;
  379. background-size: 50%;
  380. margin-bottom: 20PX;
  381. }
  382. &.n_11 {
  383. background: url('../../assets/images/sunVillage_info/index_block_11.png') no-repeat center top;
  384. background-size: 50%;
  385. margin-bottom: 20PX;
  386. }
  387. &.n_12 {
  388. background: url('../../assets/images/sunVillage_info/index_block_12.png') no-repeat center top;
  389. background-size: 50%;
  390. margin-bottom: 20PX;
  391. }
  392. &.n_01 {
  393. background: url('../../assets/images/sunVillage_info/index_icon_01.png') no-repeat center top;
  394. background-size: 50%;
  395. margin-bottom: 20PX;
  396. }
  397. &.n_02 {
  398. background: url('../../assets/images/sunVillage_info/index_icon_02.png') no-repeat center top;
  399. background-size: 50%;
  400. margin-bottom: 20PX;
  401. }
  402. &.n_03 {
  403. background: url('../../assets/images/sunVillage_info/index_icon_03.png') no-repeat center top;
  404. background-size: 50%;
  405. margin-bottom: 20PX;
  406. }
  407. &.n_04 {
  408. background: url('../../assets/images/sunVillage_info/index_icon_04.png') no-repeat center top;
  409. background-size: 50%;
  410. margin-bottom: 20PX;
  411. }
  412. &.n_05 {
  413. background: url('../../assets/images/sunVillage_info/index_icon_05.png') no-repeat center top;
  414. background-size: 50%;
  415. margin-bottom: 20PX;
  416. }
  417. &.n_06 {
  418. background: url('../../assets/images/sunVillage_info/index_icon_06.png') no-repeat center top;
  419. background-size: 50%;
  420. margin-bottom: 20PX;
  421. }
  422. &.n_07 {
  423. background: url('../../assets/images/sunVillage_info/index_icon_07.png') no-repeat center top;
  424. background-size: 50%;
  425. margin-bottom: 20PX;
  426. }
  427. }
  428. .icon{
  429. padding: 15px;
  430. border-radius: 10px;
  431. box-sizing: border-box;
  432. width: 80px;
  433. height: 80px;
  434. text-align:center;
  435. }
  436. .icon img{
  437. width:50px;
  438. }
  439. }
  440. }
  441. .footer{
  442. width: 100%;
  443. font-size: 22px;
  444. color: #3f3d56;
  445. text-align: center;
  446. padding-top: 20px;
  447. padding-bottom: 25PX;
  448. }
  449. }
  450. </style>