Procházet zdrojové kódy

优化全局基础服务配置,优化代码路径引用

yanglzh před 2 roky
rodič
revize
bef153c4ea

+ 12 - 1
.env

@@ -5,4 +5,15 @@ VITE_PORT = 8888
 VITE_OPEN = true
 
 # public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
-VITE_PUBLIC_PATH = /
+VITE_PUBLIC_PATH = /
+
+# 基础服务路径
+VITE_SERVER_URL = '/base-api'
+# 基础接口路径
+VITE_API_URL = '/base-api/api/v1'
+# 指数管理页面用到的
+VITE_ASSESS_URL = '/base-api/assess/v1'
+# 大屏前端
+VITE_SCREEN_URL = '/plugin/screen/'
+# 组态图前端
+VITE_TOPO_URL = '/plugin/topo/'

+ 2 - 10
.env.development

@@ -1,13 +1,5 @@
 # 本地环境
-ENV = 'development'
-
-# 线上环境接口地址
 # VITE_SERVER_PROTOCOL = 'http:'
 # VITE_SERVER_HOSTNAME = 'sgadserver.wdeveloperw.xyz'
-VITE_SERVER_PROTOCOL = 'http:'
-VITE_SERVER_HOSTNAME = 'zhgy.sagoo.cn'
-VITE_SERVER_URL = ':8899'
-VITE_API_URL = ':8899/api/v1'
-VITE_ASSESS_URL = '/base-api/assess/v1'
-VITE_SCREEN_URL = '/plugin/screen/'
-VITE_TOPO_URL = '/plugin/topo/'
+VITE_SERVER_PROTOCOL = 'https:'
+VITE_SERVER_HOSTNAME = 'zhgy.sagoo.cn'

+ 1 - 15
.env.production

@@ -1,16 +1,2 @@
-# 线上环境
-ENV = 'production'
-
-# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
-VITE_PUBLIC_PATH = /
-
-# 线上环境接口地址
 VITE_SERVER_PROTOCOL = ''
-VITE_SERVER_HOSTNAME = ''
-# VITE_SERVER_PROTOCOL = 'http:'
-# VITE_SERVER_HOSTNAME = 'zhgy.sagoo.cn'
-VITE_SERVER_URL = ':8899'
-VITE_API_URL = ':8899/api/v1'
-VITE_ASSESS_URL = '/base-api/assess/v1'
-VITE_SCREEN_URL = '/plugin/screen/'
-VITE_TOPO_URL = '/plugin/topo/'
+VITE_SERVER_HOSTNAME = ''

+ 12 - 8
src/api/assess/index.ts

@@ -1,11 +1,15 @@
-import { get, post, del, put } from '/@/utils/request_assess';
+import { get, post, del, put } from '/@/utils/request';
+import getOrigin from '/@/utils/origin';
+
+const baseUrl = getOrigin(import.meta.env.VITE_ASSESS_URL);
+console.log(baseUrl)
 
 export default {
-  getList: (params?: object) => get('/setup', params),
-  setItem: (params?: object) => post('/setup', params),
-  deleteItem: (params?: object) => del('/setup', params),
-  getDataSourceInfo: (params?: object) => get('/datasetup/target', params),
-  testDataSource:  (params?: object) => post('/datasetup/test', params),
-  addDataSourceInfo: (params?: object) => post('/datasetup', params),
-  editataSourceInfo: (params?: object) => put('/datasetup', params),
+  getList: (params?: object) => get(baseUrl + '/setup', params),
+  setItem: (params?: object) => post(baseUrl + '/setup', params),
+  deleteItem: (params?: object) => del(baseUrl + '/setup', params),
+  getDataSourceInfo: (params?: object) => get(baseUrl + '/datasetup/target', params),
+  testDataSource: (params?: object) => post(baseUrl + '/datasetup/test', params),
+  addDataSourceInfo: (params?: object) => post(baseUrl + '/datasetup', params),
+  editataSourceInfo: (params?: object) => put(baseUrl + '/datasetup', params),
 }

+ 0 - 107
src/utils/request_assess.ts

@@ -1,107 +0,0 @@
-import axios from 'axios';
-import { ElMessage, ElMessageBox } from 'element-plus';
-import { Session } from '/@/utils/storage';
-import getOrigin from '/@/utils/origin'
-
-// 配置新建一个 axios 实例
-const service = axios.create({
-	baseURL: getOrigin(import.meta.env.VITE_ASSESS_URL),
-	timeout: 50000,
-	headers: { 'Content-Type': 'application/json' },
-});
-
-// 添加请求拦截器
-service.interceptors.request.use(
-	(config) => {
-		// 在发送请求之前做些什么 token
-		if (Session.get('token')) {
-			// (<any>config.headers).common['Authorization'] = `Bearer ${Session.get('token')}`;
-		}
-		return config;
-	},
-	(error) => {
-		// 对请求错误做些什么
-		return Promise.reject(error);
-	}
-);
-
-// 添加响应拦截器
-service.interceptors.response.use(
-	(response) => {
-		// 对响应数据做点什么
-		const res = response.data;
-		const code = response.data.code
-		if (code === 401) {
-			ElMessageBox.alert('登录状态已过期,请重新登录', '提示', { confirmButtonText: '确定' })
-				.then(() => {
-					Session.clear(); // 清除浏览器全部临时缓存
-					window.location.href = '/'; // 去登录页
-				})
-				.catch(() => { });
-		} else if (code !== 0) {
-			ElMessage.error(res.message)
-			return Promise.reject(new Error(res.message))
-		} else {
-			// 分页的数据
-			if (res.data?.Total !== undefined) {
-				return {
-					list: res.data.Data,
-					total: res.data.Total,
-					page: res.data.currentPage,
-					...res.data,
-				}
-			}
-			if (res.data?.Data) {
-				return res.data.Data
-			}
-			if (res.data?.Data === undefined) {
-				return res.data
-			}
-		}
-	},
-	(error) => {
-		// 对响应错误做点什么
-		if (error.message.indexOf('timeout') != -1) {
-			ElMessage.error('网络超时');
-		} else if (error.message == 'Network Error') {
-			ElMessage.error('网络连接错误');
-		} else {
-			if (error.response.data) ElMessage.error(error.response.statusText);
-			else ElMessage.error('接口路径找不到');
-		}
-		return Promise.reject(error);
-	}
-);
-
-// 导出 axios 实例
-export default service;
-
-export function get(url: string, params?: any): any {
-	return service({
-		url,
-		method: "get",
-		params
-	})
-}
-
-export function post(url: string, data?: any): any {
-	return service({
-		url,
-		method: "post",
-		data
-	})
-}
-export function put(url: string, data?: any): any {
-	return service({
-		url,
-		method: "put",
-		data
-	})
-}
-export function del(url: string, data?: any): any {
-	return service({
-		url,
-		method: "delete",
-		data
-	})
-}

+ 262 - 180
src/views/iot/network/server/component/list.vue

@@ -1,57 +1,142 @@
 <template>
-    <div>
-        <el-table v-loading="loading" :data="data" style="width: 100%">
-            <el-table-column align="center" prop="id" label="ID" width="80"/>
-            <!-- <el-table-column align="center" prop="server" label="服务器"/> -->
-            <el-table-column align="center" prop="name" label="名称"/>
-            <el-table-column align="center" prop="types" label="类型"/>
-            <el-table-column align="center" prop="addr" label="地址"/>
-            <el-table-column show-overflow-tooltip align="center" prop="createdAt" label="创建时间" width="170"/>
-            <!-- <el-table-column align="center" prop="last" label="最近上线"/> -->
-            <el-table-column align="center" prop="types" label="状态">
-                <template #default="scope">
-                    <el-tag v-if="!scope.row.status" class="ml-2" type="info">未启动</el-tag>
-                    <el-tag v-else class="ml-2" type="success">启动</el-tag>
-                </template>
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="200">
-                <template #default="scope">
-                    
-                    <el-button @click="toDetail(scope.row.id)" size="small" type="text">详情</el-button>
-                    <el-button size="small" link key="info" type="info" @click="toEdit(scope.row.id)">编辑</el-button>
-                   
-                    <el-popover placement="bottom" :width="160" trigger="click">
-                        <template #reference>
-                            <el-button  size="small" type="text" class="more-btn" @click="isShowMore = !isShowMore">更多
-                                <i style="margin-left: 2px;" :class="isShowMore ? 'fa fa-angle-down':'fa fa-angle-up'"></i>
-                            </el-button>
-                        </template>
-                    <div class="more-opearte-wrap">
-                        <el-button @click="onChangeStatus(scope.row.id, 1)" :disabled="scope.row.status" link size="small" key="success" type="success">启 用</el-button>
-                        <el-divider direction="vertical" />
-                        <el-button @click="onChangeStatus(scope.row.id, 0)" :disabled="!scope.row.status" link size="small" key="warning" type="warning">禁 用</el-button>
-                        <el-divider direction="vertical" />
-                        <el-button @click="onRowDel(scope.row)" link size="small" key="danger" type="danger">删 除</el-button>
-                    </div>
-                    </el-popover>
-                </template>
-            </el-table-column>
-        </el-table>
-        <el-pagination
-            @size-change="onHandleSizeChange"
-            @current-change="onHandleCurrentChange"
-            class="mt15"
-            :pager-count="5"
-            :page-sizes="[10, 20, 30]"
-            v-model:current-page="param.page"
-            background
-            v-model:page-size="param.pageSize"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="total"
-        >
-        </el-pagination>
-    </div>
-    
+  <div>
+    <el-table
+      v-loading="loading"
+      :data="data"
+      style="width: 100%"
+    >
+      <el-table-column
+        align="center"
+        prop="id"
+        label="ID"
+        width="80"
+      />
+      <!-- <el-table-column align="center" prop="server" label="服务器"/> -->
+      <el-table-column
+        align="center"
+        prop="name"
+        label="名称"
+      />
+      <el-table-column
+        align="center"
+        prop="types"
+        label="类型"
+      />
+      <el-table-column
+        align="center"
+        prop="addr"
+        label="地址"
+      />
+      <el-table-column
+        show-overflow-tooltip
+        align="center"
+        prop="createdAt"
+        label="创建时间"
+        width="170"
+      />
+      <!-- <el-table-column align="center" prop="last" label="最近上线"/> -->
+      <el-table-column
+        align="center"
+        prop="types"
+        label="状态"
+      >
+        <template #default="scope">
+          <el-tag
+            v-if="!scope.row.status"
+            class="ml-2"
+            type="info"
+          >未启动</el-tag>
+          <el-tag
+            v-else
+            class="ml-2"
+            type="success"
+          >启动</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        label="操作"
+        width="200"
+      >
+        <template #default="scope">
+
+          <el-button
+            @click="toDetail(scope.row.id)"
+            size="small"
+            type="text"
+          >详情</el-button>
+          <el-button
+            size="small"
+            link
+            key="info"
+            type="info"
+            @click="toEdit(scope.row.id)"
+          >编辑</el-button>
+
+          <el-popover
+            placement="bottom"
+            :width="160"
+            trigger="click"
+          >
+            <template #reference>
+              <el-button
+                size="small"
+                type="text"
+                class="more-btn"
+                @click="isShowMore = !isShowMore"
+              >更多
+                <i
+                  style="margin-left: 2px;"
+                  :class="isShowMore ? 'fa fa-angle-down':'fa fa-angle-up'"
+                ></i>
+              </el-button>
+            </template>
+            <div class="more-opearte-wrap">
+              <el-button
+                @click="onChangeStatus(scope.row.id, 1)"
+                :disabled="scope.row.status"
+                link
+                size="small"
+                key="success"
+                type="success"
+              >启 用</el-button>
+              <el-divider direction="vertical" />
+              <el-button
+                @click="onChangeStatus(scope.row.id, 0)"
+                :disabled="!scope.row.status"
+                link
+                size="small"
+                key="warning"
+                type="warning"
+              >禁 用</el-button>
+              <el-divider direction="vertical" />
+              <el-button
+                @click="onRowDel(scope.row)"
+                link
+                size="small"
+                key="danger"
+                type="danger"
+              >删 除</el-button>
+            </div>
+          </el-popover>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      @size-change="onHandleSizeChange"
+      @current-change="onHandleCurrentChange"
+      class="mt15"
+      :pager-count="5"
+      :page-sizes="[10, 20, 30]"
+      v-model:current-page="param.page"
+      background
+      v-model:page-size="param.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="total"
+    >
+    </el-pagination>
+  </div>
+
 </template>
 
 <script lang="ts">
@@ -63,145 +148,142 @@ import api from '/@/api/network';
 
 // 定义接口来定义对象的类型
 interface TableDataForm {
-	id: number;
-    server: string;
-	name: string;
-	
+  id: number;
+  server: string;
+  name: string;
+
 }
 interface TableData {
-	data:  Array<TableDataForm>;
-    total: number;
-    loading: boolean;
-    param: {
-        page: number;
-        pageSize: number;
-    };
-    isShowMore: boolean
+  data: Array<TableDataForm>;
+  total: number;
+  loading: boolean;
+  param: {
+    page: number;
+    pageSize: number;
+  };
+  isShowMore: boolean
 }
 
 export default defineComponent({
-    name: 'tunnel',
-	props: {
-		// 输入框前置内容
-		keyWord: {
-			type: Object,
-			default: () => {},
-		},
+  name: 'tunnel',
+  props: {
+    // 输入框前置内容
+    keyWord: {
+      type: Object,
+      default: () => { },
     },
-    setup(props, { emit }) {
-        const router = useRouter();
-        const state = reactive<TableData>({
-			data: [],
-            total: 0,
-            loading: false,
-            param: {
-                page: 1,
-                pageSize: 10,
-            },
-            isShowMore: true
-            
-            
-		});
-        // 改变状态
-        const onChangeStatus = (id: number, status: number) => {
-            api.server.changeServerStatus({id: id, status: status}).then((res:any) => {
-		        ElMessage.success(status?'已开启':'已关闭');
-                fetchList();
-            })
-        };
-        // 分页改变
-		const onHandleSizeChange = (val: number) => {
-			state.param.pageSize = val;
-            fetchList()
-		};
-		// 分页改变
-		const onHandleCurrentChange = (val: number) => {
-			state.param.page = val;
-            fetchList()
-		};
-        // 初始化表格数据
-		const initTableData = () => {
-            fetchList()
-		};
-        // 获取数据
-        const fetchList = () => {
-            console.log(props.keyWord)
-            state.loading = true
-            let params = {
-                keyWord: props.keyWord,
-                pageNum: state.param.page,
-                PageSize: state.param.pageSize
-            }
-            api.server.getList(params).then((res: any) => {
-				console.log(res);
-                const { list, total, page } = res
-                state.data = list
-                state.total = total
-                state.param.page = page
-                state.loading = false
-			});
+  },
+  setup(props, { emit }) {
+    const router = useRouter();
+    const state = reactive<TableData>({
+      data: [],
+      total: 0,
+      loading: false,
+      param: {
+        page: 1,
+        pageSize: 10,
+      },
+      isShowMore: true
+
+
+    });
+    // 改变状态
+    const onChangeStatus = (id: number, status: number) => {
+      api.server.changeServerStatus({ id: id, status: status }).then((res: any) => {
+        ElMessage.success(status ? '已开启' : '已关闭');
+        fetchList();
+      })
+    };
+    // 分页改变
+    const onHandleSizeChange = (val: number) => {
+      state.param.pageSize = val;
+      fetchList()
+    };
+    // 分页改变
+    const onHandleCurrentChange = (val: number) => {
+      state.param.page = val;
+      fetchList()
+    };
+    // 初始化表格数据
+    const initTableData = () => {
+      fetchList()
+    };
+    // 获取数据
+    const fetchList = () => {
+      state.loading = true
+      let params = {
+        keyWord: props.keyWord,
+        pageNum: state.param.page,
+        PageSize: state.param.pageSize
+      }
+      api.server.getList(params).then((res: any) => {
+        console.log(res);
+        const { list, total, page } = res
+        state.data = list
+        state.total = total
+        state.param.page = page
+        state.loading = false
+      });
 
 
-		};
-        // 删除
-		const onRowDel = (row: TableDataForm) => {
-			ElMessageBox.confirm(`此操作将永久删除“${row.name}”,是否继续?`, '提示', {
-				confirmButtonText: '确认',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(() => {
-					api.server.deleteItem({ids: [row.id]}).then((res: any) => {
-						fetchList()
-						ElMessage.success('删除成功');
-					});
-				})
-				.catch(() => {});
-		};
-        const toDetail = (id: number) => {
-            router.push(`/network/server/detail/${id}`)
-        };
-        const toEdit = (id: number) => {
-            router.push(`/network/server/edit/${id}`)
-        };
-        // 监听双向绑定 keyWord 的变化
-		watch(
-            () => props.keyWord,
-            // 新数据
-            () => {
-                fetchList()
-            },
-            {   deep: true,
-                immediate: true
-            },
-        );
-        // 页面加载时
-		onMounted(() => {
-			initTableData();
-		});
-        return {
-            fetchList,
-            toDetail,
-            toEdit,
-            onChangeStatus,
-            onRowDel,
-            onHandleSizeChange,
-            onHandleCurrentChange,
-            ...toRefs(state),
-        };
-    }
+    };
+    // 删除
+    const onRowDel = (row: TableDataForm) => {
+      ElMessageBox.confirm(`此操作将永久删除“${row.name}”,是否继续?`, '提示', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          api.server.deleteItem({ ids: [row.id] }).then((res: any) => {
+            fetchList()
+            ElMessage.success('删除成功');
+          });
+        })
+        .catch(() => { });
+    };
+    const toDetail = (id: number) => {
+      router.push(`/network/server/detail/${id}`)
+    };
+    const toEdit = (id: number) => {
+      router.push(`/network/server/edit/${id}`)
+    };
+    // 监听双向绑定 keyWord 的变化
+    watch(
+      () => props.keyWord,
+      // 新数据
+      () => {
+        fetchList()
+      },
+      {
+        deep: true,
+        immediate: true
+      },
+    );
+    // 页面加载时
+    onMounted(() => {
+      initTableData();
+    });
+    return {
+      fetchList,
+      toDetail,
+      toEdit,
+      onChangeStatus,
+      onRowDel,
+      onHandleSizeChange,
+      onHandleCurrentChange,
+      ...toRefs(state),
+    };
+  }
 });
 </script>
 
 <style lang="scss" scoped>
 ::v-deep div.more-opearte-wrap {
-    flex-direction: row;
-    background-color: pink;
-    // padding: 4px!important;
-    div {
-       
-    }
-    
+	flex-direction: row;
+	background-color: pink;
+	// padding: 4px!important;
+	div {
+	}
 }
-    
 </style>

+ 122 - 120
src/views/system/assess/totalIndex/component/detailItem.vue

@@ -1,141 +1,144 @@
 <template>
-	<div class="system-add-user-container">
-		<el-dialog title="平台健康度" v-model="isShowDialog" width="790px">
-			<div class="table-wrap">
-				<div class="table-item-wrap">
-					<div class="label">详细介绍</div>
-					<div class="value">{{ruleForm.explain}}</div>
-				</div>
-				<div class="table-item-wrap">
-					<div class="label">SecretKey</div>
-					<div class="value">调用API的安全密码、请联系管理员获取</div>
-				</div>
-				<div class="table-item-wrap">
-					<div class="label">app.healthEvaluation.entrance-api</div>
-					<div class="value">
-						<section>
-							<div class="inner-label">入口URL</div>
-							<div class="inner-value url">{{baseUrl}}/data</div>
-						</section>
-						<section>
-							<div class="inner-label">请求方式</div>
-							<div class="inner-value">POST</div>
-						</section>
-						<section>
-							<div class="inner-label">请求Body参数</div>
-							<div class="inner-value">
-								<div>itemcode:{{ruleForm.item_code}}</div>
-								<div>name:
-									<span v-for="(item, index) in ruleForm.targets" :key="index">{{`${item.name} `}} </span>
-								</div>
-								<div>value:当前值</div>
-								<div>form_info:平台数据</div>
-							</div>
-						</section>
-					</div>
-				</div>
-				<div class="table-item-wrap">
-					<div class="label">app.healthEvaluation.export-api</div>
-					<div class="value">
-						<section>
-							<div class="inner-label">出口URL</div>
-							<div class="inner-value url">{{baseUrl}}/index</div>
-						</section>
-						<section>
-							<div class="inner-label">请求方式</div>
-							<div class="vinner-value">GET</div>
-						</section>
-						<section>
-							<div class="inner-label">请求Query参数</div>
-							<div class="inner-value">
-								<div>itemcode:{{ruleForm.item_code}}</div>
-							</div>
-						</section>
-					</div>
-				</div>
-			</div>
-		</el-dialog>
-	</div>
+  <div class="system-add-user-container">
+    <el-dialog
+      title="平台健康度"
+      v-model="isShowDialog"
+      width="790px"
+    >
+      <div class="table-wrap">
+        <div class="table-item-wrap">
+          <div class="label">详细介绍</div>
+          <div class="value">{{ruleForm.explain}}</div>
+        </div>
+        <div class="table-item-wrap">
+          <div class="label">SecretKey</div>
+          <div class="value">调用API的安全密码、请联系管理员获取</div>
+        </div>
+        <div class="table-item-wrap">
+          <div class="label">app.healthEvaluation.entrance-api</div>
+          <div class="value">
+            <section>
+              <div class="inner-label">入口URL</div>
+              <div class="inner-value url">{{baseUrl}}/data</div>
+            </section>
+            <section>
+              <div class="inner-label">请求方式</div>
+              <div class="inner-value">POST</div>
+            </section>
+            <section>
+              <div class="inner-label">请求Body参数</div>
+              <div class="inner-value">
+                <div>itemcode:{{ruleForm.item_code}}</div>
+                <div>name:
+                  <span
+                    v-for="(item, index) in ruleForm.targets"
+                    :key="index"
+                  >{{`${item.name} `}} </span>
+                </div>
+                <div>value:当前值</div>
+                <div>form_info:平台数据</div>
+              </div>
+            </section>
+          </div>
+        </div>
+        <div class="table-item-wrap">
+          <div class="label">app.healthEvaluation.export-api</div>
+          <div class="value">
+            <section>
+              <div class="inner-label">出口URL</div>
+              <div class="inner-value url">{{baseUrl}}/index</div>
+            </section>
+            <section>
+              <div class="inner-label">请求方式</div>
+              <div class="vinner-value">GET</div>
+            </section>
+            <section>
+              <div class="inner-label">请求Query参数</div>
+              <div class="inner-value">
+                <div>itemcode:{{ruleForm.item_code}}</div>
+              </div>
+            </section>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
 </template>
 
 <script lang="ts">
 import { reactive, toRefs, onMounted, defineComponent } from 'vue';
-import { ElMessage } from 'element-plus';
 
 import api from '/@/api/assess';
 
-
 // 定义接口来定义对象的类型
 interface RuleFormRow {
-	title: string;
-	explain: string;
-	config: string;
-	item_code: string;
-	targets: Array<any>
+  title: string;
+  explain: string;
+  config: string;
+  item_code: string;
+  targets: Array<any>
 }
 interface ItemState {
-	isShowDialog: boolean;
-	ruleForm: RuleFormRow;
-	baseUrl: string
+  isShowDialog: boolean;
+  ruleForm: RuleFormRow;
+  baseUrl: string
 }
 
 export default defineComponent({
-	name: 'systemAddUser',
-	setup() {
-		const state = reactive<ItemState>({
-			isShowDialog: false,
-			ruleForm: {
-				title: '', // 评价名称
-				explain: '', // 描述
-				config: '',
-				item_code: '',
-				targets: []
-			},
-			baseUrl: import.meta.env.VITE_ASSESS_URL
-		});
-		// 打开弹窗
-		const openDialog = (row: any) => {
-			api.getList({itemcode: row.item_code}).then((res: any) => {
-				console.log(res)
-				state.ruleForm = res
-				console.log(state.ruleForm)
-				state.isShowDialog = true;
+  name: 'systemAddUser',
+  setup() {
+    const state = reactive<ItemState>({
+      isShowDialog: false,
+      ruleForm: {
+        title: '', // 评价名称
+        explain: '', // 描述
+        config: '',
+        item_code: '',
+        targets: []
+      },
+      baseUrl: import.meta.env.VITE_ASSESS_URL
+    });
+    // 打开弹窗
+    const openDialog = (row: any) => {
+      api.getList({ itemcode: row.item_code }).then((res: any) => {
+        state.ruleForm = res
+        state.isShowDialog = true;
+
+      });
+    };
+    // 关闭弹窗
+    const closeDialog = () => {
+      state.isShowDialog = false;
+    };
+    // 取消
+    const onCancel = () => {
+      closeDialog();
+    };
+    // 新增
+    const onSubmit = () => {
+      closeDialog();
+    };
+    // 初始化部门数据
+    const initTableData = () => {
 
-			});
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			closeDialog();
-		};
-		// 初始化部门数据
-		const initTableData = () => {
-			
-		};
-		// 页面加载时
-		onMounted(() => {
-			initTableData();
-		});
-		return {
-			openDialog,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			...toRefs(state),
-		};
-	},
+    };
+    // 页面加载时
+    onMounted(() => {
+      initTableData();
+    });
+    return {
+      openDialog,
+      closeDialog,
+      onCancel,
+      onSubmit,
+      ...toRefs(state),
+    };
+  },
 });
 </script>
 
 <style lang="scss" scoped>
-::v-deep  .el-dialog__body {
+::v-deep .el-dialog__body {
 	border-top: 1px var(--el-border-color) var(--el-border-style);
 }
 .table-wrap {
@@ -144,7 +147,7 @@ export default defineComponent({
 	}
 	.table-item-wrap {
 		display: flex;
-		
+
 		border-bottom: 1px var(--el-border-color) var(--el-border-style);
 		border-left: 1px var(--el-border-color) var(--el-border-style);
 		border-right: 1px var(--el-border-color) var(--el-border-style);
@@ -176,6 +179,5 @@ export default defineComponent({
 			}
 		}
 	}
-
 }
 </style>

+ 184 - 148
src/views/system/assess/totalIndex/index.vue

@@ -1,33 +1,69 @@
 <template>
-	<div class="assess-total-container">
-		<el-card shadow="hover">
-			<div class="system-user-search mb15">
-				<!-- <el-input size="default" placeholder="请输入用户名称" style="max-width: 180px"> </el-input>
+  <div class="assess-total-container">
+    <el-card shadow="hover">
+      <div class="system-user-search mb15">
+        <!-- <el-input size="default" placeholder="请输入用户名称" style="max-width: 180px"> </el-input>
 				<el-button size="default" type="success" class="ml10">
 					<el-icon>
 						<ele-Search />
 					</el-icon>
 					查询
 				</el-button> -->
-				<el-button size="default" type="primary" class="ml10" @click="onOpenAddItem">
-					<el-icon>
-						<ele-FolderAdd />
-					</el-icon>
-					新建
-				</el-button>
-			</div>
-			<el-table v-loading="loading" :data="tableData.data" style="width: 100%">
-				<el-table-column align="left" prop="title" label="名称"  width="260" show-overflow-tooltip></el-table-column>
-				<el-table-column align="left" prop="explain" label="描述" show-overflow-tooltip></el-table-column>
-				<el-table-column align="center" label="操作" width="180">
-					<template #default="scope">
-						<el-button size="small" type="text"  @click="onOpenEditItem(scope.row)">编辑</el-button>
-						<el-button size="small" type="text" @click="onRowDel(scope.row)">删除</el-button>
-						<el-button size="small" type="text" @click="onOpenDetailItem(scope.row)">详细信息</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-			<!-- <el-pagination
+        <el-button
+          size="default"
+          type="primary"
+          class="ml10"
+          @click="onOpenAddItem"
+        >
+          <el-icon>
+            <ele-FolderAdd />
+          </el-icon>
+          新建
+        </el-button>
+      </div>
+      <el-table
+        v-loading="loading"
+        :data="tableData.data"
+        style="width: 100%"
+      >
+        <el-table-column
+          align="left"
+          prop="title"
+          label="名称"
+          width="260"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          align="left"
+          prop="explain"
+          label="描述"
+          show-overflow-tooltip
+        ></el-table-column>
+        <el-table-column
+          align="center"
+          label="操作"
+          width="180"
+        >
+          <template #default="scope">
+            <el-button
+              size="small"
+              type="text"
+              @click="onOpenEditItem(scope.row)"
+            >编辑</el-button>
+            <el-button
+              size="small"
+              type="text"
+              @click="onRowDel(scope.row)"
+            >删除</el-button>
+            <el-button
+              size="small"
+              type="text"
+              @click="onOpenDetailItem(scope.row)"
+            >详细信息</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- <el-pagination
 				@size-change="onHandleSizeChange"
 				@current-change="onHandleCurrentChange"
 				class="mt15"
@@ -40,12 +76,14 @@
 				:total="tableData.total"
 			>
 			</el-pagination> -->
-		</el-card>
-		<EditOrAddItem ref="EditOrAddItem" @fetchList="fetchList" />
-		<DetailItem ref="detailItemRef" />
-
+    </el-card>
+    <EditOrAddItem
+      ref="EditOrAddItem"
+      @fetchList="fetchList"
+    />
+    <DetailItem ref="detailItemRef" />
 
-	</div>
+  </div>
 </template>
 
 <script lang="ts">
@@ -62,137 +100,135 @@ import api from '/@/api/assess';
 
 // 定义接口来定义对象的类型
 interface TableDataRow {
-	title: string;
-	explain: string;
-	config: string;
-	item_code: string;
-	targets: Array<any>
-	// department: string[];
-	// phone: string;
-	// email: string;
-	// sex: string;
-	// password: string;
-	// overdueTime: Date;
-	// status: boolean;
-	// describe: string;
-	// createTime: string;
+  title: string;
+  explain: string;
+  config: string;
+  item_code: string;
+  targets: Array<any>
+  // department: string[];
+  // phone: string;
+  // email: string;
+  // sex: string;
+  // password: string;
+  // overdueTime: Date;
+  // status: boolean;
+  // describe: string;
+  // createTime: string;
 }
 interface TableDataState {
-	tableData: {
-		data: Array<TableDataRow>;
-		total: number;
-		loading: boolean;
-		param: {
-			page: number;
-			pageSize: number;
-		};
-	};
+  tableData: {
+    data: Array<TableDataRow>;
+    total: number;
+    loading: boolean;
+    param: {
+      page: number;
+      pageSize: number;
+    };
+  };
 }
 
 export default defineComponent({
-	name: 'systemUser',
-	components: {  EditOrAddItem, DetailItem },
-	setup() {
-		// const addItemRef = ref();
-		const EditOrAddItem = ref();
-		const detailItemRef = ref();
-		const state = reactive<TableDataState>({
-			tableData: {
-				data: [],
-				total: 0,
-				loading: false,
-				param: {
-					page: 1,
-					pageSize: 10,
-				},
-			},
-		});
-		// 初始化表格数据
-		const initTableData = () => {
-			console.log('刷新数据了')
-			fetchList()
-			// const data: Array<TableDataRow> = [];
-			// for (let i = 0; i < 9; i++) {
-			// 	data.push({
-			// 		userName: '这里是名称',
-			// 		description: '这里是描述这里是描述这里是描述这里是描述',
-			// 		createTime: new Date().toLocaleString(),
+  name: 'systemUser',
+  components: { EditOrAddItem, DetailItem },
+  setup() {
+    // const addItemRef = ref();
+    const EditOrAddItem = ref();
+    const detailItemRef = ref();
+    const state = reactive<TableDataState>({
+      tableData: {
+        data: [],
+        total: 0,
+        loading: false,
+        param: {
+          page: 1,
+          pageSize: 10,
+        },
+      },
+    });
+    // 初始化表格数据
+    const initTableData = () => {
+      fetchList()
+      // const data: Array<TableDataRow> = [];
+      // for (let i = 0; i < 9; i++) {
+      // 	data.push({
+      // 		userName: '这里是名称',
+      // 		description: '这里是描述这里是描述这里是描述这里是描述',
+      // 		createTime: new Date().toLocaleString(),
 
-			// 	});
-			// }
-			// state.tableData.data = data;
-			// state.tableData.total = state.tableData.data.length;
-			// console.log(data)
+      // 	});
+      // }
+      // state.tableData.data = data;
+      // state.tableData.total = state.tableData.data.length;
+      // console.log(data)
 
-		};
-		const fetchList = () => {
-			state.tableData.loading = true
-			api.getList().then((res: any) => {
-				console.log(res);
-				state.tableData.data = res;
-				state.tableData.loading = false
-				// state.tableData.total = res.total;
-			});
-		};
-		// 打开新增用户弹窗
-		const onOpenAddItem = () => {
-			console.log(111)
-			EditOrAddItem.value.openDialog();
-		};
-		// 打开修改用户弹窗
-		const onOpenEditItem = (row: TableDataRow) => {
-			EditOrAddItem.value.openDialog(row);
-		};
-		// 打开详细信息弹窗
-		const onOpenDetailItem = (row: TableDataRow) => {
-			detailItemRef.value.openDialog(row);
-		};
-		// 删除
-		const onRowDel = (row: TableDataRow) => {
-			ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.title}”,是否继续?`, '提示', {
-				confirmButtonText: '确认',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(() => {
-					api.deleteItem({itemcode: row.item_code}).then((res: any) => {
-						fetchList()
-						ElMessage.success('删除成功');
-					});
-				})
-				.catch(() => {});
-		};
-		// 分页改变
-		const onHandleSizeChange = (val: number) => {
-			state.tableData.param.pageSize = val;
-		};
-		// 分页改变
-		const onHandleCurrentChange = (val: number) => {
-			state.tableData.param.page = val;
-		};
-		// 页面加载时
-		onMounted(() => {
-			initTableData();
-		});
-		return {
-			// addItemRef,
-			EditOrAddItem,
-			detailItemRef,
-			onOpenAddItem,
-			onOpenEditItem,
-			onOpenDetailItem,
-			onRowDel,
-			onHandleSizeChange,
-			onHandleCurrentChange,
-			fetchList,
-			...toRefs(state),
-		};
-	},
+    };
+    const fetchList = () => {
+      state.tableData.loading = true
+      api.getList().then((res: any) => {
+        state.tableData.data = res;
+        state.tableData.loading = false
+        // state.tableData.total = res.total;
+      });
+    };
+    // 打开新增用户弹窗
+    const onOpenAddItem = () => {
+      console.log(111)
+      EditOrAddItem.value.openDialog();
+    };
+    // 打开修改用户弹窗
+    const onOpenEditItem = (row: TableDataRow) => {
+      EditOrAddItem.value.openDialog(row);
+    };
+    // 打开详细信息弹窗
+    const onOpenDetailItem = (row: TableDataRow) => {
+      detailItemRef.value.openDialog(row);
+    };
+    // 删除
+    const onRowDel = (row: TableDataRow) => {
+      ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.title}”,是否继续?`, '提示', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          api.deleteItem({ itemcode: row.item_code }).then((res: any) => {
+            fetchList()
+            ElMessage.success('删除成功');
+          });
+        })
+        .catch(() => { });
+    };
+    // 分页改变
+    const onHandleSizeChange = (val: number) => {
+      state.tableData.param.pageSize = val;
+    };
+    // 分页改变
+    const onHandleCurrentChange = (val: number) => {
+      state.tableData.param.page = val;
+    };
+    // 页面加载时
+    onMounted(() => {
+      initTableData();
+    });
+    return {
+      // addItemRef,
+      EditOrAddItem,
+      detailItemRef,
+      onOpenAddItem,
+      onOpenEditItem,
+      onOpenDetailItem,
+      onRowDel,
+      onHandleSizeChange,
+      onHandleCurrentChange,
+      fetchList,
+      ...toRefs(state),
+    };
+  },
 });
 </script>
 
 <style lang="scss" scoped>
-::v-deep  .el-dialog__body {
+::v-deep .el-dialog__body {
 	border-top: 1px var(--el-border-color) var(--el-border-style);
 }
 </style>