urbanu 1 月之前
父节点
当前提交
b3b323dd04

+ 16 - 14
src/views/daytask/content/customerService.vue

@@ -23,14 +23,14 @@
             <el-image v-if="row.icon" :src="row.icon" style="width: 40px; height: 40px" fit="contain" />
           </template>
         </el-table-column>
-        <el-table-column prop="contact" label="联系方式" align="center" min-width="200" show-overflow-tooltip />
+        <el-table-column prop="account" label="联系方式" align="center" min-width="200" show-overflow-tooltip />
         <el-table-column prop="qrcode" label="二维码" align="center" width="80">
           <template #default="{ row }">
             <el-image v-if="row.qrcode" :src="row.qrcode" style="width: 40px; height: 40px" fit="cover" :preview-src-list="[row.qrcode]" />
             <span v-else>-</span>
           </template>
         </el-table-column>
-        <el-table-column prop="work_time" label="工作时间" align="center" min-width="150" />
+        <el-table-column prop="workTime" label="工作时间" align="center" min-width="150" />
         <el-table-column prop="sort" label="排序" align="center" width="70" />
         <el-table-column prop="status" label="状态" align="center" width="80">
           <template #default="{ row }">
@@ -39,9 +39,9 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="created_at" label="创建时间" align="center" min-width="160">
+        <el-table-column prop="createdAt" label="创建时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.created_at">{{ formatUnix(row.created_at) }}</span>
+            <span v-if="row.createdAt">{{ formatUnix(row.createdAt) }}</span>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center" width="150">
@@ -74,14 +74,14 @@
       <el-form-item label="图标" prop="icon">
         <el-input v-model="formData.icon" placeholder="请输入图标URL" />
       </el-form-item>
-      <el-form-item label="联系方式" prop="contact">
-        <el-input v-model="formData.contact" placeholder="请输入联系方式(链接/账号)" />
+      <el-form-item label="联系方式" prop="account">
+        <el-input v-model="formData.account" placeholder="请输入联系方式(链接/账号)" />
       </el-form-item>
       <el-form-item label="二维码" prop="qrcode">
         <el-input v-model="formData.qrcode" placeholder="请输入二维码图片URL" />
       </el-form-item>
-      <el-form-item label="工作时间" prop="work_time">
-        <el-input v-model="formData.work_time" placeholder="如: 9:00-18:00" />
+      <el-form-item label="工作时间" prop="workTime">
+        <el-input v-model="formData.workTime" placeholder="如: 9:00-18:00" />
       </el-form-item>
       <el-form-item label="描述" prop="description">
         <el-input v-model="formData.description" type="textarea" :rows="2" placeholder="请输入描述" />
@@ -130,9 +130,9 @@ const formData = ref({
   name: "",
   type: "telegram",
   icon: "",
-  contact: "",
+  account: "",
   qrcode: "",
-  work_time: "",
+  workTime: "",
   description: "",
   sort: 0,
   status: 1
@@ -140,7 +140,7 @@ const formData = ref({
 const formRules = ref({
   name: [{ required: true, message: "请输入客服名称", trigger: "blur" }],
   type: [{ required: true, message: "请选择类型", trigger: "change" }],
-  contact: [{ required: true, message: "请输入联系方式", trigger: "blur" }],
+  account: [{ required: true, message: "请输入联系方式", trigger: "blur" }],
   status: [{ required: true, message: "请选择状态", trigger: "change" }]
 });
 
@@ -189,9 +189,9 @@ const openDialog = (row) => {
       name: "",
       type: "telegram",
       icon: "",
-      contact: "",
+      account: "",
       qrcode: "",
-      work_time: "",
+      workTime: "",
       description: "",
       sort: 0,
       status: 1
@@ -210,7 +210,9 @@ const handleSubmit = async () => {
     submitLoading.value = true;
     try {
       const api = isEdit.value ? updateCustomerService : createCustomerService;
-      const res = await api(formData.value);
+      const params = { ...formData.value };
+      const submitData = isEdit.value ? { id: params.id, data: params } : { data: params };
+      const res = await api(submitData);
       if (res.code === 200) {
         ElNotification.success(isEdit.value ? "更新成功" : "创建成功");
         dialogVisible.value = false;

+ 16 - 14
src/views/daytask/content/help.vue

@@ -3,7 +3,7 @@
     <div class="card table-search">
       <el-form ref="elSearchFormRef" :inline="true" size="small" :model="searchForm" class="demo-form-inline" @keyup.enter="onSubmit">
         <el-form-item label="分类">
-          <el-select v-model="searchForm.category_id" placeholder="分类" clearable style="width:150px">
+          <el-select v-model="searchForm.categoryId" placeholder="分类" clearable style="width:150px">
             <el-option v-for="item in categoryOptions" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
         </el-form-item>
@@ -29,14 +29,14 @@
 
       <el-table ref="myTable" :data="tableData" border size="small">
         <el-table-column prop="id" label="ID" align="center" width="80" />
-        <el-table-column prop="category_id" label="分类" align="center" width="120">
+        <el-table-column prop="categoryId" label="分类" align="center" width="120">
           <template #default="{ row }">
-            {{ getCategoryName(row.category_id) }}
+            {{ getCategoryName(row.categoryId) }}
           </template>
         </el-table-column>
         <el-table-column prop="title" label="标题" align="center" min-width="200" />
         <el-table-column prop="sort" label="排序" align="center" width="80" />
-        <el-table-column prop="views" label="浏览量" align="center" width="80" />
+        <el-table-column prop="viewCount" label="浏览量" align="center" width="80" />
         <el-table-column prop="status" label="状态" align="center" width="80">
           <template #default="{ row }">
             <el-tag :type="row.status === 1 ? 'success' : 'danger'">
@@ -44,9 +44,9 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="created_at" label="创建时间" align="center" min-width="160">
+        <el-table-column prop="createdAt" label="创建时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.created_at">{{ formatUnix(row.created_at) }}</span>
+            <span v-if="row.createdAt">{{ formatUnix(row.createdAt) }}</span>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center" width="150">
@@ -64,8 +64,8 @@
   <!-- 编辑弹窗 -->
   <el-dialog v-model="dialogVisible" :title="isEdit ? '编辑帮助' : '新增帮助'" width="700px" center destroy-on-close>
     <el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px">
-      <el-form-item label="分类" prop="category_id">
-        <el-select v-model="formData.category_id" placeholder="请选择分类" style="width: 100%">
+      <el-form-item label="分类" prop="categoryId">
+        <el-select v-model="formData.categoryId" placeholder="请选择分类" style="width: 100%">
           <el-option v-for="item in categoryOptions" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </el-form-item>
@@ -100,7 +100,7 @@ import { ElNotification, ElMessageBox } from "element-plus";
 import Pagination from "@/components/Pangination/Pagination.vue";
 import { getHelpList, createHelp, updateHelp, deleteHelp, getHelpCategoryList } from "@/api/modules/daytask.js";
 
-const searchForm = ref({ category_id: null, title: null });
+const searchForm = ref({ categoryId: null, title: null });
 const tableData = ref([]);
 const pageable = reactive({ pageNum: 1, pageSize: 30, total: 0 });
 const categoryOptions = ref([]);
@@ -111,14 +111,14 @@ const formRef = ref(null);
 const submitLoading = ref(false);
 const formData = ref({
   id: null,
-  category_id: null,
+  categoryId: null,
   title: "",
   content: "",
   sort: 0,
   status: 1
 });
 const formRules = ref({
-  category_id: [{ required: true, message: "请选择分类", trigger: "change" }],
+  categoryId: [{ required: true, message: "请选择分类", trigger: "change" }],
   title: [{ required: true, message: "请输入标题", trigger: "blur" }],
   content: [{ required: true, message: "请输入内容", trigger: "blur" }],
   status: [{ required: true, message: "请选择状态", trigger: "change" }]
@@ -177,7 +177,7 @@ const onSubmit = () => {
 const refresh = () => getList();
 
 const onResetSearch = () => {
-  searchForm.value = { category_id: null, title: null };
+  searchForm.value = { categoryId: null, title: null };
   getList();
 };
 
@@ -194,7 +194,7 @@ const openDialog = (row) => {
   } else {
     formData.value = {
       id: null,
-      category_id: null,
+      categoryId: null,
       title: "",
       content: "",
       sort: 0,
@@ -214,7 +214,9 @@ const handleSubmit = async () => {
     submitLoading.value = true;
     try {
       const api = isEdit.value ? updateHelp : createHelp;
-      const res = await api(formData.value);
+      const params = { ...formData.value };
+      const submitData = isEdit.value ? { id: params.id, data: params } : { data: params };
+      const res = await api(submitData);
       if (res.code === 200) {
         ElNotification.success(isEdit.value ? "更新成功" : "创建成功");
         dialogVisible.value = false;

+ 5 - 3
src/views/daytask/content/helpCategory.vue

@@ -26,9 +26,9 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="created_at" label="创建时间" align="center" min-width="160">
+        <el-table-column prop="createdAt" label="创建时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.created_at">{{ formatUnix(row.created_at) }}</span>
+            <span v-if="row.createdAt">{{ formatUnix(row.createdAt) }}</span>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center" width="150">
@@ -157,7 +157,9 @@ const handleSubmit = async () => {
     submitLoading.value = true;
     try {
       const api = isEdit.value ? updateHelpCategory : createHelpCategory;
-      const res = await api(formData.value);
+      const params = { ...formData.value };
+      const submitData = isEdit.value ? { id: params.id, data: params } : { data: params };
+      const res = await api(submitData);
       if (res.code === 200) {
         ElNotification.success(isEdit.value ? "更新成功" : "创建成功");
         dialogVisible.value = false;

+ 25 - 25
src/views/daytask/content/notice.vue

@@ -18,10 +18,10 @@
             <el-tag :type="getTypeColor(row.type)">{{ typeMap[row.type] || row.type }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="is_popup" label="弹窗显示" align="center" width="100">
+        <el-table-column prop="isPopup" label="弹窗显示" align="center" width="100">
           <template #default="{ row }">
-            <el-tag :type="row.is_popup === 1 ? 'success' : 'info'" size="small">
-              {{ row.is_popup === 1 ? '是' : '否' }}
+            <el-tag :type="row.isPopup === 1 ? 'success' : 'info'" size="small">
+              {{ row.isPopup === 1 ? '是' : '否' }}
             </el-tag>
           </template>
         </el-table-column>
@@ -33,21 +33,21 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="start_time" label="开始时间" align="center" min-width="160">
+        <el-table-column prop="startTime" label="开始时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.start_time">{{ formatUnix(row.start_time) }}</span>
+            <span v-if="row.startTime">{{ formatUnix(row.startTime) }}</span>
             <span v-else>-</span>
           </template>
         </el-table-column>
-        <el-table-column prop="end_time" label="结束时间" align="center" min-width="160">
+        <el-table-column prop="endTime" label="结束时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.end_time">{{ formatUnix(row.end_time) }}</span>
+            <span v-if="row.endTime">{{ formatUnix(row.endTime) }}</span>
             <span v-else>-</span>
           </template>
         </el-table-column>
-        <el-table-column prop="created_at" label="创建时间" align="center" min-width="160">
+        <el-table-column prop="createdAt" label="创建时间" align="center" min-width="160">
           <template #default="{ row }">
-            <span v-if="row.created_at">{{ formatUnix(row.created_at) }}</span>
+            <span v-if="row.createdAt">{{ formatUnix(row.createdAt) }}</span>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="操作" align="center" width="150">
@@ -70,16 +70,15 @@
       </el-form-item>
       <el-form-item label="类型" prop="type">
         <el-select v-model="formData.type" placeholder="请选择类型" style="width: 100%">
-          <el-option label="系统公告" value="system" />
-          <el-option label="活动公告" value="activity" />
-          <el-option label="维护公告" value="maintenance" />
+          <el-option label="系统公告" :value="1" />
+          <el-option label="活动公告" :value="2" />
         </el-select>
       </el-form-item>
       <el-form-item label="内容" prop="content">
         <el-input v-model="formData.content" type="textarea" :rows="6" placeholder="请输入内容" />
       </el-form-item>
-      <el-form-item label="弹窗显示" prop="is_popup">
-        <el-radio-group v-model="formData.is_popup">
+      <el-form-item label="弹窗显示" prop="isPopup">
+        <el-radio-group v-model="formData.isPopup">
           <el-radio :value="1">是</el-radio>
           <el-radio :value="0">否</el-radio>
         </el-radio-group>
@@ -122,10 +121,10 @@ import { getNoticeList, createNotice, updateNotice, deleteNotice } from "@/api/m
 const tableData = ref([]);
 const pageable = reactive({ pageNum: 1, pageSize: 30, total: 0 });
 
-const typeMap = { system: "系统公告", activity: "活动公告", maintenance: "维护公告" };
+const typeMap = { 1: "系统公告", 2: "活动公告" };
 
 const getTypeColor = (type) => {
-  const colors = { system: "primary", activity: "success", maintenance: "warning" };
+  const colors = { 1: "primary", 2: "success" };
   return colors[type] || "default";
 };
 
@@ -136,9 +135,9 @@ const submitLoading = ref(false);
 const formData = ref({
   id: null,
   title: "",
-  type: "system",
+  type: 1,
   content: "",
-  is_popup: 0,
+  isPopup: 0,
   time_range: null,
   sort: 0,
   status: 1
@@ -190,17 +189,17 @@ const openDialog = (row) => {
   if (row) {
     formData.value = {
       ...row,
-      time_range: row.start_time && row.end_time
-        ? [dayjs.unix(row.start_time).toDate(), dayjs.unix(row.end_time).toDate()]
+      time_range: row.startTime && row.endTime
+        ? [dayjs.unix(row.startTime).toDate(), dayjs.unix(row.endTime).toDate()]
         : null
     };
   } else {
     formData.value = {
       id: null,
       title: "",
-      type: "system",
+      type: 1,
       content: "",
-      is_popup: 0,
+      isPopup: 0,
       time_range: null,
       sort: 0,
       status: 1
@@ -220,13 +219,14 @@ const handleSubmit = async () => {
     try {
       const params = { ...formData.value };
       if (params.time_range && params.time_range.length === 2) {
-        params.start_time = dayjs(params.time_range[0]).unix();
-        params.end_time = dayjs(params.time_range[1]).unix();
+        params.startTime = dayjs(params.time_range[0]).unix();
+        params.endTime = dayjs(params.time_range[1]).unix();
       }
       delete params.time_range;
 
       const api = isEdit.value ? updateNotice : createNotice;
-      const res = await api(params);
+      const submitData = isEdit.value ? { id: params.id, data: params } : { data: params };
+      const res = await api(submitData);
       if (res.code === 200) {
         ElNotification.success(isEdit.value ? "更新成功" : "创建成功");
         dialogVisible.value = false;