index.vue 38 KB

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