移动端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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