Explorar o código

字段管理+知识库+风险人员样式修改

zhangyihao hai 10 meses
pai
achega
0f743b1d3d

+ 99 - 109
src/views/knowledge/knowledge-management/index.vue

@@ -1,45 +1,48 @@
 <template>
   <div class="app-container">
     <transition name="fade">
-      <div v-show="showSearch" class="mb-[10px]">
-        <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-          <el-form-item style="width: 200px" label="事件类型" prop="eventType">
-            <el-select v-model="queryParams.eventType" placeholder="全部" clearable>
-              <el-option label="全部" value=""></el-option>
-              <el-option
-                v-for="item in eventTypeSelection"
-                :key="item.dictValue"
-                :label="item.dictLabel"
-                :value="item.dictValue"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="发布日期" prop="publishDate">
-            <el-date-picker
-              v-model="queryParams.publishDate"
-              type="daterange"
-              range-separator="-"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              value-format="YYYY-MM-DD"
-            ></el-date-picker>
-          </el-form-item>
-          <el-form-item>
-            <el-input v-model="queryParams.query" placeholder="请输入报告的名称" clearable
-                      @keyup.enter="handleQuery"/>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-          </el-form-item>
-          <el-form-item>
-            <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-          </el-form-item>
+      <div v-show="showSearch">
+        <el-form ref="queryFormRef" :model="queryParams">
+          <el-row :gutter="20">
+            <!-- 第一行 -->
+            <el-col :span="6">
+              <el-form-item label="事件类型:" prop="eventType">
+                <el-select v-model="queryParams.eventType" placeholder="全部" clearable>
+                  <el-option label="全部" value=""></el-option>
+                  <el-option v-for="item in eventTypeSelection" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="发布日期:" prop="publishDate">
+                <el-date-picker
+                  v-model="queryParams.publishDate"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  value-format="YYYY-MM-DD"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item>
+                <el-input v-model="queryParams.query" placeholder="请输入报告的名称" clearable @keyup.enter="handleQuery" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item>
+                <el-button type="primary" @click="handleQuery">搜索</el-button>
+                <el-button @click="resetQuery">重置</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
         </el-form>
       </div>
     </transition>
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
+        <el-button type="primary" icon="Plus" @click="handleAdd">新增</el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate(selectedRow)">修改</el-button>
@@ -50,86 +53,76 @@
       <el-col :span="1.5">
         <el-button type="warning" plain icon="Download" @click="handleExport">导出</el-button>
       </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
+      <!--      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>-->
     </el-row>
 
     <!-- 表格组件 -->
     <el-table v-loading="loading" :data="demoList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="报告编号" align="center" prop="reportId"/>
-      <el-table-column label="报告名称" align="center" prop="reportName"/>
-      <el-table-column label="主题词" align="center" prop="subject"/>
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="报告编号" align="center" prop="reportId" />
+      <el-table-column label="报告名称" align="center" prop="reportName" />
+      <el-table-column label="主题词" align="center" prop="subject" />
       <el-table-column label="事件类型" align="center" prop="eventType">
         <template #default="scope">
           <dict-tag :options="mm_event_type" :value="scope.row.eventType" />
         </template>
       </el-table-column>
-      <el-table-column label="摘要" align="center" prop="summary"/>
-      <el-table-column label="来源单位" align="center" prop="publishingUnit"/>
-      <el-table-column label="发布日期" align="center" prop="publishDate"/>
+      <el-table-column label="摘要" align="center" prop="summary" />
+      <el-table-column label="来源单位" align="center" prop="publishingUnit" />
+      <el-table-column label="发布日期" align="center" prop="publishDate" />
       <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="View" @click="handleView(scope.row)"></el-button>
-          </el-tooltip>
-          <el-tooltip content="修改" placement="top">
-            <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
-          </el-tooltip>
-          <el-tooltip content="删除" placement="top">
-            <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
-          </el-tooltip>
+          <el-text class="common-btn-text-primary" @click="handleView(scope.row)">查看</el-text>
+          <el-text class="common-btn-text-primary" @click="handleUpdate(scope.row)">修改</el-text>
+          <el-text class="common-btn-text-danger" @click="handleDelete(scope.row)">删除</el-text>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
-                :total="total" @pagination="getList"/>
+    <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
 
     <!-- 新增/修改弹窗 -->
-    <el-dialog v-model="dialog.visible" :title="dialog.title" width="500px" append-to-body>
-      <el-form ref="demoFormRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="报告名称" prop="reportName">
-          <el-input v-model="form.reportName" placeholder="请输入报告名称"/>
-        </el-form-item>
-        <el-form-item label="主题词" prop="subject">
-          <el-input v-model="form.subject" placeholder="请输入主题词"/>
-        </el-form-item>
-        <el-form-item label="事件类型" prop="eventType">
-          <el-select v-model="form.eventType" placeholder="请选择事件类型" clearable>
-            <el-option
-              v-for="item in eventTypeSelection"
-              :key="item.dictValue"
-              :label="item.dictLabel"
-              :value="item.dictValue"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="摘要" prop="summary">
-          <el-input v-model="form.summary" placeholder="请输入摘要"/>
-        </el-form-item>
-        <el-form-item label="来源单位" prop="publishingUnit">
-          <el-input v-model="form.publishingUnit" placeholder="请输入来源单位"/>
-        </el-form-item>
-        <el-form-item label="发布日期" prop="publishDate">
-          <el-date-picker
-            v-model="form.publishDate"
-            type="datetime"
-            placeholder="选择发布日期"
-          ></el-date-picker>
-        </el-form-item>
-        <el-col :span="1.5">
-          <!-- 使用分片上传组件,每个分片 -->
-<!--          <chunk-upload ref="chunkUploadRef" :max-file-size="50 * 1024 * 1024" :max-files="5" />-->
-          <FileUpload v-model="form.fileNames" />
-        </el-col>
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
+    <div v-show="dialog.visible" class="common-dialog">
+      <div class="common-dialog-content">
+        <div class="common-dialog-title-box">
+          <i class="common-dialog-title-icon" />
+          <div>{{ dialog.title }}</div>
+        </div>
+        <div class="common-dialog-box">
+          <el-form ref="demoFormRef" :model="form" :rules="rules" label-width="80px">
+            <el-form-item label="报告名称:" prop="reportName">
+              <el-input v-model="form.reportName" placeholder="请输入报告名称" style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="主题词:" prop="subject">
+              <el-input v-model="form.subject" placeholder="请输入主题词" style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="事件类型:" prop="eventType">
+              <el-select v-model="form.eventType" placeholder="请选择事件类型" clearable style="width: 468px !important">
+                <el-option v-for="item in eventTypeSelection" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="摘要:" prop="summary">
+              <el-input v-model="form.summary" placeholder="请输入摘要" style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="来源单位:" prop="publishingUnit">
+              <el-input v-model="form.publishingUnit" placeholder="请输入来源单位" style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="发布日期:" prop="publishDate">
+              <el-date-picker v-model="form.publishDate" type="datetime" placeholder="选择发布日期" style="width: 468px !important"></el-date-picker>
+            </el-form-item>
+            <el-col :span="1.5">
+              <!-- 使用分片上传组件,每个分片 -->
+              <!--          <chunk-upload ref="chunkUploadRef" :max-file-size="50 * 1024 * 1024" :max-files="5" />-->
+              <FileUpload v-model="form.fileNames" />
+            </el-col>
+          </el-form>
+        </div>
+        <div class="common-dialog-footer" style="display: flex; justify-content: center">
           <el-button :loading="buttonLoading" type="primary" @click="submitForm">确定</el-button>
           <el-button @click="cancel">取消</el-button>
         </div>
-      </template>
-    </el-dialog>
+      </div>
+    </div>
   </div>
 </template>
 
@@ -137,11 +130,11 @@
 import { ref, reactive, onMounted } from 'vue';
 import { ElMessage } from 'element-plus';
 import { fetchReports, addReport, updateReport, deleteReport } from '@/api/kenowledge';
-import {AddReportParams, QueryParams, ReportItem} from '@/api/kenowledge/types';
+import { AddReportParams, QueryParams, ReportItem } from '@/api/kenowledge/types';
 // import ChunkUpload from '@/components/ChunkUpload/index.vue';
-import {getDicts} from "@/api/system/dict/data";
-import router from "@/router";
-import axios,{ AxiosError,isAxiosError } from "axios";
+import { getDicts } from '@/api/system/dict/data';
+import router from '@/router';
+import axios, { AxiosError, isAxiosError } from 'axios';
 
 const demoFormRef = ref(null);
 const demoList = ref<ReportItem[]>([]);
@@ -157,10 +150,9 @@ let proxy = getCurrentInstance()?.proxy;
 const { mm_event_type } = toRefs<any>(proxy?.useDict('mm_event_type'));
 const chunkUploadRef = ref(null);
 
-
 // 这是是查询条件
 const queryParams = reactive<QueryParams>({
-  query: "",
+  query: '',
   pageNum: 1,
   pageSize: 10,
   eventType: '',
@@ -170,7 +162,7 @@ const queryParams = reactive<QueryParams>({
   sortOrder: 'desc',
   publishDateRange: ''
 });
- // 表单数据
+// 表单数据
 const form = reactive<AddReportParams>({
   reportName: '',
   subject: '',
@@ -178,7 +170,7 @@ const form = reactive<AddReportParams>({
   summary: '',
   publishingUnit: '',
   publishDate: '',
-  fileNames: [],
+  fileNames: []
 });
 
 const rules = reactive({
@@ -197,7 +189,6 @@ const dialog = reactive({
   title: ''
 });
 
-
 // getLists是获取列表数据的方法
 const getList = async () => {
   // 开始加载数据
@@ -214,7 +205,7 @@ const getList = async () => {
     const requestParams = {
       ...queryParams,
       publishDateRange, // 添加新的日期范围参数
-      publishDate: undefined, // 移除原来的 publishDate 参数
+      publishDate: undefined // 移除原来的 publishDate 参数
     };
 
     // 发送请求
@@ -276,7 +267,7 @@ const handleAdd = () => {
   dialog.visible = true;
   dialog.title = '添加报告';
 };
- // 修改报告
+// 修改报告
 const handleUpdate = (row: ReportItem) => {
   if (row) {
     resetForm();
@@ -305,7 +296,6 @@ const handleView = (row: ReportItem) => {
   });
 };
 
-
 // 格式化日期
 const formatDate = (date: Date): string => {
   const yyyy = date.getFullYear();
@@ -332,7 +322,7 @@ const submitForm = () => {
         if (dialog.title === '修改报告' && selectedRow.value) {
           const updateData = {
             ...form,
-            reportId: selectedRow.value.reportId,
+            reportId: selectedRow.value.reportId
           };
           await updateReport(updateData);
           ElMessage.success('更新成功');
@@ -350,7 +340,7 @@ const submitForm = () => {
           console.error('提交失败:', error);
           ElMessage.error('操作失败,无法连接到服务器');
         }
-      }finally {
+      } finally {
         buttonLoading.value = false;
       }
     }
@@ -382,7 +372,7 @@ const handleExport = () => {
 
 onMounted(() => {
   getList();
-  getDicts("mm_event_type").then(res => {
+  getDicts('mm_event_type').then((res) => {
     eventTypeSelection.value = res.data;
   });
 });

+ 189 - 175
src/views/setting/riskPrevention/userManage.vue

@@ -1,127 +1,143 @@
 <template>
-    <div class="app-container">
-        <transition name="fade">
-            <div v-show="showSearch" class="mb-[10px]">
-                <el-form ref="queryFormRef" :model="queryForm" :inline="true">
-                <el-form-item label="单位名称" prop="unitId">
-                    <el-select v-model="queryForm.unitId" placeholder="全部" clearable>
-                        <el-option v-for="item in unitList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item label="联系人" prop="contactName">
-                    <el-input v-model="queryForm.contactName" placeholder="请输入联系人" clearable @keyup.enter="handleQuery" />
-                </el-form-item>
-                <el-form-item>
-                    <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-                </el-form-item>
-                <el-form-item>
-                    <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-                </el-form-item>
-                </el-form>
-            </div>
-        </transition>
-
-        <el-row :gutter="10" class="mb8">
-            <el-col :span="1.5">
-                <el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
+  <div class="app-container">
+    <transition name="fade">
+      <div v-show="showSearch">
+        <el-form ref="queryFormRef" :model="queryForm">
+          <el-row :gutter="20">
+            <!-- 第一行 -->
+            <el-col :span="6">
+              <el-form-item label="单位名称:" prop="unitId">
+                <el-select v-model="queryForm.unitId" placeholder="全部" clearable>
+                  <el-option v-for="item in unitList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option>
+                </el-select>
+              </el-form-item>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete(selectedRow)">删除</el-button>
+            <el-col :span="6">
+              <el-form-item label="联系人:" prop="contactName">
+                <el-input v-model="queryForm.contactName" placeholder="请输入联系人" clearable @keyup.enter="handleQuery" />
+              </el-form-item>
             </el-col>
-            <el-col :span="1.5">
-                <el-button type="default" plain icon="Delete" @click="handleImport">导入</el-button>
+            <el-col :span="6">
+              <el-form-item>
+                <el-button type="primary" @click="handleQuery">搜索</el-button>
+                <el-button @click="resetQuery">重置</el-button>
+              </el-form-item>
             </el-col>
-            <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
-        </el-row>
-
-        <!-- 表格组件 -->
-        <el-table v-loading="loading" :data="resultList" @selection-change="handleSelectionChange">
-            <el-table-column type="selection" width="55" align="center" />
-            <el-table-column label="单位名称" prop="unitName" />
-            <el-table-column label="联系人" prop="contactName" />
-            <el-table-column label="职务" prop="position" />
-            <el-table-column label="粤政易手机号码" prop="phone" />
-            <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)"></el-button>
-                </el-tooltip>
-                <el-tooltip content="删除" placement="top">
-                    <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
-                </el-tooltip>
-                </template>
-            </el-table-column>
-        </el-table>
-
-        <pagination v-show="total > 0" v-model:page="queryForm.page" v-model:limit="queryForm.pageSize" :total="total" @pagination="getList" />
-    </div>
-
-    <!-- 新增/修改弹窗 -->
-    <el-dialog v-model="addDialog.visible" :title="addDialog.title" width="500px" append-to-body>
-        <el-form ref="addFormRef" :model="addForm" :rules="rules" label-width="120px">
-            <el-form-item label="单位名称" prop="unitId">
-                <el-select v-model="addForm.unitId" placeholder="请选择单位" clearable>
-                    <el-option v-for="item in unitList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="联系人" prop="contactName">
-                <el-input v-model="addForm.contactName" placeholder="请输入联系人" />
-            </el-form-item>
-            <el-form-item label="职务" prop="position">
-                <el-input v-model="addForm.position" placeholder="请输入职务" />
-            </el-form-item>
-            <el-form-item label="粤政易手机号码" prop="phone">
-                <el-input v-model="addForm.phone" placeholder="请输入粤政易手机号码" />
-            </el-form-item>
+          </el-row>
         </el-form>
-        <template #footer>
-            <div class="dialog-footer">
-                <el-button :loading="buttonLoading" type="primary" @click="submitForm">确定</el-button>
-                <el-button @click="cancel">取消</el-button>
-            </div>
+      </div>
+    </transition>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button type="primary" icon="Plus" @click="handleAdd">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete(selectedRow)">删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="warning" plain icon="Download" @click="handleImport">导入</el-button>
+      </el-col>
+      <!--      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>-->
+    </el-row>
+
+    <!-- 表格组件 -->
+    <el-table v-loading="loading" :data="resultList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="单位名称" prop="unitName" />
+      <el-table-column label="联系人" prop="contactName" />
+      <el-table-column label="职务" prop="position" />
+      <el-table-column label="粤政易手机号码" prop="phone" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template #default="scope">
+          <el-text v-hasPermi="['system:menu:edit']" class="common-btn-text-primary" @click="handleUpdate(scope.row)">修改</el-text>
+          <el-text v-hasPermi="['system:menu:remove']" class="common-btn-text-danger" @click="handleDelete(scope.row)">删除</el-text>
         </template>
-    </el-dialog>
-
-    <el-dialog v-model="showImportDlg"  title="导入人员" width="500px" append-to-body>
-        <el-form ref="importFormRef" :model="importForm" :rules="importRules">
-            <FileUpload v-model="importForm.filename" :file-type="['xls', 'xlsx']" :limit="1" />
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total > 0" v-model:page="queryForm.page" v-model:limit="queryForm.pageSize" :total="total" @pagination="getList" />
+  </div>
+
+  <!-- 新增/修改弹窗 -->
+  <div v-show="addDialog.visible" class="common-dialog">
+    <div class="common-dialog-content">
+      <div class="common-dialog-title-box">
+        <i class="common-dialog-title-icon" />
+        <div>{{ addDialog.title }}</div>
+      </div>
+      <div class="common-dialog-box">
+        <el-form ref="addFormRef" :model="addForm" :rules="rules" label-width="120px">
+          <el-form-item label="单位名称:" prop="unitId">
+            <el-select v-model="addForm.unitId" placeholder="请选择单位" clearable style="width: 468px !important">
+              <el-option v-for="item in unitList" :key="item.deptId" :label="item.deptName" :value="item.deptId"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="联系人:" prop="contactName">
+            <el-input v-model="addForm.contactName" placeholder="请输入联系人" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="职务:" prop="position">
+            <el-input v-model="addForm.position" placeholder="请输入职务" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="粤政易手机号码:" prop="phone">
+            <el-input v-model="addForm.phone" placeholder="请输入粤政易手机号码" style="width: 468px !important" />
+          </el-form-item>
         </el-form>
-        <template #footer>
-            <div class="dialog-footer">
-                <el-button type="primary" @click="submitImportForm">确 定</el-button>
-                <el-button @click="cancelImport">取 消</el-button>
-            </div>
-        </template>
-    </el-dialog>
+      </div>
+      <div class="common-dialog-footer" style="display: flex; justify-content: center">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </div>
+  </div>
+
+  <el-dialog v-model="showImportDlg" title="导入人员" width="500px" append-to-body>
+    <el-form ref="importFormRef" :model="importForm" :rules="importRules">
+      <FileUpload v-model="importForm.filename" :file-type="['xls', 'xlsx']" :limit="1" />
+    </el-form>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button type="primary" @click="submitImportForm">确 定</el-button>
+        <el-button @click="cancelImport">取 消</el-button>
+      </div>
+    </template>
+  </el-dialog>
 </template>
 
 <script setup lang="ts">
 import { ref, reactive, onMounted } from 'vue';
 import { listDept } from '@/api/system/dept';
-import { getPlanContactList, getPlanContactInfo, updatePlanContact, deletePlanContact, addPlanContact, importPlanContact } from '@/api/riskPrevention/planManage';
+import {
+  getPlanContactList,
+  getPlanContactInfo,
+  updatePlanContact,
+  deletePlanContact,
+  addPlanContact,
+  importPlanContact
+} from '@/api/riskPrevention/planManage';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 import { to } from 'await-to-js';
 
 interface QueryForm {
-    page: number;
-    pageSize: number;
-    unitId?: string;
-    contactName?: string;
+  page: number;
+  pageSize: number;
+  unitId?: string;
+  contactName?: string;
 }
 
 interface resultVO {
-    id: string;
-    unitName: string;
-    contactName: string;
-    position: string;
-    phone: string;
+  id: string;
+  unitName: string;
+  contactName: string;
+  position: string;
+  phone: string;
 }
 
 const queryForm = reactive<QueryForm>({
-    page: 1,
-    pageSize: 10,
-    unitId: '',
-    contactName: ''
+  page: 1,
+  pageSize: 10,
+  unitId: '',
+  contactName: ''
 });
 
 const resultList = ref<resultVO[]>([]);
@@ -135,35 +151,34 @@ const selectedRow = ref<resultVO | null>(null);
 const unitList = ref([]);
 
 const addDialog = reactive({
-    visible: false,
-    title: ''
+  visible: false,
+  title: ''
 });
 
 const getList = async () => {
-    loading.value = true;
-    const res = await getPlanContactList(queryForm);
-    loading.value = false;
-    resultList.value = res.data;
-    total.value = res.total;
+  loading.value = true;
+  const res = await getPlanContactList(queryForm);
+  loading.value = false;
+  resultList.value = res.data;
+  total.value = res.total;
 };
 
-
-onMounted(async()=>{
-    const res = await listDept();
-    unitList.value = res.data;
-    getList();
-})
+onMounted(async () => {
+  const res = await listDept();
+  unitList.value = res.data;
+  getList();
+});
 
 const handleQuery = () => {
-    queryForm.page = 1;
-    getList();
+  queryForm.page = 1;
+  getList();
 };
 
 const resetQuery = () => {
-    queryForm.page = 1; 
-    queryForm.unitId = '';
-    queryForm.contactName = '';
-    handleQuery();
+  queryForm.page = 1;
+  queryForm.unitId = '';
+  queryForm.contactName = '';
+  handleQuery();
 };
 
 const handleSelectionChange = (selection: resultVO[]) => {
@@ -179,8 +194,7 @@ const handleAdd = () => {
   addDialog.title = '添加人员';
 };
 
-
-const handleUpdate = async(row: resultVO) => {
+const handleUpdate = async (row: resultVO) => {
   if (row) {
     resetForm();
     const res = await getPlanContactInfo(row.id);
@@ -200,9 +214,9 @@ const handleDelete = async (row) => {
   }
 };
 
-const handleImport = async() => {
-    resetImportForm();
-    showImportDlg.value = true;
+const handleImport = async () => {
+  resetImportForm();
+  showImportDlg.value = true;
 };
 
 //////////////////
@@ -211,50 +225,50 @@ const addFormRef = ref(null);
 const buttonLoading = ref(false);
 
 let addForm = ref({
-    id: '',
-    unitId: '',
-    contactName: '',
-    phone: '',
-    position: ''
+  id: '',
+  unitId: '',
+  contactName: '',
+  phone: '',
+  position: ''
 });
 
 const rules = reactive({
-    unitId: [{ required: true, message: '单位名称', trigger: 'blur' }],
-    contactName: [{ required: true, message: '联系人', trigger: 'blur' }],
-    position: [{ required: true, message: '职务', trigger: 'blur' }],
-    phone: [{ required: true, message: '粤政易手机号码', trigger: 'blur' }]
+  unitId: [{ required: true, message: '单位名称', trigger: 'blur' }],
+  contactName: [{ required: true, message: '联系人', trigger: 'blur' }],
+  position: [{ required: true, message: '职务', trigger: 'blur' }],
+  phone: [{ required: true, message: '粤政易手机号码', trigger: 'blur' }]
 });
 
 const resetForm = () => {
-    addForm.value = {
-        id: '',
-        unitId: '',
-        contactName: '',
-        phone: '',
-        position: ''
-    };
-    addFormRef.value?.resetFields();
+  addForm.value = {
+    id: '',
+    unitId: '',
+    contactName: '',
+    phone: '',
+    position: ''
+  };
+  addFormRef.value?.resetFields();
 };
 
 const submitForm = () => {
-    addFormRef.value?.validate(async (valid) => {
-        if (valid) {
-            try {
-                buttonLoading.value = true;
-                addForm.value.id ? await updatePlanContact(addForm.value) : await addPlanContact(addForm.value);
-                proxy?.$modal.msgSuccess(addForm.value.id ? '修改成功' : '新增成功');
-                addDialog.visible = false;
-                getList();
-            } finally {
-                buttonLoading.value = false;
-            }
-        }
-    });
+  addFormRef.value?.validate(async (valid) => {
+    if (valid) {
+      try {
+        buttonLoading.value = true;
+        addForm.value.id ? await updatePlanContact(addForm.value) : await addPlanContact(addForm.value);
+        proxy?.$modal.msgSuccess(addForm.value.id ? '修改成功' : '新增成功');
+        addDialog.visible = false;
+        getList();
+      } finally {
+        buttonLoading.value = false;
+      }
+    }
+  });
 };
 
 const cancel = () => {
-    resetForm();
-    addDialog.visible = false;
+  resetForm();
+  addDialog.visible = false;
 };
 
 //////////////////
@@ -263,43 +277,43 @@ const showImportDlg = ref(false);
 const importFormRef = ref<ElFormInstance>();
 
 const importForm = ref({
-    filename: ''
+  filename: ''
 });
 
 const importRules = reactive({
-    filename: [{ required: true, message: '导入文件不能为空', trigger: 'blur' }]
+  filename: [{ required: true, message: '导入文件不能为空', trigger: 'blur' }]
 });
 
 const resetImportForm = () => {
   importForm.value = {
-    filename:''
-  }
+    filename: ''
+  };
   importFormRef.value?.resetFields();
   importFormRef.value?.clearValidate();
-}
+};
 
 /**提交按钮 */
 const submitImportForm = () => {
   importFormRef.value?.validate(async (valid) => {
     if (valid) {
-        importPlanContact({ ...importForm.value })
+      importPlanContact({ ...importForm.value })
         .then((res) => {
-            if (res.code === 200) {
-                proxy?.$modal.msgSuccess('导入成功');
-                showImportDlg.value = false;
-                getList();
-            }
-        }).catch((err)=>{
-            proxy?.$modal.msgError(err);
+          if (res.code === 200) {
+            proxy?.$modal.msgSuccess('导入成功');
+            showImportDlg.value = false;
+            getList();
+          }
         })
+        .catch((err) => {
+          proxy?.$modal.msgError(err);
+        });
     }
-  })
-}
+  });
+};
 
 /** 取消按钮 */
 const cancelImport = () => {
   resetImportForm();
   showImportDlg.value = false;
 };
-
-</script>
+</script>

+ 14 - 14
src/views/system/dept/index.vue

@@ -40,7 +40,7 @@
       <el-col :span="1.5">
         <el-button type="danger" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
       </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
+      <!--      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>-->
     </el-row>
 
     <el-table
@@ -79,8 +79,8 @@
           <i class="common-dialog-title-icon" />
           <div>{{ dialog.title }}</div>
         </div>
-        <el-form ref="deptFormRef" :model="form" :rules="rules" label-width="80px">
-          <el-row>
+        <div class="common-dialog-box">
+          <el-form ref="deptFormRef" :model="form" :rules="rules" label-width="80px">
             <el-col v-if="form.parentId !== 0" :span="24">
               <el-form-item label="上级部门:" prop="parentId">
                 <el-tree-select
@@ -94,47 +94,47 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="部门名称:" prop="deptName">
+              <el-form-item style="width: 500px" label="部门名称:" prop="deptName">
                 <el-input v-model="form.deptName" placeholder="请输入部门名称" />
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="类别编码:" prop="deptCategory">
+              <el-form-item style="width: 500px" label="类别编码:" prop="deptCategory">
                 <el-input v-model="form.deptCategory" placeholder="请输入类别编码" />
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="显示排序:" prop="orderNum">
+              <el-form-item style="width: 500px" label="显示排序:" prop="orderNum">
                 <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="负责人:" prop="leader">
+              <el-form-item style="width: 500px" label="负责人:" prop="leader">
                 <el-select v-model="form.leader" placeholder="请选择负责人">
                   <el-option v-for="item in deptUserList" :key="item.userId" :label="item.userName" :value="item.userId" />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="联系电话:" prop="phone">
+              <el-form-item style="width: 500px" label="联系电话:" prop="phone">
                 <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="邮箱:" prop="email">
+              <el-form-item style="width: 500px" label="邮箱:" prop="email">
                 <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="部门状态:">
-                <el-radio-group v-model="form.status">
+              <el-form-item style="width: 500px" label="部门状态:">
+                <el-radio-group v-model="form.status" style="width: 468px !important">
                   <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label }} </el-radio>
                 </el-radio-group>
               </el-form-item>
             </el-col>
-          </el-row>
-        </el-form>
-        <div class="common-dialog-footer" style="display: flex; justify-content: right">
+          </el-form>
+        </div>
+        <div class="common-dialog-footer" style="display: flex; justify-content: center">
           <el-button type="primary" @click="submitForm">确 定</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>

+ 103 - 89
src/views/system/dict/index.vue

@@ -1,103 +1,117 @@
 <template>
   <div class="app-container">
     <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
-      <div v-show="showSearch" class="mb-[10px]">
-          <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-            <el-form-item label="字典名称" prop="dictName">
-              <el-input v-model="queryParams.dictName" placeholder="请输入字典名称" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="字典类型" prop="dictType">
-              <el-input v-model="queryParams.dictType" placeholder="请输入字典类型" clearable @keyup.enter="handleQuery" />
-            </el-form-item>
-            <el-form-item label="创建时间" style="width: 308px">
-              <el-date-picker
-                v-model="dateRange"
-                value-format="YYYY-MM-DD HH:mm:ss"
-                type="daterange"
-                range-separator="-"
-                start-placeholder="开始日期"
-                end-placeholder="结束日期"
-                :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"
-              ></el-date-picker>
-            </el-form-item>
-            <el-form-item>
-              <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
-              <el-button icon="Refresh" @click="resetQuery">重置</el-button>
-            </el-form-item>
-          </el-form>
+      <div v-show="showSearch">
+        <el-form ref="queryFormRef" :model="queryParams">
+          <el-row :gutter="20">
+            <!-- 第一行 -->
+            <el-col :span="6">
+              <el-form-item label="字典名称:" prop="dictName">
+                <el-input v-model="queryParams.dictName" placeholder="请输入字典名称" clearable @keyup.enter="handleQuery" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="字典类型:" prop="dictType">
+                <el-input v-model="queryParams.dictType" placeholder="请输入字典类型" clearable @keyup.enter="handleQuery" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="创建时间:">
+                <el-date-picker
+                  v-model="dateRange"
+                  value-format="YYYY-MM-DD HH:mm:ss"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item>
+                <el-button type="primary" @click="handleQuery">搜索</el-button>
+                <el-button @click="resetQuery">重置</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
       </div>
     </transition>
-        <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button v-hasPermi="['system:dict:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button v-hasPermi="['system:dict:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">修改</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
-              删除
-            </el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button v-hasPermi="['system:dict:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Refresh" @click="handleRefreshCache">刷新缓存</el-button>
-          </el-col>
-          <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
-        </el-row>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button v-hasPermi="['system:dict:add']" type="primary" icon="Plus" @click="handleAdd">新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button v-hasPermi="['system:dict:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()">修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()">
+          删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button v-hasPermi="['system:dict:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Refresh" @click="handleRefreshCache">刷新缓存</el-button>
+      </el-col>
+      <!--      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>-->
+    </el-row>
 
-      <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="55" align="center" />
-        <el-table-column v-if="false" label="字典编号" align="center" prop="dictId" />
-        <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />
-        <el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
-          <template #default="scope">
-            <router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
-              <span>{{ scope.row.dictType }}</span>
-            </router-link>
-          </template>
-        </el-table-column>
-        <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
-        <el-table-column label="创建时间" align="center" prop="createTime" width="180">
-          <template #default="scope">
-            <span>{{ parseTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
-          <template #default="scope">
-            <el-tooltip content="修改" placement="top">
-              <el-button v-hasPermi="['system:dict:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
-            </el-tooltip>
-            <el-tooltip content="删除" placement="top">
-              <el-button v-hasPermi="['system:dict:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
-            </el-tooltip>
-          </template>
-        </el-table-column>
-      </el-table>
+    <el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column v-if="false" label="字典编号" align="center" prop="dictId" />
+      <el-table-column label="字典名称" align="center" prop="dictName" :show-overflow-tooltip="true" />
+      <el-table-column label="字典类型" align="center" :show-overflow-tooltip="true">
+        <template #default="scope">
+          <router-link :to="'/system/dict-data/index/' + scope.row.dictId" class="link-type">
+            <span>{{ scope.row.dictType }}</span>
+          </router-link>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
+      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+        <template #default="scope">
+          <span>{{ parseTime(scope.row.createTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template #default="scope">
+          <el-text v-hasPermi="['system:menu:edit']" class="common-btn-text-primary" @click="handleUpdate(scope.row)">修改</el-text>
+          <el-text v-hasPermi="['system:menu:remove']" class="common-btn-text-danger" @click="handleDelete(scope.row)">删除</el-text>
+        </template>
+      </el-table-column>
+    </el-table>
 
-      <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
+    <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
     <!-- 添加或修改参数配置对话框 -->
-    <el-dialog v-model="dialog.visible" :title="dialog.title" width="500px" append-to-body>
-      <el-form ref="dictFormRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="字典名称" prop="dictName">
-          <el-input v-model="form.dictName" placeholder="请输入字典名称" />
-        </el-form-item>
-        <el-form-item label="字典类型" prop="dictType">
-          <el-input v-model="form.dictType" placeholder="请输入字典类型" />
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
+
+    <div v-show="dialog.visible" class="common-dialog">
+      <div class="common-dialog-content">
+        <div class="common-dialog-title-box">
+          <i class="common-dialog-title-icon" />
+          <div>{{ dialog.title }}</div>
+        </div>
+        <div class="common-dialog-box">
+          <el-form ref="dictFormRef" :model="form" :rules="rules" label-width="80px">
+            <el-form-item label="字典名称:" prop="dictName">
+              <el-input v-model="form.dictName" placeholder="请输入字典名称" clearable style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="字典类型:" prop="dictType">
+              <el-input v-model="form.dictType" placeholder="请输入字典类型" clearable style="width: 468px !important" />
+            </el-form-item>
+            <el-form-item label="备注:" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" clearable style="width: 468px !important"></el-input>
+            </el-form-item>
+          </el-form>
+        </div>
+        <div class="common-dialog-footer" style="display: flex; justify-content: center">
           <el-button type="primary" @click="submitForm">确 定</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>
-      </template>
-    </el-dialog>
+      </div>
+    </div>
   </div>
 </template>
 

+ 9 - 9
src/views/system/menu/index.vue

@@ -35,7 +35,7 @@
       <el-col :span="1.5">
         <el-button type="danger" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
       </el-col>
-      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
+      <!--      <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>-->
     </el-row>
 
     <el-table
@@ -79,10 +79,10 @@
           <i class="common-dialog-title-icon" />
           <div>{{ dialog.title }}</div>
         </div>
-        <el-form ref="menuFormRef" :model="form" :rules="rules" label-width="100px">
-          <el-row>
+        <div class="common-dialog-box">
+          <el-form ref="menuFormRef" :model="form" :rules="rules" label-width="100px">
             <el-col :span="24">
-              <el-form-item label="上级菜单:">
+              <el-form-item style="width: 500px" label="上级菜单:">
                 <el-tree-select
                   v-model="form.parentId"
                   :data="menuOptions"
@@ -109,7 +109,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="菜单名称:" prop="menuName">
+              <el-form-item style="width: 500px" label="菜单名称:" prop="menuName">
                 <el-input v-model="form.menuName" placeholder="请输入菜单名称" />
               </el-form-item>
             </el-col>
@@ -136,7 +136,7 @@
               </el-form-item>
             </el-col>
             <el-col v-if="form.menuType !== 'F'" :span="12">
-              <el-form-item prop="path">
+              <el-form-item prop="path" style="width: 500px">
                 <template #label>
                   <span>
                     <el-tooltip content="访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头" placement="top">
@@ -249,9 +249,9 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
-          </el-row>
-        </el-form>
-        <div class="common-dialog-footer" style="display: flex; justify-content: right">
+          </el-form>
+        </div>
+        <div class="common-dialog-footer" style="display: flex; justify-content: center">
           <el-button type="primary" @click="submitForm">确 定</el-button>
           <el-button @click="cancel">取 消</el-button>
         </div>