Prechádzať zdrojové kódy

评论管理对接敏感词、审核;
增加本地字典数据;

郭鹏飞 8 mesiacov pred
rodič
commit
86cee61311

+ 12 - 3
src/api/system/comment.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询评论列表
 export function listComment(query) {
   return request({
-    url: '/api/comment/v1/select',
+    url: '/tCommentUser/selectAll',
     method: 'get',
     params: query
   })
@@ -38,8 +38,17 @@ export function updateComment(data) {
 // 删除评论
 export function delComment(data) {
   return request({
-    url: '/api/comment/v1/delete',
-    method: 'post',
+    url: '/tCommentUser/delete',
+    method: 'delete',
     data: data
   })
 }
+
+// 审核评论
+export function auditComment(data) {
+  return request({
+    url: '/tCommentUser/audit',
+    method: 'post',
+    data: data
+  })
+}

+ 9 - 1
src/components/DictTag/index.vue

@@ -36,6 +36,10 @@ export default {
       default: null,
     },
     value: [Number, String, Array],
+    isString: {
+      type: Boolean,
+      default: true,
+    },
     // 当未找到匹配的数据时,显示value
     showValue: {
       type: Boolean,
@@ -54,7 +58,11 @@ export default {
   computed: {
     values() {
       if (this.value === null || typeof this.value === 'undefined' || this.value === '') return []
-      return Array.isArray(this.value) ? this.value.map(item => '' + item) : String(this.value).split(this.separator)
+      let val = []
+      if (Array.isArray(this.value)) val = this.value.map(item => '' + item)
+      if (typeof this.value === 'number') val = [this.value]
+      if (typeof this.value === 'string') val = String(this.value).split(this.separator)
+      return val
     },
     unmatch() {
       this.unmatchArray = []

+ 7 - 21
src/utils/dict/Dict.js

@@ -37,8 +37,7 @@ export default class Dict {
       if (dictMeta.lazy) {
         return
       }
-      if (type.indexOf('_') !== -1) ps.push(loadDict(this, dictMeta))
-      else ps.push(localDict(this, dictMeta))
+      ps.push(loadDict(this, dictMeta))
     })
     return Promise.all(ps)
   }
@@ -56,23 +55,6 @@ export default class Dict {
   }
 }
 
-function localDict(dict, dictMeta) {
-  return new Promise((resolve, reject) => {
-    const type = dictMeta.type
-    let dicts = dictMeta.responseConverter([
-      { label: '未分配', value: 0 },
-      { label: '已分配', value: 1 },
-    ], dictMeta)
-    
-    dict.type[type].splice(0, Number.MAX_SAFE_INTEGER, ...dicts)
-    dicts.forEach(d => {
-      Vue.set(dict.label[type], d.value, d.label)
-    })
-
-    resolve(dicts);
-  })
-}
-
 /**
  * 加载字典
  * @param {Dict} dict 字典
@@ -80,8 +62,12 @@ function localDict(dict, dictMeta) {
  * @returns {Promise}
  */
 function loadDict(dict, dictMeta) {
-  return dictMeta.request(dictMeta)
-    .then(response => {
+	// 如果 dictMeta 中有 values,直接包装成 Promise 返回
+  const reqPromise = (dictMeta.values && dictMeta.values.length > 0)
+    ? Promise.resolve(dictMeta.values)
+    : dictMeta.request(dictMeta)
+
+  return reqPromise.then(response => {
       const type = dictMeta.type
       let dicts = dictMeta.responseConverter(response, dictMeta)
       if (!(dicts instanceof Array)) {

+ 3 - 1
src/utils/dict/DictMeta.js

@@ -16,6 +16,7 @@ export default class DictMeta {
     this.labelField = options.labelField
     this.valueField = options.valueField
     this.lazy = options.lazy === true
+    this.values = options.values
   }
 }
 
@@ -33,6 +34,7 @@ DictMeta.parse= function(options) {
   } else if (typeof options === 'object') {
     opts = options
   }
-  opts = mergeRecursive(DictOptions.metas['*'], opts)
+  let o = { ...DictOptions.metas['*'] }
+  opts = mergeRecursive(o, opts)
   return new DictMeta(opts)
 }

+ 4 - 1
src/utils/dict/DictOptions.js

@@ -1,5 +1,6 @@
 import { mergeRecursive } from "@/utils/ruoyi";
-import dictConverter from './DictConverter'
+import LocalDicts from './LocalDicts';
+import dictConverter from './DictConverter';
 
 export const options = {
   metas: {
@@ -18,6 +19,8 @@ export const options = {
       labelField: 'label',
       valueField: 'value',
     },
+    // 本地字典
+    ...LocalDicts,
   },
   /**
    * 默认标签字段

+ 30 - 0
src/utils/dict/LocalDicts.js

@@ -0,0 +1,30 @@
+/**
+ * 本地静态字典数据定义
+ */
+export default {
+    // 评论审核状态
+    local_comment_audit: {
+        values: [
+            { label: "待审核", value: 0 },
+            { label: "通过", value: 1 },
+            { label: "拒绝", value: 2 },
+        ],
+    },
+    // 是否状态
+    local_status: {
+        values: [
+            { label: "否", value: 0 },
+            { label: "是", value: 1 },
+        ],
+    },
+    // 性别字段,例:映射字段
+    local_gender: {
+        values: [
+            { name: "男", id: 1 },
+            { name: "女", id: 2 },
+            { name: "未知", id: 0 },
+        ],
+        labelField: "name",
+        valueField: "id",
+    },
+};

+ 97 - 0
src/views/comment/auditModal.vue

@@ -0,0 +1,97 @@
+<template>
+    <ModalView ref="mv" cname="ElDialog" :viewProps="{
+        customClass: 'myModal'
+    }">
+        <div style="flex: 1;">
+            <el-form ref="uForm" :model="form" :rules="rules">
+                <el-form-item label="审核状态" prop="auditStatus">
+                    <el-radio-group v-model="form.auditStatus">
+                        <el-radio :label="1">通过</el-radio>
+                        <el-radio :label="2">拒绝</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item label="审核备注" prop="auditReason">
+                    <el-input type="textarea" placeholder="请输入审核备注/拒绝理由,审核拒绝时必填" v-model="form.auditReason"></el-input>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="submitForm('uForm')">确 定</el-button>
+            <el-button @click="resetForm('uForm')">取 消</el-button>
+        </div>
+    </ModalView>
+</template>
+
+<script>
+import ModalView from '@/components/ZModalView/index.vue';
+import { auditComment } from "@/api/system/comment";
+export default {
+    components: {
+        ModalView
+    },
+    data() {
+        return {
+            title: '审核',
+            form: {},
+            oForm: {},
+            loading: false,
+        }
+    },
+    computed: {
+        rules() {
+            return {
+                auditStatus: [
+                    { required: true, message: '请选择审核状态', trigger: 'change' }
+                ],
+                auditReason: [
+                    { required: this.form.auditStatus === 2, message: '请输入拒绝理由', trigger: 'change' }
+                ]
+            }
+        }
+    },
+    methods: {
+        submitForm(formName) {
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    console.log(this.form);
+                    auditComment({
+                        ...this.form,
+                        commentId: this.oForm.id
+                    }).then(res => {
+                        this.$modal.msgSuccess("操作成功");
+                        this.resetForm('uForm');
+                    });
+                } else {
+                    console.log('error submit!!');
+                    return false;
+                }
+            });
+        },
+        resetForm(formName) {
+            this.$refs[formName].resetFields();
+            this.close();
+        },
+        open(e) {
+            if (e) {
+                this.oForm = e;
+            }
+            console.log(this.oForm)
+            this.$refs.mv.open(this.title);
+        },
+        // 关闭弹窗
+        close() {
+            this.$refs.mv.close();
+        },
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .myModal {
+    .el-dialog__body {
+        max-height: 70vh;
+        overflow-y: auto;
+        padding: 10px 20px;
+    }
+}
+</style>

+ 249 - 223
src/views/comment/index.vue

@@ -1,225 +1,258 @@
 <template>
-    <div class="app-container">
-      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-        <el-form-item label="技师姓名" prop="name">
-          <el-input
-            v-model="queryParams.name"
-            placeholder="请输入技师姓名"
-            clearable
-            @keyup.enter.native="handleQuery"
-          />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-        </el-form-item>
-      </el-form>
-  
-      <el-row :gutter="10" class="mb8">
-        <!-- <el-col :span="1.5">
-          <el-button
-            type="primary"
-            plain
-            icon="el-icon-plus"
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
+      <el-form-item label="技师姓名" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入技师姓名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="是否敏感词" prop="sensitiveWord">
+        <el-select
+          v-model="queryParams.sensitiveWord"
+          placeholder="请选择"
+          clearable 
+        >
+          <el-option
+            v-for="item in dict.type.local_status"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="审核状态" prop="auditStatus">
+        <el-select
+          v-model="queryParams.auditStatus"
+          placeholder="请选择"
+          clearable 
+        >
+          <el-option
+            v-for="item in dict.type.local_comment_audit"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:comment:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:comment:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:comment:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:comment:export']"
+        >导出</el-button>
+      </el-col> -->
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-bell"
+          size="mini"
+          :disabled="multiple"
+          @click="handleExport"
+          v-hasPermi="['system:comment:export']"
+        >审核</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleImport"
+          v-hasPermi="['system:comment:export']"
+        >敏感词库维护</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="commentList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="评论人昵称" align="left" prop="nickName" width="100" />
+      <el-table-column label="评论内容" align="left" prop="text" width="400" show-overflow-tooltip />
+      <el-table-column label="评论分数" align="center" prop="star" />
+      <el-table-column label="评论时间" align="center" prop="commentTime" width="180" />
+      <el-table-column label="技师姓名" align="center" prop="name" />
+      <el-table-column label="敏感词" align="center" prop="sensitiveWord">
+        <template slot-scope="scope">
+          <span :style="{
+            color: scope.row.sensitiveWord == 1 ? '#F56C6C' : '#606266'
+          }">{{ dict.label.local_status[scope.row.sensitiveWord] }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="审核状态" align="center" prop="auditStatus">
+        <template slot-scope="scope">
+          <span>{{ dict.label.local_comment_audit[scope.row.auditStatus] }}</span>
+          <!-- <dict-tag :options="dict.type.local_comment_audit" :value="scope.row.auditStatus"/> -->
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" width="200" fixed="right">
+        <template slot-scope="scope">
+          <!-- <el-button
             size="mini"
-            @click="handleAdd"
-            v-hasPermi="['system:comment:add']"
-          >新增</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="success"
-            plain
+            type="text"
             icon="el-icon-edit"
-            size="mini"
-            :disabled="single"
-            @click="handleUpdate"
+            @click="handleUpdate(scope.row)"
             v-hasPermi="['system:comment:edit']"
           >修改</el-button>
-        </el-col>
-        <el-col :span="1.5">
+          -->
           <el-button
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['system:comment:remove']"
-          >删除</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button
-            type="warning"
-            plain
-            icon="el-icon-download"
             size="mini"
-            @click="handleExport"
-            v-hasPermi="['system:comment:export']"
-          >导出</el-button>
-        </el-col> -->
-        <el-col :span="1.5">
-          <el-button
-            type="warning"
-            plain
+            type="text"
             icon="el-icon-bell"
-            size="mini"
-            :disabled="multiple"
-            @click="handleExport"
-            v-hasPermi="['system:comment:export']"
+            @click="handleAudit(scope.row)"
+            v-if="scope.row.auditStatus === 0"
+            v-hasPermi="['system:comment:edit']"
           >审核</el-button>
-        </el-col>
-        <el-col :span="1.5">
           <el-button
-            type="primary"
-            plain
-            icon="el-icon-download"
             size="mini"
-            @click="handleImport"
-            v-hasPermi="['system:comment:export']"
-          >敏感词库维护</el-button>
-        </el-col>
-        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-      </el-row>
-  
-      <el-table v-loading="loading" :data="commentList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center" />
-        <!-- <el-table-column label="主键" align="center" prop="cId" />
-        <el-table-column label="评论人头像" align="center" prop="cIcon" /> -->
-        <el-table-column label="评论人昵称" align="left" prop="cNickName" />
-        <el-table-column label="评论内容" align="left" prop="cText" />
-        <!-- <el-table-column label="技师id" align="center" prop="cJsid" />
-        <el-table-column label="评论人openid" align="center" prop="cOpenId" /> -->
-        <el-table-column label="评论分数" align="center" prop="nStar" />
-        <el-table-column label="评论时间" align="center" prop="dTime" width="180">
-          <template slot-scope="scope">
-            <span>{{ parseTime(scope.row.dTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="技师姓名" align="center" prop="name" />
-        <el-table-column label="敏感词" align="center" prop="mg" />
-        <el-table-column label="审核状态" align="center" prop="isDelete">
-          <template slot-scope="scope">
-            <dict-tag :options="dict.type.sys_job_status" :value="scope.row.isDelete"/>
-          </template>
-        </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-              <!-- <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:comment:edit']"
-            >修改</el-button>
-            -->
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-bell"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:comment:edit']"
-            >审核</el-button>
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              style="color: #F56C6C"
-              @click="handleDelete(scope.row)"
-              v-hasPermi="['system:comment:remove']"
-            >删除</el-button>
-          </template>
-        </el-table-column> 
-      </el-table>
-      <el-pagination
-        v-show="total>0"
-        background
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-        :current-page="queryParams.current"
-        :page-size="queryParams.size"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="total">
-      </el-pagination>
-  
-      <!-- 添加或修改评论对话框 -->
-      <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-          <el-form-item label="评论人头像" prop="cIcon">
-            <el-input v-model="form.cIcon" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
-          <el-form-item label="评论人昵称" prop="cNickName">
-            <el-input v-model="form.cNickName" placeholder="请输入评论人昵称" />
-          </el-form-item>
-          <el-form-item label="评论内容" prop="cText">
-            <el-input v-model="form.cText" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
-          <el-form-item label="技师id" prop="cJsid">
-            <el-input v-model="form.cJsid" placeholder="请输入技师id" />
-          </el-form-item>
-          <el-form-item label="评论人openid" prop="cOpenId">
-            <el-input v-model="form.cOpenId" placeholder="请输入评论人openid" />
-          </el-form-item>
-          <el-form-item label="评论分数" prop="nStar">
-            <el-input v-model="form.nStar" placeholder="请输入评论分数" />
-          </el-form-item>
-          <el-form-item label="评论时间" prop="dTime">
-            <el-date-picker clearable
-              v-model="form.dTime"
-              type="date"
-              value-format="yyyy-MM-dd"
-              placeholder="请选择评论时间">
-            </el-date-picker>
-          </el-form-item>
-          <el-form-item label="技师姓名" prop="name">
-            <el-input v-model="form.name" placeholder="请输入技师姓名" />
-          </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="submitForm">确 定</el-button>
-          <el-button @click="cancel">取 消</el-button>
-        </div>
-      </el-dialog>
+            type="text"
+            icon="el-icon-delete"
+            style="color: #F56C6C"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:comment:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column> 
+    </el-table>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.current"
+      :limit.sync="queryParams.size"
+      @pagination="getList"
+    />
 
-      <!-- 导入对话框 -->
-      <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-        <el-upload
-          ref="upload"
-          :limit="1"
-          accept=".xlsx, .xls"
-          :headers="upload.headers"
-          :action="upload.url"
-          :disabled="upload.isUploading"
-          :on-progress="handleFileUploadProgress"
-          :on-success="handleFileSuccess"
-          :auto-upload="false"
-          drag
-        >
-          <i class="el-icon-upload"></i>
-          <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
-          <div class="el-upload__tip text-center" slot="tip">
-            <div class="el-upload__tip" slot="tip">
-              <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
-            </div>
-            <span>仅允许导入xls、xlsx格式文件。</span>
-            <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
-          </div>
-        </el-upload>
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="submitFileForm">确 定</el-button>
-          <el-button @click="upload.open = false">取 消</el-button>
+    <!-- 添加或修改评论对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="评论人头像" prop="cIcon">
+          <el-input v-model="form.cIcon" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="评论人昵称" prop="cNickName">
+          <el-input v-model="form.cNickName" placeholder="请输入评论人昵称" />
+        </el-form-item>
+        <el-form-item label="评论内容" prop="cText">
+          <el-input v-model="form.cText" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="技师id" prop="cJsid">
+          <el-input v-model="form.cJsid" placeholder="请输入技师id" />
+        </el-form-item>
+        <el-form-item label="评论人openid" prop="cOpenId">
+          <el-input v-model="form.cOpenId" placeholder="请输入评论人openid" />
+        </el-form-item>
+        <el-form-item label="评论分数" prop="nStar">
+          <el-input v-model="form.nStar" placeholder="请输入评论分数" />
+        </el-form-item>
+        <el-form-item label="评论时间" prop="dTime">
+          <el-date-picker clearable
+            v-model="form.dTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择评论时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="技师姓名" prop="name">
+          <el-input v-model="form.name" placeholder="请输入技师姓名" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+    <!-- 导入对话框 -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        drag
+        accept=".xlsx, .xls"
+        :limit="1"
+        :action="upload.url"
+        :headers="upload.headers"
+        :auto-upload="false"
+        :disabled="upload.isUploading"
+        :on-success="handleFileSuccess"
+        :on-progress="handleFileUploadProgress"
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        <div class="el-upload__tip text-center" slot="tip">
+          <!-- <div class="el-upload__tip">
+            <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的数据
+          </div> -->
+          <span>仅允许导入xls、xlsx格式文件。</span>
+          <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
         </div>
-      </el-dialog>
-    </div>
-  </template>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 审核 -->
+    <AuditModal ref="aModal" />
+  </div>
+</template>
   
-  <script>
+<script>
   import { getToken } from "@/utils/auth";
   import { listComment, getComment, delComment, addComment, updateComment } from "@/api/system/comment";
+  import AuditModal from "./auditModal.vue";
   
   export default {
     name: "Comment",
-    dicts: ['sys_job_status'],
+    dicts: ['local_comment_audit', 'local_status'],
+    components: {
+      AuditModal
+    },
     data() {
       return {
         // 遮罩层
@@ -242,8 +275,8 @@
         open: false,
         // 查询参数
         queryParams: {
-          pageNum: 1,
-          pageSize: 10,
+          current: 1,
+          size: 10,
           cIcon: null,
           cNickName: null,
           cText: null,
@@ -277,22 +310,13 @@
       this.getList();
     },
     methods: {
-        handleSizeChange(val){
-            // console.log(val,"handleSizeChange")
-            this.queryParams.size = val
-            this.getList()
-        },
-        handleCurrentChange(val){
-            this.queryParams.current = val
-            this.getList()
-            // console.log(val,"val")
-        },
       /** 查询评论列表 */
       getList() {
         this.loading = true;
-        listComment(this.queryParams).then(response => {
-          this.commentList = response.records;
-          this.total = response.total;
+        listComment(this.queryParams).then(res => {
+          this.commentList = res.data.list;
+          this.total = res.data.total;
+        }).finally(() => {
           this.loading = false;
         });
       },
@@ -338,6 +362,10 @@
         this.open = true;
         this.title = "添加评论";
       },
+      // 审核操作
+      handleAudit(row) {
+        this.$refs.aModal.open(row);
+      },
       /** 修改按钮操作 */
       handleUpdate(row) {
         this.reset();
@@ -403,7 +431,7 @@
         this.upload.open = false;
         this.upload.isUploading = false;
         this.$refs.upload.clearFiles();
-        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
+        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
         this.getList();
       },
       // 提交上传文件
@@ -413,9 +441,7 @@
     }
   };
 </script>
+
 <style scoped>
-    .el-pagination{
-        float: right;
-        padding: 30px 0;
-    }
+
 </style>

+ 2 - 2
src/views/order/index.vue

@@ -48,7 +48,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="订单状态" prop="cName">
+      <el-form-item label="订单状态" prop="nStatus">
         <el-select
           v-model="queryParams.nStatus"
           placeholder="请选择"
@@ -63,7 +63,7 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="虚拟订单状态">
+      <el-form-item label="虚拟订单状态" prop="status">
         <el-select
           v-model="queryParams.status"
           placeholder="请选择"

+ 6 - 19
src/views/technician/technician/index.vue

@@ -8,7 +8,7 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="技师姓名">
+      <el-form-item label="技师姓名" prop="cName">
         <el-input
           v-model="queryParams.cName"
           placeholder="请输入技师姓名"
@@ -16,7 +16,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="技师昵称">
+      <el-form-item label="技师昵称" prop="cNickName">
         <el-input
           v-model="queryParams.cNickName"
           placeholder="请输入技师昵称"
@@ -24,7 +24,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="电话">
+      <el-form-item label="电话" prop="cPhone">
         <el-input
           v-model="queryParams.cPhone"
           placeholder="请输入电话"
@@ -194,12 +194,12 @@
             <span>{{ selectDictLabel(serviceState, scope.row.nStatus) }}</span>
           </template>
         </el-table-column>
-        <!-- <el-table-column label="上岗状态" align="center" prop="nStatus">
+        <!-- <el-table-column label="上岗状态" align="center" prop="nStatus2">
               <template slot-scope="scope">
               <span>{{ scope.row.nStatus2 ===0?'已上岗' :'未上岗' }}</span>
             </template>
           </el-table-column> -->
-        <el-table-column label="审核状态" align="center" prop="nStatus">
+        <el-table-column label="审核状态" align="center" prop="nTong">
           <template slot-scope="scope">
             <span>{{ selectDictLabel(auditStatus, scope.row.nTong) }}</span>
           </template>
@@ -516,20 +516,7 @@ export default {
       ],
       codeUrl: "",
       isBindWchart: false,
-      gridData: [
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-        {address: '转型综合改革示范区学府产业园南中环大马中路仁安医院A15号商铺', date: '2026-1-4 11:00:00'},
-      ]
+      gridData: []
     };
   },
   created() {