index.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. <template>
  2. <dv-full-screen-container >
  3. <el-scrollbar class="screen" ref="scrollDiv" >
  4. <!-- :style="{height:height}" -->
  5. <div class="statistics" v-on:mouseenter="rollstop" v-on:mouseleave="rollcontinue">
  6. <div class="editDate">
  7. <!-- 标题装饰组件 -->
  8. <header-decoration />
  9. <!-- <div class="stitle">实验室管理看板</div> -->
  10. <div class="block" style="display:none">
  11. <span class="demonstration">开始:</span>
  12. <el-date-picker v-model="BeginDate" type="year" size="mini" value-format="yyyy" format="yyyy年" style="width: 96px;"
  13. :clearable="false" @change="checkYear(BeginDate,'begin')" placeholder="选择日期">
  14. </el-date-picker>
  15. </div>
  16. <!-- <div class="block"> -->
  17. <!-- <span class="demonstration">查询年度:</span> -->
  18. <!-- <el-date-picker v-model="endDate" type="year" size="mini" value-format="yyyy" format="yyyy年" :clearable="false" style="width: 96px;"
  19. @change="checkYear(endDate,'end')" placeholder="选择日期"> -->
  20. <!-- <el-date-picker
  21. v-model="endDate"
  22. type="year"
  23. value-format="yyyy"
  24. @change="checkYear(endDate,'end')"
  25. placeholder="选择年">
  26. </el-date-picker> -->
  27. <!-- </el-date-picker> -->
  28. <!-- </div> -->
  29. <div
  30. style="width: 12%;
  31. height:2.825rem;
  32. line-height: 2.825rem;
  33. text-align:center;
  34. float: left;
  35. margin: -3% 0 0 16%;
  36. color: #fff !important;
  37. display:flex" >
  38. <div>
  39. 年份:
  40. </div>
  41. <el-date-picker
  42. v-model="endDate"
  43. type="year"
  44. value-format="yyyy"
  45. @change="checkYear(endDate,'end')"
  46. placeholder="选择年"
  47. style="width:54%">
  48. </el-date-picker>
  49. <!-- <el-button type="primary" size="mini" plain @click="selectAll">
  50. 查询
  51. </el-button> -->
  52. <!-- <el-date-picker
  53. class="chooseMonth"
  54. v-model="NowTime1"
  55. type="month"
  56. @change="changeTime1"
  57. format="yyyy-MM"
  58. value-format="yyyy-MM"
  59. placeholder="请选择时间">
  60. </el-date-picker> -->
  61. </div>
  62. <!-- <div class="block">
  63. </div> -->
  64. <!-- <div class="goBackButton" @click.prevent="goBack()" >
  65. 返回
  66. </div> -->
  67. <!-- <div
  68. @click.prevent="rollstop()"
  69. style="width: 8%;
  70. height:2.825rem;
  71. line-height: 2.825rem;
  72. text-align:center;
  73. float: right;
  74. margin: -3% 17.1% 0 0;"
  75. v-if="rollup">
  76. <dv-border-box-8>暂停</dv-border-box-8>
  77. </div>
  78. <div
  79. @click.prevent="rollcontinue()"
  80. style="width: 8%;
  81. height:2.825rem;
  82. line-height: 2.825rem;
  83. text-align:center;
  84. float: right;
  85. margin: -3% 17.1% 0 0;"
  86. v-else>
  87. <dv-border-box-8>继续</dv-border-box-8>
  88. </div> -->
  89. <div
  90. @click.prevent="goBack()"
  91. style="width: 8%;
  92. height:2.825rem;
  93. line-height: 2.825rem;
  94. text-align:center;
  95. float: right;
  96. margin: -3% 17.1% 0 0;" >
  97. <dv-border-box-8>返回</dv-border-box-8>
  98. </div>
  99. </div>
  100. <dv-border-box-7 backgroundColor="rgba(6, 30, 93, 0.5)" ><div class="ttitle">质量方针:公正、科学、准确、高效</div></dv-border-box-7>
  101. <div class="congxiebox7" style="display: flex;justify-content: space-between;padding: 1.5% 0.2%;">
  102. <div style="width:21.4%">
  103. <div class="gongshiAll">
  104. <div class="touwidth">检测任务及时完成率=</div>
  105. <div style="margin: 0 0.2%;">
  106. <div class="gongshiXian">统计期内按规定时间完成的检测项目数</div>
  107. <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内有效检测任务总数</div>
  108. </div>
  109. <div>×100%</div>
  110. </div>
  111. <div class="mubiaozhi">当前目标值:{{quality[0].val}}</div>
  112. </div>
  113. <div style="width:21.4%">
  114. <div class="gongshiAll">
  115. <div class="touwidth">C类报告差错率=</div>
  116. <div style="margin: 0 0.2%;">
  117. <div class="gongshiXian">统计期内检测数据的差错次数</div>
  118. <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内检测报告总数</div>
  119. </div>
  120. <div>×100%</div>
  121. </div>
  122. <div class="mubiaozhi">当前目标值:{{quality[1].val}}</div>
  123. </div>
  124. <div style="width:17.4%">
  125. <div class="gongshiAll">
  126. <div class="touwidth">客户满意度=</div>
  127. <div style="margin: 0 0.2%;">
  128. <div class="gongshiXian">评分得分*有效问卷数量</div>
  129. <div style="text-align:center;font-size:12px;padding-top: 6%;">有效问卷总分</div>
  130. </div>
  131. <div>×100%</div>
  132. </div>
  133. <div class="mubiaozhi">当前目标值:{{quality[2].val}}</div>
  134. </div>
  135. <div style="width:17.4%">
  136. <div class="gongshiAll">
  137. <div class="touwidth">投诉率=</div>
  138. <div style="margin: 0 0.2%;">
  139. <div class="gongshiXian">统计期内有效投诉项目数</div>
  140. <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内检测委托总数</div>
  141. </div>
  142. <div>×100%</div>
  143. </div>
  144. <div class="mubiaozhi">当前目标值:{{quality[3].val}}</div>
  145. </div>
  146. <div style="width:27.4%">
  147. <div class="gongshiAll">
  148. <div class="touwidth">投诉回复及时率=</div>
  149. <div style="margin: 0 0.2%;">
  150. <div class="gongshiXian">统计期内投诉处理完成次数</div>
  151. <div style="text-align:center;font-size:12px;padding-top: 6%;">统计期内有效投诉总次数</div>
  152. </div>
  153. <div>×100%</div>
  154. </div>
  155. <div class="mubiaozhi">当前目标值:{{quality[4].val}}</div>
  156. </div>
  157. </div>
  158. <div class="congxiebox7" v-if="pageOT">
  159. <div class="ttitle" style="text-align: center;">质量目标统计</div>
  160. <div class="componentsData" v-if="relOf">
  161. <s1zhiLiangMuBiao :height="'290%'" :width="static=='row' ? '22%': '100%'" :colorw = "colorw" :mubiao = "quality[0].val"
  162. v-if="showAll || showComponents[1]" :data = "getS1renwu()"/>
  163. <s1jianCe :height="'290%'" :width="static=='row' ? '19.5%': '100%'" :colorw = "colorw" :mubiao = "quality[1].val"
  164. v-if="showAll || showComponents[5]" :data = "getS2jianCe()" />
  165. <s2manYiDu :height="'290%'" :width="static=='row' ? '19.5%': '100%'" :colorw = "colorw" :mubiao = "quality[2].val"
  166. v-if="showAll || showComponents[7]" :data = "getS2manYiDu()"/>
  167. <s3tousu :height="'290%'" :width="static=='row' ? '19.5%': '100%'" :colorw = "colorw" :mubiao = "quality[3].val"
  168. v-if="showAll || showComponents[6]" :data = "getS3tousu()"/>
  169. <s13shengWu :height="'290%'" :width="static=='row' ? '19.5%': '100%'" :colorw = "colorw" :mubiao = "quality[4].val"
  170. v-if="showAll || showComponents[17]" :data = "getS3tousu()"/>
  171. <div class="clear"></div>
  172. </div>
  173. </div>
  174. <div class="congxiebox7" style="display:inline-block;width:49%" v-if="pageOT">
  175. <div class="ttitle" style="margin:2% 0;text-align: center;">人员培训与管理</div>
  176. <div class="componentsData" v-if="relOf">
  177. <s4renYuanPeiXun :height="'290%'" :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
  178. v-if="showAll || showComponents[8]" :data = "getS4renYuanPeiXun()"/>
  179. <s5renYuanJianDu :height="'290%'" :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
  180. v-if="showAll || showComponents[9]" :data = "getS5renYuanJianDu()"/>
  181. <!-- <div class="clear"></div> -->
  182. </div>
  183. </div>
  184. <div class="congxiebox7" style="display:inline-block;width:49%;float:right;" v-if="pageOT">
  185. <div class="ttitle" style="margin:2% 0;text-align: center;">设备维保</div>
  186. <div class="componentsData" v-if="relOf">
  187. <s7sheBeiJiaoZhun :height="'290%'" :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
  188. v-if="showAll || showComponents[12]" :data = "getJiaoYanObjNum()"/>
  189. <s8sheBeiHeCha :height="'290%'" :width="static=='row' ? '50%': '100%'" :colorw = "colorw"
  190. v-if="showAll || showComponents[11]" :data = "gethechaObjNum()"/>
  191. <!-- <div class="clear"></div> -->
  192. </div>
  193. </div>
  194. <div class="congxiebox7" v-if="!pageOT">
  195. <div class="ttitle" style="text-align: center;">标准物质</div>
  196. <div class="componentsData" v-if="relOf">
  197. <s11biaoZhunWu :height="'290%'" :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
  198. v-if="showAll || showComponents[15]" :data = "getbiaozhunObjNum()"/>
  199. <s16bzJunZhu :height="'290%'" :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
  200. v-if="showAll || showComponents[20]" :data = "getbzJunZhujNum()"/>
  201. <s17bzXiBao :height="'290%'" :width="static=='row' ? '33%': '100%'" :colorw = "colorw"
  202. v-if="showAll || showComponents[21]" :data = "getbzXiBaoObjNum()"/>
  203. <div class="clear"></div>
  204. </div>
  205. </div>
  206. <div class="congxiebox7" v-if="!pageOT">
  207. <div class="ttitle" style="text-align: center;">质量管理</div>
  208. <div class="componentsData" v-if="relOf">
  209. <s9neiBuZhiLiang :height="'290%'" :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
  210. v-if="showAll || showComponents[13]" :data = "getS9neiBuZhiLiang()"/>
  211. <s10waiBuNengLi :height="'290%'" :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
  212. v-if="showAll || showComponents[14]" :data = "getnengtliObjNum()"/>
  213. <s14bufuhexiang :height="'290%'" :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
  214. v-if="showAll || showComponents[18]" :data = "getS14bufuhexiang()"/>
  215. <s15tousu :height="'290%'" :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
  216. v-if="showAll || showComponents[19]" :data = "getS3tousu()"/>
  217. <s12fengXian :height="'290%'" :width="static=='row' ? '20%': '100%'" :colorw = "colorw"
  218. v-if="showAll || showComponents[16]" :data = "getS12fengXian()"/>
  219. <div class="clear"></div>
  220. </div>
  221. </div>
  222. </div>
  223. </el-scrollbar>
  224. </dv-full-screen-container>
  225. </template>
  226. <script>
  227. //全屏展示
  228. import screenfull from 'screenfull'
  229. //大屏标题组件
  230. import headerDecoration from './headerDecoration'
  231. import s1zhiLiangMuBiao from './item/s1zhiLiangMuBiao.vue'
  232. import s1zhiLiang1 from './item/s1zhiLiang1.vue'
  233. import s1zhiLiang2 from './item/s1zhiLiang2.vue'
  234. import s1zhiLiang3 from './item/s1zhiLiang3.vue'
  235. import s1jianCe from './item/s1jianCe.vue'
  236. import s2manYiDu from './item/s2manYiDu.vue'
  237. import s3tousu from './item/s3tousu.vue'
  238. import s4renYuanPeiXun from './item/s4renYuanPeiXun.vue'
  239. import s5renYuanJianDu from './item/s5renYuanJianDu.vue'
  240. import s6sheBeiWeiHu from './item/s6sheBeiWeiHu.vue'
  241. import s7sheBeiJiaoZhun from './item/s7sheBeiJiaoZhun.vue'
  242. import s8sheBeiHeCha from './item/s8sheBeiHeCha.vue'
  243. import s9neiBuZhiLiang from './item/s9neiBuZhiLiang.vue'
  244. import s10waiBuNengLi from './item/s10waiBuNengLi.vue'
  245. import s11biaoZhunWu from './item/s11biaoZhunWu.vue'
  246. import s12fengXian from './item/s12fengXian.vue'
  247. import s13shengWu from './item/s13shengWu.vue'
  248. import s14bufuhexiang from './item/s14bufuhexiang.vue'
  249. import s15tousu from './item/s15tousu.vue'
  250. import s16bzJunZhu from './item/s16bzJunZhu.vue'
  251. import s17bzXiBao from './item/s17bzXiBao.vue'
  252. import none from './item/none.vue'
  253. import { DBData ,getConfig,getJiaoYanObj, gethechaObj, getnengliObj, getbiaozhunObj,getbiaozhunTObj,getbzJunZhuObj,getbzJunZhuTObj,getbzXiBaoObj,getbzXiBaoTObj} from './js/selectDB.js'
  254. import { DBData1 ,getConfig1,getJiaoYanObj1, gethechaObj1, getnengliObj1, getbiaozhunObj1,getbiaozhunTObj1,getbzJunZhuObj1,getbzJunZhuTObj1,getbzXiBaoObj1,getbzXiBaoTObj1} from './js/selectDBDSRW.js'
  255. import sendDatas from './sendDatas.js'
  256. import repostCurd from '@/business/platform/form/utils/custom/joinCURD.js'
  257. import * as forEach from 'lodash/forEach'
  258. export default {
  259. components:{
  260. headerDecoration,
  261. none,
  262. s1zhiLiang1,
  263. s1zhiLiang2,
  264. s1zhiLiang3,
  265. s1zhiLiangMuBiao,
  266. s1jianCe,
  267. s2manYiDu,
  268. s3tousu,
  269. s4renYuanPeiXun,
  270. s5renYuanJianDu,
  271. s6sheBeiWeiHu,
  272. s7sheBeiJiaoZhun,
  273. s8sheBeiHeCha,
  274. s9neiBuZhiLiang,
  275. s10waiBuNengLi,
  276. s11biaoZhunWu,
  277. s12fengXian,
  278. s13shengWu,
  279. s14bufuhexiang,
  280. s15tousu,
  281. s16bzJunZhu,
  282. s17bzXiBao
  283. },
  284. props:{
  285. shows:{ //传入的内容显示序号
  286. type: Array,
  287. default:() => []
  288. },
  289. static:{ //显示类型,默认为横向 ,作为表单统计图的外部引用为 line
  290. type: String,
  291. default:'row'
  292. }
  293. },
  294. mixins: [sendDatas],
  295. mounted() {
  296. /*以shows是否有参数来判断, 是否需要仅显示部分子组件*/
  297. if(this.shows.length>0){
  298. this.showAll=false
  299. this.isShowComponents()
  300. }
  301. /* 开始及结束时间的默认设置*/
  302. if (!this.BeginDate && !this.endDate) {
  303. this.BeginDate = this.getDate(1) + ''
  304. this.endDate = this.getDate(0) + ''
  305. this.dataScope.push(this.BeginDate)
  306. this.dataScope.push(this.endDate)
  307. }
  308. this.getConfigData() //获取统计的配置
  309. this.getqualityData()
  310. this.timer1 = setInterval(()=>{
  311. this.pageOT = !this.pageOT
  312. console.log(this.pageOT)
  313. },8000)
  314. },
  315. data() {
  316. return {
  317. height:(window.screen.height-200)+"px",
  318. BeginDate: '',
  319. endDate: '',
  320. jiaoyanObj:[],
  321. hechaObj:[],
  322. nengliObj:[],
  323. biaozhunObj:[],
  324. biaozhunTObj:[],
  325. bzJunZhuObj:[],
  326. bzJunZhuTObj:[],
  327. bzXiBaoObj:[],
  328. bzXiBaoTObj:[],
  329. relData: {},
  330. relOf: false,
  331. selectEnd: '',
  332. selectBeg: '',
  333. showAll:true,
  334. timer: '',
  335. timer1: '',
  336. showComponents:{},//显示全部统计子组件 , 若有新增,往后累计。 供动态表单进行查阅使用。
  337. dataScope: [],
  338. colorw: '#fff',
  339. pageOT: true,
  340. rollup:true,
  341. quality:[
  342. {name: '任务及时完成率' ,val: ''},
  343. {name: '检测报告差错率' ,val: ''},
  344. {name: '客户满意度' ,val: ''},
  345. {name: '投诉率' ,val: ''},
  346. {name: '投诉处理及时率' ,val: ''}
  347. ]
  348. }
  349. },
  350. beforeDestroy() {
  351. if(screenfull.isFullscreen){
  352. screenfull.toggle()
  353. }
  354. clearInterval(this.timer);
  355. },
  356. methods: {
  357. /* 判断是否统计子组件中传递过来的,是否需要隐藏。若需要则进行隐藏的遍历 */
  358. isShowComponents(){
  359. /* 将参数进行显示 */
  360. for(let i=0;i<this.shows.length;i++){
  361. this.showComponents[this.shows[i]] = true
  362. }
  363. },
  364. getqualityData() {
  365. let sql='select xiang_mu_ming_,mu_biao_zhi_ from t_zlmbz'
  366. repostCurd('sql', sql).then(response => {
  367. let a = response.variables.data //结果一定存在第0个,因为只有一条数据
  368. this.quality.forEach((t,i)=>{
  369. a.forEach(e => {
  370. if (t.name === e.xiang_mu_ming_) {
  371. t.val = e.mu_biao_zhi_
  372. }
  373. });
  374. })
  375. console.log(this.quality,'546546654gsdf')
  376. })
  377. },
  378. /* 查询统计配置中的完成率*/
  379. getConfigData() {
  380. repostCurd('sql', getConfig()).then(response => {
  381. this.config = response.variables.data //结果一定存在第0个,因为只有一条数据
  382. console.log(this.endDate,'this.endDate')
  383. this.getJiaoYanObjData(this.endDate)
  384. })
  385. },
  386. getJiaoYanObjData(end) {
  387. repostCurd('sql', getJiaoYanObj(end)).then(response => {
  388. this.jiaoyanObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  389. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  390. // console.log(end,this.jiaoyanObj,"nmnakak")
  391. this.gethechaObjData(this.endDate)
  392. })
  393. },
  394. gethechaObjData(end) {
  395. repostCurd('sql', gethechaObj(end)).then(response => {
  396. this.hechaObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  397. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  398. this.getnengliObjData(this.endDate)
  399. })
  400. },
  401. getnengliObjData(end) {
  402. repostCurd('sql', getnengliObj(end)).then(response => {
  403. this.nengliObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  404. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  405. this.getbiaozhunObjData(this.endDate)
  406. })
  407. },
  408. getbiaozhunObjData(end) {
  409. repostCurd('sql', getbiaozhunObj(end)).then(response => {
  410. this.biaozhunObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  411. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  412. // console.log(this.biaozhunObj,'8888')
  413. repostCurd('sql', getbiaozhunTObj(end)).then(response => {
  414. this.biaozhunTObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  415. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  416. // console.log(this.biaozhunTObj,'8888')
  417. this.getbzJunZhuObjData(this.endDate)
  418. })
  419. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  420. })
  421. },
  422. getbzJunZhuObjData(end) {
  423. repostCurd('sql', getbzJunZhuObj(end)).then(response => {
  424. this.bzJunZhuObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  425. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  426. // console.log(this.biaozhunObj,'8888')
  427. repostCurd('sql', getbzJunZhuTObj(end)).then(response => {
  428. this.bzJunZhuTObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  429. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  430. // console.log(this.biaozhunTObj,'8888')
  431. this.getbzXiBaoObjData(this.endDate)
  432. })
  433. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  434. })
  435. },
  436. getbzXiBaoObjData(end) {
  437. repostCurd('sql', getbzXiBaoObj(end)).then(response => {
  438. this.bzXiBaoObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  439. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  440. // console.log(this.biaozhunObj,'8888')
  441. repostCurd('sql', getbzXiBaoTObj(end)).then(response => {
  442. this.bzXiBaoTObj = response.variables.data //结果一定存在第0个,因为只有一条数据
  443. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  444. // console.log(this.biaozhunTObj,'8888')
  445. this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  446. })
  447. // this.getData(this.BeginDate, this.endDate, true, this.dataScope)
  448. })
  449. },
  450. /* 通过拼接的sql进行查询全部数据*/
  451. getData(beg, end, of, scope) {
  452. // console.log(2222,DBData(beg, end, scope))
  453. repostCurd('sql', DBData(beg, end, scope)).then(response => {
  454. if(typeof response.variables.data[0] === "undefined"){
  455. this.relData = [0] //结果一定存在第0个,因为只有一条数据
  456. }else{
  457. this.relData = response.variables.data[0] //结果一定存在第0个,因为只有一条数据
  458. }
  459. this.relOf = of
  460. // console.log(beg, end, of, response,this.relData,'getdata')
  461. })
  462. },
  463. /* 查询全部*/
  464. selectAll() {
  465. /* 上次查询时间不等于当次查询时间, 开始时间不能等于结束时间, 则开始查询。*/
  466. if (this.selectEnd != this.endDate) {
  467. // if ((this.selectEnd != this.endDate || this.selectBeg != this.BeginDate) && this.endDate != this.BeginDate && this.endDate > this.BeginDate) {
  468. // this.getData(this.BeginDate, this.endDate, false, this.dataScope)
  469. this.getConfigData()
  470. this.getqualityData()
  471. // this.$forceUpdate();
  472. // this.selectEnd = this.endDate
  473. // this.selectBeg = this.BeginDate
  474. /* 延迟刷新*/
  475. // console.log('111111fffff')
  476. this.relOf = true;
  477. this.timer = setTimeout(() => {
  478. this.relOf = false
  479. clearTimeout(this.timer)
  480. }, 0)
  481. // this.timer = setInterval(() => {
  482. // if (!this.relOf) {
  483. // this.relOf = true
  484. // clearInterval(this.timer)
  485. // }
  486. // }, 100);
  487. }
  488. // else if (this.endDate == this.BeginDate) {
  489. // this.$message({
  490. // showClose: true,
  491. // message: '年份相等无法进行查询对比',
  492. // type: 'warning'
  493. // });
  494. // } else if(this.endDate < this.BeginDate){
  495. // this.$message({
  496. // showClose: true,
  497. // message: '结束时间不得小于开始时间',
  498. // type: 'warning'
  499. // });
  500. // }
  501. },
  502. /* 年份不得大于当前年份*/
  503. checkYear(year, data) {
  504. // let that = this
  505. // that.dataScope.length = 0
  506. // if(that.BeginDate != '' && that.endDate != ''){
  507. // let poor = Number(that.endDate) - Number(that.BeginDate)
  508. // for (let i = 0; i <= poor; i++) {
  509. // let element = Number(that.BeginDate) + i;
  510. // that.dataScope.push(element+'')
  511. // }
  512. // }
  513. if (Number(year) > Number(this.getDate(0))) {
  514. // console.log(data,'3y87sdvfsdf')
  515. data == 'end' ?
  516. this.endDate = this.getDate(0) + '' :
  517. this.BeginDate = this.getDate(0) + ''
  518. this.$message({
  519. showClose: true,
  520. message: '年份不得大于当前年份',
  521. type: 'warning'
  522. });
  523. }
  524. this.selectAll()
  525. // else(
  526. // this.endDate = Number(year)
  527. // )
  528. // this.$forceUpdate();
  529. },
  530. /* 获取当前年份*/
  531. getDate(year) {
  532. year = year || 0
  533. let nowDate = new Date();
  534. return nowDate.getFullYear() - year;
  535. },
  536. allView(){
  537. screenfull.request() //默认显示全屏
  538. },
  539. goBack(){
  540. this.$router.back(-1)
  541. clearInterval(this.timer1);
  542. },
  543. rollcontinue(){
  544. this.timer1 = setInterval(()=>{
  545. this.pageOT = !this.pageOT
  546. console.log(this.pageOT)
  547. },8000)
  548. console.log('111111111111111111122222222222222222222222222')
  549. this.rollup=true
  550. },
  551. rollstop(){
  552. clearInterval(this.timer1);
  553. console.log('333333333333333333333333333333333333444444444444444444444444')
  554. this.rollup=false
  555. }
  556. },
  557. created() {
  558. //时间
  559. // this.currentTime()
  560. if(screenfull.isEnabled && !screenfull.isFullscreen){
  561. this.allView()
  562. }
  563. }
  564. }
  565. </script>
  566. <style lang="scss">
  567. .statistics {
  568. color: #fff;
  569. .editDate{
  570. display: contents;
  571. overflow: hidden;
  572. background-color:rgb(249, 255, 255);
  573. position: relative;
  574. }
  575. .block{
  576. float: left;
  577. font-size: 14px;
  578. }
  579. }
  580. #dv-full-screen-container {
  581. background-image: url('./img/stars.png');
  582. background-size: 100% 100%;
  583. box-shadow: 0 0 3px blue;
  584. display: flex;
  585. flex-direction: column;
  586. // background-color: #f9ffff;
  587. display: flex;
  588. flex-direction:column;
  589. align-items: stretch;
  590. // .headerContent{
  591. // flex: 1;
  592. // // background-color: rgb(99, 12, 41);
  593. // }
  594. }
  595. .el-scrollbar__wrap{
  596. overflow-x: hidden;
  597. }
  598. .goBackButton{
  599. width: 2%;
  600. position: absolute;
  601. right: 0;
  602. }
  603. #dv-border-box-8{
  604. border: none;
  605. }
  606. .stitle{
  607. text-align: center;
  608. font-size: 150%;
  609. // font-family: PingFangSC-Semibold, sans-serif;
  610. font-weight: 600;
  611. margin: 0;
  612. }
  613. .ttitle{
  614. font-size: 120%;
  615. font-weight: 600;
  616. margin: 1% 0;
  617. }
  618. .screen{
  619. height: 100%;
  620. margin: 0 0.5%;
  621. }
  622. .clear{ clear: both; }
  623. .congxiebox7{
  624. background-color: rgba(6, 30, 93, 0.5);
  625. box-shadow: rgb(128 128 128 / 30%) 0px 0px 40px inset;
  626. border: 1px solid rgba(128, 128, 128, 0.3);
  627. margin: 1% 0 0 0 ;
  628. font-size: 12px;
  629. }
  630. .gongshiAll{
  631. display: flex;
  632. align-items: center;
  633. justify-content: center;
  634. // width: 20%;
  635. .touwidth{
  636. width: 30%;
  637. text-align:right;
  638. }
  639. .gongshiXian{
  640. border-bottom: #fff solid 2px;
  641. padding-bottom: 6%;
  642. text-align:center;
  643. font-size: 12px;
  644. }
  645. }
  646. .mubiaozhi{
  647. text-align: center;
  648. margin-top: 3%;
  649. }
  650. </style>
  651. <style lang="scss">
  652. .el-year-table .today .cell {
  653. color: #606266 !important;
  654. font-weight: 100 !important;
  655. }
  656. </style>