index.vue 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392
  1. <template>
  2. <div class="app-container home">
  3. <el-row :gutter="5">
  4. <el-col :sm="24" :lg="17">
  5. <div class="index_heade index_headeNav" v-show="true">
  6. <div style="padding-top: 20px;">
  7. <el-table height="500" max-height="500" :data="tjsli" style="width: 100%;margin-top: 10px;" :stripe="true">
  8. <el-table-column fixed prop="xz" label="乡镇" align="center" ></el-table-column>
  9. <el-table-column label="18岁以上第一针完成情况" align="center">
  10. <el-table-column fixed prop="zrws" label="总任务数" align="center"></el-table-column>
  11. <!-- <el-table-column label="地址"> -->
  12. <el-table-column prop="zjzs" label="总接种数" align="center"></el-table-column>
  13. <el-table-column prop="wcl1" label="完成率" align="center"></el-table-column>
  14. <el-table-column prop="wwcs" label="未完成数 " align="center"></el-table-column>
  15. <el-table-column prop="drjzs" label="当日接种数" align="center"></el-table-column>
  16. <!-- </el-table-column> -->
  17. </el-table-column>
  18. <el-table-column label="第二针当日完成情况" align="center">
  19. <el-table-column prop="drrws" label="当日任务数" align="center"></el-table-column>
  20. <el-table-column label="接种数" align="center">
  21. <el-table-column prop="dez" label="第二针" align="center" ></el-table-column>
  22. <el-table-column prop="dsz" label="第三针" align="center" ></el-table-column>
  23. <el-table-column prop="hj" label="合计" align="center" ></el-table-column>
  24. </el-table-column>
  25. <el-table-column prop="wcl2" label="完成率" align="center" ></el-table-column>
  26. </el-table-column>
  27. </el-table>
  28. <div class="index_haderPagin">
  29. <!-- <el-pagination
  30. @size-change="handleSizeChange"
  31. @current-change="handleCurrentChange"
  32. :current-page.sync="currentPage3"
  33. :page-size="pageSize"
  34. layout="prev, pager, next, jumper"
  35. :total="1000"
  36. ></el-pagination>
  37. <span>共 85 条 每页显示 5 条 当前 1/17 页</span> -->
  38. </div>
  39. </div>
  40. </div>
  41. <!-- 列表 -->
  42. <el-col :sm="24" :lg="24" style="margin-top: 20px; ">
  43. <div class="index_heade">
  44. <img src="../assets/images/icon_more.png" alt="" class="index_headerImg" />
  45. <p class="index_headetab">
  46. <span :class="[num == index ? ' spanto' : '']" v-for="(item, index) in editableTabs" :key="index" @click="tabSbu(item.dictValue)">
  47. {{ item.dictLabel }}
  48. </span>
  49. </p>
  50. <div style="height: 87%;">
  51. <ul class="index_headerUl">
  52. <li v-for="(item, index) in configList" :key="index" @click="headerCld(item)">
  53. <img src="../assets/images/icon_list_sj.png" alt="" />
  54. <p>{{ item.notice_title }}</p>
  55. <span>{{ item.create_time }}</span>
  56. </li>
  57. </ul>
  58. <div class="index_haderPagin">
  59. <el-pagination
  60. v-show="total > 0"
  61. @size-change="handleSizeChange"
  62. @current-change="handleCurrentChange"
  63. :current-page.sync="currentPage3"
  64. :page-size="queryParams.pageSize"
  65. layout="prev, pager, next, jumper"
  66. :total="total"
  67. ></el-pagination>
  68. <span>共 {{ total }} 条 每页显示 10 条</span>
  69. </div>
  70. </div>
  71. </div>
  72. </el-col>
  73. <!-- </el-row> -->
  74. <!-- 公司概况 -->
  75. <!-- <el-col :sm="24" :lg="24">
  76. <div class="index_heade index_headeProfile">
  77. <img src="../assets/images/icon_tjbj.png" alt="" class="index_headerImg">
  78. <p class="index_headetab">
  79. <span :class="[numprofile == index ? ' spanto' : '']" v-for="(item,index) in editableTabsteo" :key="index" @click="tabSbuprofile(item.dictValue)">{{item.dictLabel}} </span>
  80. </p>
  81. <div style="height: 84%;">
  82. <div style="height: 85%;">
  83. <h3 style="text-align: center; margin: 35px 0; margin-bottom: 0;" v-html="tieku"></h3>
  84. <pre>
  85. <div class="index_profilep" v-html="comg"></div>
  86. </pre>
  87. </div>
  88. <div class="index_haderPagin">
  89. <el-pagination
  90. @size-change="handleSizeChangeprofile"
  91. @current-change="handleCurrentChangeprofile"
  92. :current-page.sync="currentPage3"
  93. :page-size="queryParamstabprofile.pageSize"
  94. layout="prev, pager, next, jumper"
  95. :total="totalprofile">
  96. </el-pagination>
  97. <span>共 {{totalprofile}} 条 每页显示 1条 </span>
  98. </div>
  99. </div>
  100. </div>
  101. </el-col> -->
  102. </el-col>
  103. <el-col :sm="24" :lg="7" style="padding-left: 15px">
  104. <div class="index_nav">
  105. <div class="index_navTime">
  106. <p class="index_navTimep" @click="handleAdd">
  107. <span>日程</span>
  108. <span>
  109. <i class="el-icon-date"></i>
  110. 创建日程
  111. </span>
  112. </p>
  113. <el-calendar id="calendar">
  114. <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
  115. <template slot="dateCell" slot-scope="{ date, data }">
  116. <!--自定义内容-->
  117. <div>
  118. <div class="calendar-day" style="text-align: center">
  119. <el-tooltip v-if="brightDate.indexOf(data.day) != -1" class="item" effect="dark" :content="content(data.day)" placement="right">
  120. <span class="everyDay">
  121. {{
  122. data.day
  123. .split('-')
  124. .slice(2)
  125. .join('-')
  126. }}
  127. </span>
  128. </el-tooltip>
  129. <span v-else>
  130. {{
  131. data.day
  132. .split('-')
  133. .slice(2)
  134. .join('-')
  135. }}
  136. </span>
  137. <!-- <p :class="data.isSelected ? 'is-selected' : ''">
  138. {{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '✔️' : ''}}
  139. </p> -->
  140. </div>
  141. </div>
  142. </template>
  143. </el-calendar>
  144. <img src="../assets/images/pic_kpbg.png" alt="" class="index_navTimeimg" />
  145. </div>
  146. </div>
  147. <!-- 备忘录 -->
  148. <el-col :sm="24" :lg="24">
  149. <div class="index_nav index_memoranduNnavTime">
  150. <div class="index_navTime ">
  151. <p class="index_navTimep">
  152. <span>备忘录</span>
  153. <span @click="memoere">
  154. <i class="el-icon-date"></i>
  155. 创建备忘录
  156. </span>
  157. </p>
  158. <ul>
  159. <li v-for="(item, index) in getmemorandum" :key="index">
  160. <p>{{ item.memorandum_title }}</p>
  161. <div class="index_navspande">
  162. <span>{{ item.remind_time }}</span>
  163. <img src="../assets/images/deletety.png" alt="" v-if="shower" @click="index_deledetfe(item.id)" />
  164. </div>
  165. </li>
  166. </ul>
  167. <img src="../assets/images/icon_more.png" alt="" class="imjud" />
  168. <!-- <el-calendar v-model="value">
  169. </el-calendar> -->
  170. <img src="../assets/images/pic_kpbg.png" alt="" class="index_navTimeimg" />
  171. </div>
  172. </div>
  173. </el-col>
  174. <!-- 通讯录 -->
  175. <el-col :sm="24" :lg="24">
  176. <div class="index_nav index_memoranduMail">
  177. <div class="index_navTime ">
  178. <p class="index_navTimep">
  179. <span>通讯录</span>
  180. <img src="../assets/images/icon_more.png" alt="" class="index_navTimeimgtwo" />
  181. <!-- <span><i class="el-icon-date"></i>创建日程</span> -->
  182. </p>
  183. <div class="index_memoranduMailnav">
  184. <div class="tab_tol">
  185. <el-form class="iejgu" :model="queryParamsail" ref="queryForm" :inline="true">
  186. <dynamic-forms
  187. :type="0"
  188. :ref="item.columnName"
  189. :config="queryParamsail"
  190. @inputs="changeFn"
  191. :formConfig="item"
  192. v-for="(item, index) in queryDataali.queryList"
  193. :key="index"
  194. />
  195. <el-form-item style="width: 20%; text-align: right;">
  196. <el-button type="primary" size="mini" @click="handleQuerygty">搜索</el-button>
  197. </el-form-item>
  198. </el-form>
  199. <el-table stripe v-loading="loading" :data="postList.rows" @selection-change="handleSelectionChange">
  200. <el-table-column
  201. :width="item.columnComment == 'id' ? '40' : item.columnComment == '姓名' ? '60' : '110'"
  202. :label="item.columnComment"
  203. align="left"
  204. :prop="item.columnName"
  205. v-for="(item, index) in postList.tableHeadList"
  206. :key="index"
  207. />
  208. </el-table>
  209. </div>
  210. <div class="index_haderPagin index_haderPaginfoiu">
  211. <!-- getLisail -->
  212. <el-pagination
  213. @size-change="handleSizeChangeali"
  214. @current-change="handleCurrentChangeali"
  215. :current-page.sync="currentPage3"
  216. :page-size="queryParamsail.pageSize"
  217. :small="true"
  218. layout="prev, pager, next, jumper"
  219. :total="totalali"
  220. ></el-pagination>
  221. </div>
  222. </div>
  223. <img src="../assets/images/pic_kpbg.png" alt="" class="index_navTimeimg" />
  224. </div>
  225. </div>
  226. </el-col>
  227. </el-col>
  228. </el-row>
  229. <!-- <el-divider /> -->
  230. <!-- 添加或修改公告对话框 -->
  231. <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="980px" append-to-body>
  232. <el-form ref="form" :model="form" :rules="queryData.rules" label-width="160px" class="from_index">
  233. <el-row>
  234. <el-col :span="24">
  235. <dynamic-forms
  236. @modelFn="modelFn"
  237. :ref="item.columnName"
  238. :config="form.fixedData"
  239. @inputs="changeFn"
  240. :formConfig="item"
  241. v-for="(item, index) in queryData.showData"
  242. :key="index"
  243. />
  244. </el-col>
  245. </el-row>
  246. </el-form>
  247. <div slot="footer" class="dialog-footer">
  248. <el-button type="primary" @click="handleQuery">确 定</el-button>
  249. <el-button @click="cancel">取 消</el-button>
  250. </div>
  251. </el-dialog>
  252. <!-- 通知公告弹窗 -->
  253. <el-dialog class="index_ese" :close-on-click-modal="false" :title="title" :visible.sync="openety" width="980px" append-to-body>
  254. <div class="index_headertan">
  255. <p v-html="actingk.notice_title == undefined ? '暂无数据' : actingk.notice_title"></p>
  256. <p>{{ actingk.create_time == undefined ? '暂无数据' : actingk.create_time }} 发布人:{{ actingk.create_by }}</p>
  257. <pre>
  258. <div v-html="actingk.notice_content"></div>
  259. </pre>
  260. </div>
  261. </el-dialog>
  262. </div>
  263. </template>
  264. <script>
  265. import {
  266. listIndex,
  267. getUserProfile,
  268. listIndextwo,
  269. listIndextherr,
  270. listIndexfou,
  271. listIndextanl,
  272. getConfig,
  273. delConfig,
  274. addConfig,
  275. addConfigindex,
  276. updateConfig,
  277. clearCache,
  278. delIndexnabd,
  279. listIndexber,
  280. getTableQuery,
  281. tjList
  282. } from '@/api/system/config';
  283. import Editor from '@/components/Editor';
  284. export default {
  285. name: 'index',
  286. components: {
  287. Editor
  288. },
  289. data() {
  290. return {
  291. // 版本号
  292. version: '2.5.0',
  293. currentPage3: 1,
  294. total: 0,
  295. totalprofile: 0,
  296. totalali: 0,
  297. pageSize: 6,
  298. activeName: 'second',
  299. // 是否显示弹出层
  300. open: false,
  301. // 弹出层标题
  302. title: '',
  303. value: new Date(),
  304. editableTabs: [],
  305. attendance: ['待我审批', '已办理', '我的流程', '驳回审批'],
  306. editableTabsteo: [],
  307. configList: [],
  308. queryParams: {
  309. table: 'sys_notice',
  310. orderBy: 'create_time desc',
  311. pageNo: 1,
  312. pageSize: 10,
  313. fixedData: {
  314. condition: {
  315. notice_type: 1,
  316. status: 0
  317. }
  318. }
  319. },
  320. queryParamstab: {
  321. table: 'sys_notice',
  322. orderBy: 'create_time desc',
  323. pageNo: 1,
  324. pageSize: 6,
  325. condition: {
  326. notice_type: 1
  327. }
  328. },
  329. // 公司概况
  330. queryParamstabprofile: {
  331. table: 'sys_info',
  332. orderBy: 'create_time desc',
  333. pageNo: 1,
  334. pageSize: 1,
  335. fixedData: {
  336. condition: {
  337. info_type: 1
  338. }
  339. }
  340. },
  341. // 日历
  342. queryParamscalendar: {
  343. table: 'sys_schedule',
  344. orderBy: 'create_time desc',
  345. pageNo: 1,
  346. pageSize: 10,
  347. fixedData: {
  348. condition: {
  349. create_by: ''
  350. }
  351. }
  352. },
  353. // 备忘录
  354. queryParamstabmemorandum: {
  355. table: 'sys_memorandum',
  356. orderBy: 'create_time desc',
  357. pageNo: 1,
  358. pageSize: 6,
  359. fixedData: {
  360. condition: {
  361. create_by: ''
  362. }
  363. }
  364. },
  365. // 通讯录
  366. queryParamsail: {
  367. table: 'sys_contacts',
  368. orderBy: 'create_time desc',
  369. pageNo: 1,
  370. pageSize: 3,
  371. fixedData: {
  372. condition: {}
  373. }
  374. },
  375. // 通讯录搜索
  376. queryParamsailss: {
  377. table: '',
  378. pageNo: 1,
  379. isUi: false,
  380. pageSize: 10,
  381. orderBy: 'create_time desc',
  382. fixedData: {
  383. condition: {}
  384. }
  385. },
  386. queryParamsijeu: {
  387. table: 'sys_contacts'
  388. },
  389. num: 0,
  390. numlist: 0,
  391. numprofile: 0,
  392. dictType: 'sys_notice_type',
  393. // 公司概况
  394. dictTypetwo: 'sys_describe_type',
  395. gettabList: [],
  396. getLisprofileone: [],
  397. // 备忘录
  398. getmemorandum: [],
  399. //通讯录参数
  400. aliemg: {
  401. table: 'sys_contacts',
  402. orderBy: 'create_time desc',
  403. pageNo: 1,
  404. pageSize: 4
  405. },
  406. tableDataalid: [],
  407. getLisaillie: [],
  408. alendarList: [],
  409. calendarData: [],
  410. tjsli:[],
  411. ary: [],
  412. tieku: '',
  413. comg: '',
  414. aekti: '',
  415. // 弹框数据
  416. form: {},
  417. // 表单校验
  418. rules: {},
  419. //日历弹框
  420. calendaradd: {
  421. table: 'sys_schedule',
  422. isUi: false,
  423. fixedData: {
  424. id: -1
  425. }
  426. },
  427. //备忘录弹框
  428. calendaraddmer: {
  429. table: 'sys_memorandum',
  430. isUi: false,
  431. fixedData: {
  432. id: -1
  433. }
  434. },
  435. // input
  436. inputList: [],
  437. // 时间
  438. dataList: [],
  439. //单选框
  440. radiolist: [],
  441. // 复选框
  442. chekbosList: [],
  443. //下拉框
  444. selectList: [],
  445. editorList: [],
  446. queryData: {},
  447. queryDatatwo: {},
  448. queryDatathre: {},
  449. queryDataali: {},
  450. nummer: 0, //0 是日历 1 是备忘录
  451. forme: {
  452. table: '',
  453. objId: -1,
  454. fixedData: {}
  455. },
  456. rjtu: [],
  457. truew: [],
  458. fales: [],
  459. postList: {},
  460. arr: '2,2,3,3,4,4',
  461. // 删除参数
  462. deledlid: {
  463. table: 'sys_memorandum',
  464. idList: [],
  465. user: {
  466. oldPassword: undefined,
  467. newPassword: undefined,
  468. confirmPassword: undefined
  469. },
  470. shower: true //判断删除图标是否显示
  471. },
  472. titlees: '通知公告', //通知公告弹框
  473. openety: false,
  474. actingk: {}
  475. };
  476. },
  477. created() {
  478. // console.log(this.user)
  479. this.unique(this.arr);
  480. this.getList();
  481. this.getListtab();
  482. this.getLiser();
  483. this.getLisprofile();
  484. // 用户信息
  485. this.getUser();
  486. // this.getLismemorandum() //备忘录
  487. this.getLisail(); //通讯录
  488. this.getLisailtwo();
  489. this.init();
  490. // 统计列表
  491. this.tiheyu()
  492. },
  493. computed: {
  494. // 时间高亮的数组
  495. brightDate() {
  496. // let ary = []
  497. var that = this;
  498. if (that.calendarData.length !== null) {
  499. for (var i = 0; i < that.calendarData.length; i++) {
  500. that.calendarData[i].love = 'yu';
  501. if (that.calendarData[i].remind_time !== undefined) {
  502. that.ary.push(that.calendarData[i].remind_time);
  503. }
  504. }
  505. }
  506. return that.ary;
  507. }
  508. },
  509. methods: {
  510. // 通讯录搜索
  511. init() {
  512. console.log(1243);
  513. getTableQuery({
  514. table: this.queryParamsijeu.table
  515. }).then(res => {
  516. let data = res.data;
  517. this.queryDataali = data;
  518. });
  519. },
  520. // Tooltip 文字提示
  521. content(date) {
  522. let data = date;
  523. let datase = date;
  524. let content = '';
  525. let conert = '';
  526. let conertre = '';
  527. let nujue = 0;
  528. for (var i = 0; i < this.calendarData.length; i++) {
  529. if (this.calendarData[i].schedule_content !== undefined) {
  530. this.calendarData[i].schedule_content = this.calendarData[i].schedule_content.replace(/<\/?[^>]*>/g, '');
  531. }
  532. if (data == this.calendarData[i].remind_time) {
  533. if (content == this.calendarData[i].schedule_content + '、') {
  534. content = content;
  535. } else {
  536. content = content + this.calendarData[i].schedule_content + '、';
  537. }
  538. }
  539. }
  540. return content;
  541. },
  542. modelFn(obj, cont) {
  543. this.$set(this.form, obj, cont);
  544. },
  545. //数据 第一部分列表
  546. getList() {
  547. this.loading = true;
  548. this.configList = [];
  549. listIndex(this.queryParams).then(response => {
  550. if (response.data.rows !== null) {
  551. this.configList = response.data.rows;
  552. } else {
  553. this.configList.push({ notice_title: '暂无数据' });
  554. }
  555. this.total = response.data.total;
  556. this.loading = false;
  557. });
  558. },
  559. //数据 第二部分列表
  560. getListtabone() {
  561. this.loading = true;
  562. listIndex(this.queryParams).then(response => {
  563. this.configList = response.data.rows;
  564. this.total = response.data.total;
  565. this.loading = false;
  566. });
  567. },
  568. //数据 第三部分列表
  569. getLisprofile() {
  570. // this.loading = true;
  571. listIndexber(this.queryParamstabprofile).then(response => {
  572. if (response.data !== undefined) {
  573. this.getLisprofileone = response.data.rows;
  574. if (response.data.rows !== null) {
  575. this.tieku = this.getLisprofileone[0].info_title;
  576. this.comg = this.getLisprofileone[0].info_content;
  577. } else {
  578. this.tieku = '暂无数据';
  579. this.comg = '暂无数据';
  580. }
  581. this.totalprofile = response.data.total;
  582. }
  583. this.loading = false;
  584. });
  585. },
  586. //数据 日历数据列表
  587. getLisalendar() {
  588. this.loading = true;
  589. this.queryParamscalendar.fixedData.condition.create_by = this.user.userName;
  590. listIndex(this.queryParamscalendar).then(response => {
  591. if (response.data !== undefined) {
  592. this.calendarData = response.data.rows;
  593. }
  594. this.loading = false;
  595. });
  596. },
  597. //数据 备忘录数据列表
  598. getLismemorandum() {
  599. this.loading = true;
  600. this.getmemorandum = [];
  601. this.queryParamstabmemorandum.fixedData.condition.create_by = this.user.userName;
  602. listIndex(this.queryParamstabmemorandum).then(response => {
  603. if (response.data !== undefined) {
  604. if (response.data.rows !== null) {
  605. this.shower = true;
  606. this.getmemorandum = response.data.rows;
  607. } else {
  608. this.shower = false;
  609. this.getmemorandum.push({ memorandum_title: '暂无数据', shower: false });
  610. }
  611. }
  612. this.loading = false;
  613. });
  614. },
  615. // 数据列表 通讯录数据
  616. getLisailtwo() {
  617. this.loading = true;
  618. listIndex(this.queryParamsail).then(response => {
  619. if (response.data !== undefined) {
  620. this.getLisaillie = response.data.rows;
  621. }
  622. this.totalali = response.data.total;
  623. this.loading = false;
  624. });
  625. },
  626. //tab 公告 栏数据
  627. getListtab() {
  628. this.loading = true;
  629. listIndextwo(this.dictType).then(response => {
  630. this.editableTabs = response.data;
  631. this.queryParams.dictType = response.data[1].dictType;
  632. // this.total = response.total;
  633. this.loading = false;
  634. });
  635. },
  636. // 公司概况 tab
  637. getLiser() {
  638. this.loading = true;
  639. listIndextherr(this.dictTypetwo).then(response => {
  640. this.editableTabsteo = response.data;
  641. // this.total = response.total;
  642. this.loading = false;
  643. });
  644. },
  645. // 通讯录表头
  646. getLisail() {
  647. this.loading = true;
  648. listIndexfou(this.queryParamsail).then(response => {
  649. if (response.data !== undefined) {
  650. this.tableDataalid = response.data.tableHeadList;
  651. this.postList = response.data;
  652. if (this.postList.rows !== null) {
  653. this.postList.rows.filter(route => {
  654. // route.dept_id = route.dept_id.value
  655. for (var item in route) {
  656. if (typeof route[item] == 'object') {
  657. route[item] = route[item].value;
  658. }
  659. }tableDataalid
  660. });
  661. }
  662. this.totalali = response.data.total;
  663. }
  664. this.loading = false;
  665. });
  666. },
  667. //日历新增弹框数据
  668. getLisalendaraddd() {
  669. this.loading = true;
  670. this.queryData = [];
  671. listIndextanl(this.calendaradd).then(response => {
  672. if (response.data !== undefined) {
  673. this.queryData = response.data;
  674. }
  675. this.loading = false;
  676. });
  677. },
  678. //备忘录新增弹框数据
  679. getLisalendaradddmer() {
  680. this.loading = true;
  681. this.queryData = [];
  682. listIndextanl(this.calendaraddmer).then(response => {
  683. if (response.data !== undefined) {
  684. this.queryData = response.data;
  685. }
  686. this.loading = false;
  687. });
  688. },
  689. goTarget(href) {
  690. window.open(href, '_blank');
  691. },
  692. handleSizeChange(val) {},
  693. handleCurrentChange(val) {
  694. this.queryParams.pageNo = val;
  695. this.getList();
  696. },
  697. // 公司概况
  698. handleSizeChangeprofile(val) {},
  699. handleCurrentChangeprofile(val) {
  700. this.queryParamstabprofile.pageNo = val;
  701. this.getLisprofile();
  702. },
  703. // 通讯录
  704. handleSizeChangeali(val) {},
  705. handleCurrentChangeali(val) {
  706. this.queryParamsail.pageNo = val;
  707. this.getLisail();
  708. },
  709. handleClick(tab, event) {},
  710. // 第一部分tab点击
  711. tabSbu(index) {
  712. this.num = index - 1;
  713. this.queryParams.fixedData.condition.notice_type = index;
  714. this.getList();
  715. },
  716. // 第二部分tab点击numlist
  717. tabList(index) {
  718. this.numlist = index;
  719. },
  720. // 第三部分tab点击
  721. tabSbuprofile(index) {
  722. this.numprofile = index - 1;
  723. this.queryParamstabprofile.fixedData.condition.info_type = index;
  724. this.getLisprofile();
  725. },
  726. // 表单重置
  727. reset() {
  728. (this.form = {}), this.resetForm('form');
  729. },
  730. // 取消按钮
  731. cancel() {
  732. this.open = false;
  733. this.openety = false;
  734. this.reset();
  735. },
  736. /** 新增按钮操作 */
  737. handleAdd() {
  738. this.nummer = 0;
  739. this.reset();
  740. this.form = {};
  741. this.getLisalendaraddd();
  742. this.open = true;
  743. this.title = '添加日程';
  744. },
  745. /** 提交按钮操作 */
  746. handleQuery() {
  747. for (let item of this.queryData.showData) {
  748. if (item.htmlType == 'checkbox' || item.htmlType == 'imageUpload' || item.htmlType == 'fileUpload') {
  749. this.form[item.columnName] = this.$refs[item.columnName][0].config;
  750. } else {
  751. this.form[item.columnName] = this.$refs[item.columnName][0].config[item.columnName];
  752. }
  753. }
  754. // this.forme = this.form
  755. if (this.nummer == 0) {
  756. this.forme.table = 'sys_schedule';
  757. this.forme.objId = -1;
  758. this.forme.fixedData = this.form;
  759. // if(this.forme.fixedData.remind_type !== undefined){
  760. // this.forme.fixedData.remind_type = this.forme.fixedData.remind_type.join(',');
  761. // }
  762. //日历
  763. addConfigindex(this.forme).then(response => {
  764. this.msgSuccess('新增成功');
  765. // this.open = false;
  766. this.getLisalendar();
  767. this.cancel();
  768. });
  769. } else if (this.nummer == 1) {
  770. // this.form.table = 'sys_memorandum'
  771. this.forme.table = 'sys_memorandum';
  772. this.forme.objId = -1;
  773. this.forme.fixedData = this.form;
  774. //备忘录
  775. addConfigindex(this.forme).then(response => {
  776. this.msgSuccess('新增成功');
  777. // this.open = false;
  778. this.getLismemorandum();
  779. this.cancel();
  780. });
  781. }
  782. // this.getList();
  783. },
  784. // 弹框
  785. changeFn(obj) {
  786. console.log(obj);
  787. for (let key in obj) {
  788. this.form.fixedData[key] = obj[key];
  789. }
  790. },
  791. // 新增备忘录
  792. memoere() {
  793. this.nummer = 1;
  794. this.open = true;
  795. this.title = '添加备忘录';
  796. this.getLisalendaradddmer();
  797. },
  798. // 备忘录删除
  799. index_deledetfe(id) {
  800. var that = this;
  801. that.deledlid.idList = [];
  802. that.deledlid.idList.push(id);
  803. this.$confirm('是否确认删除', '警告', {
  804. confirmButtonText: '确定',
  805. cancelButtonText: '取消',
  806. type: 'warning'
  807. })
  808. .then(function() {
  809. return delIndexnabd(that.deledlid);
  810. })
  811. .then(() => {
  812. this.getLismemorandum();
  813. this.msgSuccess('删除成功');
  814. // this.$router.go(-1)
  815. });
  816. },
  817. handleSelectionChange() {},
  818. // 字符串去重
  819. unique(arr) {
  820. let arfe = [];
  821. let serfgt = [];
  822. arfe = arr.split(',');
  823. for (var i = 0; i < arfe.length; i++) {
  824. if (serfgt.indexOf(arfe[i]) === -1) {
  825. serfgt.push(arfe[i]);
  826. }
  827. }
  828. // const res = new Map();
  829. // return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));
  830. },
  831. getUser() {
  832. getUserProfile().then(response => {
  833. this.user = response.data;
  834. this.getLisalendar();
  835. this.getLismemorandum();
  836. });
  837. },
  838. // 通知公告弹窗
  839. headerCld(index) {
  840. this.title = '通知公告';
  841. (this.openety = true), (this.actingk = index);
  842. },
  843. // 搜索
  844. handleQuerygty() {
  845. this.queryParams.pageNo = 1;
  846. this.grabFn(this.queryDataali.queryList, this.queryParamsail.fixedData.condition);
  847. this.getLisail();
  848. },
  849. // 抓取参数
  850. grabFn(arr, parForm) {
  851. for (let item of arr) {
  852. if (item.htmlType == 'checkbox' || item.htmlType == 'imageUpload' || item.htmlType == 'fileUpload') {
  853. if (this.$refs[item.columnName][0].config.length) {
  854. parForm[item.columnName] = this.$refs[item.columnName][0].config;
  855. }
  856. } else {
  857. parForm[item.columnName] = this.$refs[item.columnName][0].config[item.columnName];
  858. }
  859. }
  860. },
  861. // 搜索重置 通讯录
  862. resetQuery() {
  863. console.log(12436);
  864. this.queryParamsail.fixedData.condition = {};
  865. this.queryParamsail.pageNo = 1;
  866. // this.resetForm("queryParamsail");
  867. console.log(this.queryParamsail);
  868. this.getLisail();
  869. },
  870. // 统计列表
  871. tiheyu(){
  872. tjList().then(response => {
  873. this.tjsli = response.data;
  874. });
  875. }
  876. }
  877. };
  878. </script>
  879. <style lang="scss">
  880. .iejgu {
  881. .el-form-item__label {
  882. width: 40px !important;
  883. .el-input__inner {
  884. width: 60%;
  885. }
  886. }
  887. .el-form-item {
  888. width: 71%;
  889. }
  890. .el-form--inline .el-form-item {
  891. }
  892. .el-form--inline .el-form-item__content {
  893. width: 76%;
  894. }
  895. .el-form-item__content {
  896. width: 75%;
  897. }
  898. }
  899. .index_ese {
  900. .el-dialog__body {
  901. padding-top: 10px !important;
  902. }
  903. }
  904. .home {
  905. .el-tabs__header {
  906. margin-bottom: 5px !important;
  907. }
  908. .el-calendar-table tr td:first-child {
  909. border: 0 !important;
  910. }
  911. .el-calendar-table tr:first-child td {
  912. border: 0 !important;
  913. }
  914. .el-calendar-table td {
  915. border: 0 !important;
  916. }
  917. .el-calendar-table .el-calendar-day {
  918. height: 30px;
  919. text-align: center;
  920. line-height: 30px;
  921. border-radius: 30px;
  922. padding: 0;
  923. // background-color: #0B18E8;
  924. }
  925. .el-calendar-table td.is-selected {
  926. // background-color: #0B18E8;
  927. border-radius: 30px;
  928. }
  929. .el-calendar__header {
  930. border: 0;
  931. padding: 0 20px;
  932. }
  933. .el-calendar__body {
  934. padding-top: 0;
  935. padding-bottom: 0;
  936. }
  937. .el-pagination {
  938. padding-left: 0;
  939. }
  940. .index_headeNav {
  941. .el-tabs__item {
  942. position: relative;
  943. }
  944. }
  945. .el-table th.is-leaf,
  946. .el-table td {
  947. // border: 0 !important;
  948. }
  949. .el-table thead.is-group th{
  950. background-color: #f8f8f8 !important;
  951. }
  952. .el-table--medium td{
  953. padding: 12px 0 !important;
  954. }
  955. .el-calendar__title {
  956. font-size: 12px;
  957. }
  958. .el-table td {
  959. padding: 6px 0;
  960. }
  961. .index_haderPaginfoiu {
  962. .el-pagination__jump {
  963. display: block !important;
  964. text-align: center;
  965. margin-left: 0;
  966. }
  967. }
  968. .everyDay {
  969. display: inline-block;
  970. width: 20px;
  971. height: 20px;
  972. line-height: 20px;
  973. background-color: #409eff;
  974. color: #fff;
  975. border-radius: 50%;
  976. margin-top: 5px;
  977. }
  978. }
  979. </style>
  980. <style scoped lang="scss">
  981. .home {
  982. // tab
  983. .index_headetab {
  984. display: flex;
  985. border-bottom: 1px solid #e5e5e5;
  986. height: 65px;
  987. padding-top: 10px;
  988. padding-bottom: 10px;
  989. span {
  990. cursor: pointer;
  991. width: 80px;
  992. // flex: 1;
  993. text-align: center;
  994. line-height: 55px;
  995. height: 55px;
  996. font-size: 15px;
  997. font-family: PingFang SC;
  998. font-weight: bold;
  999. color: #666;
  1000. position: relative;
  1001. overflow: hidden;
  1002. white-space: nowrap;
  1003. text-overflow: ellipsis;
  1004. // flex: 1;
  1005. // border-bottom: ;
  1006. }
  1007. .span {
  1008. content: '';
  1009. display: block;
  1010. width: 18px;
  1011. height: 8px;
  1012. border-radius: 3px;
  1013. background-color: #3c8dbc;
  1014. color: #3c8dbc !important;
  1015. // position: absolute;
  1016. // border-bottom: ;
  1017. }
  1018. .spanto {
  1019. color: #3c8dbc;
  1020. border-bottom: 3px solid #3c8dbc;
  1021. }
  1022. }
  1023. p {
  1024. margin: 0;
  1025. }
  1026. ul {
  1027. margin: 0;
  1028. padding: 0;
  1029. }
  1030. background-color: #eef0ff;
  1031. blockquote {
  1032. padding: 10px 20px;
  1033. margin: 0 0 20px;
  1034. font-size: 17.5px;
  1035. border-left: 5px solid #eee;
  1036. }
  1037. .index_heade {
  1038. // border: 1px solid #eee;
  1039. // width: 100%;
  1040. padding: 0 20px;
  1041. height: 570px;
  1042. background-color: #fff;
  1043. position: relative;
  1044. border-radius: 6px;
  1045. .index_headerImg {
  1046. width: 23px;
  1047. height: 6px;
  1048. position: absolute;
  1049. right: 20px;
  1050. top: 32px;
  1051. }
  1052. .index_headerUl {
  1053. width: 100%;
  1054. padding: 0;
  1055. margin: 0;
  1056. height: 85%;
  1057. li {
  1058. margin: 0;
  1059. display: flex;
  1060. justify-content: space-between;
  1061. align-items: center;
  1062. height: 43px;
  1063. cursor: pointer;
  1064. img {
  1065. width: 11px;
  1066. height: 13px;
  1067. }
  1068. p {
  1069. font-size: 14px;
  1070. font-family: PingFang SC;
  1071. font-weight: 400;
  1072. color: #343434;
  1073. line-height: 36px;
  1074. margin: 0;
  1075. text-align: left;
  1076. flex: 1;
  1077. padding: 0 18px;
  1078. overflow: hidden;
  1079. text-overflow: ellipsis;
  1080. white-space: nowrap;
  1081. }
  1082. span {
  1083. font-size: 14px;
  1084. font-family: PingFang SC;
  1085. font-weight: 400;
  1086. color: #343434;
  1087. line-height: 36px;
  1088. }
  1089. }
  1090. }
  1091. .index_haderPagin {
  1092. display: flex;
  1093. justify-content: space-between;
  1094. align-items: center;
  1095. margin-top: 30px;
  1096. span {
  1097. flex: 1;
  1098. font-size: 12px;
  1099. font-family: PingFang SC;
  1100. font-weight: 400;
  1101. color: #343434;
  1102. text-align: right;
  1103. // line-height: 36px;
  1104. }
  1105. }
  1106. }
  1107. //表格样式
  1108. .index_headeNav {
  1109. padding: 0 20px;
  1110. height: 550px;
  1111. background-color: #fff;
  1112. position: relative;
  1113. border-radius: 6px;
  1114. .tab_i {
  1115. position: absolute;
  1116. right: 1px;
  1117. top: 5px;
  1118. border-radius: 50%;
  1119. // display: block;
  1120. width: 15px;
  1121. height: 15px;
  1122. line-height: 15px;
  1123. text-align: center;
  1124. color: #fff;
  1125. background-color: red;
  1126. overflow: hidden; //超出的文本隐藏
  1127. text-overflow: ellipsis; //溢出用省略号显示
  1128. white-space: nowrap; //溢出不换行
  1129. font-size: 11px;
  1130. font-family: PingFang SC;
  1131. font-weight: bold;
  1132. }
  1133. }
  1134. .index_nav {
  1135. // border: 1px solid #eee;
  1136. background-color: #fff;
  1137. height: 315px;
  1138. box-shadow: 0px 4px 4px 0px rgba(130, 150, 162, 0.64);
  1139. border-radius: 6px;
  1140. .index_navTime {
  1141. height: 270px;
  1142. position: relative;
  1143. }
  1144. .index_navTimeimg {
  1145. height: 47px;
  1146. width: 100%;
  1147. position: absolute;
  1148. bottom: -76px;
  1149. left: 0;
  1150. }
  1151. .index_navTimep {
  1152. padding: 10px 0;
  1153. margin: 0 20px;
  1154. margin-bottom: 10px;
  1155. border-bottom: 1px solid #e5e5e5;
  1156. display: flex;
  1157. justify-content: space-between;
  1158. align-items: center;
  1159. span:nth-child(1) {
  1160. font-size: 15px;
  1161. font-family: PingFang SC;
  1162. font-weight: bold;
  1163. color: #3c8dbc;
  1164. }
  1165. span:nth-child(1)::before {
  1166. content: '';
  1167. display: block;
  1168. width: 18px;
  1169. height: 8px;
  1170. background: #3c8dbc;
  1171. border-radius: 3px;
  1172. }
  1173. span:nth-child(2) {
  1174. font-size: 12px;
  1175. font-family: PingFang SC;
  1176. font-weight: 400;
  1177. color: #3c8dbc;
  1178. cursor: pointer;
  1179. }
  1180. }
  1181. }
  1182. // 公司概况样式
  1183. .index_headeProfile {
  1184. margin-top: 40px;
  1185. margin-bottom: 20px;
  1186. height: 590px;
  1187. .index_profilep {
  1188. font-size: 12px;
  1189. font-family: PingFang SC;
  1190. font-weight: bold;
  1191. color: #343434;
  1192. line-height: 27px;
  1193. text-indent: 2em;
  1194. height: 368px;
  1195. overflow-y: hidden;
  1196. // p{
  1197. // }
  1198. }
  1199. .index_haderPagin {
  1200. margin-top: 25px;
  1201. }
  1202. .index_headerImg {
  1203. width: 21px;
  1204. height: 21px;
  1205. top: 19px;
  1206. }
  1207. }
  1208. // 备忘录样式
  1209. .index_memoranduNnavTime {
  1210. height: 335px;
  1211. margin-top: 90px;
  1212. position: relative;
  1213. .index_navTimep {
  1214. padding: 20px 0;
  1215. // margin-bottom: 20px;
  1216. }
  1217. .index_navTimeimg {
  1218. height: 47px;
  1219. width: 100%;
  1220. position: absolute;
  1221. bottom: -76px;
  1222. left: 0;
  1223. bottom: -96px;
  1224. }
  1225. .imjud {
  1226. width: 23px;
  1227. height: 6px;
  1228. position: absolute;
  1229. right: 20px;
  1230. bottom: -50px;
  1231. }
  1232. ul {
  1233. padding: 0 20px;
  1234. li {
  1235. display: flex;
  1236. justify-content: space-between;
  1237. align-items: center;
  1238. border-bottom: 1px dashed #e5e5e5;
  1239. p {
  1240. font-size: 12px;
  1241. font-family: PingFang SC;
  1242. font-weight: 400;
  1243. color: #343434;
  1244. line-height: 36px;
  1245. flex: 1;
  1246. }
  1247. .index_navspande {
  1248. display: flex;
  1249. justify-content: space-between;
  1250. align-items: center;
  1251. span {
  1252. font-size: 12px;
  1253. font-family: PingFang SC;
  1254. font-weight: 400;
  1255. color: #343434;
  1256. line-height: 36px;
  1257. flex: 1;
  1258. white-space: nowrap;
  1259. overflow: hidden;
  1260. text-overflow: ellipsis;
  1261. // width: 20%;
  1262. }
  1263. img {
  1264. width: 16px;
  1265. height: 16px;
  1266. margin-left: 5px;
  1267. cursor: pointer;
  1268. }
  1269. }
  1270. }
  1271. }
  1272. }
  1273. //通讯录样式
  1274. .index_memoranduMail {
  1275. height: 363px;
  1276. margin-top: 100px;
  1277. .index_navTimeimgtwo {
  1278. width: 23px;
  1279. height: 6px;
  1280. }
  1281. .index_navTimep {
  1282. padding: 20px 0;
  1283. }
  1284. .index_memoranduMailnav {
  1285. padding: 0 20px;
  1286. height: 90%;
  1287. }
  1288. .index_navTimeimg {
  1289. height: 47px;
  1290. width: 100%;
  1291. position: absolute;
  1292. bottom: -76px;
  1293. left: 0;
  1294. bottom: -126px;
  1295. }
  1296. .index_haderPagin {
  1297. margin-top: 10px;
  1298. }
  1299. }
  1300. }
  1301. // table
  1302. .tab_tol {
  1303. // display: flex;
  1304. height: 80%;
  1305. .tr_one {
  1306. display: flex;
  1307. justify-content: space-around;
  1308. width: 100%;
  1309. th {
  1310. flex: 1;
  1311. font-size: 12px;
  1312. font-family: PingFang SC;
  1313. font-weight: bold;
  1314. color: #343434;
  1315. line-height: 36px;
  1316. overflow: hidden;
  1317. text-overflow: ellipsis;
  1318. white-space: nowrap;
  1319. }
  1320. }
  1321. .two_tr {
  1322. display: flex;
  1323. justify-content: space-around;
  1324. font-size: 12px;
  1325. font-family: PingFang SC;
  1326. font-weight: bold;
  1327. color: #343434;
  1328. line-height: 36px;
  1329. td {
  1330. flex: 1;
  1331. overflow: hidden;
  1332. text-overflow: ellipsis;
  1333. white-space: nowrap;
  1334. }
  1335. }
  1336. .two_trtwo {
  1337. background-color: #f2f2f2;
  1338. }
  1339. }
  1340. // 通知公告弹窗
  1341. .index_headertan {
  1342. margin: 0 30px;
  1343. p {
  1344. margin: 0;
  1345. }
  1346. p:nth-child(1) {
  1347. font-size: 24px;
  1348. font-family: PingFang SC;
  1349. font-weight: bold;
  1350. color: #343434;
  1351. line-height: 42px;
  1352. text-align: center;
  1353. margin-bottom: 10px;
  1354. text-indent: 0em;
  1355. }
  1356. p:nth-child(2) {
  1357. font-size: 16px;
  1358. font-family: PingFang SC;
  1359. font-weight: 400;
  1360. color: #666666;
  1361. line-height: 24px;
  1362. text-align: center;
  1363. margin-bottom: 20px;
  1364. text-indent: 0em;
  1365. }
  1366. pre {
  1367. font-size: 16px;
  1368. font-family: PingFang SC;
  1369. font-weight: 400;
  1370. color: #343434;
  1371. }
  1372. }
  1373. pre {
  1374. white-space: pre-wrap;
  1375. }
  1376. </style>