Administrator 1 سال پیش
والد
کامیت
96645f11bf
4فایلهای تغییر یافته به همراه252 افزوده شده و 60 حذف شده
  1. 46 0
      src/api/giftCode.ts
  2. 46 0
      src/api/gmMail.ts
  3. 26 14
      src/common/date.js
  4. 134 46
      src/views/operation/gmmail/index.vue

+ 46 - 0
src/api/giftCode.ts

@@ -0,0 +1,46 @@
+import request from './request'
+
+
+export default {
+
+    fixGenerate(data) {
+        return request({
+            url: '/gift_code/fix_generate',
+            method: 'post',
+            data
+        });
+    },
+
+    batchGenerate(data) {
+        return request({
+            url: '/gift_code/batch_generate',
+            method: 'post',
+            data
+        });
+    },
+
+    query(data) {
+        return request({
+            url: '/gift_code/query',
+            method: 'get',
+            data
+        });
+    },
+
+    update(data) {
+        return request({
+            url: '/gift_code/update',
+            method: 'put',
+            data
+        });
+    },
+
+    delete(data) {
+        return request({
+            url: '/gift_code/delete',
+            method: 'delete',
+            data
+        });
+    },
+
+}

+ 46 - 0
src/api/gmMail.ts

@@ -0,0 +1,46 @@
+import request from './request'
+
+
+export default {
+
+    send(data) {
+        return request({
+            url: '/gm_mail/send',
+            method: 'post',
+            data
+        });
+    },
+
+    query(data) {
+        return request({
+            url: '/gm_mail/query',
+            method: 'post',
+            data
+        });
+    },
+
+    update(data) {
+        return request({
+            url: '/gm_mail/update',
+            method: 'put',
+            data
+        });
+    },
+
+    delete(data) {
+        return request({
+            url: '/gm_mail/delete',
+            method: 'delete',
+            data
+        });
+    },
+
+    deleteBatch(data) {
+        return request({
+            url: '/gm_mail/delete_batch',
+            method: 'delete',  
+            data
+        });
+    }
+
+}

+ 26 - 14
src/common/date.js

@@ -1,22 +1,34 @@
-export function formatDate (date, fmt) {
+export function formatDate(date, fmt) {
     if (/(y+)/.test(fmt)) {
-    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
+        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
     }
     let o = {
-    'M+': date.getMonth() + 1,
-    'd+': date.getDate(),
-    'h+': date.getHours(),
-    'm+': date.getMinutes(),
-    's+': date.getSeconds()
+        'M+': date.getMonth() + 1,
+        'd+': date.getDate(),
+        'h+': date.getHours(),
+        'm+': date.getMinutes(),
+        's+': date.getSeconds()
     };
     for (let k in o) {
-    if (new RegExp(`(${k})`).test(fmt)) {
-    let str = o[k] + '';
-    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
-    }
+        if (new RegExp(`(${k})`).test(fmt)) {
+            let str = o[k] + '';
+            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
+        }
     }
     return fmt;
-    };
-    function padLeftZero (str) {
+};
+function padLeftZero(str) {
     return ('00' + str).substr(str.length);
-    };
+};
+
+// 时间戳转日期
+export function getDate(val) {
+    if (!val) {
+        return ""
+    }
+    let now = new Date(val),
+        y = now.getFullYear(),
+        m = now.getMonth() + 1,
+        d = now.getDate()
+    return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
+}

+ 134 - 46
src/views/operation/gmmail/index.vue

@@ -106,25 +106,48 @@
   </div>
 </template>
 <script lang="ts" setup name="comprehensive">
-import { ref, reactive, onMounted, nextTick } from 'vue'
+import { ref, reactive, onMounted, nextTick, onBeforeMount} from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import type { FormInstance } from 'element-plus'
+import gmMailApi from '@/api/gmMail'
+
 const loading = ref(true)
 const appContainer = ref(null)
 import ServerPropTable from '@/components/Table/ServerPropTable/index.vue'
-const data = []
-for (let i = 0; i < 100; i++) {
-  data.push({
-    id: i + 1,
-    title: 'GM邮件' + (i+1),
-    validTime: '2023-08-21 10:00:00',
-    invalidTime: '2023-09-21 10:00:00',
-    itemInfo: '1002-100,1001-200',
-    sendName: '深渊联盟',
-    toServerIds: '1,2,3,4,5',
-    toPlayerIds: '10000001, 10000001',
+import { el } from 'element-plus/es/locale'
+// const data = []
+// for (let i = 0; i < 100; i++) {
+//   data.push({
+//     id: i + 1,
+//     title: 'GM邮件' + (i+1),
+//     validTime: '2023-08-21 10:00:00',
+//     invalidTime: '2023-09-21 10:00:00',
+//     itemInfo: '1002-100,1001-200',
+//     sendName: '深渊联盟',
+//     toServerIds: '1,2,3,4,5',
+//     toPlayerIds: '10000001, 10000001',
+//   })
+// }
+
+const data = ref([])
+let currPageNum = 1;
+const pageSize = 10;
+onBeforeMount(() => {
+  loadGmMailInfo()
+})
+
+const loadGmMailInfo = () => {
+  let queryParams = reactive({
+    pageNum: currPageNum,
+    pageSize: pageSize
+  })
+  gmMailApi.query(queryParams).then(res => {
+    data.value = res.data.result;
+    console.log(data)
   })
 }
+
+
 const column = [
   { type: 'selection', width: 60, fixed: 'left' },
   { name: 'id', label: 'ID', width: 80 },
@@ -149,8 +172,8 @@ const ruleForm = reactive({
     invalidTime: null,
     itemInfo: null,
     sendName: '深渊联盟',
-    toServerIds: '0',
-    toPlayerIds: '0',
+    toServerIds: null,
+    toPlayerIds: null,
     levelCondition: null,
     itemCondition: null,
     heroCondition: null,
@@ -264,25 +287,58 @@ const add = () => {
 const handleClose = async (done: () => void) => {
   await ruleFormRef.value.validate((valid, fields) => {
     if (valid) {
-      list.value.forEach((item) => {
-        if (item.id === rowObj.value.id) {
-          item.toServerIds = ruleForm.toServerIds
-          item.toPlayerIds = ruleForm.toPlayerIds
-          item.levelCondition = ruleForm.levelCondition
-          item.itemCondition = ruleForm.itemCondition
-          item.heroCondition = ruleForm.heroCondition
-          item.roleCreateTimeStart = ruleForm.roleCreateTimeStart
-          item.roleCreateTimeEnd = ruleForm.roleCreateTimeEnd
-          item.title = ruleForm.title
-          item.sendName = ruleForm.sendName
-          item.itemInfo = ruleForm.itemInfo
-          item.validTime = ruleForm.validTime
-          item.invalidTime = ruleForm.invalidTime
-          item.content = ruleForm.content
+      // list.value.forEach((item) => {
+        if (title.value == '新增') {
+          // let addParams = reactive({
+          //   pageNum: currPageNum,
+          //   pageSize: pageSize,
+          //   updateValue: ruleForm
+          // })
+          gmMailApi.send(ruleForm).then(res => {
+            if (res.data.code = 200) {
+              // item.state = ruleForm.state
+              loadGmMailInfo()
+              return ElMessage.success('新增成功')
+            } else {
+              return ElMessage.error('新增失败')
+            }
+          })
+          console.log('add submit!')
+        } else{
+          // if (item.id === rowObj.value.id) {
+          // item.toServerIds = ruleForm.toServerIds
+          // item.toPlayerIds = ruleForm.toPlayerIds
+          // item.levelCondition = ruleForm.levelCondition
+          // item.itemCondition = ruleForm.itemCondition
+          // item.heroCondition = ruleForm.heroCondition
+          // item.roleCreateTimeStart = ruleForm.roleCreateTimeStart
+          // item.roleCreateTimeEnd = ruleForm.roleCreateTimeEnd
+          // item.title = ruleForm.title
+          // item.sendName = ruleForm.sendName
+          // item.itemInfo = ruleForm.itemInfo
+          // item.validTime = ruleForm.validTime
+          // item.invalidTime = ruleForm.invalidTime
+          // item.content = ruleForm.content
+          let updateParams = reactive({
+            id: rowObj.value.id,
+            updateValue: ruleForm
+          })
+          gmMailApi.update(updateParams).then(res => {
+            if (res.data.code = 200) {
+              // item.state = ruleForm.state
+              loadGmMailInfo()
+              return ElMessage.success('修改成功')
+            } else {
+              return ElMessage.error('修改失败')
+            }
+          })
+          console.log('update submit!')
+        // }
         }
-      })
+       
+      // })
       dialogVisible.value = false
-      console.log('submit!', ruleForm.title)
+      console.log('submit!', ruleForm)
     } else {
       console.log('error submit!', fields)
     }
@@ -300,11 +356,24 @@ const batchDelete = () => {
     draggable: true,
   })
     .then(() => {
-      ElMessage.success('模拟删除成功')
+      let selectGmMaliIds = reactive([])
+      for (let value of selectObj.value) {
+        selectGmMaliIds.push(value._id)
+      }
+      let deleteParams = reactive({
+        gmMaliIds: selectGmMaliIds
+      })
+      gmMailApi.deleteBatch(deleteParams).then(res => {
+        loadGmMailInfo()
+        ElMessage.success('批量删除成功')
+      })
+
       list.value = list.value.concat([])
     })
     .catch(() => { })
 }
+
+
 const selectionChange = (val) => {
   selectObj.value = val
 }
@@ -336,9 +405,15 @@ const del = (row) => {
     type: 'warning',
     draggable: true,
   })
-    .then(() => {
-      list.value = list.value.filter((item) => item.id !== row.id)
-      ElMessage.success('删除成功')
+  .then(() => {
+      // list.value = list.value.filter((item) => item._id !== row._id)
+      let deleteParams = reactive({
+        id: row._id
+      })
+      gmMailApi.delete(deleteParams).then(res => {
+        loadGmMailInfo()
+        ElMessage.success('删除成功')
+      })
       loading.value = true
       setTimeout(() => {
         loading.value = false
@@ -352,26 +427,39 @@ const reset = () => {
   setTimeout(() => {
     loading.value = false
   }, 500)
-  ElMessage.success('触发重置方法')
+  ElMessage.success('重置成功')
 }
 
 const onSubmit = (val) => {
-  console.log('val===', val)
-  ElMessage.success('触发查询方法')
+  if ( val.title == null || val.title == "") {
+    ElMessage.warning('请输入查询条件')
+    return
+  }
+  let queryParams = reactive({
+    pageNum: 1,
+    pageSize: pageSize
+  })
+  if (val.title != null) {
+    queryParams.title = val.title
+  }
+  gmMailApi.query(queryParams).then(res => {
+    data.value = res.data.result;
+    console.log(data.value)
+  })
   loading.value = true
   setTimeout(() => {
     loading.value = false
   }, 500)
 }
 
-const onUpdate = (val) => {
-  console.log('val===', val)
-  ElMessage.success('触发修改方法')
-  loading.value = true
-  setTimeout(() => {
-    loading.value = false
-  }, 500)
-}
+// const onUpdate = (val) => {
+//   console.log('val===', val)
+//   ElMessage.success('触发修改方法')
+//   loading.value = true
+//   setTimeout(() => {
+//     loading.value = false
+//   }, 500)
+// }
 
 const getHeight = () => {