| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- <template>
- <el-container class="monthReport">
- <el-card class="box-card">
- <h2 class="title_monthReport">通知公告管理</h2>
- <el-form :inline="true" size="small" class="demo-form-inline" label-width="50px">
- <el-form-item label="标题">
- <el-input v-model="searchForm.title" placeholder="请输入" clearable></el-input>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" size="mini" @click="searchBtn">查询</el-button>
- <el-button type="primary" size="mini" @click="addBtn" v-if="ownPriv('manage')">添加</el-button>
- </el-form-item>
- </el-form>
- <div>
- <el-table
- border
- ref="multipleTable"
- :height="tableHeight"
- :data="tableData"
- tooltip-effect="dark"
- style="width: 100%"
- v-loading="loading">
- <el-table-column
- header-align="center"
- align="center"
- prop="ordr"
- label="显示顺序"
- width="100"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="title"
- label="标题"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="des"
- label="内容"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="persNm"
- width="120"
- label="创建人"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="pubDep"
- width="120"
- label="发布单位"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="intm"
- width="120"
- :formatter="formatDate"
- label="创建时间"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- prop="uptm"
- width="120"
- :formatter="formatDate"
- label="更新时间"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- align="center"
- width="220"
- v-if="ownPriv('manage')"
- label="操作"
- fixed="right">
- <template slot-scope="scope">
- <el-button type="success" size="mini" @click.stop="edit(scope.row)">编辑</el-button>
- <el-button type="danger" size="mini" @click.stop="deleteData(scope.row.id)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- style="margin: 10px auto"
- background
- :pager-count="5"
- :current-page="pageNum"
- :page-size="pageSize"
- :page-sizes="[10, 20, 30, 40, 50, 100]"
- layout="sizes, total, prev, pager, next"
- :total="total"
- @current-change="handleCurrentChange"
- ></el-pagination>
- </div>
- </el-card>
- <el-dialog
- class="outerDialog custom_dialog"
- :title="dialogT"
- width="50%"
- @close="closeAddDialog"
- :visible.sync="addDialogVisible">
- <div style="width: 100%;height:100%;">
- <el-form ref="addForm" label-width="100px">
- <el-form-item label="序号" required>
- <el-input v-model="addForm.ordr" placeholder="请输入"></el-input>
- </el-form-item>
- <el-form-item label="标题" required>
- <el-input v-model="addForm.title" placeholder="请输入"></el-input>
- </el-form-item>
- <el-form-item label="发布单位" required>
- <el-input v-model="addForm.pubDep" placeholder="请输入"></el-input>
- </el-form-item>
- <el-form-item label="内容" required>
- <Tinymce :value="content" @input="newContent" v-if="addDialogVisible"></Tinymce>
- </el-form-item>
- <el-form-item style="text-align: center">
- <el-button type="primary" @click="addSubmit" style="margin-bottom: 30px;">确定</el-button>
- </el-form-item>
- </el-form>
- </div>
- </el-dialog>
- </el-container>
- </template>
- <script>
- import Tinymce from '../../widgets/tinymce/tinymce'
- import request from '@util/gw_ajax_request'
- export default {
- name: "",
- props: [],
- data() {
- return {
- dialogT:"",
- addDialogVisible:false,
- tableHeight:window.innerHeight-300,
- tableData:[],
- loading:false,
- pageNum:1,
- pageSize:10,
- total:0,
- searchForm:{
- title:""
- },
- YM:"",
- orgIdDefault:"",
- addForm:{
- ordr:"",
- title:"",
- pubDep:"",
- des:""
- },
- content:""
- }
- },
- components: {
- Tinymce
- },
- computed: {
- persId() {
- return localStorage.getItem("userid")
- ? localStorage.getItem("userid")
- : "1098101939614724096";
- },
- orgId() {
- return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
- },
- organCode() {
- return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
- },
- },
- mounted() {
- this.initTableData();
- },
- methods: {
- newContent(val){
- //debugger
- this.$set(this.addForm,"des",val);
- },
- formatDate(row,column){
- var date = row[column.property];
- if(date==null || date==""){
- return "";
- }
- var date = new Date(date);
- return date.getFullYear()+"-"+((date.getMonth()+1)>9?date.getMonth()+1:"0"+(date.getMonth()+1))+"-"+(date.getDate()>9?date.getDate():"0"+date.getDate());
- },
- deleteData(id){
- var _self = this;
- this.$confirm('确定删除该条数据吗, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- request.post('/bis/insp/news/delete/'+id).then(res=>{
- if(res.success){
- _self.initTableData();
- }else{
- _self.$message.warning(res.message);
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
- edit(row){
- var obj = JSON.stringify(row);
- this.addDialogVisible = true;
- this.addForm = JSON.parse(obj);
- this.content = this.addForm.des;
- this.dialogT = "编辑";
- },
- addSubmit(){
- if(!this.addForm.ordr){
- this.$message.warning("请输入序号");
- return;
- }
- if(!/^[1-9]\d*$/.test(this.addForm.ordr)){
- this.$message.warning("请输入大于0的正整数");
- return;
- }
- if(!this.addForm.title){
- this.$message.warning("请输入标题");
- return;
- }
- if(!this.addForm.pubDep){
- this.$message.warning("请输入发布单位");
- return;
- }
- if(!this.addForm.des){
- this.$message.warning("请输入内容");
- return;
- }
- this.addForm.app = localStorage.getItem("ownApp");
- var _self = this;
- request.post('/bis/insp/news',this.addForm).then(res=>{
- if(res.success){
- _self.$message.success("保存成功");
- _self.addDialogVisible = false;
- _self.addForm = {};
- _self.initTableData();
- }else{
- _self.$message.warning(res.message);
- }
- })
- },
- selectOrgChange(data){
- this.addForm.unitName = data.name;
- },
- clearRecv(){
- this.addForm.unitName = "";
- },
- closeAddDialog(){
- this.addDialogVisible = false;
- },
- initTableData(){
- this.searchForm.pageNum = this.pageNum;
- this.searchForm.pageSize = this.pageSize;
- this.searchForm.persId = this.persId;
- this.searchForm.app = localStorage.getItem("ownApp");
- this.loading = true;
- var _self = this;
- request.post('/bis/insp/news/findPage',this.searchForm).then(res=>{
- if(res.success){
- _self.tableData = res.data.list;
- _self.total = res.data.total;
- _self.loading = false;
- }else{
- _self.$message.warning(res.message)
- }
- })
- },
- handleCurrentChange(val){
- this.pageNum = val;
- this.initTableData();
- },
- searchBtn(){
- this.initTableData();
- },
- addBtn(){
- this.addForm = {};
- this.addDialogVisible = true;
- this.content = "";
- this.dialogT = "添加"
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .monthReport /deep/.tox-menu{
- z-index: 2300!important;
- }
- .monthReport{
- width: 100%;
- height:100%;
- margin: 0;
- padding: 0;
- }
- .box-card{
- width: calc(100% - 60px);
- height:calc(100% - 20px);
- margin: 0 auto;
- margin-top: 10px;
- }
- .title_monthReport{
- text-align: center;
- padding: 10px;
- }
- .note_monthReport{
- width: 100%;
- background-color: rgba(255, 251, 230, 1);
- box-sizing: border-box;
- border-width: 1px;
- border-style: solid;
- border-color: rgba(255, 229, 143, 1);
- color: rgba(0, 0, 0, 0.447058823529412);
- font-size: 14px;
- padding: 10px;
- }
- .note_monthReport p:first-child{
- font-size: 16px !important;
- }
- .monthReport{
- .demo-form-inline{
- .el-form-item{
- margin-bottom: 5px;
- margin-top: 8px;
- }
- }
- }
- </style>
|