Commit 8366eca4 authored by 郭铭瑶's avatar 郭铭瑶 🤘

完善

parent 6719c85a
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"eslint-plugin-import": "^2.23.4", "eslint-plugin-import": "^2.23.4",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-vue": "^7.14.0", "eslint-plugin-vue": "^7.14.0",
"naive-ui": "^2.18.1", "naive-ui": "^2.18.2",
"prettier": "^2.3.2", "prettier": "^2.3.2",
"stylus": "^0.54.8", "stylus": "^0.54.8",
"typescript": "^4.3.5", "typescript": "^4.3.5",
...@@ -2052,6 +2052,15 @@ ...@@ -2052,6 +2052,15 @@
"url": "https://opencollective.com/date-fns" "url": "https://opencollective.com/date-fns"
} }
}, },
"node_modules/date-fns-tz": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.1.6.tgz",
"integrity": "sha512-nyy+URfFI3KUY7udEJozcoftju+KduaqkVfwyTIE0traBiVye09QnyWKLZK7drRr5h9B7sPJITmQnS3U6YOdQg==",
"dev": true,
"peerDependencies": {
"date-fns": ">=2.0.0-alpha.13"
}
},
"node_modules/dateformat": { "node_modules/dateformat": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
...@@ -4346,9 +4355,9 @@ ...@@ -4346,9 +4355,9 @@
} }
}, },
"node_modules/naive-ui": { "node_modules/naive-ui": {
"version": "2.18.1", "version": "2.18.2",
"resolved": "https://registry.npmjs.org/naive-ui/-/naive-ui-2.18.1.tgz", "resolved": "https://registry.npmjs.org/naive-ui/-/naive-ui-2.18.2.tgz",
"integrity": "sha512-oC/xvEYydCkyDRAiXVFh7J/NZ10XlntxxUBn8UtTiwkqmpmNXYQSN/0ULh4Db6hz6that4nEy59bBQ21+7b6bQ==", "integrity": "sha512-BiVq9ME4+zp2DOhqpnkQLBAE69T6x4OqImZ6FLoNs0HgvP8r8nq4+fumdxHWi7bp+QaLVIXkHh8Bb3IP4Gl1KA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@css-render/plugin-bem": "^0.15.6", "@css-render/plugin-bem": "^0.15.6",
...@@ -4358,6 +4367,7 @@ ...@@ -4358,6 +4367,7 @@
"async-validator": "^4.0.1", "async-validator": "^4.0.1",
"css-render": "^0.15.6", "css-render": "^0.15.6",
"date-fns": "^2.19.0", "date-fns": "^2.19.0",
"date-fns-tz": "^1.1.6",
"evtd": "^0.2.2", "evtd": "^0.2.2",
"highlight.js": "^11.0.1", "highlight.js": "^11.0.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
...@@ -8353,6 +8363,13 @@ ...@@ -8353,6 +8363,13 @@
"integrity": "sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==", "integrity": "sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==",
"dev": true "dev": true
}, },
"date-fns-tz": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.1.6.tgz",
"integrity": "sha512-nyy+URfFI3KUY7udEJozcoftju+KduaqkVfwyTIE0traBiVye09QnyWKLZK7drRr5h9B7sPJITmQnS3U6YOdQg==",
"dev": true,
"requires": {}
},
"dateformat": { "dateformat": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
...@@ -10122,9 +10139,9 @@ ...@@ -10122,9 +10139,9 @@
} }
}, },
"naive-ui": { "naive-ui": {
"version": "2.18.1", "version": "2.18.2",
"resolved": "https://registry.npmjs.org/naive-ui/-/naive-ui-2.18.1.tgz", "resolved": "https://registry.npmjs.org/naive-ui/-/naive-ui-2.18.2.tgz",
"integrity": "sha512-oC/xvEYydCkyDRAiXVFh7J/NZ10XlntxxUBn8UtTiwkqmpmNXYQSN/0ULh4Db6hz6that4nEy59bBQ21+7b6bQ==", "integrity": "sha512-BiVq9ME4+zp2DOhqpnkQLBAE69T6x4OqImZ6FLoNs0HgvP8r8nq4+fumdxHWi7bp+QaLVIXkHh8Bb3IP4Gl1KA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@css-render/plugin-bem": "^0.15.6", "@css-render/plugin-bem": "^0.15.6",
...@@ -10134,6 +10151,7 @@ ...@@ -10134,6 +10151,7 @@
"async-validator": "^4.0.1", "async-validator": "^4.0.1",
"css-render": "^0.15.6", "css-render": "^0.15.6",
"date-fns": "^2.19.0", "date-fns": "^2.19.0",
"date-fns-tz": "^1.1.6",
"evtd": "^0.2.2", "evtd": "^0.2.2",
"highlight.js": "^11.0.1", "highlight.js": "^11.0.1",
"lodash": "^4.17.21", "lodash": "^4.17.21",
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
"eslint-plugin-import": "^2.23.4", "eslint-plugin-import": "^2.23.4",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-vue": "^7.14.0", "eslint-plugin-vue": "^7.14.0",
"naive-ui": "^2.18.1", "naive-ui": "^2.18.2",
"prettier": "^2.3.2", "prettier": "^2.3.2",
"stylus": "^0.54.8", "stylus": "^0.54.8",
"typescript": "^4.3.5", "typescript": "^4.3.5",
......
...@@ -22,7 +22,7 @@ export default async function useAliOss(file: any) { ...@@ -22,7 +22,7 @@ export default async function useAliOss(file: any) {
console.log('e', e) console.log('e', e)
const buffer = new OSS.Buffer(e.target && e.target.result) const buffer = new OSS.Buffer(e.target && e.target.result)
console.log('buffer', buffer) console.log('buffer', buffer)
const key = `collector/${api.ACTIVITY}/huamu_${md5(buffer)}_${filename}` const key = `collector/${api.ATTACHMENT}/huamu_${md5(buffer)}_${filename}`
console.log('key', key) console.log('key', key)
const res = await client.put(key, buffer) const res = await client.put(key, buffer)
console.log('res', res) console.log('res', res)
......
...@@ -157,20 +157,19 @@ watch( ...@@ -157,20 +157,19 @@ watch(
const disableDateStart = (ts: number) => { const disableDateStart = (ts: number) => {
const cur = dayjs(ts) const cur = dayjs(ts)
const start = dayjs('1900-01-01') const start = dayjs('1900-01-01')
let end = dayjs()
if (dateRange.value[1]) { if (dateRange.value[1]) {
end = dayjs(dateRange.value[1]) const end = dayjs(dateRange.value[1])
}
return !cur.isAfter(start) || !cur.isBefore(end) return !cur.isAfter(start) || !cur.isBefore(end)
}
return !cur.isAfter(start)
} }
const disableDateEnd = (ts: number) => { const disableDateEnd = (ts: number) => {
const cur = dayjs(ts) const cur = dayjs(ts)
let start = dayjs('1900-01-01') let start = dayjs('1900-01-01')
const end = dayjs()
if (dateRange.value[0]) { if (dateRange.value[0]) {
start = dayjs(dateRange.value[0]) start = dayjs(dateRange.value[0])
} }
return !cur.isAfter(start) || !cur.isBefore(end) return !cur.isAfter(start)
} }
</script> </script>
......
...@@ -153,14 +153,8 @@ ...@@ -153,14 +153,8 @@
}`" }`"
path="fileType" path="fileType"
> >
<p v-if="mode === 'view'">
{{
fileOptions.find((e) => e.value === memberData.fileType)
?.label
}}
</p>
<n-select <n-select
v-else v-if="mode !== 'view'"
v-model:value="memberData.fileType" v-model:value="memberData.fileType"
:options="fileOptions" :options="fileOptions"
placeholder="请选择上传类型" placeholder="请选择上传类型"
...@@ -172,10 +166,10 @@ ...@@ -172,10 +166,10 @@
path="attachment" path="attachment"
> >
<n-upload <n-upload
v-model:file-list="memberData.attachment" :default-file-list="memberData.attachment || []"
style="width: 100%" style="width: 100%"
accept=".docx,.doc,.xlsx,.xls,.csv,.txt" accept=".docx,.doc,.xlsx,.xls,.csv,.txt"
:on-change="(e) => onChange(e, 'memberData')" :on-change="(e) => onChange(e, 'memberData.attachment')"
:show-remove-button="mode !== 'view'" :show-remove-button="mode !== 'view'"
> >
<n-button> 上传附件 </n-button> <n-button> 上传附件 </n-button>
...@@ -184,15 +178,15 @@ ...@@ -184,15 +178,15 @@
<n-form-item-gi <n-form-item-gi
v-if="memberData.fileType === 'photo'" v-if="memberData.fileType === 'photo'"
:span="24" :span="24"
path="attachment" path="attachmentPhoto"
> >
<n-upload <n-upload
style="width: 100%" style="width: 100%"
:default-file-list="memberData.attachment" :default-file-list="memberData.attachmentPhoto || []"
accept="image/jpg,image/jpeg,image/png,image/img" accept="image/jpg,image/jpeg,image/png,image/img"
list-type="image-card" list-type="image-card"
:show-remove-button="mode !== 'view'" :show-remove-button="mode !== 'view'"
:on-change="(e) => onChange(e, 'memberData')" :on-change="(e) => onChange(e, 'memberData.attachmentPhoto')"
@preview="handlePreview" @preview="handlePreview"
> >
点击上传 点击上传
...@@ -233,6 +227,7 @@ ...@@ -233,6 +227,7 @@
<n-form-item-gi <n-form-item-gi
v-if="detailData.describeType === 'text' && mode !== 'view'" v-if="detailData.describeType === 'text' && mode !== 'view'"
:span="24" :span="24"
path="attachment"
> >
<n-input <n-input
v-model:value="detailData.attachment" v-model:value="detailData.attachment"
...@@ -242,15 +237,15 @@ ...@@ -242,15 +237,15 @@
<n-form-item-gi <n-form-item-gi
v-if="detailData.describeType === 'photo'" v-if="detailData.describeType === 'photo'"
:span="24" :span="24"
path="attachment" path="attachmentPhoto"
> >
<n-upload <n-upload
style="width: 100%" style="width: 100%"
:default-file-list="detailData.attachment" :default-file-list="detailData.attachmentPhoto || []"
accept="image/jpg,image/jpeg,image/png,image/img" accept="image/jpg,image/jpeg,image/png,image/img"
list-type="image-card" list-type="image-card"
:show-remove-button="mode !== 'view'" :show-remove-button="mode !== 'view'"
:on-change="(e) => onChange(e, 'detailData')" :on-change="(e) => onChange(e, 'detailData.attachmentPhoto')"
@preview="handlePreview" @preview="handlePreview"
> >
点击上传 点击上传
...@@ -267,11 +262,11 @@ ...@@ -267,11 +262,11 @@
> >
<n-upload <n-upload
style="width: 100%" style="width: 100%"
:default-file-list="detailData.photoList" :default-file-list="detailData.photoList || []"
accept="image/jpg,image/jpeg,image/png,image/img" accept="image/jpg,image/jpeg,image/png,image/img"
list-type="image-card" list-type="image-card"
:show-remove-button="mode !== 'view'" :show-remove-button="mode !== 'view'"
:on-change="(e) => onChange(e, 'photoList')" :on-change="(e) => onChange(e, 'detailData.photoList')"
@preview="handlePreview" @preview="handlePreview"
> >
点击上传 点击上传
...@@ -332,11 +327,11 @@ onMounted(async () => { ...@@ -332,11 +327,11 @@ onMounted(async () => {
const show = computed(() => store.state.showNewActivityDrawer) const show = computed(() => store.state.showNewActivityDrawer)
const closeDrawer = () => { const closeDrawer = () => {
store.commit('SET_NEW_ACTIVITY_DRAWER', false)
basicData.value = {} basicData.value = {}
memberData.value = {} memberData.value = {}
detailData.value = {} detailData.value = {}
mode.value = null mode.value = null
store.commit('SET_NEW_ACTIVITY_DRAWER', false)
} }
const typeOptions = computed(() => { const typeOptions = computed(() => {
...@@ -385,11 +380,13 @@ watch( ...@@ -385,11 +380,13 @@ watch(
count: data['实际参与人数'], count: data['实际参与人数'],
excludeCount: data['不计入参与活动党员人数'], excludeCount: data['不计入参与活动党员人数'],
fileType, fileType,
attachment: attachment: fileType === 'file' ? data['签到表文件'] : [],
fileType === 'file' attachmentPhoto:
? data['签到表文件'] fileType === 'photo'
: fileType === 'photo' ? (data['签到表照片'] || []).map((url: string) => ({
? (data['签到表照片'] || []).map((url: string) => ({ url })) url,
status: 'finished',
}))
: [], : [],
} }
...@@ -398,13 +395,19 @@ watch( ...@@ -398,13 +395,19 @@ watch(
const describeType = isText ? 'text' : isImage ? 'photo' : null const describeType = isText ? 'text' : isImage ? 'photo' : null
detailData.value = { detailData.value = {
describeType, describeType,
attachment: attachment: describeType === 'text' ? data['活动内容描述'] : '',
describeType === 'text' attachmentPhoto:
? data['活动内容描述'] describeType === 'photo'
: describeType === 'photo' ? (data['台账记录照片'] || []).map((url: string) => ({
? (data['台账记录照片'] || []).map((url: string) => ({ url })) url,
status: 'finished',
}))
: [], : [],
photoList: (data['活动照片'] || []).map((url: string) => ({ url })) || [], photoList:
(data['活动照片'] || []).map((url: string) => ({
url,
status: 'finished',
})) || [],
} }
mode.value = data._mode || null mode.value = data._mode || null
}, },
...@@ -486,9 +489,15 @@ const submit = () => { ...@@ -486,9 +489,15 @@ const submit = () => {
detailRef.value?.validate(async (errors: any) => { detailRef.value?.validate(async (errors: any) => {
if (errors) return if (errors) return
const { name, type, orgName, date, address } = basicData.value const { name, type, orgName, date, address } = basicData.value
const { count, excludeCount } = memberData.value const { count, excludeCount, attachment, attachmentPhoto, fileType } =
const { attachment } = detailData.value memberData.value
const data = { const {
attachment: detailAttachment,
attachmentPhoto: detailAttachmentPhoto,
describeType,
photoList,
} = detailData.value
const data: any = {
活动名称: name, 活动名称: name,
标签类别: type, 标签类别: type,
党组织名称: orgName, 党组织名称: orgName,
...@@ -496,7 +505,7 @@ const submit = () => { ...@@ -496,7 +505,7 @@ const submit = () => {
活动地址: address, 活动地址: address,
实际参与人数: count, 实际参与人数: count,
不计入参与活动党员人数: excludeCount, 不计入参与活动党员人数: excludeCount,
活动内容描述: attachment, 活动照片: photoList,
出席率: 出席率:
totalPerson.value === excludeCount totalPerson.value === excludeCount
? 0 ? 0
...@@ -506,6 +515,20 @@ const submit = () => { ...@@ -506,6 +515,20 @@ const submit = () => {
), ),
), ),
} }
if (fileType === 'file') {
data['签到表文件'] = attachment
data['签到表照片'] = []
} else if (fileType === 'photo') {
data['签到表照片'] = attachmentPhoto
data['签到表文件'] = []
}
if (describeType === 'text') {
data['活动内容描述'] = detailAttachment
data['台账记录照片'] = []
} else if (describeType === 'photo') {
data['台账记录照片'] = detailAttachmentPhoto
data['活动内容描述'] = ''
}
if (mode.value === 'modify') { if (mode.value === 'modify') {
await usePutActivity({ await usePutActivity({
separate: [ separate: [
...@@ -531,11 +554,11 @@ const submit = () => { ...@@ -531,11 +554,11 @@ const submit = () => {
}) })
} }
// const previewFileList = ref([ const previewFileList = ref([
// { {
// url: 'https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg', url: 'https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg',
// }, },
// ]) ])
const previewImageUrl = ref('') const previewImageUrl = ref('')
const showPhoto = ref(false) const showPhoto = ref(false)
function handlePreview(file: any) { function handlePreview(file: any) {
...@@ -557,13 +580,16 @@ async function onChange(options: any, type: string) { ...@@ -557,13 +580,16 @@ async function onChange(options: any, type: string) {
) )
switch (type) { switch (type) {
case 'memberData': case 'memberData.attachment':
memberData.value.attachment = urls memberData.value.attachment = urls
break break
case 'detailData': case 'memberData.attachmentPhoto':
detailData.value.attachment = urls memberData.value.attachmentPhoto = urls
break
case 'detailData.attachmentPhoto':
detailData.value.attachmentPhoto = urls
break break
case 'photoList': case 'detailData.photoList':
detailData.value.photoList = urls detailData.value.photoList = urls
break break
default: default:
......
...@@ -290,7 +290,7 @@ ...@@ -290,7 +290,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="curMenu['等级'] == '党支部'" class="card"> <div v-if="curMenu['等级'].includes('党支部')" class="card">
<div class="title"> <div class="title">
<p>党员详表</p> <p>党员详表</p>
<n-button type="primary" size="tiny" @click="exportList"> <n-button type="primary" size="tiny" @click="exportList">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment