From 6fe815b8d9afb06913375f29fd73b50038e87810 Mon Sep 17 00:00:00 2001
From: qingyu <14049064+qingyuya123@user.noreply.gitee.com>
Date: Mon, 23 Jun 2025 11:37:06 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8D=B3=E5=B0=86=E4=BF=AE=E6=94=B9=E7=BD=91?=
=?UTF-8?q?=E7=AB=99-=E8=81=94=E7=B3=BB=E6=88=91=E4=BB=AC-=E6=B7=B7?=
=?UTF-8?q?=E4=B9=B1=E4=B8=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 15 +-
src/apis/modules/webSite.js | 4 +-
src/views/team/components/EditDialog.vue | 2 +-
src/views/team/index.vue | 2 +-
.../contactUs/components/EditDialog.vue | 51 +++-
src/views/websiteRelated/contactUs/index.vue | 77 +-----
.../components/EditDialog.vue | 239 +++++-------------
.../websiteRelated/websiteStatement/index.vue | 234 +++--------------
yarn.lock | 6 +-
9 files changed, 159 insertions(+), 471 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index bd4e09d..40660d1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2356,10 +2356,11 @@
"dev": true
},
"node_modules/fast-diff": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
- "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
- "dev": true
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/fast-glob": {
"version": "3.3.1",
@@ -6672,9 +6673,9 @@
"dev": true
},
"fast-diff": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
- "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
"dev": true
},
"fast-glob": {
diff --git a/src/apis/modules/webSite.js b/src/apis/modules/webSite.js
index 4609ce3..ef582d5 100644
--- a/src/apis/modules/webSite.js
+++ b/src/apis/modules/webSite.js
@@ -3,12 +3,12 @@
*/
import request from '@/utils/request'
// 获取菜单列表
-export const getDataList = (params) => request.basic.get('/api/v1/web_site', params)
+export const getWebData = (params) => request.basic.get('/api/v1/web_site', params)
// 获取菜单条数据
export const getMenu = (id) => request.basic.get(`/api/v1/web_site/${id}`)
// 添加菜单
export const createMenu = (params) => request.basic.post('/api/v1/web_site', params)
// 更新菜单
-export const updateMenu = (id, params) => request.basic.put(`/api/v1/web_site/${id}`, params)
+export const updateWebData = (id, params) => request.basic.put(`/api/v1/web_site/${id}`, params)
// 删除菜单
export const delMenu = (id) => request.basic.delete(`/api/v1/web_site/${id}`)
diff --git a/src/views/team/components/EditDialog.vue b/src/views/team/components/EditDialog.vue
index 90cc582..d552b32 100644
--- a/src/views/team/components/EditDialog.vue
+++ b/src/views/team/components/EditDialog.vue
@@ -53,7 +53,7 @@ import { useForm, useModal } from '@/hooks'
import { message } from 'ant-design-vue'
import { useI18n } from 'vue-i18n'
import dayjs from 'dayjs'
-import { createMenu, getMenu, updateMenu } from '@/apis/modules/imgmgt'
+import { createMenu, getMenu, updateMenu } from '@/apis/modules/team'
const emit = defineEmits(['ok'])
const { t } = useI18n() // 解构出t方法
const { modal, showModal, hideModal, showLoading, hideLoading } = useModal()
diff --git a/src/views/team/index.vue b/src/views/team/index.vue
index 6845ed0..8cc7000 100644
--- a/src/views/team/index.vue
+++ b/src/views/team/index.vue
@@ -102,7 +102,7 @@ import { usePagination } from '@/hooks'
import EditDialog from './components/EditDialog.vue'
import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vue'
import { useI18n } from 'vue-i18n'
-import { delMenu, getDataList } from '@/apis/modules/imgmgt'
+import { delMenu, getDataList } from '@/apis/modules/team'
defineOptions({
name: 'team',
})
diff --git a/src/views/websiteRelated/contactUs/components/EditDialog.vue b/src/views/websiteRelated/contactUs/components/EditDialog.vue
index 644e2fd..aea6b2c 100644
--- a/src/views/websiteRelated/contactUs/components/EditDialog.vue
+++ b/src/views/websiteRelated/contactUs/components/EditDialog.vue
@@ -5,18 +5,38 @@
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -28,8 +48,8 @@
-
-
+
+
@@ -47,7 +67,7 @@ import { useForm, useModal } from '@/hooks'
import { message } from 'ant-design-vue'
import { useI18n } from 'vue-i18n'
import dayjs from 'dayjs'
-import { createMenu, getMenu, updateMenu } from '@/apis/modules/imgmgt'
+import { createMenu, getMenu, updateMenu } from '@/apis/modules/webSite'
const emit = defineEmits(['ok'])
const { t } = useI18n() // 解构出t方法
const { modal, showModal, hideModal, showLoading, hideLoading } = useModal()
@@ -58,10 +78,16 @@ const rolesValue = ref([])
const roles = ref([])
const img = ref('')
formRules.value = {
- name: { required: true, message: '请输入名称' },
+ reportContent: { required: true, message: '请输入零容忍内容' },
+ email: { required: true, message: '请输入举报邮箱' },
+ lat: { required: true, message: '请输入经度' },
+ lon: { required: true, message: '请输入纬度' },
+ address: { required: true, message: '请输入地址' },
+ phone: { required: true, message: '请输入电话' },
+ reportNum: { required: true, message: '请输入编码' },
status: [{ required: true, message: '请选择状态', trigger: 'change' }],
sequence: [{ required: true, message: '请选择顺序', trigger: 'change' }],
- img: [{ required: true, message: '请上传图片', trigger: 'change' }],
+ reportImage: [{ required: false, message: '请上传图片', trigger: 'change' }],
}
/**
* select 选择框
@@ -78,7 +104,6 @@ const imgChange = (value) => {
function handleCreate() {
showModal({
type: 'create',
- // 80对应about
title: '添加公司动态',
})
formData.value.status = 'enabled'
@@ -114,7 +139,7 @@ function handleOk() {
showLoading()
const params = {
...values,
- img: formData.value.img,
+ reportImage: formData.value.reportImage,
// pushAt:dayjs(formData.value.pushAt).format("YYYY-MM-DD"),
}
let result = null
diff --git a/src/views/websiteRelated/contactUs/index.vue b/src/views/websiteRelated/contactUs/index.vue
index 83aacf0..eeeec34 100644
--- a/src/views/websiteRelated/contactUs/index.vue
+++ b/src/views/websiteRelated/contactUs/index.vue
@@ -39,7 +39,7 @@
- 新增零容忍信息
+ 新增动态
-
- 启用
- 停用
-
-
-
-
- {{ $t('pages.system.user.edit') }}
-
-
-
- {{ $t('pages.system.delete') }}
-
-
-
-
-
-
-
-
-
- 新增社交媒体
-
-
-
-
-
-
-
-
-
-
- {{ record.reportContent }}
-
-
-
-
- {{ record.email }}
-
-
-
-
- {{ record.address }}
-
-
-
-
- {{ record.phone }}
-
-
-
-
- {{ record.reportNum }}
-
-
启用
@@ -148,7 +92,6 @@
-
@@ -168,26 +111,23 @@ import { usePagination } from '@/hooks'
import EditDialog from './components/EditDialog.vue'
import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vue'
import { useI18n } from 'vue-i18n'
-import { delMenu, getDataList } from '@/apis/modules/imgmgt'
+import { delMenu, getDataList } from '@/apis/modules/webSite'
+import { getWebDataList } from '@/apis/modules/webSite'
defineOptions({
name: 'contactUs',
})
const { t } = useI18n() // 解构出t方法
const columns = [
- { title: '图片', dataIndex: 'img', width: 100, align: 'center' },
+ { title: '图片', dataIndex: 'reportImage', width: 100, align: 'center' },
{ title: '零容忍', dataIndex: 'reportContent', key: 'reportContent' },
{ title: '举报邮箱', dataIndex: 'email', key: 'email' },
+ { title: '经度', dataIndex: 'lat', key: 'lat' },
+ { title: '纬度', dataIndex: 'lon', key: 'lon' },
{ title: '地址', dataIndex: 'address', width: 120, align: 'center' },
{ title: '电话', dataIndex: 'phone', width: 100, align: 'center' },
{ title: '编码', dataIndex: 'reportNum', width: 100, align: 'center' },
{ title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' },
]
-const columnsS = [
- { title: '图片', dataIndex: 'img', width: 100, align: 'center' },
- { title: '链接', dataIndex: 'reportContent', key: 'reportContent' },
- { title: '名称', dataIndex: 'name', key: 'name' },
- { title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' },
-]
const { listData, loading, showLoading, hideLoading, paginationState, resetPagination, searchFormData } =
usePagination()
@@ -203,7 +143,7 @@ async function getPageList() {
showLoading()
const { pageSize, current } = paginationState
const { success, data, total } = await apis.webSite
- .getDataList({
+ .getWebDataList({
pageSize,
page: current,
...searchFormData.value,
@@ -213,8 +153,7 @@ async function getPageList() {
})
hideLoading()
if (config('http.code.success') === success) {
- //筛选type的值10对应friendlyLinks
- listData.value = data.filter(item => item.type===10)
+ listData.value = data
paginationState.total = total
}
} catch (error) {
diff --git a/src/views/websiteRelated/websiteStatement/components/EditDialog.vue b/src/views/websiteRelated/websiteStatement/components/EditDialog.vue
index 3f3aa09..a9b9db9 100644
--- a/src/views/websiteRelated/websiteStatement/components/EditDialog.vue
+++ b/src/views/websiteRelated/websiteStatement/components/EditDialog.vue
@@ -1,112 +1,20 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
@@ -123,6 +31,8 @@ import apis from '@/apis'
import { useForm, useModal } from '@/hooks'
import { message } from 'ant-design-vue'
import { useI18n } from 'vue-i18n'
+import dayjs from 'dayjs'
+import { createMenu, getMenu, updateMenu } from '@/apis/modules/imgmgt'
const emit = defineEmits(['ok'])
const { t } = useI18n() // 解构出t方法
const { modal, showModal, hideModal, showLoading, hideLoading } = useModal()
@@ -131,53 +41,31 @@ const cancelText = ref(t('button.cancel'))
const okText = ref(t('button.confirm'))
const rolesValue = ref([])
const roles = ref([])
-
+const img = ref('')
formRules.value = {
- name: { required: true, message: t('pages.system.user.form.username.placeholder') },
- username: { required: true, message: t('pages.system.user.form.code.placeholder') },
- status: { required: true, message: t('pages.system.user.form.status') },
- roles: [{ required: true, message: t('pages.system.user.form.roles.placeholder'), trigger: 'change' }],
+ name: { required: true, message: '请输入名称' },
+ status: [{ required: true, message: '请选择状态', trigger: 'change' }],
}
-
-/**
- * 请求角色
- */
-getRole()
-
/**
* select 选择框
*/
const handleChange = (value) => {
rolesValue.value = value
}
-
+const imgChange = (value) => {
+ formData.value.img = value
+}
/**
* 新建
*/
function handleCreate() {
showModal({
type: 'create',
- title: t('pages.system.user.add'),
+ title: '添加公司动态',
})
+ formData.value.status = 'enabled'
}
-async function getRole() {
- const { success, data } = await apis.role.getRoleList().catch(() => {
- throw new Error()
- })
- if (!success) {
- return message.error('当前角色信息错误')
- }
- let roleArr = []
- if (data.length) {
- data.forEach((item) => {
- roleArr.push({
- label: item.name,
- value: item.id,
- })
- })
- }
- roles.value = roleArr
-}
+
/**
* 编辑
*/
@@ -186,58 +74,60 @@ async function handleEdit(record = {}) {
type: 'edit',
title: t('pages.system.user.edit'),
})
- const { data, success } = await apis.users.getUsers(record.id).catch()
+ const { data, success } = await apis.webSite.getMenu(record.id).catch()
if (!success) {
hideModal()
return
}
- let roles = []
- if (data.roles) {
- roles = formatArr(data.roles, 'edit')
- }
-
- data.roles = roles
- formRecord.value = data
- formData.value = cloneDeep(data)
+ formData.value = { ...data }
+ formData.value.pushAt=dayjs(data.pushAt)
+ console.log(formData.value)
+ // img.value = config('http.apiBasic') + data.img
}
/**
* 确定
*/
function handleOk() {
- formRef.value
- .validateFields()
- .then(async (values) => {
- try {
- showLoading()
-
- const params = {
- ...values,
- roles: formatArr(rolesValue.value),
- }
- let result = null
- switch (modal.value.type) {
- case 'create':
- result = await apis.users.createUsers(params).catch(() => {
- throw new Error()
- })
- break
- case 'edit':
- result = await apis.users.updateUsers(formData.value.id, params).catch(() => {
- throw new Error()
- })
- break
- }
- hideLoading()
- if (config('http.code.success') === result?.success) {
- hideModal()
- emit('ok')
- }
- } catch (error) {
- hideLoading()
+ // if (!formData.value.img) return message.error('请上传图片');
+ formRef.value.validateFields().then(async (values) => {
+ console.log(values)
+ try {
+ showLoading()
+ const params = {
+ ...values,
+ // img: formData.value.img,
+ pushAt:dayjs(formData.value.pushAt).format("YYYY-MM-DD"),
+ // type: 10 ,
+ // // 10对应friendlyLinks
}
- })
- .catch(() => {
+ let result = null
+ console.log(modal.value.type)
+ switch (modal.value.type) {
+ case 'create':
+ result = await apis.webSite.createMenu(params).catch(() => {
+ throw new Error()
+ })
+ break
+ case 'edit':
+ // result = await apis.webSite.updateMenu(formData.value.id, params).catch(() => {
+ result = await apis.webSite.updateMenu(formData.value.id, params).catch(() => {
+ throw new Error()
+ })
+ break
+ }
+ hideLoading()
+ if (config('http.code.success') === result?.success) {
+ hideModal()
+ emit('ok')
+ }
+ } catch (error) {
+ console.log(error)
+ hideLoading()
+ }
+ })
+ .catch((e) => {
+ console.log(e)
hideLoading()
})
}
@@ -273,6 +163,7 @@ function formatArr(data, type = '') {
* 取消
*/
function handleCancel() {
+ img.value = ''
hideModal()
}
diff --git a/src/views/websiteRelated/websiteStatement/index.vue b/src/views/websiteRelated/websiteStatement/index.vue
index e38dc1e..38a1953 100644
--- a/src/views/websiteRelated/websiteStatement/index.vue
+++ b/src/views/websiteRelated/websiteStatement/index.vue
@@ -1,233 +1,65 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('pages.system.user.form.name') }}
-
-
-
-
-
-
-
-
-
-
- {{ $t('button.reset') }}
-
- {{ $t('button.search') }}
-
-
-
-
-
+
+ 保存
-
-
-
-
-
-
-
-
- {{ $t('pages.system.user.add') }}
-
-
-
-
-
-
-
- {{ statusUserTypeEnum.getDesc(record.status) }}
-
-
-
- {{ statusUserTypeEnum.getDesc(record.status) }}
-
-
-
-
- {{ formatUtcDateTime(record.created_at) }}
-
-
-
-
- {{ $t('pages.system.user.edit') }}
-
-
-
- {{ $t('pages.system.delete') }}
-
-
-
-
-
-
-
-
-
diff --git a/yarn.lock b/yarn.lock
index 8d733fd..72f9e2c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1203,9 +1203,9 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-diff@^1.1.2:
- version "1.2.0"
- resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz"
- integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz"
+ integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
fast-glob@^3.3.0:
version "3.3.1"