|  | @ -2,21 +2,31 @@ | 
		
	
		
			
				|  |  |   <div class="list_warp"> |  |  |   <div class="list_warp"> | 
		
	
		
			
				|  |  |     <el-row :gutter="15"> |  |  |     <el-row :gutter="15"> | 
		
	
		
			
				|  |  |       <el-col> |  |  |       <el-col> | 
		
	
		
			
				|  |  |  |  |  |         <!-- v-loading="crud.loading" --> | 
		
	
		
			
				|  |  |         <el-table |  |  |         <el-table | 
		
	
		
			
				|  |  |           ref="table" |  |  |           ref="table" | 
		
	
		
			
				|  |  |           v-loading="crud.loading" |  |  |  | 
		
	
		
			
				|  |  |           :data="tableData" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           :data="urgentMessage" | 
		
	
		
			
				|  |  |           :header-cell-style="{ background: '#3a8aeb', color: '#fff' }" |  |  |           :header-cell-style="{ background: '#3a8aeb', color: '#fff' }" | 
		
	
		
			
				|  |  |           @selection-change="handleSelectionChange" |  |  |           @selection-change="handleSelectionChange" | 
		
	
		
			
				|  |  |         > |  |  |         > | 
		
	
		
			
				|  |  |           <el-table-column type="selection" width="55" /> |  |  |           <el-table-column type="selection" width="55" /> | 
		
	
		
			
				|  |  |           <el-table-column label="序号" type="index" align="center" prop="name" width="50" /> |  |  |  | 
		
	
		
			
				|  |  |           <el-table-column label="发布内容" align="center" prop="content" width="400" /> |  |  |  | 
		
	
		
			
				|  |  |           <el-table-column label="通知时间" align="center" prop="date" /> |  |  |  | 
		
	
		
			
				|  |  |           <el-table-column label="发布人" align="center" prop="user" /> |  |  |  | 
		
	
		
			
				|  |  |           <el-table-column label="状态" align="center" prop="enabled"> |  |  |  | 
		
	
		
			
				|  |  |             <template slot-scope="scope"> |  |  |  | 
		
	
		
			
				|  |  |               <div :class="{ 'stop_txt': scope.row.enabled }">{{ scope.row.enabled ? '发布中' : '停止' }}</div> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <!-- prop="name"  --> | 
		
	
		
			
				|  |  |  |  |  |           <el-table-column label="序号" type="index" align="center" width="50" /> | 
		
	
		
			
				|  |  |  |  |  |           <el-table-column label="发布内容" align="center" prop="context" width="400" > | 
		
	
		
			
				|  |  |  |  |  |             <template slot-scope="{row}"> | 
		
	
		
			
				|  |  |  |  |  |               <div>{{row.context}}</div> | 
		
	
		
			
				|  |  |  |  |  |             </template> | 
		
	
		
			
				|  |  |  |  |  |           </el-table-column> | 
		
	
		
			
				|  |  |  |  |  |           <el-table-column label="通知时间" align="center" prop="create_time" > | 
		
	
		
			
				|  |  |  |  |  |              <template slot-scope="{row}">           | 
		
	
		
			
				|  |  |  |  |  |             <div>{{ row.create_time | parseTime }}</div> | 
		
	
		
			
				|  |  |  |  |  |           </template> | 
		
	
		
			
				|  |  |  |  |  |           </el-table-column> | 
		
	
		
			
				|  |  |  |  |  |           | 
		
	
		
			
				|  |  |  |  |  |           <el-table-column label="发布人" align="center" prop="creater_name" /> | 
		
	
		
			
				|  |  |  |  |  |           <el-table-column label="状态" align="center" prop="is_state"> | 
		
	
		
			
				|  |  |  |  |  |             <template slot-scope="{row}"> | 
		
	
		
			
				|  |  |  |  |  |               <div :class="{ 'stop_txt': row.is_state}">{{ row.is_state==1 ? '发布中' : '停止' }}</div> | 
		
	
		
			
				|  |  |             </template> |  |  |             </template> | 
		
	
		
			
				|  |  |           </el-table-column> |  |  |           </el-table-column> | 
		
	
		
			
				|  |  |           <el-table-column label="操作" width="120px" align="center" fixed="right"> |  |  |           <el-table-column label="操作" width="120px" align="center" fixed="right"> | 
		
	
	
		
			
				|  | @ -24,18 +34,16 @@ | 
		
	
		
			
				|  |  |               <el-button |  |  |               <el-button | 
		
	
		
			
				|  |  |                 type="primary" |  |  |                 type="primary" | 
		
	
		
			
				|  |  |                 class="edit_btn" |  |  |                 class="edit_btn" | 
		
	
		
			
				|  |  |                 @click="editFormData(scope.$index, scope.row)" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 @click="editFormData(scope.row)" | 
		
	
		
			
				|  |  |               >编辑</el-button> |  |  |               >编辑</el-button> | 
		
	
		
			
				|  |  |               <el-button |  |  |               <el-button | 
		
	
		
			
				|  |  |                 type="primary" |  |  |                 type="primary" | 
		
	
		
			
				|  |  |                 :class="['start_btn', { 'stop_btn': scope.row.enabled }]" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 :class="['start_btn', { 'stop_btn': scope.row.is_state==1 }]" | 
		
	
		
			
				|  |  |                 @click="isStopHandle(scope.$index, scope.row)" |  |  |                 @click="isStopHandle(scope.$index, scope.row)" | 
		
	
		
			
				|  |  |               >{{ scope.row.enabled ? '停止' : '恢复' }}</el-button> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |               >{{ scope.row.is_state==1 ? '停止' : '恢复' }}</el-button> | 
		
	
		
			
				|  |  |             </template> |  |  |             </template> | 
		
	
		
			
				|  |  |           </el-table-column> |  |  |           </el-table-column> | 
		
	
		
			
				|  |  |         </el-table> |  |  |         </el-table> | 
		
	
		
			
				|  |  |         <!--分页组件--> |  |  |  | 
		
	
		
			
				|  |  |         <pagination /> |  |  |  | 
		
	
		
			
				|  |  |       </el-col> |  |  |       </el-col> | 
		
	
		
			
				|  |  |     </el-row> |  |  |     </el-row> | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
	
		
			
				|  | @ -50,13 +58,13 @@ | 
		
	
		
			
				|  |  |         <el-form ref="form" :model="form" size="small" label-width="100px"> |  |  |         <el-form ref="form" :model="form" size="small" label-width="100px"> | 
		
	
		
			
				|  |  |           <el-form-item |  |  |           <el-form-item | 
		
	
		
			
				|  |  |             label="文本颜色" |  |  |             label="文本颜色" | 
		
	
		
			
				|  |  |             prop="color" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             prop="context_color" | 
		
	
		
			
				|  |  |             :rules="[ |  |  |             :rules="[ | 
		
	
		
			
				|  |  |               { required: true, message: '请选择文本内容', trigger: '' } |  |  |               { required: true, message: '请选择文本内容', trigger: '' } | 
		
	
		
			
				|  |  |             ]" |  |  |             ]" | 
		
	
		
			
				|  |  |           > |  |  |           > | 
		
	
		
			
				|  |  |             <colorPicker v-model="form.color" class="txt_color" @change="headleChangeColor" /> |  |  |  | 
		
	
		
			
				|  |  |             <el-input v-show="false" v-model="form.color" /> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             <colorPicker v-model="form.context_color" class="txt_color" @change="headleChangeColor" /> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-show="false" v-model="form.context_color" /> | 
		
	
		
			
				|  |  |           </el-form-item> |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |           <el-form-item |  |  |           <el-form-item | 
		
	
		
			
				|  |  |             label="文本内容" |  |  |             label="文本内容" | 
		
	
	
		
			
				|  | @ -65,7 +73,7 @@ | 
		
	
		
			
				|  |  |               { required: true, message: '请输入文本内容', trigger: 'blur' } |  |  |               { required: true, message: '请输入文本内容', trigger: 'blur' } | 
		
	
		
			
				|  |  |             ]" |  |  |             ]" | 
		
	
		
			
				|  |  |           > |  |  |           > | 
		
	
		
			
				|  |  |             <el-input v-model="form.content" type="textarea" rows="6" style="width: 674px;" /> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.context" type="textarea" rows="6" style="width: 674px;" /> | 
		
	
		
			
				|  |  |           </el-form-item> |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |           <el-form-item |  |  |           <el-form-item | 
		
	
		
			
				|  |  |             label="文本大小" |  |  |             label="文本大小" | 
		
	
	
		
			
				|  | @ -85,12 +93,12 @@ | 
		
	
		
			
				|  |  |           </el-form-item> |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |           <el-form-item |  |  |           <el-form-item | 
		
	
		
			
				|  |  |             label="文本位置" |  |  |             label="文本位置" | 
		
	
		
			
				|  |  |             prop="position" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             prop="context_position" | 
		
	
		
			
				|  |  |             :rules="[ |  |  |             :rules="[ | 
		
	
		
			
				|  |  |               { required: true, message: '请选择文本位置', trigger: 'change' }, |  |  |               { required: true, message: '请选择文本位置', trigger: 'change' }, | 
		
	
		
			
				|  |  |             ]" |  |  |             ]" | 
		
	
		
			
				|  |  |           > |  |  |           > | 
		
	
		
			
				|  |  |             <el-select v-model="form.position" size="small" class="filter-item"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             <el-select v-model="form.context_position" size="small" class="filter-item"> | 
		
	
		
			
				|  |  |               <el-option |  |  |               <el-option | 
		
	
		
			
				|  |  |                 v-for="item in positionData" |  |  |                 v-for="item in positionData" | 
		
	
		
			
				|  |  |                 :key="item.key" |  |  |                 :key="item.key" | 
		
	
	
		
			
				|  | @ -141,7 +149,7 @@ | 
		
	
		
			
				|  |  |               closable |  |  |               closable | 
		
	
		
			
				|  |  |               :disable-transitions="true" |  |  |               :disable-transitions="true" | 
		
	
		
			
				|  |  |               :hit="false" |  |  |               :hit="false" | 
		
	
		
			
				|  |  |               color="#cbe3ff" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |               context_color="#cbe3ff" | 
		
	
		
			
				|  |  |               @close="handleClose(tag)" |  |  |               @close="handleClose(tag)" | 
		
	
		
			
				|  |  |             > |  |  |             > | 
		
	
		
			
				|  |  |               {{ tag }} |  |  |               {{ tag }} | 
		
	
	
		
			
				|  | @ -149,7 +157,9 @@ | 
		
	
		
			
				|  |  |           </div> |  |  |           </div> | 
		
	
		
			
				|  |  |         </el-form> |  |  |         </el-form> | 
		
	
		
			
				|  |  |         <div slot="footer" class="dialog-footer"> |  |  |         <div slot="footer" class="dialog-footer"> | 
		
	
		
			
				|  |  |           <el-button :loading="crud.status.cu === 2" type="primary" round @click="crud.submitCU">保存</el-button> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <!-- :loading="crud.status.cu === 2"   | 
		
	
		
			
				|  |  |  |  |  |            @click="crud.submitCU"--> | 
		
	
		
			
				|  |  |  |  |  |           <el-button type="primary" round>保存</el-button> | 
		
	
		
			
				|  |  |           <el-button round @click="messageVisible=false">关闭</el-button> |  |  |           <el-button round @click="messageVisible=false">关闭</el-button> | 
		
	
		
			
				|  |  |         </div> |  |  |         </div> | 
		
	
		
			
				|  |  |       </el-dialog> |  |  |       </el-dialog> | 
		
	
	
		
			
				|  | @ -179,60 +189,71 @@ | 
		
	
		
			
				|  |  | </template> |  |  | </template> | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | <script> |  |  | <script> | 
		
	
		
			
				|  |  | import crudDept from '@/api/system/dept' |  |  |  | 
		
	
		
			
				|  |  | import CRUD, { presenter, header, form, crud } from '@crud/crud' |  |  |  | 
		
	
		
			
				|  |  | import pagination from '@crud/Pagination' |  |  |  | 
		
	
		
			
				|  |  | const defaultForm = { |  |  |  | 
		
	
		
			
				|  |  |   color: '#ff0000', |  |  |  | 
		
	
		
			
				|  |  |   content: '', |  |  |  | 
		
	
		
			
				|  |  |   txtSize: '', |  |  |  | 
		
	
		
			
				|  |  |   position: '', |  |  |  | 
		
	
		
			
				|  |  |   speed: '', |  |  |  | 
		
	
		
			
				|  |  |   deviceSelect: '' |  |  |  | 
		
	
		
			
				|  |  | } |  |  |  | 
		
	
		
			
				|  |  |  |  |  | import { parseTime } from '@/utils/index.js' | 
		
	
		
			
				|  |  |  |  |  | import {reqUrgentMessage} from '@/api/publish/urgentMessage' | 
		
	
		
			
				|  |  | export default { |  |  | export default { | 
		
	
		
			
				|  |  |   name: 'UrgentMessage', |  |  |   name: 'UrgentMessage', | 
		
	
		
			
				|  |  |   components: { pagination }, |  |  |  | 
		
	
		
			
				|  |  |   cruds() { |  |  |  | 
		
	
		
			
				|  |  |     return CRUD({ title: '部门', url: 'api/dept', crudMethod: { ...crudDept }}) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |   filters: { | 
		
	
		
			
				|  |  |  |  |  |     parseTime(time, cFormat) { | 
		
	
		
			
				|  |  |  |  |  |       return parseTime(time, cFormat) | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |   mixins: [presenter(), header(), form(defaultForm), crud()], |  |  |  | 
		
	
		
			
				|  |  |   data() { |  |  |   data() { | 
		
	
		
			
				|  |  |     return { |  |  |     return { | 
		
	
		
			
				|  |  |  |  |  |        form :{ | 
		
	
		
			
				|  |  |  |  |  |         context_color: '#ff0000',//文本的颜色 | 
		
	
		
			
				|  |  |  |  |  |         context: '', //文本的内容 | 
		
	
		
			
				|  |  |  |  |  |         txtSize: '',  //文本的大小 | 
		
	
		
			
				|  |  |  |  |  |         context_position: '', //文本的位置 | 
		
	
		
			
				|  |  |  |  |  |         speed: '',  //文本的速度 | 
		
	
		
			
				|  |  |  |  |  |         deviceSelect: '' //选择的设备 | 
		
	
		
			
				|  |  |  |  |  |       }, | 
		
	
		
			
				|  |  |  |  |  |       queryInfo:{ | 
		
	
		
			
				|  |  |  |  |  |          notice_name:'', | 
		
	
		
			
				|  |  |  |  |  |          orga_id:'133221333123111', | 
		
	
		
			
				|  |  |  |  |  |          page:1, | 
		
	
		
			
				|  |  |  |  |  |          size:3 | 
		
	
		
			
				|  |  |  |  |  |       }, | 
		
	
		
			
				|  |  |       messageVisible: false, |  |  |       messageVisible: false, | 
		
	
		
			
				|  |  |       selectDeviceVisible: false, |  |  |       selectDeviceVisible: false, | 
		
	
		
			
				|  |  |       sizeData: [{ key: '0', name: '16' }, { key: '1', name: '22' }, { key: '2', name: '24' }, { key: '3', name: '30' }], |  |  |       sizeData: [{ key: '0', name: '16' }, { key: '1', name: '22' }, { key: '2', name: '24' }, { key: '3', name: '30' }], | 
		
	
		
			
				|  |  |       positionData: [{ key: '0', name: '顶部' }, { key: '1', name: '中间' }, { key: '2', name: '底部' }], |  |  |       positionData: [{ key: '0', name: '顶部' }, { key: '1', name: '中间' }, { key: '2', name: '底部' }], | 
		
	
		
			
				|  |  |       speedData: [{ key: '0', name: '1s' }, { key: '1', name: '2s' }, { key: '2', name: '3s' }], |  |  |       speedData: [{ key: '0', name: '1s' }, { key: '1', name: '2s' }, { key: '2', name: '3s' }], | 
		
	
		
			
				|  |  |       selectedList: [], |  |  |       selectedList: [], | 
		
	
		
			
				|  |  |       tableData: [ |  |  |  | 
		
	
		
			
				|  |  |         { |  |  |  | 
		
	
		
			
				|  |  |           id: 1, |  |  |  | 
		
	
		
			
				|  |  |           name: '图片1', |  |  |  | 
		
	
		
			
				|  |  |           content: '这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是...', |  |  |  | 
		
	
		
			
				|  |  |           user: '某某某', |  |  |  | 
		
	
		
			
				|  |  |           enabled: true, |  |  |  | 
		
	
		
			
				|  |  |           date: '2021-2-2 16:00' |  |  |  | 
		
	
		
			
				|  |  |         }, |  |  |  | 
		
	
		
			
				|  |  |         { |  |  |  | 
		
	
		
			
				|  |  |           id: 2, |  |  |  | 
		
	
		
			
				|  |  |           name: '图片2', |  |  |  | 
		
	
		
			
				|  |  |           content: '这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是...', |  |  |  | 
		
	
		
			
				|  |  |           user: '某某某2', |  |  |  | 
		
	
		
			
				|  |  |           enabled: false, |  |  |  | 
		
	
		
			
				|  |  |           date: '2021-2-2 16:00' |  |  |  | 
		
	
		
			
				|  |  |         } |  |  |  | 
		
	
		
			
				|  |  |       ], |  |  |  | 
		
	
		
			
				|  |  |       deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'], |  |  |       deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'], | 
		
	
		
			
				|  |  |       deviceTags: [] |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       deviceTags: [], | 
		
	
		
			
				|  |  |  |  |  |       // 紧急通知列表 | 
		
	
		
			
				|  |  |  |  |  |       urgentMessage:[] | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |  |  |  |   mounted(){ | 
		
	
		
			
				|  |  |  |  |  |     this.getUrgentMessage() | 
		
	
		
			
				|  |  |  |  |  |   }, | 
		
	
		
			
				|  |  |   methods: { |  |  |   methods: { | 
		
	
		
			
				|  |  |  |  |  |     // 获取紧急通知的列表 | 
		
	
		
			
				|  |  |  |  |  |     getUrgentMessage(){ | 
		
	
		
			
				|  |  |  |  |  |        const params=this.queryInfo | 
		
	
		
			
				|  |  |  |  |  |        reqUrgentMessage(params).then(res=>{ | 
		
	
		
			
				|  |  |  |  |  |          | 
		
	
		
			
				|  |  |  |  |  |          if(res.code==200){ | 
		
	
		
			
				|  |  |  |  |  |            this.urgentMessage=res.data.content | 
		
	
		
			
				|  |  |  |  |  |             console.log( this.urgentMessage) | 
		
	
		
			
				|  |  |  |  |  |          } | 
		
	
		
			
				|  |  |  |  |  |        }) | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |     isStopHandle(index, row) { |  |  |     isStopHandle(index, row) { | 
		
	
		
			
				|  |  |       row.enabled = !row.enabled |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       if(row.is_state ==1){ | 
		
	
		
			
				|  |  |  |  |  |         row.is_state=2 | 
		
	
		
			
				|  |  |  |  |  |       }else{ | 
		
	
		
			
				|  |  |  |  |  |         row.is_state=1 | 
		
	
		
			
				|  |  |  |  |  |       } | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     editFormData(index, row) { |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     // 编辑 | 
		
	
		
			
				|  |  |  |  |  |     editFormData(row) { | 
		
	
		
			
				|  |  |  |  |  |       console.log(row) | 
		
	
		
			
				|  |  |       this.messageVisible = true |  |  |       this.messageVisible = true | 
		
	
		
			
				|  |  |  |  |  |       this.form.context=row.context | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     handleSelectionChange(val) { |  |  |     handleSelectionChange(val) { | 
		
	
		
			
				|  |  |       this.selectedList = val |  |  |       this.selectedList = val | 
		
	
	
		
			
				|  | @ -241,21 +262,21 @@ export default { | 
		
	
		
			
				|  |  |       } else { |  |  |       } else { | 
		
	
		
			
				|  |  |         this.clearBtnDisabled = true |  |  |         this.clearBtnDisabled = true | 
		
	
		
			
				|  |  |       } |  |  |       } | 
		
	
		
			
				|  |  |       console.log(val) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       // console.log(val) | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     headleChangeColor() { |  |  |     headleChangeColor() { | 
		
	
		
			
				|  |  |       console.log(this.form.color) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       // console.log(this.form.context_color) | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     addDeviceTag() { |  |  |     addDeviceTag() { | 
		
	
		
			
				|  |  |       this.selectDeviceVisible = true |  |  |       this.selectDeviceVisible = true | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     tagHandle(tag) { |  |  |     tagHandle(tag) { | 
		
	
		
			
				|  |  |       console.log(tag) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       // console.log(tag) | 
		
	
		
			
				|  |  |       this.deviceTags.push(tag) |  |  |       this.deviceTags.push(tag) | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     handleClose(tag) { |  |  |     handleClose(tag) { | 
		
	
		
			
				|  |  |       this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) |  |  |       this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) | 
		
	
		
			
				|  |  |       console.log(this.deviceTags) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       // console.log(this.deviceTags) | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     clearDevice() { |  |  |     clearDevice() { | 
		
	
		
			
				|  |  |       this.deviceTags = [] |  |  |       this.deviceTags = [] | 
		
	
	
		
			
				|  | 
 |