Browse Source

no message

DESKTOP-SVI9JE1\muzen 1 year ago
parent
commit
be29dadbed

+ 28 - 0
src/api/review/list.js

@@ -0,0 +1,28 @@
+import request from "@/utils/request";
+
+// 列表
+export function list(data) {
+  return request({
+    url: `/radio/check/list`,
+    method: "post",
+    data,
+  });
+}
+
+// 审核
+export function submit(query) {
+  return request({
+    url: `/radio/check/hitOrSold`,
+    method: 'get',
+    params: query
+  })
+}
+
+// 删除
+export function remove(data) {
+  return request({
+    url: `/radio/check/deleteById`,
+    method: 'post',
+    data
+  })
+}

+ 1 - 1
src/views/device/list/index.vue

@@ -81,7 +81,7 @@
         </template>
       </el-table-column>
     </el-table>
-    <pagination v-show="total > 0" :total="total" :page.sync="data.form.pageNum" :limit.sync="data.form.pageSize"
+    <pagination v-show="total > 0" :total="total" v-model:page="data.form.pageNum" v-model:limit="data.form.pageSize"
       @pagination="getList" />
   </div>
 </template>

+ 1 - 1
src/views/device/version/index.vue

@@ -44,7 +44,7 @@
       </el-table-column>
     </el-table>
     <!-- 分页 -->
-    <pagination v-show="total > 0" :total="total" :page.sync="data.form.pageIndex" :limit.sync="data.form.pageSize"
+    <pagination v-show="total > 0" :total="total" v-model:page="data.form.pageNum" v-model:limit="data.form.pageSize"
       @pagination="getList" />
   </div>
 </template>

+ 192 - 0
src/views/review/list/index.vue

@@ -0,0 +1,192 @@
+<template>
+  <div class='app-container'>
+    <!-- 搜索 -->
+    <el-form inline>
+      <el-form-item label="音频ID:">
+        <el-input v-model="data.form.id" placeholder="请输入音频ID" />
+      </el-form-item>
+      <el-form-item label="音频文件:">
+        <el-input v-model="data.form.name" placeholder="请输入音频文件名称" />
+      </el-form-item>
+      <el-form-item label="当前状态:">
+        <el-select v-model="data.form.auditStatus" placeholder="请选择当前状态">
+          <el-option v-for="item in data.statusOptions" :key="item.value" :value="item.value" :label="item.label" />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="Search" @click="getSearch">搜索</el-button>
+        <el-button icon="Refresh" @click="getRefresh">重置</el-button>
+        <el-button type="danger" icon="delete" :disabled="disabled()" @click="getDelete()">批量删除</el-button>
+      </el-form-item>
+    </el-form>
+
+    <!-- 列表 -->
+    <el-table :data="data.tableData" v-loading="loading" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" />
+      <el-table-column label="音频ID" prop="id" align="center"></el-table-column>
+      <el-table-column label="音频文件" prop="name" align="center"></el-table-column>
+      <el-table-column label="上传账号" prop="createBy" align="center"></el-table-column>
+      <el-table-column label="上传企业/门店" prop="tenantNmaeOrStoreName" align="center"></el-table-column>
+      <el-table-column label="创建时间" prop="createTime" align="center"></el-table-column>
+      <el-table-column label="当前状态" prop="auditStatus" align="center" :formatter="statusFormatter" />
+      <el-table-column label="操作" align="center">
+        <template #default="scope">
+          <el-button v-if="scope.row.auditStatus === 0" type="primary" link @click="getDialog(scope.row)">审核</el-button>
+          <el-button type="danger" link @click="getDelete(scope.row.id)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <pagination v-show="total > 0" :total="total" v-model:page="data.form.pageNum" v-model:limit="data.form.pageSize"
+      @pagination="getList" />
+
+    <!-- 弹窗 -->
+    <el-dialog v-model="dialogVisible" title="审核" width="500" :before-close="getClose">
+      <el-form :model="data.dialogForm" ref="dialogForm" :rules="data.rules" label-width="100px">
+        <el-form-item label="音频文件:">
+          <div class="file">
+            <img src="@/assets/icons/svg/file.svg" width="50" height="50">
+            <span>{{ data.dialogForm.name }}</span>
+          </div>
+        </el-form-item>
+        <el-form-item label="上传账号:">
+          <span>{{ data.dialogForm.createBy }}</span>
+        </el-form-item>
+        <el-form-item label="审核:">
+          <el-select v-model="data.dialogForm.status" placeholder="请选择审核结果">
+            <el-option v-for="item in data.statusOptions.slice(1)" :key="item.value" :value="item.value"
+              :label="item.label" />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <el-button @click="getClose">取消</el-button>
+        <el-button type="primary" @click="getSubmit">确定</el-button>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup>
+import { list, submit, remove } from '@/api/review/list'
+
+const { proxy } = getCurrentInstance();
+
+// 遮罩层
+const loading = ref(false)
+
+const data = reactive({
+  form: {
+    pageNum: 1,
+    pageSize: 10
+  },
+  tableData: [],
+  // 审核状态
+  statusOptions: [{
+    value: 0,
+    label: '待审核'
+  }, {
+    value: 1,
+    label: '不通过'
+  }, {
+    value: 2,
+    label: '通过'
+  }],
+  dialogForm: {},
+  // 删除
+  ids: []
+})
+
+// 总数据
+const total = ref(0)
+
+const getList = () => {
+  loading.value = true
+  list(data.form).then(res => {
+    if (res.code === 0) {
+      data.tableData = res.data.records
+      total.value = res.data.total
+      loading.value = false
+    }
+  })
+}
+getList()
+
+// 搜索
+const getSearch = () => {
+  data.form.pageNum = 1
+  getList()
+}
+
+// 重置
+const getRefresh = () => {
+  data.form = {
+    pageNum: 1,
+    pageSize: 10
+  }
+  getList()
+}
+
+// 多选
+const handleSelectionChange = (e) => {
+  data.ids = []
+  e.map(i => data.ids.push(i.id))
+}
+
+// 禁用
+const disabled = () => {
+  return data.ids.length > 1 ? false : true
+}
+
+// 删除
+const getDelete = (id) => {
+  if (id) {
+    data.ids.push(id)
+  }
+  proxy.$modal.confirm('是否删除当前数据?').then(() => {
+    remove({ ids: data.ids }).then(res => {
+      if (res.code === 0) {
+        data.ids = []
+        proxy.$modal.msgSuccess('删除成功!')
+        getList()
+      }
+    })
+  })
+}
+
+// 弹窗
+const dialogVisible = ref(false)
+
+const getDialog = (row) => {
+  dialogVisible.value = true
+  data.dialogForm = row
+}
+
+// 确定
+const getSubmit = () => {
+  submit(data.dialogForm).then(res => {
+    if (res.code === 0) {
+      proxy.$modal.msgSuccess('审核成功!')
+      getClose()
+    }
+  })
+}
+
+// 取消
+const getClose = () => {
+  dialogVisible.value = false
+  data.dialogForm = {}
+  proxy.$refs.dialogForm.resetFields()
+}
+
+const statusFormatter = (row) => {
+  return proxy.selectDictLabel(data.statusOptions, row.auditStatus)
+}
+</script>
+
+<style lang="scss" scoped>
+.file {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+</style>

+ 2 - 2
vite.config.js

@@ -31,9 +31,9 @@ export default defineConfig(({ mode, command }) => {
       proxy: {
         // https://cn.vitejs.dev/config/#server-proxy
         '/dev-api': {
-          target: 'http://testclient.cloud.airsmartser.com/admin',
+          // target: 'http://testclient.cloud.airsmartser.com/admin',
           // target: 'http://192.168.198.255:2130', // 付
-          // target: 'http://192.168.0.174:2130', // 陈
+          target: 'http://192.168.0.174:2130', // 陈
           changeOrigin: true,
           rewrite: (p) => p.replace(/^\/dev-api/, '')
         }