|  | @ -1,5 +1,6 @@ | 
		
	
		
			
				|  |  | <template> |  |  | <template> | 
		
	
		
			
				|  |  |   <div class="app-container"> |  |  |   <div class="app-container"> | 
		
	
		
			
				|  |  |  |  |  |     <el-form ref="form" :model="form" size="small"> | 
		
	
		
			
				|  |  |       <el-row class="in_release_item" type="flex" justify="space-between"> |  |  |       <el-row class="in_release_item" type="flex" justify="space-between"> | 
		
	
		
			
				|  |  |         <el-col :span="3" class="item_title">创建即时发布</el-col> |  |  |         <el-col :span="3" class="item_title">创建即时发布</el-col> | 
		
	
		
			
				|  |  |         <el-col :span="18"> |  |  |         <el-col :span="18"> | 
		
	
	
		
			
				|  | @ -13,52 +14,310 @@ | 
		
	
		
			
				|  |  |           </div> |  |  |           </div> | 
		
	
		
			
				|  |  |         </el-col> |  |  |         </el-col> | 
		
	
		
			
				|  |  |         <el-col :span="4" class="release_right"> |  |  |         <el-col :span="4" class="release_right"> | 
		
	
		
			
				|  |  |         <el-button round class="release_btn">发布</el-button> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <el-button | 
		
	
		
			
				|  |  |  |  |  |             round | 
		
	
		
			
				|  |  |  |  |  |             class="release_btn" | 
		
	
		
			
				|  |  |  |  |  |             :loading="crud.status.cu === 2" | 
		
	
		
			
				|  |  |  |  |  |             type="primary" | 
		
	
		
			
				|  |  |  |  |  |             @click="crud.submitCU" | 
		
	
		
			
				|  |  |  |  |  |           >发布</el-button> | 
		
	
		
			
				|  |  |           <el-button round type="primary">关闭</el-button> |  |  |           <el-button round type="primary">关闭</el-button> | 
		
	
		
			
				|  |  |         </el-col> |  |  |         </el-col> | 
		
	
		
			
				|  |  |       </el-row> |  |  |       </el-row> | 
		
	
		
			
				|  |  |  |  |  |       <el-row class="in_release_item"> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_1">第一步:设置时间</el-col> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_form"> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item | 
		
	
		
			
				|  |  |  |  |  |             label="发布时间" | 
		
	
		
			
				|  |  |  |  |  |             prop="date" | 
		
	
		
			
				|  |  |  |  |  |             :rules="[ | 
		
	
		
			
				|  |  |  |  |  |               { required: true, message: '请选择发布时间', trigger: 'change' } | 
		
	
		
			
				|  |  |  |  |  |             ]" | 
		
	
		
			
				|  |  |  |  |  |             label-width="100px" | 
		
	
		
			
				|  |  |  |  |  |           > | 
		
	
		
			
				|  |  |  |  |  |             <el-date-picker | 
		
	
		
			
				|  |  |  |  |  |               v-model="form.date" | 
		
	
		
			
				|  |  |  |  |  |               type="daterange" | 
		
	
		
			
				|  |  |  |  |  |               range-separator="至" | 
		
	
		
			
				|  |  |  |  |  |               start-placeholder="开始日期" | 
		
	
		
			
				|  |  |  |  |  |               end-placeholder="结束日期" | 
		
	
		
			
				|  |  |  |  |  |             /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <!-- :rules="[ | 
		
	
		
			
				|  |  |  |  |  |               { required: true, message: '请选择是否置顶', trigger: 'change' } | 
		
	
		
			
				|  |  |  |  |  |             ]" --> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item | 
		
	
		
			
				|  |  |  |  |  |             label="是否置顶" | 
		
	
		
			
				|  |  |  |  |  |             prop="isTop" | 
		
	
		
			
				|  |  |  |  |  |             label-width="100px" | 
		
	
		
			
				|  |  |  |  |  |           > | 
		
	
		
			
				|  |  |  |  |  |             <el-radio v-model="form.isTop" label="1">置顶</el-radio> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |         </el-col> | 
		
	
		
			
				|  |  |  |  |  |       </el-row> | 
		
	
		
			
				|  |  |  |  |  |       <el-row class="in_release_item"> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_1">第二步:选择内容</el-col> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_form"> | 
		
	
		
			
				|  |  |  |  |  |           <div class="step_select"> | 
		
	
		
			
				|  |  |  |  |  |             <div>已选内容: 0</div> | 
		
	
		
			
				|  |  |  |  |  |             <div>内容总时长:0.00s</div> | 
		
	
		
			
				|  |  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |  |           <div class="step_select_list"> | 
		
	
		
			
				|  |  |  |  |  |             <div class="step_upload"></div> | 
		
	
		
			
				|  |  |  |  |  |             <draggable | 
		
	
		
			
				|  |  |  |  |  |               v-model="listData" | 
		
	
		
			
				|  |  |  |  |  |               class="drag_list" | 
		
	
		
			
				|  |  |  |  |  |               @end="dragEnd" | 
		
	
		
			
				|  |  |  |  |  |             > | 
		
	
		
			
				|  |  |  |  |  |               <div | 
		
	
		
			
				|  |  |  |  |  |                 v-for="(item, index) in listData" | 
		
	
		
			
				|  |  |  |  |  |                 :key="index" | 
		
	
		
			
				|  |  |  |  |  |                 :class="['material_item', 'item_cont']" | 
		
	
		
			
				|  |  |  |  |  |                 @click="selectedItem(item.id,item)" | 
		
	
		
			
				|  |  |  |  |  |               > | 
		
	
		
			
				|  |  |  |  |  |                 <img v-if="item.coverImg" :src="item.coverImg" alt /> | 
		
	
		
			
				|  |  |  |  |  |                 <div v-if="item.type == 'audio'" class="radio_img"></div> | 
		
	
		
			
				|  |  |  |  |  |                 <div class="item_format"> | 
		
	
		
			
				|  |  |  |  |  |                   <span class="item_type">{{ item.type }}</span> | 
		
	
		
			
				|  |  |  |  |  |                   <span v-if="item.type !== 'JPG'" class="item_time">03:00</span> | 
		
	
		
			
				|  |  |  |  |  |                 </div> | 
		
	
		
			
				|  |  |  |  |  |                 <div class="file_name">{{ item.name }}</div> | 
		
	
		
			
				|  |  |  |  |  |                 <div v-if="contentIds.includes(item.id)" class="select_handle"> | 
		
	
		
			
				|  |  |  |  |  |                   <div class="select_delt" @click.stop="selectDelt(item.id,index)"> | 
		
	
		
			
				|  |  |  |  |  |                     <svg class="font-icon icon1" aria-hidden="true"> | 
		
	
		
			
				|  |  |  |  |  |                       <use xlink:href="#icon-guanbi2" /> | 
		
	
		
			
				|  |  |  |  |  |                     </svg> | 
		
	
		
			
				|  |  |  |  |  |                   </div> | 
		
	
		
			
				|  |  |  |  |  |                   <div class="select_edit" @click.stop="selectEdit()"> | 
		
	
		
			
				|  |  |  |  |  |                     <svg class="font-icon icon1" aria-hidden="true"> | 
		
	
		
			
				|  |  |  |  |  |                       <use xlink:href="#icon-bianji" /> | 
		
	
		
			
				|  |  |  |  |  |                     </svg> | 
		
	
		
			
				|  |  |  |  |  |                   </div> | 
		
	
		
			
				|  |  |  |  |  |                 </div> | 
		
	
		
			
				|  |  |  |  |  |               </div> | 
		
	
		
			
				|  |  |  |  |  |             </draggable> | 
		
	
		
			
				|  |  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |  |         </el-col> | 
		
	
		
			
				|  |  |  |  |  |       </el-row> | 
		
	
		
			
				|  |  |  |  |  |       <el-row class="in_release_item"> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_1">第三步:选择设备</el-col> | 
		
	
		
			
				|  |  |  |  |  |         <el-col class="step_form"> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item | 
		
	
		
			
				|  |  |  |  |  |             label="" | 
		
	
		
			
				|  |  |  |  |  |             prop="deviceSelect" | 
		
	
		
			
				|  |  |  |  |  |             :rules="[ | 
		
	
		
			
				|  |  |  |  |  |               { required: true, message: '请选择设备', trigger: 'change' }, | 
		
	
		
			
				|  |  |  |  |  |             ]" | 
		
	
		
			
				|  |  |  |  |  |           > | 
		
	
		
			
				|  |  |  |  |  |             <el-radio-group v-model="form.deviceSelect"> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio label="all" value="all">所有设备</el-radio> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio label="other" value="other">部分设备<i v-if="form.deviceSelect === 'other'" class="radio_tip" @click="addDeviceTag()">添加</i></el-radio> | 
		
	
		
			
				|  |  |  |  |  |             </el-radio-group> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <div v-if="form.deviceSelect === 'all'" class="select_all_tip">所有设备都将被发送</div> | 
		
	
		
			
				|  |  |  |  |  |           <div v-if="deviceTags.length > 0 && form.deviceSelect === 'other'" class="select_other"> | 
		
	
		
			
				|  |  |  |  |  |             <el-row> | 
		
	
		
			
				|  |  |  |  |  |               <el-col :span="10" class="other_tip">以下设备都将被发送<span>总计{{ deviceTags.length }}个设备</span></el-col> | 
		
	
		
			
				|  |  |  |  |  |               <el-col :span="4"> | 
		
	
		
			
				|  |  |  |  |  |                 <el-button round class="delt_btn" @click="clearDevice()">清空</el-button> | 
		
	
		
			
				|  |  |  |  |  |               </el-col> | 
		
	
		
			
				|  |  |  |  |  |             </el-row> | 
		
	
		
			
				|  |  |  |  |  |             <el-tag | 
		
	
		
			
				|  |  |  |  |  |               v-for="tag in deviceTags" | 
		
	
		
			
				|  |  |  |  |  |               :key="tag" | 
		
	
		
			
				|  |  |  |  |  |               closable | 
		
	
		
			
				|  |  |  |  |  |               :disable-transitions="true" | 
		
	
		
			
				|  |  |  |  |  |               :hit="false" | 
		
	
		
			
				|  |  |  |  |  |               color="#cbe3ff" | 
		
	
		
			
				|  |  |  |  |  |               @close="handleClose(tag)" | 
		
	
		
			
				|  |  |  |  |  |             > | 
		
	
		
			
				|  |  |  |  |  |               {{ tag }} | 
		
	
		
			
				|  |  |  |  |  |             </el-tag> | 
		
	
		
			
				|  |  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |  |         </el-col> | 
		
	
		
			
				|  |  |  |  |  |       </el-row> | 
		
	
		
			
				|  |  |  |  |  |     </el-form> | 
		
	
		
			
				|  |  |  |  |  |     <div class="upload_layer"> | 
		
	
		
			
				|  |  |  |  |  |       <el-dialog | 
		
	
		
			
				|  |  |  |  |  |         title="请选择播放内容" | 
		
	
		
			
				|  |  |  |  |  |         :close-on-click-modal="false" | 
		
	
		
			
				|  |  |  |  |  |         :visible.sync="listEditVisible" | 
		
	
		
			
				|  |  |  |  |  |         width="800px" | 
		
	
		
			
				|  |  |  |  |  |       > | 
		
	
		
			
				|  |  |  |  |  |         <div | 
		
	
		
			
				|  |  |  |  |  |           v-for="(item, index) in selectedData" | 
		
	
		
			
				|  |  |  |  |  |           :key="index" | 
		
	
		
			
				|  |  |  |  |  |           class="edit_material" | 
		
	
		
			
				|  |  |  |  |  |         > | 
		
	
		
			
				|  |  |  |  |  |           <div class="edit_img"> | 
		
	
		
			
				|  |  |  |  |  |             <img v-if="item.coverImg" :src="item.coverImg" alt /> | 
		
	
		
			
				|  |  |  |  |  |             <div v-if="item.type == 'audio'" class="radio_img"></div> | 
		
	
		
			
				|  |  |  |  |  |             <span class="">{{ index+1 }}</span> | 
		
	
		
			
				|  |  |  |  |  |           </div> | 
		
	
		
			
				|  |  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |  |         <div class="upload_list_right"> | 
		
	
		
			
				|  |  |  |  |  |           <div class="save_btn">保存</div> | 
		
	
		
			
				|  |  |  |  |  |           <div class="upload_return">取消</div> | 
		
	
		
			
				|  |  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |  |       </el-dialog> | 
		
	
		
			
				|  |  |  |  |  |     </div> | 
		
	
		
			
				|  |  |  |  |  |     <!-- 添加发布的设备 --> | 
		
	
		
			
				|  |  |  |  |  |     <div class="add_device_layer"> | 
		
	
		
			
				|  |  |  |  |  |       <el-dialog | 
		
	
		
			
				|  |  |  |  |  |         title="请选择设备" | 
		
	
		
			
				|  |  |  |  |  |         :close-on-click-modal="false" | 
		
	
		
			
				|  |  |  |  |  |         :visible.sync="selectDeviceVisible" | 
		
	
		
			
				|  |  |  |  |  |         width="400px" | 
		
	
		
			
				|  |  |  |  |  |       > | 
		
	
		
			
				|  |  |  |  |  |         <el-tag | 
		
	
		
			
				|  |  |  |  |  |           v-for="tag in deviceAllTags" | 
		
	
		
			
				|  |  |  |  |  |           :key="tag" | 
		
	
		
			
				|  |  |  |  |  |           :disable-transitions="true" | 
		
	
		
			
				|  |  |  |  |  |           :hit="false" | 
		
	
		
			
				|  |  |  |  |  |           color="#cbe3ff" | 
		
	
		
			
				|  |  |  |  |  |           class="all_tags" | 
		
	
		
			
				|  |  |  |  |  |           @click="tagHandle(tag)" | 
		
	
		
			
				|  |  |  |  |  |         > | 
		
	
		
			
				|  |  |  |  |  |           {{ tag }} | 
		
	
		
			
				|  |  |  |  |  |         </el-tag> | 
		
	
		
			
				|  |  |  |  |  |       </el-dialog> | 
		
	
		
			
				|  |  |  |  |  |     </div> | 
		
	
		
			
				|  |  |   </div> |  |  |   </div> | 
		
	
		
			
				|  |  | </template> |  |  | </template> | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | <script> |  |  | <script> | 
		
	
		
			
				|  |  | import crudDept from '@/api/system/dept' |  |  | import crudDept from '@/api/system/dept' | 
		
	
		
			
				|  |  |  |  |  | import draggable from 'vuedraggable' | 
		
	
		
			
				|  |  | import CRUD, { presenter, header, form, crud } from '@crud/crud' |  |  | import CRUD, { presenter, header, form, crud } from '@crud/crud' | 
		
	
		
			
				|  |  | const defaultForm = { |  |  | const defaultForm = { | 
		
	
		
			
				|  |  |   name: '' |  |  |  | 
		
	
		
			
				|  |  |  |  |  |   name: '', | 
		
	
		
			
				|  |  |  |  |  |   date: [], | 
		
	
		
			
				|  |  |  |  |  |   isTop: null, | 
		
	
		
			
				|  |  |  |  |  |   deviceSelect: '' | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  | export default { |  |  | export default { | 
		
	
		
			
				|  |  |   name: 'ImmediateRelease', |  |  |   name: 'ImmediateRelease', | 
		
	
		
			
				|  |  |  |  |  |   components: { | 
		
	
		
			
				|  |  |  |  |  |     draggable | 
		
	
		
			
				|  |  |  |  |  |   }, | 
		
	
		
			
				|  |  |   cruds() { |  |  |   cruds() { | 
		
	
		
			
				|  |  |     return CRUD({ title: '部门', url: 'api/dept', crudMethod: { ...crudDept }}) |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     return CRUD({ | 
		
	
		
			
				|  |  |  |  |  |       title: '部门', | 
		
	
		
			
				|  |  |  |  |  |       url: 'api/dept', | 
		
	
		
			
				|  |  |  |  |  |       crudMethod: { ...crudDept } | 
		
	
		
			
				|  |  |  |  |  |     }) | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |   mixins: [presenter(), header(), form(defaultForm), crud()], |  |  |   mixins: [presenter(), header(), form(defaultForm), crud()], | 
		
	
		
			
				|  |  |   data() { |  |  |   data() { | 
		
	
		
			
				|  |  |     return { |  |  |     return { | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       selectDeviceVisible: false, | 
		
	
		
			
				|  |  |  |  |  |       listEditVisible: false, | 
		
	
		
			
				|  |  |  |  |  |       deviceAllTags: ['GCXR1', 'GCXR2', 'GCXR3', 'GCXR4', 'GCXR5'], | 
		
	
		
			
				|  |  |  |  |  |       deviceTags: [], | 
		
	
		
			
				|  |  |  |  |  |       listData: [ | 
		
	
		
			
				|  |  |  |  |  |         { | 
		
	
		
			
				|  |  |  |  |  |           id: '1', | 
		
	
		
			
				|  |  |  |  |  |           name: '1', | 
		
	
		
			
				|  |  |  |  |  |           type: 'JPG', | 
		
	
		
			
				|  |  |  |  |  |           coverImg: require('@/assets/images/background.jpg'), | 
		
	
		
			
				|  |  |  |  |  |           time: '' | 
		
	
		
			
				|  |  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |  |         { | 
		
	
		
			
				|  |  |  |  |  |           id: '2', | 
		
	
		
			
				|  |  |  |  |  |           name: '2', | 
		
	
		
			
				|  |  |  |  |  |           type: 'vedio', | 
		
	
		
			
				|  |  |  |  |  |           coverImg: require('@/assets/images/background.jpg'), | 
		
	
		
			
				|  |  |  |  |  |           time: '03:00' | 
		
	
		
			
				|  |  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |  |         { | 
		
	
		
			
				|  |  |  |  |  |           id: '3', | 
		
	
		
			
				|  |  |  |  |  |           name: '3', | 
		
	
		
			
				|  |  |  |  |  |           type: 'vedio', | 
		
	
		
			
				|  |  |  |  |  |           coverImg: require('@/assets/images/background.jpg'), | 
		
	
		
			
				|  |  |  |  |  |           time: '03:00' | 
		
	
		
			
				|  |  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |  |         { | 
		
	
		
			
				|  |  |  |  |  |           id: '4', | 
		
	
		
			
				|  |  |  |  |  |           name: '4', | 
		
	
		
			
				|  |  |  |  |  |           type: 'vedio', | 
		
	
		
			
				|  |  |  |  |  |           coverImg: require('@/assets/images/background.jpg'), | 
		
	
		
			
				|  |  |  |  |  |           time: '03:00' | 
		
	
		
			
				|  |  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |  |         { | 
		
	
		
			
				|  |  |  |  |  |           id: '5', | 
		
	
		
			
				|  |  |  |  |  |           name: '5', | 
		
	
		
			
				|  |  |  |  |  |           type: 'audio', | 
		
	
		
			
				|  |  |  |  |  |           coverImg: '', | 
		
	
		
			
				|  |  |  |  |  |           time: '01:20' | 
		
	
		
			
				|  |  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |  |       ], | 
		
	
		
			
				|  |  |  |  |  |       contentIds: [], | 
		
	
		
			
				|  |  |  |  |  |       selectedData: [] | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   }, |  |  |   }, | 
		
	
		
			
				|  |  |   methods: { |  |  |   methods: { | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     selectEdit() { | 
		
	
		
			
				|  |  |  |  |  |       this.listEditVisible = true | 
		
	
		
			
				|  |  |  |  |  |       // console.log(this.selectedData) | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     dragEnd() { | 
		
	
		
			
				|  |  |  |  |  |       // console.log(this.listData) | 
		
	
		
			
				|  |  |  |  |  |       // console.log(this.selectedData) | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     selectDelt(id, i) { | 
		
	
		
			
				|  |  |  |  |  |       const index = this.contentIds.indexOf(id) | 
		
	
		
			
				|  |  |  |  |  |       this.contentIds.splice(index, 1) | 
		
	
		
			
				|  |  |  |  |  |       this.selectedData.splice(index, 1) | 
		
	
		
			
				|  |  |  |  |  |       this.listData.splice(i, 1) | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     selectedItem(id, item) { | 
		
	
		
			
				|  |  |  |  |  |       const arr = this.contentIds | 
		
	
		
			
				|  |  |  |  |  |       if (arr.includes(id)) { | 
		
	
		
			
				|  |  |  |  |  |         const index = arr.indexOf(id) | 
		
	
		
			
				|  |  |  |  |  |         if (index > -1) { | 
		
	
		
			
				|  |  |  |  |  |           arr.splice(index, 1) | 
		
	
		
			
				|  |  |  |  |  |           this.selectedData.splice(index, 1) | 
		
	
		
			
				|  |  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |  |       } else { | 
		
	
		
			
				|  |  |  |  |  |         this.contentIds.push(id) | 
		
	
		
			
				|  |  |  |  |  |         this.selectedData.push(item) | 
		
	
		
			
				|  |  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     addDeviceTag() { | 
		
	
		
			
				|  |  |  |  |  |       this.selectDeviceVisible = true | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     tagHandle(tag) { | 
		
	
		
			
				|  |  |  |  |  |       console.log(tag) | 
		
	
		
			
				|  |  |  |  |  |       this.deviceTags.push(tag) | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     handleClose(tag) { | 
		
	
		
			
				|  |  |  |  |  |       this.deviceTags.splice(this.deviceTags.indexOf(tag), 1) | 
		
	
		
			
				|  |  |  |  |  |       console.log(this.deviceTags) | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     clearDevice() { | 
		
	
		
			
				|  |  |  |  |  |       this.deviceTags = [] | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  | </script> |  |  | </script> | 
		
	
		
			
				|  |  | <style rel="stylesheet/scss" lang="scss"> |  |  | <style rel="stylesheet/scss" lang="scss"> | 
		
	
		
			
				|  |  | .app-container{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  | .app-container { | 
		
	
		
			
				|  |  |   background: none; |  |  |   background: none; | 
		
	
		
			
				|  |  |   padding: 0; |  |  |   padding: 0; | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | .in_release_item{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  | .in_release_item { | 
		
	
		
			
				|  |  |   padding: 16px 24px; |  |  |   padding: 16px 24px; | 
		
	
		
			
				|  |  |  |  |  |   margin-bottom: 10px; | 
		
	
		
			
				|  |  |   line-height: 34px; |  |  |   line-height: 34px; | 
		
	
		
			
				|  |  |   background: #fff; |  |  |   background: #fff; | 
		
	
		
			
				|  |  |   border-radius: 6px; |  |  |   border-radius: 6px; | 
		
	
		
			
				|  |  |     .item_title{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |   .item_title { | 
		
	
		
			
				|  |  |     font-size: 16px; |  |  |     font-size: 16px; | 
		
	
		
			
				|  |  |     font-weight: bold; |  |  |     font-weight: bold; | 
		
	
		
			
				|  |  |     color: #3a8aeb; |  |  |     color: #3a8aeb; | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  |     .input_wrap{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |   .input_wrap { | 
		
	
		
			
				|  |  |     display: flex; |  |  |     display: flex; | 
		
	
		
			
				|  |  |     width: 282px; |  |  |     width: 282px; | 
		
	
		
			
				|  |  |     height: 34px; |  |  |     height: 34px; | 
		
	
	
		
			
				|  | @ -67,23 +326,24 @@ export default { | 
		
	
		
			
				|  |  |     background: #f5f6fa; |  |  |     background: #f5f6fa; | 
		
	
		
			
				|  |  |     line-height: 34px; |  |  |     line-height: 34px; | 
		
	
		
			
				|  |  |     border-radius: 34px; |  |  |     border-radius: 34px; | 
		
	
		
			
				|  |  |         .input_label{ |  |  |  | 
		
	
		
			
				|  |  |             &::after{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     .input_label { | 
		
	
		
			
				|  |  |  |  |  |       &::after { | 
		
	
		
			
				|  |  |         content: "|"; |  |  |         content: "|"; | 
		
	
		
			
				|  |  |         padding-left: 8px; |  |  |         padding-left: 8px; | 
		
	
		
			
				|  |  |         color: #ccc; |  |  |         color: #ccc; | 
		
	
		
			
				|  |  |       } |  |  |       } | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |         .input_name{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     .input_name { | 
		
	
		
			
				|  |  |       width: 194px; |  |  |       width: 194px; | 
		
	
		
			
				|  |  |             .el-input__inner{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       .el-input__inner { | 
		
	
		
			
				|  |  |         border: none; |  |  |         border: none; | 
		
	
		
			
				|  |  |         background: #f5f6fa; |  |  |         background: #f5f6fa; | 
		
	
		
			
				|  |  |       } |  |  |       } | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |     .release_right{ |  |  |  | 
		
	
		
			
				|  |  |  |  |  |   .release_right { | 
		
	
		
			
				|  |  |  |  |  |     text-align: right; | 
		
	
		
			
				|  |  |     .el-button { |  |  |     .el-button { | 
		
	
		
			
				|  |  |       font-size: 14px; |  |  |       font-size: 14px; | 
		
	
		
			
				|  |  |       padding: 8px 24px; |  |  |       padding: 8px 24px; | 
		
	
	
		
			
				|  | @ -94,6 +354,123 @@ export default { | 
		
	
		
			
				|  |  |       background: linear-gradient(to right, #fc8c6f, #fa544e) !important; |  |  |       background: linear-gradient(to right, #fc8c6f, #fa544e) !important; | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | .step_1{ | 
		
	
		
			
				|  |  |  |  |  |   font-size: 16px; | 
		
	
		
			
				|  |  |  |  |  |   line-height: 54px; | 
		
	
		
			
				|  |  |  |  |  |   border-bottom: 1px solid #eee; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .step_select{ | 
		
	
		
			
				|  |  |  |  |  |   display: flex; | 
		
	
		
			
				|  |  |  |  |  |   font-size: 14px; | 
		
	
		
			
				|  |  |  |  |  |   margin-bottom: 20px; | 
		
	
		
			
				|  |  |  |  |  |   div{ | 
		
	
		
			
				|  |  |  |  |  |     margin-right: 30px; | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .step_select_list{ | 
		
	
		
			
				|  |  |  |  |  |   display: flex; | 
		
	
		
			
				|  |  |  |  |  |   .step_upload{ | 
		
	
		
			
				|  |  |  |  |  |     width: 164px; | 
		
	
		
			
				|  |  |  |  |  |     height: 172px; | 
		
	
		
			
				|  |  |  |  |  |     margin-right: 16px; | 
		
	
		
			
				|  |  |  |  |  |     border: 1px dashed #dcdde3; | 
		
	
		
			
				|  |  |  |  |  |     background: url(~@/assets/images/t-sc.png) #f2f7ff no-repeat center center; | 
		
	
		
			
				|  |  |  |  |  |     background-size: 36px 29px; | 
		
	
		
			
				|  |  |  |  |  |     border-radius: 6px; | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .material_item{ | 
		
	
		
			
				|  |  |  |  |  |   position: relative; | 
		
	
		
			
				|  |  |  |  |  |   .select_delt{ | 
		
	
		
			
				|  |  |  |  |  |     position: absolute; | 
		
	
		
			
				|  |  |  |  |  |     top: 12px; | 
		
	
		
			
				|  |  |  |  |  |     right: 12px; | 
		
	
		
			
				|  |  |  |  |  |     .font-icon{ | 
		
	
		
			
				|  |  |  |  |  |       width: 19px; | 
		
	
		
			
				|  |  |  |  |  |       height: 19px; | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  |   .select_edit{ | 
		
	
		
			
				|  |  |  |  |  |     position: absolute; | 
		
	
		
			
				|  |  |  |  |  |     bottom: 0; | 
		
	
		
			
				|  |  |  |  |  |     left: 0; | 
		
	
		
			
				|  |  |  |  |  |     width: 100%; | 
		
	
		
			
				|  |  |  |  |  |     height: 44px; | 
		
	
		
			
				|  |  |  |  |  |     background: rgba(0,0,0,.5); | 
		
	
		
			
				|  |  |  |  |  |     text-align: center; | 
		
	
		
			
				|  |  |  |  |  |     .font-icon{ | 
		
	
		
			
				|  |  |  |  |  |       width: 16px; | 
		
	
		
			
				|  |  |  |  |  |       height: 17px; | 
		
	
		
			
				|  |  |  |  |  |       margin-top: 12px; | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | .step_form{ | 
		
	
		
			
				|  |  |  |  |  |   padding-top: 30px; | 
		
	
		
			
				|  |  |  |  |  |   .select_all_tip{ | 
		
	
		
			
				|  |  |  |  |  |     margin: -20px 0 0 0; | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  |   .select_other{ | 
		
	
		
			
				|  |  |  |  |  |     margin: -20px 0 0 0; | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | .drag_list{ | 
		
	
		
			
				|  |  |  |  |  |   display: flex; | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .edit_material{ | 
		
	
		
			
				|  |  |  |  |  |   padding: 12px 0; | 
		
	
		
			
				|  |  |  |  |  |   border-bottom: 1px solid #f2f6fd; | 
		
	
		
			
				|  |  |  |  |  |   .edit_img{ | 
		
	
		
			
				|  |  |  |  |  |     position: relative; | 
		
	
		
			
				|  |  |  |  |  |     width: 58px; | 
		
	
		
			
				|  |  |  |  |  |     height: 77px; | 
		
	
		
			
				|  |  |  |  |  |     border-radius: 4px; | 
		
	
		
			
				|  |  |  |  |  |     overflow: hidden; | 
		
	
		
			
				|  |  |  |  |  |     img{ | 
		
	
		
			
				|  |  |  |  |  |       display: block; | 
		
	
		
			
				|  |  |  |  |  |       width: 100%; | 
		
	
		
			
				|  |  |  |  |  |       height: 100%; | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |     .radio_img { | 
		
	
		
			
				|  |  |  |  |  |       width: 58px; | 
		
	
		
			
				|  |  |  |  |  |       height: 77px; | 
		
	
		
			
				|  |  |  |  |  |       background: url(~@/assets/images/t-yp.png) no-repeat #b3e8fa center; | 
		
	
		
			
				|  |  |  |  |  |       background-size: 40px 40px; | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |     span{ | 
		
	
		
			
				|  |  |  |  |  |       position: absolute; | 
		
	
		
			
				|  |  |  |  |  |       top: 0; | 
		
	
		
			
				|  |  |  |  |  |       left: 0; | 
		
	
		
			
				|  |  |  |  |  |       display: block; | 
		
	
		
			
				|  |  |  |  |  |       width: 20px; | 
		
	
		
			
				|  |  |  |  |  |       height: 14px; | 
		
	
		
			
				|  |  |  |  |  |       font-size: 12px; | 
		
	
		
			
				|  |  |  |  |  |       text-align: center; | 
		
	
		
			
				|  |  |  |  |  |       color: #fff; | 
		
	
		
			
				|  |  |  |  |  |       line-height: 14px; | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  |   &:nth-child(odd){ | 
		
	
		
			
				|  |  |  |  |  |     .edit_img{ | 
		
	
		
			
				|  |  |  |  |  |       span{ | 
		
	
		
			
				|  |  |  |  |  |          background: url(~@/assets/images/num_bg2.png) no-repeat; | 
		
	
		
			
				|  |  |  |  |  |       background-size: 20px 14px; | 
		
	
		
			
				|  |  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  |   &:nth-child(even){ | 
		
	
		
			
				|  |  |  |  |  |     .edit_img{ | 
		
	
		
			
				|  |  |  |  |  |       span{ | 
		
	
		
			
				|  |  |  |  |  |          background: url(~@/assets/images/num_bg1.png) no-repeat; | 
		
	
		
			
				|  |  |  |  |  |       background-size: 20px 14px; | 
		
	
		
			
				|  |  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  | </style> |  |  | </style> |