Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # packages/2.0.5/AppGridMap/components/list.vue
This commit is contained in:
		| @@ -21,7 +21,7 @@ | |||||||
|         </ai-search-bar> |         </ai-search-bar> | ||||||
|         <ai-search-bar class="ai-search-ba mar-t10"> |         <ai-search-bar class="ai-search-ba mar-t10"> | ||||||
|           <template slot="left"> |           <template slot="left"> | ||||||
|             <el-button icon="iconfont iconAdd" type="primary" size="small" @click="onAdd('')">添加</el-button> |             <!-- <el-button icon="iconfont iconAdd" type="primary" size="small" @click="onAdd('')">添加</el-button> --> | ||||||
|             <!-- <el-button icon="iconfont iconDelete" size="small" @click="removeAll" :disabled="ids.length == 0">删除 </el-button> --> |             <!-- <el-button icon="iconfont iconDelete" size="small" @click="removeAll" :disabled="ids.length == 0">删除 </el-button> --> | ||||||
|           </template> |           </template> | ||||||
|         </ai-search-bar> |         </ai-search-bar> | ||||||
|   | |||||||
| @@ -83,11 +83,11 @@ | |||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|  |  | ||||||
|         <el-table-column slot="options" label="操作" align="center" fixed="right" width="130"> |         <el-table-column slot="options" label="操作" align="center" fixed="right" width="140"> | ||||||
|           <template slot-scope="{ row }"> |           <div class="table-options" slot-scope="{ row }"> | ||||||
|             <el-button type="text" @click="toEdit(row.id, 'edit')">编辑</el-button> |             <el-button type="text" @click="toEdit(row.id, 'edit')">编辑</el-button> | ||||||
|             <el-button type="text" @click="toEdit(row.id, 'detail')">详情</el-button> |             <el-button type="text" @click="toEdit(row.id, 'detail')">详情</el-button> | ||||||
|           </template> |           </div> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|       </ai-table> |       </ai-table> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -46,15 +46,15 @@ | |||||||
|               </template> |               </template> | ||||||
|             </el-table-column> |             </el-table-column> | ||||||
|  |  | ||||||
|             <el-table-column slot="options" label="操作" align="center" width="300px" fixed="right"> |             <el-table-column slot="options" label="操作" align="center" width="240px" fixed="right"> | ||||||
|               <template slot-scope="{ row }"> |               <div class="table-options" slot-scope="{ row }"> | ||||||
|                 <el-button type="text" @click="onAdd(row.id)">编辑</el-button> |                 <el-button type="text" @click="onAdd(row.id)">编辑</el-button> | ||||||
|                 <el-button type="text" @click="remove(row.id)">删除</el-button> |                 <el-button type="text" @click="remove(row.id)">删除</el-button> | ||||||
|                 <el-button type="text" @click="toBuildMsg(row)">房屋信息</el-button> |                 <el-button type="text" @click="toBuildMsg(row)">房屋信息</el-button> | ||||||
|                 <el-button type="text" @click="$router.push({ name: '房屋地图', query: { communityId: row.communityId, buildingId: row.id, unitNum: 1, buildingNumber: row.buildingNumber } })"> |                 <el-button type="text" @click="$router.push({ name: '63', query: { communityId: row.communityId, buildingId: row.id, unitNum: 1, buildingNumber: row.buildingNumber } })"> | ||||||
|                   楼栋模型 |                   楼栋模型 | ||||||
|                 </el-button> |                 </el-button> | ||||||
|               </template> |               </div> | ||||||
|             </el-table-column> |             </el-table-column> | ||||||
|           </ai-table> |           </ai-table> | ||||||
|         </div> |         </div> | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
|     <ai-map :map.sync="map" :lib.sync="mapLib"/> |     <ai-map :map.sync="map" :lib.sync="mapLib"/> | ||||||
|     <div class="drawer" ref="drawer"> |     <div class="drawer" ref="drawer"> | ||||||
|       <div v-if="show" class="drawer-content"> |       <div v-if="show" class="drawer-content"> | ||||||
|         <b>网格管理</b> |         <b>网格地图</b> | ||||||
|         <div class="tree"> |         <div class="tree"> | ||||||
|           <div class="input"> |           <div class="input"> | ||||||
|             <el-input |             <el-input | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ | |||||||
| <script> | <script> | ||||||
| import List from './components/List' | import List from './components/List' | ||||||
| import Add from './components/Add' | import Add from './components/Add' | ||||||
|  | import Play from './components/Play' | ||||||
|  |  | ||||||
| export default { | export default { | ||||||
|   label: '媒资管理', |   label: '媒资管理', | ||||||
| @@ -28,7 +29,8 @@ export default { | |||||||
|  |  | ||||||
|   components: { |   components: { | ||||||
|     Add, |     Add, | ||||||
|     List |     List, | ||||||
|  |     Play | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     onChange(data) { |     onChange(data) { | ||||||
| @@ -36,6 +38,10 @@ export default { | |||||||
|         this.component = 'Add' |         this.component = 'Add' | ||||||
|         this.params = data.params |         this.params = data.params | ||||||
|       } |       } | ||||||
|  |       if (data.type === 'Play') { | ||||||
|  |         this.component = 'Play' | ||||||
|  |         this.params = data.params | ||||||
|  |       } | ||||||
|  |  | ||||||
|       if (data.type == 'list') { |       if (data.type == 'list') { | ||||||
|         this.component = 'List' |         this.component = 'List' | ||||||
|   | |||||||
| @@ -31,9 +31,10 @@ | |||||||
|             </template> |             </template> | ||||||
|           </el-table-column> |           </el-table-column> | ||||||
|           <el-table-column slot="options" label="操作" align="center" width="180" fixed="right"> |           <el-table-column slot="options" label="操作" align="center" width="180" fixed="right"> | ||||||
|             <template slot-scope="{ row }"> |             <div class="table-options" slot-scope="{ row }"> | ||||||
|  |               <el-button type="text" @click="play(row.id)">播发</el-button> | ||||||
|               <el-button type="text" @click="remove(row.id)">删除</el-button> |               <el-button type="text" @click="remove(row.id)">删除</el-button> | ||||||
|             </template> |             </div> | ||||||
|           </el-table-column> |           </el-table-column> | ||||||
|         </ai-table> |         </ai-table> | ||||||
|       </template> |       </template> | ||||||
| @@ -136,6 +137,15 @@ export default { | |||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  |     play (id) { | ||||||
|  |       this.$emit('change', { | ||||||
|  |         type: 'Play', | ||||||
|  |         params: { | ||||||
|  |           id: id || '' | ||||||
|  |         }, | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     // 添加 |     // 添加 | ||||||
|     onAdd(id) { |     onAdd(id) { | ||||||
|       this.$emit('change', { |       this.$emit('change', { | ||||||
|   | |||||||
							
								
								
									
										261
									
								
								packages/2.0.5/AppMediaManage/components/Play.vue
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								packages/2.0.5/AppMediaManage/components/Play.vue
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,261 @@ | |||||||
|  | <template> | ||||||
|  |   <ai-detail> | ||||||
|  |     <template #title> | ||||||
|  |       <ai-title title="添加广播" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title> | ||||||
|  |     </template> | ||||||
|  |     <template #content> | ||||||
|  |       <ai-card title="基础信息"> | ||||||
|  |         <template #content> | ||||||
|  |           <el-form class="ai-form" :model="formData" :rules="formRules" ref="ruleForm" label-width="120px"> | ||||||
|  |             <el-form-item label="播发内容" prop="mediaId"> | ||||||
|  |               <ai-select v-model="formData.mediaId" placeholder="播发内容" clearable :selectList="mediaList"></ai-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="播放设备" prop="serialNo"> | ||||||
|  |               <ai-select v-model="formData.serialNo" placeholder="播放设备" clearable :selectList="equipmentList"></ai-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="播发级别" prop="messageLevel"> | ||||||
|  |               <ai-select v-model="formData.messageLevel" placeholder="播发级别" clearable :selectList="$dict.getDict('dlbMessageUrgency')"></ai-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="播放方式" prop="taskType" class="buildingTypes"> | ||||||
|  |               <el-radio-group v-model="formData.taskType"> | ||||||
|  |                 <el-radio label="0">立即播放</el-radio> | ||||||
|  |                 <el-radio label="1">定时播放</el-radio> | ||||||
|  |               </el-radio-group> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="定时策略" prop="cyclingType" v-if="formData.taskType != 0"> | ||||||
|  |               <ai-select v-model="formData.cyclingType" placeholder="定时策略" clearable :selectList="$dict.getDict('dlbDyclingType')"></ai-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="播放天数" prop="checkList" class="buildingTypes" v-if="formData.taskType != 0 && formData.cyclingType == 2"> | ||||||
|  |               <el-checkbox-group v-model="formData.checkList"> | ||||||
|  |                 <el-checkbox label="1">每周一</el-checkbox> | ||||||
|  |                 <el-checkbox label="2">每周二</el-checkbox> | ||||||
|  |                 <el-checkbox label="3">每周三</el-checkbox> | ||||||
|  |                 <el-checkbox label="4">每周四</el-checkbox> | ||||||
|  |                 <el-checkbox label="5">每周五</el-checkbox> | ||||||
|  |                 <el-checkbox label="6">每周六</el-checkbox> | ||||||
|  |                 <el-checkbox label="7">每周日</el-checkbox> | ||||||
|  |               </el-checkbox-group> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="播放天数" prop="broadcastDay" v-if="formData.taskType != 0 && formData.cyclingType == 3"> | ||||||
|  |               <el-input v-model="formData.broadcastDay" placeholder="播放天数" clearable size="small" maxlength="4"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="开始日期" prop="startDate" v-if="formData.taskType != 0"> | ||||||
|  |               <el-date-picker v-model="formData.startDate" type="date" placeholder="选择日期" size="small"  value-format="yyyy-MM-dd"></el-date-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="开始时间" prop="startTime" v-if="formData.taskType != 0"> | ||||||
|  |               <el-time-picker v-model="formData.startTime" placeholder="开始时间" size="small" :picker-options="{ start: newDate, minTime: newDate}"  value-format="HH:mm:ss"></el-time-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item label="结束时间" prop="endTime" v-if="formData.taskType != 0"> | ||||||
|  |               <el-time-picker v-model="formData.endTime" placeholder="结束时间" size="small"  :picker-options="{ start: formData.startTime, minTime: formData.startTime}"  value-format="HH:mm:ss"></el-time-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-form> | ||||||
|  |         </template> | ||||||
|  |       </ai-card> | ||||||
|  |     </template> | ||||||
|  |     <template #footer> | ||||||
|  |       <el-button @click="cancel">取消</el-button> | ||||||
|  |       <el-button type="primary" @click="confirm()">提交</el-button> | ||||||
|  |     </template> | ||||||
|  |   </ai-detail> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script> | ||||||
|  | import { mapState } from 'vuex' | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   name: 'Add', | ||||||
|  |   components: {}, | ||||||
|  |   props: { | ||||||
|  |     dict: Object, | ||||||
|  |     params: Object, | ||||||
|  |     instance: Function, | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     let startTimePass = (rule, value, callback) => { | ||||||
|  |       if (value) { | ||||||
|  |         var myDate = new Date(); | ||||||
|  |         var time = myDate.getHours() + ':' +  myDate.getMinutes() + ':' + myDate.getSeconds() | ||||||
|  |         if (this.timeToSec(value) - this.timeToSec(time)> 0) { | ||||||
|  |           callback() | ||||||
|  |         } else { | ||||||
|  |           callback(new Error('开始时间要大于当前时间')); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         callback(new Error('请选择开始时间')); | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|  |     let endTimePass = (rule, value, callback) => { | ||||||
|  |       if (value) { | ||||||
|  |         if (this.timeToSec(value) - this.timeToSec(this.formData.startTime)> 0) { | ||||||
|  |           callback() | ||||||
|  |         } else { | ||||||
|  |           callback(new Error('结束时间要大于开始时间')); | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         callback(new Error('请选择结束时间')); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return { | ||||||
|  |       formData: { | ||||||
|  |         mediaId: '', | ||||||
|  |         serialNo: '', | ||||||
|  |         messageLevel: '', | ||||||
|  |         cyclingType: '', | ||||||
|  |         taskType: '0', | ||||||
|  |         cyclingDate: '', | ||||||
|  |         broadcastDay: '', | ||||||
|  |         startDate: '', | ||||||
|  |         startTime: '', | ||||||
|  |         endTime: '', | ||||||
|  |         checkList: [] | ||||||
|  |       }, | ||||||
|  |       formRules: { | ||||||
|  |         mediaId: [ | ||||||
|  |           { required: true, message: '请选择播发内容', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         serialNo: [ | ||||||
|  |           { required: true, message: '请选择播放设备', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         messageLevel: [ | ||||||
|  |           { required: true, message: '请选择播发级别', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         cyclingType: [ | ||||||
|  |           { required: true, message: '请选择定时策略', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         taskType: [ | ||||||
|  |           { required: true, message: '请选择播放方式', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         broadcastDay: [ | ||||||
|  |           { required: true, message: '请输入播放天数', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         startDate: [ | ||||||
|  |           { required: true, message: '请选择开始日期', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         startTime: [ | ||||||
|  |           { required: true, validator: startTimePass, trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         endTime: [ | ||||||
|  |           { required: true, validator: endTimePass, trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |         checkList: [ | ||||||
|  |           { required: true, message: '播放天数', trigger: 'change' } | ||||||
|  |         ], | ||||||
|  |       }, | ||||||
|  |       mediaList: [], | ||||||
|  |       equipmentList: [] | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |     ...mapState(['user']), | ||||||
|  |  | ||||||
|  |     isEdit() { | ||||||
|  |       return !!this.params.id | ||||||
|  |     }, | ||||||
|  |     newDate() { | ||||||
|  |       var myDate = new Date(); | ||||||
|  |       var time = myDate.getHours() + ':' +  myDate.getMinutes() + ':' + myDate.getSeconds() | ||||||
|  |       return time | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.formData.mediaId = this.params.id | ||||||
|  |     this.dict.load('dlbMessageUrgency', 'dlbBroadTaskType', 'dlbDyclingType').then(() => { | ||||||
|  |       this.getEquipmentList() | ||||||
|  |     }) | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     getMediaList() { | ||||||
|  |       this.instance.post(`/app/appdlbresource/list?current=1&size=10000`).then((res) => { | ||||||
|  |         if (res.code == 0) { | ||||||
|  |           this.mediaList = [] | ||||||
|  |           if(res.data && res.data.records.length) { | ||||||
|  |             res.data.records.map((item) => { | ||||||
|  |               let info = { | ||||||
|  |                 dictName: item.name, | ||||||
|  |                 dictValue: item.id | ||||||
|  |               } | ||||||
|  |               this.mediaList.push(info) | ||||||
|  |             }) | ||||||
|  |           } | ||||||
|  |           // if(this.params.id) { | ||||||
|  |           //   this.getDetail() | ||||||
|  |           // } | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     getEquipmentList() { | ||||||
|  |       this.instance.post(`/app/appdlbquipment/getDlbDeviceList?current=1&size=10000&devStatus=5&keyword=`).then((res) => { | ||||||
|  |         if (res.code == 0) { | ||||||
|  |           this.equipmentList = [] | ||||||
|  |           if(res.data && res.data.records.length) { | ||||||
|  |             res.data.records.map((item) => { | ||||||
|  |               let info = { | ||||||
|  |                 dictName: item.deviceName, | ||||||
|  |                 dictValue: item.serialNo | ||||||
|  |               } | ||||||
|  |               this.equipmentList.push(info) | ||||||
|  |             }) | ||||||
|  |           } | ||||||
|  |           this.getMediaList() | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     confirm() { | ||||||
|  |       this.$refs['ruleForm'].validate((valid) => { | ||||||
|  |         if (valid) { | ||||||
|  |           if(this.formData.checkList.length) { | ||||||
|  |             this.formData.cyclingDate = this.formData.checkList.join(',') | ||||||
|  |           } | ||||||
|  |           this.formData.coverageType = '4' | ||||||
|  |           this.formData.id = '' | ||||||
|  |           this.instance.post(`/app/appzyvideobroadcast/play`, { | ||||||
|  |             ...this.formData, | ||||||
|  |           }) | ||||||
|  |           .then((res) => { | ||||||
|  |             if (res.code == 0) { | ||||||
|  |               this.$message.success('提交成功') | ||||||
|  |               setTimeout(() => { | ||||||
|  |                 this.cancel(true) | ||||||
|  |               }, 1000) | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     getDetail() { | ||||||
|  |       this.instance.post(`/app/appzyvideobroadcast/queryDetailById?id=${this.params.id}`).then((res) => { | ||||||
|  |         if (res.code == 0) { | ||||||
|  |           this.formData = { | ||||||
|  |             ...res.data, | ||||||
|  |             checkList: [] | ||||||
|  |           } | ||||||
|  |           this.formData.mediaId = String(this.formData.mediaId) | ||||||
|  |           this.formData.cyclingType = String(this.formData.cyclingType) | ||||||
|  |           if(this.formData.cyclingDate) { | ||||||
|  |             this.formData.checkList = this.formData.cyclingDate.split(',') | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     timeToSec(time) { | ||||||
|  |      var s = ""; | ||||||
|  |       var hour = time.split(":")[0]; | ||||||
|  |       var min = time.split(":")[1]; | ||||||
|  |       var second =  time.split(":")[2]; | ||||||
|  |       s = Number(hour * 3600) + Number(min * 60) + Number(second) | ||||||
|  |       return s; | ||||||
|  |     },  | ||||||
|  |     // 返回按钮 | ||||||
|  |     cancel(isRefresh) { | ||||||
|  |       this.$emit('change', { | ||||||
|  |         type: 'list', | ||||||
|  |         isRefresh: !!isRefresh, | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <style lang="scss" scoped> | ||||||
|  |  | ||||||
|  | </style> | ||||||
							
								
								
									
										21
									
								
								packages/3.0.0/AppContentInfo/components/Add.vue
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								packages/3.0.0/AppContentInfo/components/Add.vue
									
									
									
									
										vendored
									
									
								
							| @@ -58,20 +58,6 @@ | |||||||
|                 :limit="1"> |                 :limit="1"> | ||||||
|               </ai-uploader> |               </ai-uploader> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item label="缩略图" prop="pictureUrl" style="width: 100%;"> |  | ||||||
|               <ai-uploader |  | ||||||
|                 :instance="instance" |  | ||||||
|                 isShowTip |  | ||||||
|                 v-model="form.pictureUrl" |  | ||||||
|                 :limit="1" |  | ||||||
|                 :cropOps="cropOps" |  | ||||||
|                 is-crop> |  | ||||||
|                 <template slot="tips"> |  | ||||||
|                   <p>最多上传1张图片,单个文件最大10MB,支持jpg、jpeg、png格式</p> |  | ||||||
|                   <p>图片比例:1.6:1</p> |  | ||||||
|                 </template> |  | ||||||
|               </ai-uploader> |  | ||||||
|             </el-form-item> |  | ||||||
|           </el-form> |           </el-form> | ||||||
|         </template> |         </template> | ||||||
|       </ai-card> |       </ai-card> | ||||||
| @@ -104,7 +90,6 @@ | |||||||
|           files: [], |           files: [], | ||||||
|           categoryId: '', |           categoryId: '', | ||||||
|           contentType: '0', |           contentType: '0', | ||||||
|           pictureUrl: [], |  | ||||||
|           areaName: '', |           areaName: '', | ||||||
|           thumbUrl: [] |           thumbUrl: [] | ||||||
|         }, |         }, | ||||||
| @@ -146,9 +131,6 @@ | |||||||
|         this.instance.post(`/app/appcontentinfo/queryDetailById?id=${id}`).then(res => { |         this.instance.post(`/app/appcontentinfo/queryDetailById?id=${id}`).then(res => { | ||||||
|           if (res.code === 0) { |           if (res.code === 0) { | ||||||
|             this.form = res.data |             this.form = res.data | ||||||
|             this.form.pictureUrl = res.data.pictureUrl ? [{ |  | ||||||
|               url: res.data.pictureUrl |  | ||||||
|             }] : [] |  | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
|       }, |       }, | ||||||
| @@ -175,8 +157,7 @@ | |||||||
|               moduleId: this.$route.query.moduleId, |               moduleId: this.$route.query.moduleId, | ||||||
|               createUserName: this.user.info.name, |               createUserName: this.user.info.name, | ||||||
|               createUserId: this.user.info.id, |               createUserId: this.user.info.id, | ||||||
|               categoryName: this.cateList.length ? this.cateList.filter(v => v.id === this.form.categoryId)[0].categoryName : '', |               categoryName: this.cateList.length ? this.cateList.filter(v => v.id === this.form.categoryId)[0].categoryName : '' | ||||||
|               pictureUrl: this.form.pictureUrl.length ? this.form.pictureUrl[0].url : '' |  | ||||||
|             }).then(res => { |             }).then(res => { | ||||||
|               if (res.code == 0) { |               if (res.code == 0) { | ||||||
|                 this.$message.success('提交成功') |                 this.$message.success('提交成功') | ||||||
|   | |||||||
| @@ -235,7 +235,7 @@ | |||||||
|  |  | ||||||
|       remove(id) { |       remove(id) { | ||||||
|         this.$confirm('确定删除该数据?').then(() => { |         this.$confirm('确定删除该数据?').then(() => { | ||||||
|           this.instance.post(`/app/appeveryvillagecode/delete?ids=${id}`).then(res => { |           this.instance.post(`/app/appconvenientaddressbook/delete?ids=${id}`).then(res => { | ||||||
|             if (res.code == 0) { |             if (res.code == 0) { | ||||||
|               this.$message.success('删除成功!') |               this.$message.success('删除成功!') | ||||||
|               this.getList() |               this.getList() | ||||||
|   | |||||||
| @@ -222,7 +222,7 @@ export default { | |||||||
|       showSupplement: false, //补录 |       showSupplement: false, //补录 | ||||||
|       showDetail: true,  //详情 |       showDetail: true,  //详情 | ||||||
|       showAdd: false,    //添加 |       showAdd: false,    //添加 | ||||||
|       showList: false,    //列表 |       showList: true,    //列表 | ||||||
|       meetingId: "",//会议id |       meetingId: "",//会议id | ||||||
|       meetingStatus: '', //会议状态 |       meetingStatus: '', //会议状态 | ||||||
|       partyType: '', //2表示支部可进支部党组织设置 |       partyType: '', //2表示支部可进支部党组织设置 | ||||||
|   | |||||||
| @@ -35,7 +35,7 @@ | |||||||
|                   <span v-else>请选择</span> |                   <span v-else>请选择</span> | ||||||
|                 </div> |                 </div> | ||||||
|               </el-form-item> |               </el-form-item> | ||||||
|               <el-form-item prop="isOnline" label="举办方式"> |               <el-form-item prop="isOnline" label="举办方式:"> | ||||||
|                 <!--            <el-radio label="1" v-model="form.isOnline">线上举办</el-radio>--> |                 <!--            <el-radio label="1" v-model="form.isOnline">线上举办</el-radio>--> | ||||||
|                 <el-radio label="0" v-model="form.isOnline">线下举办</el-radio> |                 <el-radio label="0" v-model="form.isOnline">线下举办</el-radio> | ||||||
|               </el-form-item> |               </el-form-item> | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								packages/3.0.0/AppNotice/components/Add.vue
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								packages/3.0.0/AppNotice/components/Add.vue
									
									
									
									
										vendored
									
									
								
							| @@ -11,6 +11,9 @@ | |||||||
|             <el-form-item label="标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入标题', trigger: 'blur' }]"> |             <el-form-item label="标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入标题', trigger: 'blur' }]"> | ||||||
|               <el-input size="small" placeholder="请输入标题" :maxlength="30" v-model="form.title"></el-input> |               <el-input size="small" placeholder="请输入标题" :maxlength="30" v-model="form.title"></el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|  |             <el-form-item label="发布组织" style="width: 100%;" prop="publishUnitName" :rules="[{ required: true, message: '请输入发布组织', trigger: 'blur' }]"> | ||||||
|  |               <el-input size="small" placeholder="请输入发布组织" :maxlength="50" v-model="form.publishUnitName"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|             <el-form-item label="正文" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请输入正文', trigger: 'blur' }]"> |             <el-form-item label="正文" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请输入正文', trigger: 'blur' }]"> | ||||||
|               <el-input size="small" placeholder="请输入正文" :rows="6" :maxlength="1000" type="textarea" v-model="form.content"></el-input> |               <el-input size="small" placeholder="请输入正文" :rows="6" :maxlength="1000" type="textarea" v-model="form.content"></el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
| @@ -44,6 +47,7 @@ | |||||||
|         form: { |         form: { | ||||||
|           title: '', |           title: '', | ||||||
|           content: '', |           content: '', | ||||||
|  |           publishUnitName: '', | ||||||
|           images: [] |           images: [] | ||||||
|         }, |         }, | ||||||
|         id: '' |         id: '' | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
|   <section class="AppFoundingHundred"> |   <section class="AppFoundingHundred"> | ||||||
|     <ai-list v-if="showList"> |     <ai-list v-if="showList"> | ||||||
|       <template #title> |       <template #title> | ||||||
|         <ai-title title="党史课堂" isShowBottomBorder> |         <ai-title title="党员学习" isShowBottomBorder> | ||||||
|           <template #rightBtn> |           <template #rightBtn> | ||||||
|             <ai-party :instance="instance" v-model="organizationId" :topOrgId="topOrgId" size="small" |             <ai-party :instance="instance" v-model="organizationId" :topOrgId="topOrgId" size="small" | ||||||
|                       @origin="changeParty"/> |                       @origin="changeParty"/> | ||||||
|   | |||||||
| @@ -1,11 +1,12 @@ | |||||||
| <template> | <template> | ||||||
|   <section class="add_Party" :class="{isDetail:!isEdit}"> |  | ||||||
|   <ai-detail> |   <ai-detail> | ||||||
|     <ai-title slot="title" :title="detailTitle" isShowBottomBorder isShowBack @onBackClick="$emit('back')"> |     <ai-title slot="title" :title="detailTitle" isShowBottomBorder isShowBack @onBackClick="$emit('back')"> | ||||||
|     </ai-title> |     </ai-title> | ||||||
|  |     <template #content> | ||||||
|  |       <ai-card title="基本信息"> | ||||||
|         <template #content> |         <template #content> | ||||||
|           <div class="detail-content" v-if="isEdit"> |           <div class="detail-content" v-if="isEdit"> | ||||||
|           <el-form :model="form" label-width="120px" ref="ruleForm" :rules="rules"> |             <el-form class="ai-form" :model="form" label-width="120px" ref="ruleForm" :rules="rules"> | ||||||
|               <el-form-item label="课程主题" prop="title"> |               <el-form-item label="课程主题" prop="title"> | ||||||
|                 <el-input size="small" v-model="form.title" clearable placeholder="请输入..." maxlength="100" |                 <el-input size="small" v-model="form.title" clearable placeholder="请输入..." maxlength="100" | ||||||
|                           show-word-limit/> |                           show-word-limit/> | ||||||
| @@ -17,7 +18,7 @@ | |||||||
|                 <el-input size="small" v-model="form.organizationName" clearable placeholder="请输入..." maxlength="100" |                 <el-input size="small" v-model="form.organizationName" clearable placeholder="请输入..." maxlength="100" | ||||||
|                           show-word-limit/> |                           show-word-limit/> | ||||||
|               </el-form-item> |               </el-form-item> | ||||||
|             <el-form-item label="封面" prop="thumbUrl"> |               <el-form-item style="width: 100%;" label="封面" prop="thumbUrl"> | ||||||
|                 <ai-uploader |                 <ai-uploader | ||||||
|                   :instance="instance" |                   :instance="instance" | ||||||
|                   v-model="form.thumbUrl" |                   v-model="form.thumbUrl" | ||||||
| @@ -27,7 +28,7 @@ | |||||||
|                   <template slot="tips">图片比例:1.6:1</template> |                   <template slot="tips">图片比例:1.6:1</template> | ||||||
|                 </ai-uploader> |                 </ai-uploader> | ||||||
|               </el-form-item> |               </el-form-item> | ||||||
|             <el-form-item label="课程简介" prop="content"> |               <el-form-item label="课程简介" style="width: 100%;" prop="content"> | ||||||
|                 <ai-editor v-model="form.content" :instance="instance"/> |                 <ai-editor v-model="form.content" :instance="instance"/> | ||||||
|               </el-form-item> |               </el-form-item> | ||||||
|             </el-form> |             </el-form> | ||||||
| @@ -47,6 +48,8 @@ | |||||||
|             </ai-wrapper> |             </ai-wrapper> | ||||||
|           </div> |           </div> | ||||||
|         </template> |         </template> | ||||||
|  |       </ai-card> | ||||||
|  |     </template> | ||||||
|     <template #footer> |     <template #footer> | ||||||
|       <template v-if="isEdit"> |       <template v-if="isEdit"> | ||||||
|         <el-button size="small" @click="$emit('back')">取消</el-button> |         <el-button size="small" @click="$emit('back')">取消</el-button> | ||||||
| @@ -57,7 +60,6 @@ | |||||||
|       </template> |       </template> | ||||||
|     </template> |     </template> | ||||||
|   </ai-detail> |   </ai-detail> | ||||||
|   </section> |  | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
| @@ -73,7 +75,7 @@ | |||||||
|     }, |     }, | ||||||
|     computed: { |     computed: { | ||||||
|       detailTitle() { |       detailTitle() { | ||||||
|         return this.isEdit ? '编辑党史课堂' : '党史课堂详情' |         return this.isEdit ? '编辑党员学习' : '党史党员学习' | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     data() { |     data() { | ||||||
| @@ -159,9 +161,6 @@ | |||||||
|   .add_Party { |   .add_Party { | ||||||
|     height: 100%; |     height: 100%; | ||||||
|     position: relative; |     position: relative; | ||||||
|     background: #fff; |  | ||||||
|     display: flex; |  | ||||||
|     flex-direction: column; |  | ||||||
|  |  | ||||||
|     .detail-content { |     .detail-content { | ||||||
|       padding-bottom: 80px; |       padding-bottom: 80px; | ||||||
|   | |||||||
| @@ -6,12 +6,6 @@ | |||||||
|       </template> |       </template> | ||||||
|       <template slot="content" v-if="!isEdit"> |       <template slot="content" v-if="!isEdit"> | ||||||
|         <ai-card title="商品信息"> |         <ai-card title="商品信息"> | ||||||
|           <template #right> |  | ||||||
|             <div> |  | ||||||
|               <span class="Edit" v-if="!isEdit" @click="searchDetail(info.id), (isEdit = true)">取消</span> |  | ||||||
|               <span class="Edit" v-if="!isEdit" @click="save('rules', 'detail')">保存</span> |  | ||||||
|             </div> |  | ||||||
|           </template> |  | ||||||
|           <template #content> |           <template #content> | ||||||
|             <div class="form_div"> |             <div class="form_div"> | ||||||
|               <el-form |               <el-form | ||||||
| @@ -106,9 +100,6 @@ | |||||||
|       </template> |       </template> | ||||||
|       <template slot="content" v-if="isEdit"> |       <template slot="content" v-if="isEdit"> | ||||||
|         <ai-card title="商品信息"> |         <ai-card title="商品信息"> | ||||||
|           <template #right> |  | ||||||
|             <span class="iconfont iconEdit" v-if="showEdit && isEdit && $permissions('app_appvillagerintegralmerchandise_edit')" @click="edit">修改</span> |  | ||||||
|           </template> |  | ||||||
|           <template #content> |           <template #content> | ||||||
|             <div class="info"> |             <div class="info"> | ||||||
|               <ai-wrapper label-width="70px" :columnsNumber="1"> |               <ai-wrapper label-width="70px" :columnsNumber="1"> | ||||||
|   | |||||||
| @@ -99,7 +99,9 @@ export default { | |||||||
|       this.$emit('select', data) |       this.$emit('select', data) | ||||||
|     }, |     }, | ||||||
|     handleFilter(v, data) { |     handleFilter(v, data) { | ||||||
|       return data?.deviceName?.indexOf(v) > -1 |       if (!v) return true | ||||||
|  |  | ||||||
|  |       return data?.name?.indexOf(v) > -1 | ||||||
|     }, |     }, | ||||||
|     handleTreeFilter(v) { |     handleTreeFilter(v) { | ||||||
|       this.$refs.deviceTree?.filter(v) |       this.$refs.deviceTree?.filter(v) | ||||||
|   | |||||||
| @@ -315,7 +315,7 @@ | |||||||
|                 placeholder="选择日期" |                 placeholder="选择日期" | ||||||
|                 style="width: 100%" |                 style="width: 100%" | ||||||
|                 format="yyyy-MM-dd" |                 format="yyyy-MM-dd" | ||||||
|                   :value-format="'yyyy-MM-dd' + ' 00:00:00'" |                 :value-format="'yyyy-MM-dd'" | ||||||
|               > |               > | ||||||
|               </el-date-picker> |               </el-date-picker> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <ai-list v-if="!isShowDetail"> |   <ai-list v-if="!isShowDetail"> | ||||||
|     <template slot="title"> |     <template slot="title"> | ||||||
|       <ai-title title="居民管理" :isShowBottomBorder="false"></ai-title> |       <ai-title title="居民信息管理" :isShowBottomBorder="false"></ai-title> | ||||||
|     </template> |     </template> | ||||||
|     <template slot="tabs"> |     <template slot="tabs"> | ||||||
|       <el-tabs v-model="currIndex"> |       <el-tabs v-model="currIndex"> | ||||||
| @@ -23,7 +23,7 @@ | |||||||
|  |  | ||||||
|   export default { |   export default { | ||||||
|     name: 'AppResidentManage', |     name: 'AppResidentManage', | ||||||
|     label: '居民管理', |     label: '居民信息管理', | ||||||
|  |  | ||||||
|     components: { |     components: { | ||||||
|       List, |       List, | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <ai-detail class="AppResidentManage"> |   <ai-detail class="AppResidentManage"> | ||||||
|     <template slot="title"> |     <template slot="title"> | ||||||
|       <ai-title title="居民详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title> |       <ai-title title="居民信息详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title> | ||||||
|     </template> |     </template> | ||||||
|     <template slot="content"> |     <template slot="content"> | ||||||
|       <div class="detail-top"> |       <div class="detail-top"> | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ | |||||||
|       <ai-search-bar> |       <ai-search-bar> | ||||||
|         <template slot="left"> |         <template slot="left"> | ||||||
|           <el-button type="primary" icon="iconfont iconAdd" @click="isShow = true" :disabled="!ids.length">批量打标签</el-button> |           <el-button type="primary" icon="iconfont iconAdd" @click="isShow = true" :disabled="!ids.length">批量打标签</el-button> | ||||||
|  |           <!-- <el-button type="primary" icon="iconfont iconDelete" @click="onConfirm(1)" :disabled="!ids.length">批量移除群标签</el-button> --> | ||||||
|         </template> |         </template> | ||||||
|         <template slot="right"> |         <template slot="right"> | ||||||
|           <el-button type="primary" icon="iconfont iconResetting" @click="update" :loading="btnLoading">更新数据</el-button> |           <el-button type="primary" icon="iconfont iconResetting" @click="update" :loading="btnLoading">更新数据</el-button> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user