Account.vue 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <style lang="scss">
  2. .preview{
  3. .el-form-item{
  4. margin-bottom:15px;
  5. }
  6. label,p{
  7. line-height: 25px !important;
  8. }
  9. }
  10. </style>
  11. <template>
  12. <section>
  13. <p>账号管理</p>
  14. <div class="content">
  15. <div class="filter">
  16. <el-form size="small" label-width="70px" :inline="true" label-position="left">
  17. <el-form-item label="">
  18. <el-input clearable placeholder="请输入信息标题" v-model="form.name"></el-input>
  19. </el-form-item>
  20. <el-form-item>
  21. <el-button type="primary">搜索</el-button>
  22. </el-form-item>
  23. <el-form-item style="float:right" >
  24. <el-button @click="dialogVisible=true,edit=0" type="primary">发送消息</el-button>
  25. </el-form-item>
  26. </el-form>
  27. </div>
  28. <el-table
  29. class="table"
  30. :data="list" height="57vh"
  31. border v-loading="loading"
  32. default-expand-all row-key="id"
  33. style="width: 100%">
  34. <el-table-column
  35. prop="name" width="300"
  36. label="标题">
  37. </el-table-column>
  38. <el-table-column
  39. prop="username"
  40. label="发送者">
  41. </el-table-column>
  42. <el-table-column
  43. prop="area"
  44. label="接收者">
  45. </el-table-column>
  46. <el-table-column
  47. prop="area"
  48. label="发送时间">
  49. </el-table-column>
  50. <el-table-column
  51. prop="zip" width="150"
  52. label="操作">
  53. <template slot-scope="">
  54. <el-button type="text" @click="dialogVisible=true,edit=1">查看</el-button>
  55. <el-button class="edit" type="text" @click="dialogVisible=true,edit=0">编辑</el-button>
  56. <el-button class="del" @click="del" type="text">删除</el-button>
  57. </template>
  58. </el-table-column>
  59. </el-table>
  60. <Page ref="pageButton" :current='form.page' :page_size='form.page_size' :total='total' @pageChange='gopage'/>
  61. </div>
  62. <el-dialog
  63. title="发送通知消息" :close-on-click-modal='false'
  64. :visible.sync="dialogVisible">
  65. <el-form size="small" class="preview" :inline='false' label-width="80px">
  66. <el-form-item label="标题">
  67. <p v-if='edit'>关于集中使用期刊公众号的通知</p>
  68. <el-input v-else v-model="form.name"></el-input>
  69. </el-form-item>
  70. <el-form-item label="消息内容">
  71. <p v-if='edit'>
  72. 关于集中使用期刊公众号的通知关于集中使用期刊公众号的通知
  73. 关于集中使用期刊公众号的通知关于集中使用期刊公众号的通知
  74. 关于集中使用期刊公众号的通知关于集中使用期刊公众号的通知
  75. </p>
  76. <el-input v-else v-model="form.name" type="textarea"></el-input>
  77. </el-form-item>
  78. <el-form-item label="文件">
  79. <p v-if='edit'>
  80. <el-link type="primary">关于集中使用期刊公众号的通知.docx</el-link><br>
  81. <el-link type="primary">关于集中使用期刊公众号的通知.docx</el-link>
  82. </p>
  83. <el-button v-else class="upload_btn" plain type="primary">选择文件 <input type="file"></el-button>
  84. </el-form-item>
  85. <el-form-item label="接收人">
  86. <el-input placeholder="请输入内容" v-model="input" class="input-with-select">
  87. <el-button slot="append" icon="el-icon-search"></el-button>
  88. </el-input>
  89. <el-tree
  90. :data="data"
  91. show-checkbox
  92. node-key="id" default-expand-all
  93. :props="defaultProps">
  94. </el-tree>
  95. </el-form-item>
  96. </el-form>
  97. <span slot="footer" class="dialog-footer">
  98. <el-button size="small" type="primary" @click="dialogVisible = false">确 定</el-button>
  99. </span>
  100. </el-dialog>
  101. </section>
  102. </template>
  103. <script>
  104. import Page from '../../components/Page';
  105. export default {
  106. components:{
  107. Page
  108. },
  109. data(){
  110. return{
  111. edit:0,
  112. form:{name:'',page:1,page_size:20},
  113. total:1,
  114. list:[{name:'2333'}],
  115. loading:false,
  116. input:'',
  117. dialogVisible:false,
  118. defaultProps:{},
  119. data: [{
  120. id: 1,
  121. label: '一级 1'
  122. }, {
  123. id: 2,
  124. label: '一级 2',
  125. children: [{
  126. id: 5,
  127. label: '二级 2-1'
  128. }, {
  129. id: 6,
  130. label: '二级 2-2'
  131. }]
  132. }],
  133. }
  134. },
  135. methods:{
  136. gopage(size){
  137. if(size){
  138. this.form.page_size=size
  139. }
  140. this.form.page=this.$refs.pageButton.page
  141. this.getData()
  142. },
  143. handleSelectionChange(val) {
  144. this.multipleSelection = val;
  145. },
  146. gopage1(size){
  147. if(size){
  148. this.form1.page_size=size
  149. }
  150. this.form1.page=this.$refs.pageButton1.page
  151. this.getJl()
  152. },
  153. open(data) {
  154. this.dialogFormVisible=true;
  155. this.message={...data}
  156. },
  157. download(){
  158. let array=this.multipleSelection,ids=[];
  159. for(let i=0;i<array.length;i++){
  160. ids.push(array[i].id)
  161. }
  162. ids=ids.join(',')
  163. this.$api.downloadMon({ids:ids}).then(res=>{
  164. var elink = document.createElement('a');
  165. let blob=new Blob([res.data], {type: 'application/vnd.ms-excel'});
  166. let objUrl=URL.createObjectURL(blob);
  167. console.log(res.headers['content-disposition'])
  168. let file_name=res.headers['content-disposition'].split('=')[1];
  169. elink.download = file_name;
  170. elink.style.display = 'none';
  171. elink.href = objUrl;
  172. document.body.appendChild(elink);
  173. elink.click();
  174. document.body.removeChild(elink);
  175. })
  176. },
  177. prview(id){
  178. this.form1.enterprise_id=id;
  179. this.getJl();
  180. this.dialogFormVisible1=true
  181. },
  182. getJl(){
  183. var parm=this.form1;
  184. this.$api.getMonitjobList(parm).then(res=>{
  185. this.data=res.data.data.list
  186. this.total1=res.data.data.total
  187. })
  188. },
  189. detail(id){
  190. this.$router.push({ path: '/company/detail', query: { id: id,page:this.form.page,page_size:this.form.page_size } });
  191. },
  192. getData(){
  193. var parm=this.form;
  194. this.loading=true
  195. this.$api.getEnterpriseList(parm).then(res=>{
  196. this.list=res.data.data.list;
  197. // list.forEach(item => {
  198. // if(item.children.length>0){
  199. // item.hasChildren=true
  200. // }else{
  201. // item.hasChildren=false
  202. // }
  203. // });
  204. this.total=res.data.data.total
  205. this.loading=false
  206. this.area=this.store.area;
  207. this.category=this.store.categorys;
  208. })
  209. },
  210. del(id){
  211. this.$confirm('确定删除吗', '提示', {
  212. type: 'warning'
  213. }).then(() => {
  214. this.$api.deleteEnterprise({id:id}).then((res)=>{
  215. this.$message({
  216. message: '删除成功',
  217. type: 'success'
  218. })
  219. this.getData()
  220. })
  221. })
  222. },
  223. permission(name){
  224. let permissions=this.info.permissions||[];
  225. let list=[];
  226. for(let i=0;i<permissions.length;i++){
  227. list.push(permissions[i].name)
  228. }
  229. if(list.indexOf(name)<0){
  230. return false;
  231. }else{
  232. return true;
  233. }
  234. },
  235. },
  236. created(){
  237. }
  238. }
  239. </script>