湖南公安

This commit is contained in:
liuye
2022-06-15 15:46:31 +08:00
parent 2b543c6d98
commit 2fc027c8c9
5 changed files with 71 additions and 88 deletions

View File

@@ -20,6 +20,7 @@ export default {
value: {default: ""}, value: {default: ""},
type: {default: "resident"}, type: {default: "resident"},
nodeKey: {default: "idNumber"}, nodeKey: {default: "idNumber"},
isRequire: {default: 1},
selected: {default: () => []}, selected: {default: () => []},
placeholder: {default: "选择人员"}, placeholder: {default: "选择人员"},
ops: {default: () => ({})}, ops: {default: () => ({})},
@@ -48,7 +49,7 @@ export default {
}, },
methods: { methods: {
handleJump() { handleJump() {
let {config, nodeKey, valueObj} = this, let {config, nodeKey, valueObj, isRequire} = this,
selected = (valueObj ? this.value[nodeKey] : this.value) || this.selected?.map(e => e[nodeKey]) selected = (valueObj ? this.value[nodeKey] : this.value) || this.selected?.map(e => e[nodeKey])
uni.$once('pagePicker:' + this.type, data => { uni.$once('pagePicker:' + this.type, data => {
console.log('发送', data) console.log('发送', data)
@@ -58,7 +59,7 @@ export default {
}) })
let url = `${config.url}`, let url = `${config.url}`,
qsstr = qs.stringify({ qsstr = qs.stringify({
selected, nodeKey, ...this.$attrs selected, nodeKey, isRequire, ...this.$attrs
}) })
if (!!qsstr) { if (!!qsstr) {
url += `?${qsstr}` url += `?${qsstr}`

View File

@@ -48,6 +48,9 @@ export default {
}, },
nodeKey() { nodeKey() {
return this.$route.query.nodeKey || "idNumber" return this.$route.query.nodeKey || "idNumber"
},
isRequire() {
return this.$route.query.isRequire || 1
} }
}, },
onLoad(query) { onLoad(query) {
@@ -86,12 +89,15 @@ export default {
checkList.push(item) checkList.push(item)
} }
}) })
if (!checkList.length && this.isRequire == 1) {
uni.navigateBack({ return this.$u.toast('请先选择部门')
success: () => { } else {
uni.$emit("pagePicker:dept", checkList) uni.navigateBack({
} success: () => {
}) uni.$emit("pagePicker:dept", checkList)
}
})
}
} }
}, },
} }

View File

@@ -51,7 +51,10 @@ export default {
}, },
nodeKey() { nodeKey() {
return this.$route.query.nodeKey || "idNumber" return this.$route.query.nodeKey || "idNumber"
} },
isRequire() {
return this.$route.query.isRequire || 1
},
}, },
onLoad(query) { onLoad(query) {
if (query.selected) { if (query.selected) {
@@ -92,7 +95,7 @@ export default {
checkList.push(item) checkList.push(item)
} }
}) })
if (!checkList.length) { if (!checkList.length && this.isRequire == 1) {
return this.$u.toast('请先选择人员') return this.$u.toast('请先选择人员')
} else { } else {
uni.navigateBack({ uni.navigateBack({

View File

@@ -48,15 +48,15 @@
<div class="type-content"> <div class="type-content">
<div class="flex"> <div class="flex">
<p class="label" style="width:40px;">图片</p> <p class="label" style="width:40px;">图片</p>
<AiUploader type="image" :def.sync="formData.fileListImg" :limit="1" @data="(v) => fileDataImg = v"></AiUploader> <AiUploader type="image" :limit="9" multiple :def.sync="fileListImg" @data="changeImg"></AiUploader>
</div> </div>
<div class="flex" > <div class="flex" >
<p class="label" style="width:40px;">视频</p> <p class="label" style="width:40px;">视频</p>
<AiUploader type="video" :limit="1" placeholder="上传视频" :def.sync="formData.fileListVideo" @data="(v) => fileDataVideo = v"></AiUploader> <AiUploader type="video" :limit="9" multiple placeholder="上传视频" :def.sync="fileListVideo" @data="changeVideo"></AiUploader>
</div> </div>
<div class="flex"> <div class="flex">
<p class="label" style="width:40px;">附件</p> <p class="label" style="width:40px;">附件</p>
<AiUploader type="file" :limit="1" placeholder="上传附件" :def.sync="formData.fileListFile" @data="(v) => fileDataFile = v"></AiUploader> <AiUploader type="file" :limit="9" multiple placeholder="上传附件" :def.sync="fileListFile" @data="changeFile"></AiUploader>
</div> </div>
<div v-if="form.contentType == 'link'"> <div v-if="form.contentType == 'link'">
<div class="flex border-b"> <div class="flex border-b">
@@ -139,23 +139,14 @@ export default {
], ],
form: { form: {
content: '', content: '',
contentType: 'text',
sendType: '0', sendType: '0',
sendTime: '' sendTime: ''
}, },
formData: { formData: {},
fileListImg: [], fileList: [],
fileListVideo: [], fileListImg: [],
fileListFile: [], fileListVideo: [],
fileList: [], fileListFile: [],
imgList: [],
accessImgurl: '',
accessTitle: '',
accessUrl: '',
accessAppid: '',
file: {},
mediaId: ''
},
areaIdList: [], areaIdList: [],
tagIdList: [], tagIdList: [],
deptList: [], deptList: [],
@@ -169,18 +160,40 @@ export default {
minute: true, minute: true,
second: true second: true
}, },
fileDataImg: null,
fileDataVideo: null,
fileDataFile: null
} }
}, },
computed: {...mapState(['user'])}, computed: {...mapState(['user'])},
methods: { methods: {
radioChange(e) { changeImg(e) {
// this.$nextTick(() => { this.$nextTick(() => {
// this.form.contentType = e this.fileListImg.map((item) => {
// }) if(item.id == e.file.id) {
}, item.mediaId = e.media.mediaId
item.contentType = 'image'
}
})
})
},
changeVideo(e) {
this.$nextTick(() => {
this.fileListVideo.map((item) => {
if(item.id == e.file.id) {
item.mediaId = e.media.mediaId
item.contentType = 'video'
}
})
})
},
changeFile(e) {
this.$nextTick(() => {
this.fileListFile.map((item) => {
if(item.id == e.file.id) {
item.mediaId = e.media.mediaId
item.contentType = 'file'
}
})
})
},
toSelect() { toSelect() {
uni.navigateTo({url: `./chooseUser?tagIdList=${this.tagIdList}&areaList=${this.areaIdList}&deptList=${this.deptList}&userList=${this.userList}`}) uni.navigateTo({url: `./chooseUser?tagIdList=${this.tagIdList}&areaList=${this.areaIdList}&deptList=${this.deptList}&userList=${this.userList}`})
}, },
@@ -195,9 +208,6 @@ export default {
} }
}, },
confirm() { confirm() {
// if(!this.areaIdList.length) {
// return this.$u.toast('请选择用户')
// }
this.$loading() this.$loading()
if(this.form.sendType == 1 && !this.form.sendTime) { if(this.form.sendType == 1 && !this.form.sendTime) {
return this.$u.toast('请选择群发时间') return this.$u.toast('请选择群发时间')
@@ -205,57 +215,20 @@ export default {
if(!this.form.content) { if(!this.form.content) {
return this.$u.toast('请输入文本内容') return this.$u.toast('请输入文本内容')
} }
if(this.form.contentType == 'image' && !this.formData.fileList.length) { this.fileList = []
return this.$u.toast('请上传图片')
}
if(this.form.contentType == 'video' && !this.formData.fileList.length) {
return this.$u.toast('请上传视频')
}
if(this.form.contentType == 'file' && !this.formData.fileList.length) {
return this.$u.toast('请上传文件')
}
this.formData.fileList = []
var contentFile = { var contentFile = {
content: this.form.content, content: this.form.content,
contentType: 'text' contentType: 'text'
} }
// if(this.formData.fileList.length) { this.fileList = [...this.fileListImg, ...this.fileListVideo, ...this.fileListFile]
// this.formData.file = this.formData.fileList[0] this.fileList.unshift(contentFile)
// this.formData.accessUrl = this.formData.fileList[0].url
// this.formData.mediaId = this.fileData.media.mediaId
// }
this.formData.fileList.push(contentFile)
if(this.formData.fileListImg.length) {
var info = {
contentType: 'image',
mediaId: this.fileDataImg.media.mediaId,
accessUrl: this.formData.fileListImg[0].url
}
this.formData.fileList.push(info)
}
if(this.formData.fileListVideo.length) {
var info = {
contentType: 'video',
mediaId: this.fileDataVideo.media.mediaId,
accessUrl: this.formData.fileListVideo[0].url
}
this.formData.fileList.push(info)
}
if(this.formData.fileListFile.length) {
var info = {
contentType: 'file',
mediaId: this.fileDataFile.media.mediaId,
accessUrl: this.formData.fileListFile[0].url
}
this.formData.fileList.push(info)
}
var params = { var params = {
...this.form, ...this.form,
...this.formData,
areaId: this.areaIdList.join(','), areaId: this.areaIdList.join(','),
tag: this.tagIdList.join(','), tag: this.tagIdList.join(','),
deptList: this.deptList, deptList: this.deptList,
userList: this.userList userList: this.userList,
fileList: this.fileList
} }
this.$http.post("/app/pushmessage/addOrUpdate", params).then(res => { this.$http.post("/app/pushmessage/addOrUpdate", params).then(res => {
if (res?.code == 0) { if (res?.code == 0) {
@@ -277,13 +250,13 @@ export default {
}) })
}, },
formDataInit() { formDataInit() {
for(let key in this.formData) { for(let key in this.form) {
this.formData[key] = '' this.form[key] = ''
} }
this.formData.sendType = '0' this.form.sendType = '0'
this.formData.fileListImg = [] this.fileListImg = []
this.formData.fileListVideo = [] this.fileListVideo = []
this.formData.fileListFile = [] this.fileListFile = []
this.areaIdList = [] this.areaIdList = []
this.tagIdList = [] this.tagIdList = []
this.deptList = [] this.deptList = []

View File

@@ -12,7 +12,7 @@
<div class="area-flex"> <div class="area-flex">
<p class="title">部门</p> <p class="title">部门</p>
<div class="value"> <div class="value">
<AiPagePicker type="dept" :selected.sync="deptList" nodeKey="id"> <AiPagePicker type="dept" :selected.sync="deptList" nodeKey="id" :isRequire="0">
<AiMore v-model="moreTextDept" /> <AiMore v-model="moreTextDept" />
</AiPagePicker> </AiPagePicker>
</div> </div>
@@ -20,7 +20,7 @@
<div class="area-flex"> <div class="area-flex">
<p class="title">人员</p> <p class="title">人员</p>
<div class="value"> <div class="value">
<AiPagePicker type="sysUser" :selected.sync="userList" action="/app/wxcp/wxuser/list?status=1" nodeKey="id"> <AiPagePicker type="sysUser" :selected.sync="userList" action="/app/wxcp/wxuser/list?status=1" nodeKey="id" :isRequire="0">
<AiMore v-model="moreText" /> <AiMore v-model="moreText" />
</AiPagePicker> </AiPagePicker>
</div> </div>