reportConpanyPage.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. <template>
  2. <!-- <div :class="showDatePicker || showSelect? 'homeMobeilMask': ''">
  3. </div> -->
  4. <div class="reportConpanyPage">
  5. <van-nav-bar title="单位考评报告" />
  6. <div class="mobeilVant">
  7. <div class="mobeilTop">
  8. <div class="topLeft">
  9. <!-- <van-icon name="star" size="20" /> -->
  10. <img :src="logoImg" alt="">
  11. <span>全业务域考评系统</span>
  12. </div>
  13. <div class="topRight">
  14. <span>系统导航</span>
  15. <!-- <van-icon name="wap-nav" size="23" /> -->
  16. <img :src="daohangImg" alt="" @click="chooseMenu">
  17. </div>
  18. </div>
  19. <div class="reportConpanyMain">
  20. <div class="mainSeach">
  21. <div class="seachFrom" @click="showPopup">
  22. <span>搜索栏</span>
  23. </div>
  24. <van-popup v-model:show="showVanPopup" position="top">
  25. <div class="vanForm">
  26. <van-form>
  27. <van-field
  28. v-model="form.company"
  29. label="单位名称"
  30. placeholder="单位名称"
  31. />
  32. <van-field
  33. v-model="form.binSection"
  34. is-link
  35. readonly
  36. label="选择板块"
  37. placeholder="点击选择板块"
  38. @click="showSelect = true"
  39. />
  40. <van-popup v-model:show="showSelect" position="bottom">
  41. <van-picker
  42. :columns="columnSection"
  43. @confirm="selectConfirm"
  44. @cancel="showSelect = false"
  45. />
  46. </van-popup>
  47. <van-field
  48. v-model="form.year"
  49. is-link
  50. readonly
  51. name="datePicker"
  52. label="时间选择"
  53. placeholder="点击选择年度与季度"
  54. @click="showDatePicker = true"
  55. />
  56. <van-popup v-model:show="showDatePicker" position="bottom">
  57. <van-date-picker
  58. title="年度/季度"
  59. :columns-type="['year', 'month']"
  60. :filter="filterPicker"
  61. @confirm="confirmFn"
  62. @cancel="cancelpickerFn"
  63. />
  64. </van-popup>
  65. <div style="margin: 16px;">
  66. <van-button round block type="primary" native-type="submit">
  67. 提交
  68. </van-button>
  69. </div>
  70. </van-form>
  71. </div>
  72. </van-popup>
  73. </div>
  74. <div class="mainModel">
  75. <el-table :data="mobeilReportData" style="width: 100%">
  76. <el-table-column type="index" label="序号" align="center"></el-table-column>
  77. <el-table-column label="报告名称" prop="evaluateReportName" width="330" />
  78. <el-table-column label="业务属性" prop="binSectionName" width="150" />
  79. <el-table-column label="考评周期">
  80. <template #default="scope">
  81. <span v-if="scope.row.checkCycle === 'YDKP'" style="font-size: 12px;">月度考评</span>
  82. <span v-else-if="scope.row.checkCycle === 'JDKP'" style="font-size: 12px;">季度考评</span>
  83. <span v-else style="font-size: 12px;">年度考评</span>
  84. </template>
  85. </el-table-column>
  86. <el-table-column label="年度" prop="year" />
  87. <el-table-column label="月度/季度" prop="month" align="center" />
  88. <el-table-column label="业务简述" prop="des" width="200" />
  89. </el-table>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </template>
  95. <script>
  96. import logoImg from '../assets/mobeilImg/logo.png'
  97. import daohangImg from '../assets/mobeilImg/daohang.png'
  98. import dateImg from '../assets/mobeilImg/date.png'
  99. import sortImg from '../assets/mobeilImg/sort.png'
  100. import seachImg from '../assets/mobeilImg/seach.png'
  101. import cup1 from '../assets/getwayImg/cup1.png'
  102. import cup2 from '../assets/getwayImg/cup2.png'
  103. import cup3 from '../assets/getwayImg/cup3.png'
  104. import topImg from '../assets/getwayImg/topNew.png'
  105. import botImg from '../assets/getwayImg/botNew.png'
  106. import cenImg from '../assets/getwayImg/cenNew.png'
  107. import {apiGetEvalReportList} from '../api/api'
  108. export default {
  109. data() {
  110. return {
  111. logoImg: logoImg,
  112. daohangImg: daohangImg,
  113. dateImg: dateImg,
  114. sortImg: sortImg,
  115. seachImg: seachImg,
  116. topImg: topImg,
  117. botImg: botImg,
  118. cenImg: cenImg,
  119. showDatePicker: false,
  120. showSelect: false,
  121. showVanPopup: false,
  122. form: {
  123. company: '',
  124. binSection: '',
  125. year: '',
  126. season: ''
  127. },
  128. binSection: 'HD',
  129. mobeilReportData: [],
  130. columnSection: [],
  131. datePickerData: []
  132. }
  133. },
  134. created() {
  135. this.getReportData()
  136. this.columnSection = [
  137. { text: '火电', value: 'HD' },
  138. { text: '水电', value: 'SD' },
  139. { text: '新能源', value: 'XNYFG' },
  140. { text: '海外业务', value: 'GJYW' },
  141. { text: '煤电一体化', value: 'MDYTH' }
  142. ]
  143. },
  144. methods: {
  145. // 获取考评报告数据
  146. getReportData() {
  147. let that = this
  148. that.mobeilReportData = []
  149. let params = {
  150. pageNum: 1,
  151. pageSize: 500,
  152. binSection: '',
  153. checkCycle: '',
  154. year: '',
  155. month: ''
  156. }
  157. apiGetEvalReportList(params).then(datas =>{
  158. if (datas && datas.data) {
  159. that.mobeilReportData = datas.data.records
  160. }
  161. })
  162. },
  163. showPopup() {
  164. this.showVanPopup = true
  165. },
  166. filterPicker(type, options) {
  167. if (type === 'month') {
  168. return options.filter((option) => Number(option.value) < 5);
  169. }
  170. return options;
  171. },
  172. chooseMenu() {
  173. this.$router.push({ path: "/menu"})
  174. },
  175. changeSelect() {
  176. this.showSelect = true
  177. },
  178. confirmFn(val) {
  179. debugger
  180. this.form.year = val.selectedValues[0]+'年'+val.selectedValues[1]+'季度'
  181. this.datePickerData = val.selectedValues
  182. this.cancelpickerFn()
  183. },
  184. selectConfirm(val) {
  185. this.form.binSection = val.selectedValues[0]
  186. this.binSection = val.selectedValues[0]
  187. if (this.binSection === 'HD') {
  188. this.form.binSection = '火电'
  189. } else if (this.binSection === 'SD') {
  190. this.form.binSection = '水电'
  191. } else if (this.binSection === 'XNYFG') {
  192. this.form.binSection = '新能源'
  193. } else if (this.binSection === 'GJYW') {
  194. this.form.binSection = '海外业务'
  195. } else if (this.binSection === 'MDYTH') {
  196. this.form.binSection = '煤电一体化'
  197. }
  198. this.cancelSelect()
  199. },
  200. cancelpickerFn() {
  201. this.showDatePicker = false
  202. },
  203. cancelSelect() {
  204. this.showSelect = false
  205. }
  206. }
  207. }
  208. </script>
  209. <style lang="less">
  210. .homeMobeilMask{
  211. position: fixed;
  212. top: 0;
  213. left: 0;
  214. width: 100%;
  215. height: 100%;
  216. background-color: rgba(0,0,0,0.5);
  217. z-index: 111;
  218. }
  219. .reportConpanyPage {
  220. background-color: #184FB4;
  221. .van-nav-bar{
  222. width: 100%;
  223. background-color: #184FB4;
  224. color: #fff;
  225. position: fixed;
  226. top: 0;
  227. z-index: 111111;
  228. .van-nav-bar__content{
  229. .van-nav-bar__left{
  230. .van-nav-bar__text{
  231. color: #fff;
  232. }
  233. }
  234. }
  235. }
  236. .mobeilVant{
  237. height: 100%;
  238. margin-top: 45px;
  239. border-radius: 10px 10px 0 0;
  240. background-color: #fff;
  241. .mobeilTop{
  242. height: 60px;
  243. display: flex;
  244. justify-content: space-around;
  245. .topLeft{
  246. display: flex;
  247. img{
  248. width: 24px;
  249. height: 28px;
  250. position: relative;
  251. top: 18px;
  252. left: -10px;
  253. }
  254. span{
  255. font-family: MicrosoftYaHei;
  256. font-weight: 600;
  257. font-size: 16px;
  258. color: #444950;
  259. line-height: 60px;
  260. }
  261. }
  262. .topRight{
  263. display: flex;
  264. img{
  265. width: 22px;
  266. height: 18px;
  267. position: relative;
  268. top: 21px;
  269. left: 5px;
  270. }
  271. span{
  272. font-family: MicrosoftYaHei;
  273. font-weight: 400;
  274. font-size: 14px;
  275. color: #545960;
  276. line-height: 60px;
  277. margin-right: 5px;
  278. }
  279. }
  280. }
  281. .reportConpanyMain{
  282. // height: 50px;
  283. background-color: #ededf5;
  284. padding: 17px 20px;
  285. width: calc(100% - 40px);
  286. .mainSeach{
  287. display: flex;
  288. // justify-content: space-between;
  289. .seachFrom{
  290. width: 100%;
  291. height: 40px;
  292. background: #184FB4;
  293. border-radius: 5px;
  294. margin-bottom: 15px;
  295. text-align: center;
  296. span{
  297. display: inline-block;
  298. color: #fff;
  299. line-height: 40px;
  300. }
  301. }
  302. .vanForm{
  303. margin-top: 60px;
  304. }
  305. }
  306. .mainModel{
  307. background: #fff;
  308. border-radius: 5px;
  309. padding: 5px 0;
  310. .el-table{
  311. .el-table__header-wrapper{
  312. .el-table__header{
  313. tr{
  314. .cell{
  315. line-height: 18px !important;
  316. }
  317. }
  318. }
  319. }
  320. .el-table__body-wrapper{
  321. .el-table__body{
  322. tr{
  323. .cell{
  324. img{
  325. width: 20px;
  326. height: 20px;
  327. }
  328. }
  329. }
  330. }
  331. }
  332. }
  333. }
  334. }
  335. }
  336. }
  337. </style>