a29377c5 by lxs

Merge branch 'release-test' of http://117.78.60.236:8000/csbr-daop/fe-data-asset…

…-management into release-test
2 parents 49d1accb 7f57de30
......@@ -4,7 +4,9 @@ VITE_APP_TITLE = 数据资产管理系统
# VITE_API_BASEURL = https://www.zgsjzc.com/api
# VITE_API_BASEURL = https://swzl-test.csbr.cn/api
# VITE_API_BASEURL = http://localhost:9000
VITE_API_BASEURL = http://192.168.6.20:28052/
VITE_API_BASEURL = https://daop-zcgl-test.zgsjzc.com/
VITE_IDASS_BASEURL = https://daop-test.zgsjzc.com/portalLogin
# 平台用户 接口请地址
VITE_APP_USER_API_BASEURL = gateway-server
......@@ -80,12 +82,12 @@ VITE_APP_ATTACHMENT_TEMPLATE = ms-daop-personel-service
VITE_APP_PERSONAL_URL = 'ms-daop-personel-service'
#流通平台地址
VITE_APP_CIRCULATION = http://192.168.6.20:18052/
VITE_APP_CIRCULATION = https://daop-lt-test.zgsjzc.com/
# 测试环境访问地址
VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation
# VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation
#数据加工交付
VITE_APP_DATA_DELIVERY = http://192.168.6.20:38052/
VITE_APP_DATA_DELIVERY = https://daop-jgjf-test.zgsjzc.com/
# 本地访问地址
......
# 页面标题
VITE_APP_TITLE = 数据资产管理系统
# 接口域名
VITE_API_BASEURL = http://192.168.6.20:28052/
VITE_API_BASEURL = https://daop-zcgl-test.zgsjzc.com/
# VITE_API_BASEURL = http://49.4.26.201:31709/
VITE_IDASS_BASEURL = https://daop-test.zgsjzc.com/portalLogin
# # 平台用户 接口请地址
# VITE_APP_USER_API_BASEURL = gateway-server
......@@ -115,9 +117,9 @@ VITE_API_MESSAGE = ms-daop-message-service
VITE_APP_PERSONAL_URL = ms-daop-personel-service
#流通平台接口地址
VITE_APP_CIRCULATION = http://192.168.6.20:18052/
VITE_APP_CIRCULATION = https://daop-lt-test.zgsjzc.com/
#数据加工交付
VITE_APP_DATA_DELIVERY = http://192.168.6.20:38052/
VITE_APP_DATA_DELIVERY = https://daop-jgjf-test.zgsjzc.com/
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = false
......
......@@ -424,7 +424,7 @@ export const getApiDetail = (params) => request({
// url:`${import.meta.env.VITE_APP_SERVICE_BASEURL}/api-base-info/detail`,
// url: `http://localhost:9000/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
// url: `http://localhost:9000/delivery/ms-daop-jgjf-data-open-service/api-base-info/detail/${params}`,
url: `http://192.168.6.22:29900/delivery/ms-daop-jgjf-data-open-service/api-base-info/detail/${params}`,
url: `https://daop-zcgl-test.zgsjzc.com/delivery/ms-daop-jgjf-data-open-service/api-base-info/detail/${params}`,
method: 'get',
})
......
......@@ -86,7 +86,7 @@ export const getProduct = (params) => request({
export const getTenantInfo = (params) => request({
// url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`,
// url: `http://localhost:9000/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
url: `http://192.168.6.22:29900/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
url: `https://daop-zcgl-test.zgsjzc.com/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
method: 'get',
params
})
......

8.96 KB | W: | H:

9.52 KB | W: | H:

src/assets/images/logo.png
src/assets/images/logo.png
src/assets/images/logo.png
src/assets/images/logo.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -346,6 +346,12 @@ onMounted(() => {
<template #default="scope" v-else-if="item.type == 'input'">
<el-input v-model.trim="scope.row[item.field]" placeholder="请输入" :maxlength="item.maxlength ?? ''"></el-input>
</template>
<template #default="scope" v-else-if="item.type == 'approveTag'">
<el-tag v-if="scope.row[item.field]" :type="tagType(scope.row.approveVO, 'approveState')">{{
tagMethod(scope.row.approveVO, 'approveState')
}}</el-tag>
<span v-else>{{ '--' }}</span>
</template>
<template #default="scope" v-else-if="item.type == 'tooltip'">
<el-tooltip :placement="item.placement ?? 'bottom-start'" effect="light" popper-class="table_tooltip"
:trigger="item.trigger">
......
......@@ -149,8 +149,8 @@ header {
background-color: inherit;
.logo {
width: auto;
height: 30px;
width: 180px;
height: 48px;
}
span {
......@@ -278,5 +278,4 @@ header {
height: 18px;
}
}
</style>
......
......@@ -256,8 +256,12 @@ const messageAllRead = () => {
}
const createServerConnect = () => {
const websocketUrl = '192.168.6.20:29203'; //测试环境的
const ws = new WebSocket(`ws://${websocketUrl}/websocket/${userData.staffGuid}`);
let websocketUrl = 'ws://192.168.6.20:39203';
//测试环境
if (location.origin == 'https://daop-zcgl-test.zgsjzc.com') {
websocketUrl = 'wss://daop-zcgl-test.zgsjzc.com/websocket'
}
const ws = new WebSocket(`${websocketUrl}/websocket/${userData.staffGuid}`);
ws.onopen = function () {
console.log('Connected to server.');
};
......
......@@ -27,12 +27,13 @@ const useUserStore = defineStore(
const isLogin = ref(token.value ? true : false);//退出登录。
const getTokenPromise: any = ref(null);
/* idass的登录页面url,退出登录需要跳转到登录页。*/
const idassLoginUrl = 'https://idaas-test.csbr.cn/login';
const idassLoginUrl = import.meta.env.VITE_IDASS_BASEURL;
const timer: any = ref(null);
//获取token.
function getToken(data, state) {
data.platformGuid = "7f16f697aec111ef8656fa163e60becd";
data.userType = 2;
data.appKey = '672c2c38e4b0cac8732a6106';
data.validateUri = location.origin == 'http://localhost:9000' ? 'http://localhost:9000/' : location.origin + '/';
return getTokenPromise.value = getTokenByCode(data).then((res: any) => {
getTokenPromise.value = null;
......
......@@ -723,7 +723,7 @@ export const tagMethod = (row, type) => {
tag = '已撤销'
break;
default:
tag = row['dataState'] === 1 ? '已提交' : '草稿中'
tag = '--'
break;
}
} else if (type == 'standardType') {
......
......@@ -36,7 +36,7 @@ const tableFields = ref([
{ label: "登记时间", field: "registerTime", width: 120 },
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{ label: "评估机构", field: "issuingEntityName", width: 250, align: "left" },
{ label: "状态", field: "approveState", type: "tag", width: 96, align: 'center' },
{ label: "审批状态", field: "approveVO", type: "approveTag", width: 96, align: 'center' },
]);
const deploymentId = ref('');
......@@ -177,10 +177,10 @@ const tableInfo = ref({
const getTableBtns = (row) => {
let btnsArr: any[] = [];
const approveVO = row.approveVO || {};
const approveState = row.approveState || null;
const approveState = row.approveVO.approveState || null;
const approveStaffGuids = approveVO.approveStaffGuids || [];
const staffGuid = approveVO.staffGuid || '';
const bizApproveState = row.bizApproveState;
const bizApproveState = row.approveState;
const currentStaffGuid = userData.staffGuid
let isShowCancel = false;
let flowState;
......
......@@ -346,8 +346,8 @@ const handleWindowResize = () => {
</div>
<div class="table_panel_wrap" :style="{ height: `calc(100% - ${tableToolsHeight + 60}px)` }">
<div class="data-content" v-loading="listDataLoading" :style="{ height: `calc(100% - ${tableToolsHeight}px)` }">
<div class="v-add" @click.stop="handleCreate" v-if="listData.length">
<div class="add-img"></div>
<div class="v-add" @click.stop="handleCreate">
<div class=" add-img"></div>
<div class="add-titile">
新增数据产品
</div>
......@@ -430,10 +430,10 @@ const handleWindowResize = () => {
</div>
</div>
</div>
<div v-if="!listData.length" class="card-noData">
<!-- <div v-if="listData.length" class="card-noData">
<img src="../../assets/images/no-data.png" :style="{ width: '96px', height: '96px' }" />
<span>暂无数据资源目录</span>
</div>
</div> -->
</div>
</div>
......@@ -467,6 +467,8 @@ const handleWindowResize = () => {
position: relative;
.card-noData {
height: 100%;
width: 100%;
background: #fafafa;
display: flex;
flex-direction: column;
......@@ -506,6 +508,7 @@ const handleWindowResize = () => {
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 10;
&:hover {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
......
......@@ -46,7 +46,7 @@ const tableFields = ref([
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{ label: "评估机构", field: "issuingEntityName", width: 250, align: "left" },
{
label: "状态", field: "approveState", type: "tag", width: 96, align: 'center', getName: (scope) => {
label: "审批状态", field: "approveState", type: "tag", width: 96, align: 'center', getName: (scope) => {
const approveVO = scope.row.approveVO || {}
switch (approveVO.approveState) {
case 'N':
......@@ -264,10 +264,10 @@ const tableInfo = ref({
const getTableBtns = (row) => {
let btnsArr: any[] = [];
const approveVO = row.approveVO || {};
const approveState = row.approveState || null;
const approveState = row.approveVO.approveState || null;
const approveStaffGuids = approveVO.approveStaffGuids || [];
const staffGuid = approveVO.staffGuid || '';
const bizApproveState = row.bizApproveState;
const bizApproveState = row.approveState;
const currentStaffGuid = userData.staffGuid
let isShowCancel = false;
let flowState;
......
......@@ -44,26 +44,31 @@ const CgDirTreeList = ref();
const getCgDirTreeData = async () => {
treeInfo.value.loading = true;
const params = {
execGuid: execGuidInfo.value.execGuid
execGuid: execGuidInfo.value?.execGuid
}
if (!execGuidInfo.value?.execGuid || !execGuidInfo.value?.execGuid) {
treeInfo.value.loading = false;
return;
}
const res: any = await getTaskExeTreeList(params);
if (res.code == proxy.$passCode) {
const transformedData: any = [{
classifyDetailGuid: execGuidInfo.value.guid, // 新增字段 GUID
classifyName: execGuidInfo.value.cgDirName, // 新增字段目录名称
classifyDetailGuid: execGuidInfo.value?.guid, // 新增字段 GUID
classifyName: execGuidInfo.value?.cgDirName, // 新增字段目录名称
children: res.data, // 将原始数据放入 children
}];
CgDirTreeList.value = transformedData;
treeInfo.value.data = transformedData;
currentPath.value = [transformedData[0].classifyName];
treeInfo.value.expandedKey.push(transformedData[0].classifyDetailGuid);
treeInfo.value.currentNodeKey = transformedData[0].classifyDetailGuid;
currentPath.value = [transformedData[0]?.classifyName];
treeInfo.value.expandedKey.push(transformedData[0]?.classifyDetailGuid);
treeInfo.value.currentNodeKey = transformedData[0]?.classifyDetailGuid;
// classifyDetailGuidInfo.value = res.data[0].classifyDetailGuid;
searchItemList.value[0].options = res.data || [];
refGradeGuid.value = res.data[0].refGradeGuid || '';
refGradeGuid.value = res.data[0]?.refGradeGuid || '';
treeInfo.value.loading = false;
} else {
treeInfo.value.loading = false;
proxy.$ElMessage.error(res.msg);
}
}
......@@ -143,7 +148,7 @@ onMounted(async () => {
await getExecGuid();
await getCgDirTreeData();
await getCgDirFieldPage({
execGuid: execGuidInfo.value.execGuid,
execGuid: execGuidInfo.value?.execGuid,
classifyDetail: classifyDetailGuidInfo.value
});
// getDictionaryList();
......@@ -1269,6 +1274,10 @@ const dataBaseTreeData = ref<any>();
const getDataBaseTreeData = async () => {
dataBaseTreeInfo.value.loading = true;
const res: any = await getDbDirTreeList({});
if (res.data.length === 0 || !res.data) {
dataBaseTreeInfo.value.loading = false;
return;
}
if (res.code == proxy.$passCode) {
const dataArray = res.data;
// 遍历并添加 GUIDs
......@@ -1280,8 +1289,8 @@ const getDataBaseTreeData = async () => {
if (localStorage.getItem("shouldReloadData")) {
dataBaseTreeInfo.value.expandedKey = [];
const info = JSON.parse(localStorage.getItem("onActiveInfo") || '{}');
dataBaseTreeInfo.value.expandedKey.push(dataArray[info.dbindex].guid);
dataBaseTreeInfo.value.currentNodeKey = dataArray[info.dbindex].guid;
dataBaseTreeInfo.value.expandedKey.push(dataArray[info.dbindex]?.guid);
dataBaseTreeInfo.value.currentNodeKey = dataArray[info.dbindex]?.guid;
dataBaseGuid.value = dataArray[info?.dbindex].databaseGuid;
currentDatabasePath.value = info?.path;
if (dataArray[info?.dbindex].dicType === 1) {
......@@ -1309,20 +1318,21 @@ const getDataBaseTreeData = async () => {
dataBaseTreeInfo.value.loading = false;
return;
}
dataBaseTreeInfo.value.expandedKey.push(dataArray[0].guid);
dataBaseTreeInfo.value.currentNodeKey = dataArray[0].guid;
dataBaseTreeInfo.value.expandedKey.push(dataArray[0]?.guid);
dataBaseTreeInfo.value.currentNodeKey = dataArray[0]?.guid;
dataBaseGuid.value = dataArray[0].databaseGuid;
currentDatabasePath.value = [dataArray[0].name];
currentDatabasePath.value = [dataArray[0]?.name];
selectedA.value = dataArray[0].databaseGuid;
if (dataArray[0].dicType === 1) {
if (dataArray[0]?.dicType === 1) {
isShowCreateBtn.value = true;
}
if (dataArray[0].dicType === 2) {
if (dataArray[0]?.dicType === 2) {
isShowCreateBtn.value = false;
}
dataBaseTreeInfo.value.loading = false;
} else {
dataBaseTreeInfo.value.loading = true;
proxy.$ElMessage.error(res.msg);
}
};
......
......@@ -24,22 +24,29 @@ const getClassifyGradeTree = async () => {
treeInfo.value.loading = true;
const res: any = await getClassifyGradeTreeList();
if (res.code == proxy.$passCode) {
if (!res.data || res.data.length === 0) {
treeInfo.value.loading = false;
return;
}
const transformedData = transformData(res.data);
classGradeTreeData.value = transformedData || [];
treeInfo.value.data = classGradeTreeData.value;
// 默认展开第一级
expandedKey.value = classGradeTreeData.value[0].guid;
treeInfo.value.expandedKey.push(classGradeTreeData.value[0].guid);
expandedKey.value = classGradeTreeData.value[0]?.guid;
treeInfo.value.expandedKey.push(classGradeTreeData.value[0]?.guid);
// 寻找第一children中guid
if (classGradeTreeData.value[0].children) {
treeInfo.value.currentNodeKey = classGradeTreeData.value[0].children[0].guid;
treeInfo.value.currentNodeKey = classGradeTreeData.value[0].children[0]?.guid;
// 分类明细guid
classifyDetailGuid.value = classGradeTreeData.value[0].children[0].guid;
classifyDetailGuid.value = classGradeTreeData.value[0].children[0]?.guid;
}
// 分别赋值 分类guid
classifyGuid.value = classGradeTreeData.value[0].guid;
classifyGuid.value = classGradeTreeData.value[0]?.guid;
console.log('getClassifyGradeTree', transformedData);
if (transformedData.length == 0) {
treeInfo.value.loading = false;
return;
}
newCreateGradeFormItems.value[1].options = transformDataForTree([transformedData[0]])
treeInfo.value.loading = false;
isAddDisabled.value = false;
......@@ -104,8 +111,15 @@ const LabelListData = ref<any>([]);
const getLabelListData = async () => {
const res: any = await getLabelList({ label: '' });
if (res.code == proxy.$passCode) {
// 判空
if (!res.data || res.data.length === 0) {
return;
}
LabelListData.value = res.data;
const data = res.data
if (data.length == 0) {
return;
}
data.map(item => {
item.label = item.label
item.value = item.guid
......
......@@ -80,7 +80,7 @@ const tableInfo = ref({
},
{
label: "审核状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => {
return filterVal(scope.row.approveState, 'approveState');
return filterVal(scope.row.approveVO.approveState, 'approveState');
}
},
{
......@@ -105,7 +105,7 @@ const tableInfo = ref({
const { row } = scope;
const approveVO = row.approveVO || {};
const currentStaffGuid = userData.staffGuid
const bizApproveState = row.bizApproveState;
const bizApproveState = row.approveState;
const approveState = approveVO.approveState || null;
const approveStaffGuids = approveVO.approveStaffGuids || [];
const staffGuid = approveVO.staffGuid || '';
......@@ -848,7 +848,7 @@ const formInfo = ref<any>({
<el-button type="primary" @click="toPatn1('add', 'add1')" v-preReClick>新建</el-button>
</div> -->
</div>
<div class="list-content">
<div class="list-content" v-if="demandListData.length > 0">
<div class="card-content" v-for="item in demandListData" :key="item.guid">
<div class="header">
<img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
......@@ -868,12 +868,14 @@ const formInfo = ref<any>({
</div>
</div>
<div class="operator-btn" @click="btnClick(item)">
<!-- <div class="left-btn borderRight" @click="btnClick(item)">更新模板</div> -->
<div class="left-btn">资产登记</div>
</div>
</div>
</div>
<div class="table_panel_wrap">
<div class="table_panel_wrap" :style="{
height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)'
}">
<Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange"
@tableSwitchBeforeChange="tableSwitchBeforeChange" />
</div>
......@@ -910,7 +912,7 @@ const formInfo = ref<any>({
.table_panel_wrap {
width: 100%;
height: calc(100% - 230px);
// height: calc(100% - 54px);
padding: 0px 8px 0;
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!