Browse Source

宣传视频/查询机

master
xuhuajiao 4 weeks ago
parent
commit
ab8e6b9a65
  1. 31
      src/api/digitalScreen/index.js
  2. 35
      src/api/inquiryMachine/column.js
  3. 35
      src/api/inquiryMachine/content.js
  4. 83
      src/api/inquiryMachine/index.js
  5. 19
      src/views/digitalScreen/index.vue
  6. 47
      src/views/digitalScreen/module/mediaSetting.vue
  7. 9
      src/views/inquiryMachine/column.vue
  8. 61
      src/views/inquiryMachine/content.vue

31
src/api/digitalScreen/index.js

@ -121,6 +121,32 @@ export function FetchDeleteScreenWelcomePromotion(parameter) {
})
}
// 智慧大屏宣传视频列表
export function FetchInitScreenPromotionVideo(params) {
return request({
url: 'api/screenSetting/initScreenPromotionVideo' + '?' + qs.stringify(params, { indices: false }),
method: 'get'
})
}
// 编辑智慧大屏宣传视频
export function FetchEditScreenPromotionVideo(parameter) {
return request({
url: 'api/screenSetting/editScreenPromotionVideo',
method: 'post',
data: parameter
})
}
// 删除智慧大屏宣传视频
export function FetchDeleteScreenPromotionVideo(parameter) {
return request({
url: 'api/screenSetting/deleteScreenPromotionVideo',
method: 'post',
data: parameter
})
}
export default {
FetchInitScreenSetting,
FetchEditScreenSetting,
@ -135,5 +161,8 @@ export default {
FetchDeleteScreenNotice,
FetchInitScreenWelcomePromotion,
FetchEditScreenWelcomePromotion,
FetchDeleteScreenWelcomePromotion
FetchDeleteScreenWelcomePromotion,
FetchInitScreenPromotionVideo,
FetchEditScreenPromotionVideo,
FetchDeleteScreenPromotionVideo
}

35
src/api/inquiryMachine/column.js

@ -0,0 +1,35 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function del(data) {
return request({
url: 'api/fonds/delFonds',
method: 'post',
data
})
}
export function FetchUpdateFondsStatus(data) {
return request({
url: 'api/fonds/updateFondsStatus',
method: 'post',
data
})
}
export default { add, edit, del, FetchUpdateFondsStatus }

35
src/api/inquiryMachine/content.js

@ -0,0 +1,35 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function del(data) {
return request({
url: 'api/fonds/delFonds',
method: 'post',
data
})
}
export function FetchUpdateFondsStatus(data) {
return request({
url: 'api/fonds/updateFondsStatus',
method: 'post',
data
})
}
export default { add, edit, del, FetchUpdateFondsStatus }

83
src/api/inquiryMachine/index.js

@ -1,83 +0,0 @@
import request from '@/utils/request'
export function FetchInitFondsList(params) {
return request({
url: 'api/fonds/initFondsList',
method: 'get',
params
})
}
export function add(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function del(data) {
return request({
url: 'api/fonds/delFonds',
method: 'post',
data
})
}
export function FetchUpdateFondsStatus(data) {
return request({
url: 'api/fonds/updateFondsStatus',
method: 'post',
data
})
}
export function FetchDownload(params) {
return request({
url: 'api/fonds/download',
method: 'get',
params
})
}
export function FetchFondsAll() {
return request({
url: 'api/fonds/getFondsAll',
method: 'get'
})
}
export function FetchFondsCategory(data) {
return request({
url: 'api/fonds/fondsCategory',
method: 'post',
data
})
}
export function FetchFondsDetail(params) {
return request({
url: 'api/fonds/getFondsDetail',
method: 'get',
params
})
}
// 根据门类和档案id获取显示全宗
export function FetchInitFondsByCategoryIdAndArchivesId(params) {
return request({
url: 'api/fonds/initFondsByCategoryIdAndArchivesId',
method: 'get',
params
})
}
export default { add, edit, del, FetchInitFondsList, FetchUpdateFondsStatus, FetchDownload, FetchFondsCategory, FetchFondsDetail, FetchInitFondsByCategoryIdAndArchivesId }

19
src/views/digitalScreen/index.vue

@ -36,14 +36,15 @@
<i :class="item.enabled ? 'el-icon-video-play' : 'el-icon-video-pause'" @click.stop="toggleScreenStatus(index)" />
</div>
<div class="screen-time">
<span v-if="!item.editing" class="time-readonly" @click="handleTimeClick($event)" @dblclick="handleEditClick($event, item)">
{{ item.time }}
</span>
<el-tooltip v-if="!item.editing" class="item" effect="dark" content="双击输入框进行编辑" placement="top">
<span class="time-readonly" @click="handleTimeClick($event)" @dblclick="handleEditClick($event, item)">
{{ item.time }}
</span>
</el-tooltip>
<el-input v-else ref="timeInput" v-model="item.time" type="number" @blur="handleTimeBlur(item)" @keyup.enter="handleTimeBlur(item)" />
<span class="time-unit"></span>
</div>
</div>
</div>
<div class="screen-right-info">
@ -330,6 +331,7 @@ import bookRecommend from './module/bookRecommend'
import areaSetting from './module/areaSetting'
import mediaSetting from './module/mediaSetting'
import advSetting from './module/advSetting'
import { mapGetters } from 'vuex'
export default {
name: 'DigitalScreen',
@ -432,6 +434,10 @@ export default {
}
},
computed: {
...mapGetters([
'baseApi',
'user'
]),
enabledCount() {
return this.screenItems.filter(item => item.enabled).length
},
@ -481,7 +487,7 @@ export default {
},
//
initScreenSetting() {
FetchInitScreenSetting().then(res => {
FetchInitScreenSetting({ 'libcode': this.user.fonds.fondsNo }).then(res => {
const showScreenItem = Object.values(res).find(item => item.code === 'show_screen')
if (showScreenItem) {
// context
@ -818,6 +824,9 @@ export default {
const input = this.$refs.timeInput.find(ref => ref && ref.$el)
if (input) {
input.focus()
setTimeout(() => {
input.select()
}, 0)
}
})
},

47
src/views/digitalScreen/module/mediaSetting.vue

@ -66,7 +66,7 @@
@row-click="clickVideoRowHandler"
>
<el-table-column type="selection" align="center" width="55" />
<el-table-column prop="name" label="标题" width="200" />
<el-table-column prop="title" label="标题" width="200" />
<el-table-column prop="startTime" label="开始时间" width="200" />
<el-table-column prop="endTime" label="结束时间" width="200" />
<el-table-column fixed="right" label="操作" width="100">
@ -162,6 +162,11 @@
placeholder="选择日期时间"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>{
return time.getTime() < Date.now() - 8.64e7
}
}"
/>
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
@ -169,6 +174,7 @@
v-model="videoForm.endTime"
type="datetime"
placeholder="选择日期时间"
:picker-options="endPickerOptions"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
default-time="['23:59:59']"
@ -196,7 +202,7 @@
</template>
<script>
import { FetchInitScreenNotice, FetchEditScreenNotice, FetchDeleteScreenNotice } from '@/api/digitalScreen/index'
import { FetchInitScreenNotice, FetchEditScreenNotice, FetchDeleteScreenNotice, FetchInitScreenPromotionVideo, FetchEditScreenPromotionVideo, FetchDeleteScreenPromotionVideo } from '@/api/digitalScreen/index'
import { mapGetters } from 'vuex'
export default {
@ -231,7 +237,7 @@ export default {
title: '',
startTime: '',
endTime: '',
videoUrl: ''
previewUrl: ''
},
videoPage: {
page: 0,
@ -310,7 +316,7 @@ export default {
'page': this.videoPage.page,
'size': this.videoPage.size
}
FetchInitScreenNotice(params).then((res) => {
FetchInitScreenPromotionVideo(params).then((res) => {
console.log('videoTableData', res.content)
if (res.content.length !== 0) {
this.videoTableData = res.content
@ -379,7 +385,20 @@ export default {
this.handleClose()
})
} else {
console.log('宣传视频表单提交')
this.videoForm.libcode = this.user.fonds.fondsNo
console.log('this.videoForm', this.videoForm)
FetchEditScreenPromotionVideo(this.videoForm).then((res) => {
if (res.code !== 500) {
this.$message({ message: this.formType === 'add' ? '新增宣传视频成功' : '编辑宣传视频成功', type: 'success', offset: 8 })
this.initScreenVideo()
} else {
this.$message({ message: '操作失败', type: 'error', offset: 8 })
}
this.handleClose()
}).catch(err => {
console.log(err)
this.handleClose()
})
}
} else {
console.log('error submit!!')
@ -419,13 +438,25 @@ export default {
this.deleteLoading = false
})
} else {
console.log('视频列表删除')
FetchDeleteScreenPromotionVideo(ids).then((res) => {
console.log('res', res)
if (res.code !== 500) {
this.$message({ message: '删除成功', type: 'success', offset: 8 })
this.initScreenVideo()
} else {
this.$message({ message: '删除失败', type: 'error', offset: 8 })
}
this.deleteVideoLoading = false
}).catch(err => {
console.log(err)
this.deleteVideoLoading = false
})
}
}).catch(() => {
if (type === 'notice') {
this.deleteLoading = true
this.deleteLoading = false
} else {
this.deleteVideoLoading = true
this.deleteVideoLoading = false
}
})
},

9
src/views/inquiryMachine/column.vue

@ -111,8 +111,7 @@
</template>
<script>
// import crudColumn from '@/api/inquiryMachine/index'
import crudfonds from '@/api/system/fonds'
import crudColumn from '@/api/inquiryMachine/column'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
@ -126,7 +125,7 @@ export default {
name: 'Column',
components: { pagination, crudOperation, rrOperation },
cruds() {
return CRUD({ title: '栏目', idField: 'fondsId', url: 'api/fonds/initFondsList', crudMethod: { ...crudfonds }, optShow: {
return CRUD({ title: '栏目', url: 'api/fonds/initFondsList', crudMethod: { ...crudColumn }, optShow: {
add: true,
edit: true,
del: false,
@ -211,7 +210,7 @@ export default {
datas.forEach(val => {
ids.push(val.fondsId)
})
// crudfonds.del(ids).then(() => {
// crudColumn.del(ids).then(() => {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.crud.delAllLoading = false
// this.crud.refresh()
@ -229,7 +228,7 @@ export default {
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
// crudfonds.FetchUpdateFondsStatus(data).then(res => {
// crudColumn.FetchUpdateFondsStatus(data).then(res => {
// this.$message({ message: '', type: 'success', offset: 8 })
// }).catch(() => {
// data.fondsStatus = !data.fondsStatus

61
src/views/inquiryMachine/content.vue

@ -115,7 +115,7 @@
</template>
<script>
import crudDept from '@/api/system/dept'
import crudContent from '@/api/inquiryMachine/content'
import { FetchFondsAll } from '@/api/system/fonds'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
@ -128,7 +128,7 @@ export default {
name: 'Content',
components: { crudOperation, pagination },
cruds() {
return CRUD({ title: '内容', idField: 'deptsId', url: 'api/depts/initDeptsList', crudMethod: { ...crudDept }, optShow: {
return CRUD({ title: '内容', url: 'api/depts/initDeptsList', crudMethod: { ...crudContent }, optShow: {
add: true,
edit: true,
del: false,
@ -149,21 +149,6 @@ export default {
title: [
{ required: true, message: '标题不可为空', trigger: 'blur' }
]
// deptsName: [
// { required: true, message: '', trigger: 'blur' }
// ],
// isTop: [
// { required: true, message: '', trigger: 'change' }
// ],
// deptsParentsId: [
// { required: true, message: '', trigger: 'change' }
// ],
// deptsOrders: [
// { required: true, message: '', trigger: 'blur', type: 'number' }
// ],
// deptsStatus: [
// { required: true, message: '', trigger: 'change' }
// ]
},
fondsName: '',
fondsDatas: [],
@ -303,19 +288,19 @@ export default {
this.$refs.table.toggleRowSelection(row)
},
getDepts(params) {
crudDept.getDepts(params).then(res => {
this.depts = res.content.map(function(obj) {
if (obj.sonNum !== 0) {
obj.hasChildren = true
} else {
obj.hasChildren = false
}
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
// crudDept.getDepts(params).then(res => {
// this.depts = res.content.map(function(obj) {
// if (obj.sonNum !== 0) {
// obj.hasChildren = true
// } else {
// obj.hasChildren = false
// }
// if (obj.hasChildren) {
// obj.children = null
// }
// return obj
// })
// })
},
toDelete(datas) {
const bool = datas.every(item => item.deptsTotalPeoNum !== 0)
@ -331,14 +316,14 @@ export default {
datas.forEach(val => {
ids.push(val.deptsId)
})
crudDept.del(ids).then(() => {
this.$message({ message: '删除成功', type: 'success', offset: 8 })
this.crud.delAllLoading = false
this.crud.refresh()
}).catch(err => {
this.crud.delAllLoading = false
console.log(err)
})
// crudContent.del(ids).then(() => {
// this.$message({ message: '', type: 'success', offset: 8 })
// this.crud.delAllLoading = false
// this.crud.refresh()
// }).catch(err => {
// this.crud.delAllLoading = false
// console.log(err)
// })
}).catch(() => {
})
} else {

Loading…
Cancel
Save