index.vue 38 KB

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