Quellcode durchsuchen

style: 优化预约信息和诊断条目页面展示内容

lihao16 vor 4 Monaten
Ursprung
Commit
ebc86b581c

+ 4 - 0
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/domain/SmsbAppointmentInfo.java

@@ -84,5 +84,9 @@ public class SmsbAppointmentInfo extends TenantEntity {
      */
     private String remark;
 
+    private Integer isArrived;
+
+    private Date arrivedTime;
+
 
 }

+ 2 - 0
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/domain/bo/SmsbAppointmentInfoBo.java

@@ -82,5 +82,7 @@ public class SmsbAppointmentInfoBo extends BaseEntity {
      */
     private String remark;
 
+    private String tenantId;
+
 
 }

+ 16 - 9
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/domain/vo/SmsbAppointmentInfoVo.java

@@ -1,12 +1,9 @@
 package com.inspur.digital.domain.vo;
 
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.inspur.digital.domain.SmsbAppointmentInfo;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
-import org.dromara.common.excel.annotation.ExcelDictFormat;
-import org.dromara.common.excel.convert.ExcelDictConvert;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.inspur.digital.domain.SmsbAppointmentInfo;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 
@@ -58,13 +55,13 @@ public class SmsbAppointmentInfoVo implements Serializable {
      * 大小
      */
     @ExcelProperty(value = "大小")
-    private Long size;
+    private String size;
 
     /**
      * 金额
      */
     @ExcelProperty(value = "金额")
-    private Long money;
+    private String money;
 
     /**
      * 类型
@@ -82,19 +79,20 @@ public class SmsbAppointmentInfoVo implements Serializable {
      * 电话
      */
     @ExcelProperty(value = "电话")
-    private Long phone;
+    private String phone;
 
     /**
      * 预约时间
      */
     @ExcelProperty(value = "预约时间")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
     private Date appointmentTime;
 
     /**
      * 人数
      */
     @ExcelProperty(value = "人数")
-    private Long peopleNum;
+    private Integer peopleNum;
 
     /**
      * 备注
@@ -102,5 +100,14 @@ public class SmsbAppointmentInfoVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
+    /**
+     * 是否到访 0-否 1-是
+     */
+    private Integer isArrived;
 
+    /**
+     * 到访时间
+     */
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    private Date arrivedTime;
 }

+ 2 - 1
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/service/impl/SmsbAppointmentInfoServiceImpl.java

@@ -137,6 +137,8 @@ public class SmsbAppointmentInfoServiceImpl implements ISmsbAppointmentInfoServi
     @Override
     public Boolean insertByBoV2(SmsbAppointmentInfoBo bo) {
         SmsbAppointmentInfo add = MapstructUtils.convert(bo, SmsbAppointmentInfo.class);
+        add.setTenantId(bo.getTenantId());
+        add.setIsArrived(0);
         validEntityBeforeSave(add);
         // 1、 保存预约信息
         boolean flag = baseMapper.insert(add) > 0;
@@ -338,7 +340,6 @@ public class SmsbAppointmentInfoServiceImpl implements ISmsbAppointmentInfoServi
             throw new ServiceException("预约信息手机号和企业信息为空");
         }
         entity.setCreateBy(1L);
-        entity.setTenantId("000000");
         entity.setCreateDept(103L);
         entity.setUpdateBy(1L);
     }

+ 68 - 82
smsb-plus-ui/src/views/smsb/appointmentInfo/index.vue

@@ -2,39 +2,13 @@
   <div class="p-2">
     <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
       <div v-show="showSearch" class="mb-[10px]">
-        <el-card shadow="hover">
-          <el-form ref="queryFormRef" :model="queryParams" :inline="true">
+        <el-card shadow="hover" :style="{ marginTop: '10px', height: '60px' }">
+          <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="40px">
             <el-form-item label="企业" prop="enterprise">
-              <el-input v-model="queryParams.enterprise" placeholder="请输入企业" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="地区" prop="region">
-              <el-input v-model="queryParams.region" placeholder="请输入地区" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="行业" prop="industry">
-              <el-input v-model="queryParams.industry" placeholder="请输入行业" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="大小" prop="size">
-              <el-input v-model="queryParams.size" placeholder="请输入大小" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="金额" prop="money">
-              <el-input v-model="queryParams.money" placeholder="请输入金额" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="层次" prop="gradation">
-              <el-input v-model="queryParams.gradation" placeholder="请输入层次" clearable @keyup.enter="handleQuery" />
+              <el-input v-model="queryParams.enterprise" placeholder="请输入企业" clearable @keyup.enter="handleQuery"/>
             </el-form-item>
             <el-form-item label="电话" prop="phone">
-              <el-input v-model="queryParams.phone" placeholder="请输入电话" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="预约时间" prop="appointmentTime">
-              <el-date-picker clearable
-                v-model="queryParams.appointmentTime"
-                type="date"
-                value-format="YYYY-MM-DD"
-                placeholder="请选择预约时间"
-              />
-            </el-form-item>
-            <el-form-item label="人数" prop="peopleNum">
-              <el-input v-model="queryParams.peopleNum" placeholder="请输入人数" clearable @keyup.enter="handleQuery" />
+              <el-input v-model="queryParams.phone" placeholder="请输入电话" clearable @keyup.enter="handleQuery"/>
             </el-form-item>
             <el-form-item>
               <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -46,55 +20,61 @@
     </transition>
 
     <el-card shadow="never">
-      <template #header>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['smsb-digital-promotion:appointmentInfo:add']">新增</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['smsb-digital-promotion:appointmentInfo:edit']">修改</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['smsb-digital-promotion:appointmentInfo:remove']">删除</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['smsb-digital-promotion:appointmentInfo:export']">导出</el-button>
-          </el-col>
-          <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
-        </el-row>
-      </template>
-
-      <el-table v-loading="loading" :data="appointmentInfoList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="预约id" align="center" prop="id" v-if="true" />
-        <el-table-column label="企业" align="center" prop="enterprise" />
-        <el-table-column label="地区" align="center" prop="region" />
-        <el-table-column label="行业" align="center" prop="industry" />
-        <el-table-column label="大小" align="center" prop="size" />
-        <el-table-column label="金额" align="center" prop="money" />
-        <el-table-column label="类型" align="center" prop="type" />
-        <el-table-column label="层次" align="center" prop="gradation" />
-        <el-table-column label="电话" align="center" prop="phone" />
-        <el-table-column label="预约时间" align="center" prop="appointmentTime" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.appointmentTime, '{y}-{m}-{d}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="人数" align="center" prop="peopleNum" />
-        <el-table-column label="备注" align="center" prop="remark" />
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-          <template #default="scope">
-            <el-tooltip content="修改" placement="top">
-              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['smsb-digital-promotion:appointmentInfo:edit']"></el-button>
-            </el-tooltip>
-            <el-tooltip content="删除" placement="top">
-              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['smsb-digital-promotion:appointmentInfo:remove']"></el-button>
-            </el-tooltip>
-          </template>
-        </el-table-column>
-      </el-table>
+      <!--      <template #header>
+              <el-row :gutter="10" class="mb8">
+                <el-col :span="1.5">
+                  <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['smsb-digital-promotion:appointmentInfo:add']">新增</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['smsb-digital-promotion:appointmentInfo:edit']">修改</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['smsb-digital-promotion:appointmentInfo:remove']">删除</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['smsb-digital-promotion:appointmentInfo:export']">导出</el-button>
+                </el-col>
+                <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+              </el-row>
+            </template>-->
+      <div class="table-content">
+        <el-table v-loading="loading" :data="appointmentInfoList" @selection-change="handleSelectionChange">
+          <el-table-column label="" align="left" prop="" width="10"/>
+          <el-table-column label="ID" align="left" prop="id" v-if="true" width="175"/>
+          <el-table-column label="企业" align="left" prop="enterprise"/>
+          <el-table-column label="电话" align="left" prop="phone" width="120"/>
+          <el-table-column label="预约时间" align="left" prop="appointmentTime" width="160"/>
+          <el-table-column label="人数" align="center" prop="peopleNum" width="80"/>
+          <el-table-column label="地区" align="left" prop="region" width="120" :show-overflow-tooltip="true"/>
+          <el-table-column label="行业" align="left" prop="industry" width="120" :show-overflow-tooltip="true"/>
+          <el-table-column label="大小" align="left" prop="size" width="80" :show-overflow-tooltip="true"/>
+          <el-table-column label="金额" align="left" prop="money" width="80" :show-overflow-tooltip="true"/>
+          <el-table-column label="类型" align="left" prop="type" width="80" :show-overflow-tooltip="true"/>
+          <el-table-column label="层次" align="left" prop="gradation" width="80" :show-overflow-tooltip="true"/>
+          <el-table-column label="到访" align="left" prop="isArrived" width="60" :show-overflow-tooltip="true">
+            <template #default="scope">
+              <dict-tag :options="smsb_yes_no" :value="scope.row.isArrived"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="到访时间" align="left" prop="arrivedTime" width="160" :show-overflow-tooltip="true"/>
 
-      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
+          <el-table-column label="备注" align="center" prop="remark"/>
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="80">
+            <template #default="scope">
+              <!--              <el-tooltip content="修改" placement="top">
+                              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
+                                         v-hasPermi="['smsb-digital-promotion:appointmentInfo:edit']"></el-button>
+                            </el-tooltip>-->
+              <el-tooltip content="删除" placement="top">
+                <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
+                           v-hasPermi="['smsb-digital-promotion:appointmentInfo:remove']"></el-button>
+              </el-tooltip>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+                  v-model:limit="queryParams.pageSize" @pagination="getList"/>
     </el-card>
     <!-- 添加或修改预约信息对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@@ -146,11 +126,17 @@
 </template>
 
 <script setup name="AppointmentInfo" lang="ts">
-import { listAppointmentInfo, getAppointmentInfo, delAppointmentInfo, addAppointmentInfo, updateAppointmentInfo } from '@/api/smsb/digital/appointmentInfo';
-import { AppointmentInfoVO, AppointmentInfoQuery, AppointmentInfoForm } from '@/api/smsb/digital/appointmentInfo/types';
-
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+import {
+  addAppointmentInfo,
+  delAppointmentInfo,
+  getAppointmentInfo,
+  listAppointmentInfo,
+  updateAppointmentInfo
+} from '@/api/smsb/digital/appointmentInfo';
+import {AppointmentInfoForm, AppointmentInfoQuery, AppointmentInfoVO} from '@/api/smsb/digital/appointmentInfo/types';
 
+const {proxy} = getCurrentInstance() as ComponentInternalInstance;
+const {smsb_yes_no} = toRefs<any>(proxy?.useDict('smsb_yes_no'));
 const appointmentInfoList = ref<AppointmentInfoVO[]>([]);
 const buttonLoading = ref(false);
 const loading = ref(true);

+ 50 - 52
smsb-plus-ui/src/views/smsb/scReport/index.vue

@@ -2,13 +2,10 @@
   <div class="p-2">
     <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
       <div v-show="showSearch" class="mb-[10px]">
-        <el-card shadow="hover">
+        <el-card shadow="hover" :style="{ marginTop: '10px', height: '60px' }">
           <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-            <el-form-item label="预约ID" prop="appointmentId">
-              <el-input v-model="queryParams.appointmentId" placeholder="请输入预约ID" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
             <el-form-item label="预约企业" prop="enterprise">
-              <el-input v-model="queryParams.enterprise" placeholder="请输入预约企业" clearable @keyup.enter="handleQuery" />
+              <el-input v-model="queryParams.enterprise" placeholder="请输入预约企业" clearable @keyup.enter="handleQuery"/>
             </el-form-item>
             <el-form-item>
               <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -20,62 +17,57 @@
     </transition>
 
     <el-card shadow="never">
-      <template #header>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['digital:deviceChatScReport:add']">新增</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['digital:deviceChatScReport:edit']">修改</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['digital:deviceChatScReport:remove']">删除</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['digital:deviceChatScReport:export']">导出</el-button>
-          </el-col>
-          <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
-        </el-row>
-      </template>
-
-      <el-table v-loading="loading" :data="deviceChatScReportList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="主键ID" align="center" prop="id" v-if="true" />
-        <el-table-column label="类型 1-总结 2-条目" align="center" prop="type" />
-        <el-table-column label="内容" align="center" prop="content" />
-        <el-table-column label="预约ID" align="center" prop="appointmentId" />
-        <el-table-column label="预约企业" align="center" prop="enterprise" />
-        <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <!--      <template #header>
+              <el-row :gutter="10" class="mb8">
+                <el-col :span="1.5">
+                  <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['digital:deviceChatScReport:add']">新增</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['digital:deviceChatScReport:edit']">修改</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['digital:deviceChatScReport:remove']">删除</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['digital:deviceChatScReport:export']">导出</el-button>
+                </el-col>
+                <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+              </el-row>
+            </template>-->
+      <div class="table-content">
+        <el-table v-loading="loading" :data="deviceChatScReportList" @selection-change="handleSelectionChange">
+          <el-table-column label="" align="left" prop=""  width="10"/>
+          <el-table-column label="ID" align="left" prop="id" v-if="true" width="175"/>
+          <el-table-column label="内容" align="left" prop="content" :show-overflow-tooltip="true"/>
+          <el-table-column label="预约ID" align="left" prop="appointmentId" width="175"/>
+          <el-table-column label="预约企业" align="left" prop="enterprise" width="150" :show-overflow-tooltip="true"/>
+          <el-table-column label="创建时间" align="center" prop="createTime" width="180" />
+        <el-table-column label="操作" align="center" width="120" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="修改" placement="top">
-              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['digital:deviceChatScReport:edit']"></el-button>
+              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
+                         v-hasPermi="['digital:deviceChatScReport:edit']"></el-button>
             </el-tooltip>
             <el-tooltip content="删除" placement="top">
-              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['digital:deviceChatScReport:remove']"></el-button>
+              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
+                         v-hasPermi="['digital:deviceChatScReport:remove']"></el-button>
             </el-tooltip>
           </template>
         </el-table-column>
-      </el-table>
-
+        </el-table>
+      </div>
       <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
     </el-card>
     <!-- 添加或修改数促-诊断报告对话框 -->
-    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
-      <el-form ref="deviceChatScReportFormRef" :model="form" :rules="rules" label-width="80px">
+    <el-dialog :title="dialog.title" v-model="dialog.visible" width="1200px" append-to-body>
+      <el-form ref="deviceChatScReportFormRef" :model="form" :rules="rules" label-width="40px">
         <el-form-item label="内容">
+<!--
           <editor v-model="form.content" :min-height="192"/>
+-->
+          <el-input v-model="form.content" placeholder="请输入内容" type="textarea" :rows="10" clearable/>
         </el-form-item>
-        <el-form-item label="预约ID" prop="appointmentId">
-          <el-input v-model="form.appointmentId" placeholder="请输入预约ID" />
-        </el-form-item>
-        <el-form-item label="预约企业" prop="enterprise">
-          <el-input v-model="form.enterprise" placeholder="请输入预约企业" />
-        </el-form-item>
+
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -88,10 +80,16 @@
 </template>
 
 <script setup name="DeviceChatScReport" lang="ts">
-import { listDeviceChatScReport, getDeviceChatScReport, delDeviceChatScReport, addDeviceChatScReport, updateDeviceChatScReport } from '@/api/smsb/digital/scReport/api';
-import { DeviceChatScReportVO, DeviceChatScReportQuery, DeviceChatScReportForm } from '@/api/smsb/digital/scReport/types';
+import {
+  addDeviceChatScReport,
+  delDeviceChatScReport,
+  getDeviceChatScReport,
+  listDeviceChatScReport,
+  updateDeviceChatScReport
+} from '@/api/smsb/digital/scReport/api';
+import {DeviceChatScReportForm, DeviceChatScReportQuery, DeviceChatScReportVO} from '@/api/smsb/digital/scReport/types';
 
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
+const {proxy} = getCurrentInstance() as ComponentInternalInstance;
 
 const deviceChatScReportList = ref<DeviceChatScReportVO[]>([]);
 const buttonLoading = ref(false);
@@ -122,7 +120,7 @@ const data = reactive<PageData<DeviceChatScReportForm, DeviceChatScReportQuery>>
   queryParams: {
     pageNum: 1,
     pageSize: 10,
-    type: undefined,
+    type: 2,
     appointmentId: undefined,
     enterprise: undefined,
     params: {