a2ed46ba by lxs

Merge branch 'develop' of http://117.78.60.236:8000/csbr-daop/fe-data-asset-management into develop

2 parents b65aa437 d109e7f6
......@@ -428,6 +428,15 @@ export const getApiDetail = (params) => request({
method: 'get',
})
// 跨服务调加工交付接口 获取API调用次数
export const getApiInvokeCount = (data) => request({
// url: `http://localhost:9000/delivery/ms-daop-jgjf-data-open-service/home-page/dam/call-api-stat`,
url: `http://192.168.6.22:29900/delivery/ms-daop-jgjf-data-open-service/home-page/dam/call-api-stat`,
method: 'post',
data
})
// 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`,
......
......@@ -12,7 +12,6 @@ export const getEntryList = (params) => request({
export const deleteEntryAll = (params) => request({
url: `${import.meta.env.VITE_API_NEW_PORTAL}/da-intable/delete?guid=${params}`,
method: 'delete',
data: params
})
/** 获取资产入表信息新增 */
export const createEntry = (params) => request({
......@@ -34,6 +33,12 @@ export const getDocumentList = (params) => request({
method: 'post',
data: params
})
/**资产详情 */
export const getAssetDetail = (data) => request({
url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/intable/get-table-select`,
method: 'post',
data
})
/** 资产融资管理 */
/** 获取资产融资信息列表 */
......
<script lang="ts" setup>
import { ref} from "vue";
import {ElMessage} from "element-plus"
import { ref } from "vue";
import { ElMessage } from "element-plus"
import PageNav from "@/components/PageNav/index.vue";
import dayjs from "dayjs";
const props = defineProps({
tableInfo:{
type:Object,
default:{} as any,
tableInfo: {
type: Object,
default: {} as any,
},
colums:{
type:Array<any>,
default:[],
colums: {
type: Array<any>,
default: [],
},
columnInfo:{
type:Object,
default:{} as any,
columnInfo: {
type: Object,
default: {} as any,
},
page:{
type:Object,
default:{} as any,
page: {
type: Object,
default: {} as any,
},
})
const colums = computed(() => {
return props.colums
return props.colums
})
const tableDataLoading = computed(() => {
return props?.tableInfo?.loading;
});
const data = computed(() => props?.tableInfo?.data)
const tableInfo = computed(() => props?.tableInfo || {})
const columnInfo = ref({...props?.columnInfo?.value})
const isEdit = computed(()=>props?.tableInfo?.isEdit)
const flag = computed(()=>props?.tableInfo?.flag)
const page = computed(()=> props?.page)
const emits = defineEmits(["pageChange","columnSave","columnCancel","columnDel","columnEdit","handelSelect","handelInput","searchSelect","selectScroll"])
const columnInfo = ref({ ...props?.columnInfo?.value })
const isEdit = computed(() => props?.tableInfo?.isEdit)
const flag = computed(() => props?.tableInfo?.flag)
const page = computed(() => props?.page)
const emits = defineEmits(["pageChange", "columnSave", "columnCancel", "columnDel", "columnEdit", "handelSelect", "handelInput", "searchSelect", "selectScroll"])
const selectRef = ref()
const columnEdit = (row) => {
if(!tableInfo.value.isEdit){
columnInfo.value = {...row}
if (!tableInfo.value.isEdit) {
columnInfo.value = { ...row }
emits("columnEdit",{...row})
emits("columnEdit", { ...row })
}
}
const columnDel = (row) => {
if(!tableInfo.value.isEdit){
columnInfo.value = {...row}
emits("columnDel",{...row})
if (!tableInfo.value.isEdit) {
columnInfo.value = { ...row }
emits("columnDel", { ...row })
}
}
const columnDel1 = (row) => {
//columnInfo.value = {}
columnInfo.value = {...row}
emits("columnDel",{...row})
//columnInfo.value = {}
columnInfo.value = { ...row }
emits("columnDel", { ...row })
}
const columnSave = (row) => {
emits("columnSave",{...columnInfo.value})
emits("columnSave", { ...columnInfo.value })
}
const columnCancel = (row) => {
columnInfo.value = {}
......@@ -67,150 +67,121 @@ const columnCancel = (row) => {
}
const pageChange = (page) => {
let info = { ...page };
emits("pageChange",info)
emits("pageChange", info)
}
const handelSelect = (value,item,row) => {
const handelSelect = (value, item, row) => {
const selectOption = item.selectOption()
const optionItem = selectOption.find(option=> option[item.selectKey]===value )
const optionItem = selectOption.find(option => option[item.selectKey] === value)
console.log(optionItem)
emits("handelSelect",{...optionItem},item.prop,row)
emits("handelSelect", { ...optionItem }, item.prop, row)
}
const searchSelect = (value) => {
emits("searchSelect",value)
emits("searchSelect", value)
}
const secectClick = (value) => {
emits("handelSelect",value)
emits("handelSelect", value)
}
const selectInput = (value) => {
emits("searchSelect",value)
emits("searchSelect", value)
}
const selectScroll = () => {
emits("selectScroll")
}
const numberChange = (value,key,fn) => {
//console.log(value,key,fn)
const value1 = fn(value,key)
//console.log(value1)
//columnInfo.value[key] = columnInfo.value[key].toString().slice(0,12)
//const string = columnInfo.value[key]
const numberChange = (value, key, fn) => {
//console.log(value,key,fn)
const value1 = fn(value, key)
//console.log(value1)
//columnInfo.value[key] = columnInfo.value[key].toString().slice(0,12)
//const string = columnInfo.value[key]
// console.log(columnInfo.value[key])
}
const numberChange1 = (value,key,fn) => {
const value1 = fn && fn(value,key)
const numberChange1 = (value, key, fn) => {
const value1 = fn && fn(value, key)
}
const numberWidthCommas = (num) => {
if (num == null) {
return '--'
}
let parts = num.toFixed(2).split(".")
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")
return parts.join(".")
let parts = num.toFixed(2).split(".")
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",")
return parts.join(".")
}
defineExpose({
defineExpose({
columnInfo,
selectRef
})
</script>
<template>
<div class="table_panel" style="height: 100%;">
<el-table
:data="data"
v-loading="tableDataLoading"
height="100%"
tooltip-effect="light"
max-height="calc(100% - 44px)"
:style="{ 'min-height':'calc(100% - 44px)', }"
border
>
<el-table-column
v-for="item in colums"
:prop="item?.prop"
:type="item?.type"
:align="item.align || 'left' "
:label="item.label"
:width="item.width"
:show-overflow-tooltip="true"
:key="item.prop">
<template #default="{ row }">
<template v-if="item.componentType==='dateTime' && row.guid===tableInfo.currentId && !item.type">
<el-date-picker
v-model="columnInfo[item.prop]"
type="date"
placeholder="选择日期"
:disabled="item.componentDisabled===false ? item.componentDisabled : true"
size="small"
>
</el-date-picker>
</template>
<template v-else-if="item.componentType==='dateTime' && row.guid!=tableInfo.currentId && !item.type">
{{ !row[item.prop] ? '--' : dayjs(row[item.prop]).format("YYYY-MM-DD")}}
</template>
<template v-else-if="item.componentType==='number' && row.guid===tableInfo.currentId && !item.type">
<div class="price">
<el-input size="small" style="width: 100%;"
v-model="columnInfo[item.prop]"
@input="numberChange($event,item.prop,item.input)"
@change="numberChange1($event,item.prop,item.change)"
v-bind="item.config || {}" :placeholder="item.placeholder">
</el-input>
<span>{{ item.propType }}</span>
</div>
</template>
<template v-else-if="item.componentType==='number' && row.guid!=tableInfo.currentId && !item.type &&item.toFixed">
{{ numberWidthCommas(row[item.prop]) }} {{ item.propType }}
</template>
<template v-else-if="item.componentType==='number'&&row.guid!=tableInfo.currentId && !item.type && !item.toFixed">
{{ row[item.prop] }}
</template>
<template v-else-if="item.componentType==='select' && row.guid===tableInfo.currentId && !item.type">
<el-select
v-model="columnInfo[item.prop]"
filterable
:disabled="item?.editDisabled ? item?.editDisabled() : false"
@change="handelSelect($event,item,row)"
size="small"
placeholder="请选择"
>
<el-option
v-for="option in item.selectOption()"
:key="option"
:label="option[item.selectKey]"
:value="option[item.selectKey]">
</el-option>
</el-select>
</template>
<template v-else-if="item.componentType !=='dateTime' && item.componentType !=='number' && row.guid===tableInfo.currentId && !item.type">
<el-input
v-model="columnInfo[item.prop]"
style="width: 100%;"
placeholder="请输入内容"
size="small"
:disabled="item.componentDisabled===false ? item.componentDisabled : true"
></el-input>
</template>
</template>
</el-table-column>
<el-table-column label="操作" width="160px" fixed="right">
<template #default="{ row }">
<template v-if="row.guid === tableInfo.currentId">
<span class=" operate_btn active" @click="columnSave(row)">保存</span>
<span class="operate_btn active" @click="columnCancel(row)" >取消</span>
<span class="operate_btn active" v-if="flag==='edit'" @click="columnDel1(row)" >删除</span>
</template>
<template v-else>
<span class=" operate_btn active" :class="[isEdit ? 'disabled':'' ]" @click="columnEdit(row)">编辑</span>
<span class="operate_btn active" :class="[isEdit ? 'disabled':'' ]" @click="columnDel(row)" >删除</span>
</template>
<div class="table_panel" style="height: 100%;">
<el-table :data="data" v-loading="tableDataLoading" height="100%" tooltip-effect="light"
max-height="calc(100% - 44px)" :style="{ 'min-height': 'calc(100% - 44px)', }" border>
<el-table-column v-for="item in colums" :prop="item?.prop" :type="item?.type" :align="item.align || 'left'"
:label="item.label" :width="item.width" :show-overflow-tooltip="true" :key="item.prop">
<template #default="{ row }">
<template v-if="item.componentType === 'dateTime' && row.guid === tableInfo.currentId && !item.type">
<el-date-picker v-model="columnInfo[item.prop]" type="date" placeholder="选择日期"
:disabled="item.componentDisabled === false ? item.componentDisabled : true" size="small">
</el-date-picker>
</template>
<template v-else-if="item.componentType === 'dateTime' && row.guid != tableInfo.currentId && !item.type">
{{ !row[item.prop] ? '--' : dayjs(row[item.prop]).format("YYYY-MM-DD") }}
</template>
<template v-else-if="item.componentType === 'number' && row.guid === tableInfo.currentId && !item.type">
<div class="price">
<el-input size="small" style="width: 100%;" v-model="columnInfo[item.prop]"
@input="numberChange($event, item.prop, item.input)"
@change="numberChange1($event, item.prop, item.change)" v-bind="item.config || {}"
:placeholder="item.placeholder">
</el-input>
<span>{{ item.propType }}</span>
</div>
</template>
<template
v-else-if="item.componentType === 'number' && row.guid != tableInfo.currentId && !item.type && item.toFixed">
{{ numberWidthCommas(row[item.prop]) }} {{ item.propType }}
</template>
</el-table-column>
</el-table>
<PageNav
:pageInfo="page"
@pageChange="pageChange"
/>
</div>
<template
v-else-if="item.componentType === 'number' && row.guid != tableInfo.currentId && !item.type && !item.toFixed">
{{ row[item.prop] }}
</template>
<template v-else-if="item.componentType === 'select' && row.guid === tableInfo.currentId && !item.type">
<el-select v-model="columnInfo[item.prop]" filterable
:disabled="item?.editDisabled ? item?.editDisabled() : false" @change="handelSelect($event, item, row)"
size="small" placeholder="请选择">
<el-option v-for="option in item.selectOption()" :key="option" :label="option[item.selectKey]"
:value="option[item.selectKey]">
</el-option>
</el-select>
</template>
<template
v-else-if="item.componentType !== 'dateTime' && item.componentType !== 'number' && row.guid === tableInfo.currentId && !item.type">
<el-input v-model="columnInfo[item.prop]" style="width: 100%;" placeholder="请输入内容" size="small"
:disabled="item.componentDisabled === false ? item.componentDisabled : true"></el-input>
</template>
<template
v-else-if="item.componentType !== 'dateTime' && item.componentType !== 'number' && row.guid != tableInfo.currentId && !item.type">
{{ row[item.prop] ? row[item.prop] : '--' }}
</template>
</template>
</el-table-column>
<el-table-column label="操作" width="160px" fixed="right">
<template #default="{ row }">
<template v-if="row.guid === tableInfo.currentId">
<span class=" operate_btn active" @click="columnSave(row)">保存</span>
<span class="operate_btn active" @click="columnCancel(row)">取消</span>
<span class="operate_btn active" v-if="flag === 'edit'" @click="columnDel1(row)">删除</span>
</template>
<template v-else>
<span class=" operate_btn active" :class="[isEdit ? 'disabled' : '']" @click="columnEdit(row)">编辑</span>
<span class="operate_btn active" :class="[isEdit ? 'disabled' : '']" @click="columnDel(row)">删除</span>
</template>
</template>
</el-table-column>
</el-table>
<PageNav :pageInfo="page" @pageChange="pageChange" />
</div>
</template>
......@@ -243,16 +214,16 @@ defineExpose({
}
.input_comb {
> span:not(:last-child) {
>span:not(:last-child) {
margin-right: 12px;
> span {
>span {
margin-right: 4px;
}
}
> span:last-child {
> span {
>span:last-child {
>span {
margin-right: 4px;
}
}
......@@ -266,7 +237,7 @@ defineExpose({
padding-right: 4px;
position: relative;
& ~ .active {
&~.active {
padding-left: 4px;
margin-left: 1px;
......@@ -288,13 +259,15 @@ defineExpose({
}
}
}
.disabled {
color: #BDBDBD !important;
cursor: not-allowed;
}
.price {
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
\ No newline at end of file
.disabled {
color: #BDBDBD !important;
cursor: not-allowed;
}
.price {
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
......
......@@ -11,7 +11,8 @@ import {
deleteEntryAll,
createEntry,
intableUpdate,
getDocumentList
getDocumentList,
getAssetDetail
} from "@/api/modules/dataTransaction";
import { getDamCatalogTable } from '@/api/modules/dataAsset';
const route = useRoute()
......@@ -68,7 +69,8 @@ const columnInfo = ref({
issuingEntityName: "",
issuingEntityGuid: "",
companyGuid: "",
registerGuid: ""
registerGuid: "",
damGuid: ""
})
const companyOption = ref<any>([
{
......@@ -95,6 +97,16 @@ const colums = [
selectOption: () => companyOption.value
},
{
prop: "daName",
label: "资产名称",
width: "180",
componentType: "select",
componentDisabled: false,
//editDisabled:()=> tableInfo.value.flag==="edit" ? true :false,
selectOption: () => assetsOption.value,
selectKey: "daName",
},
{
prop: "intableTime",
label: "入表时间",
width: "130",
......@@ -134,16 +146,7 @@ const colums = [
}
},
{
prop: "daName",
label: "资产名称",
width: "180",
componentType: "select",
componentDisabled: false,
//editDisabled:()=> tableInfo.value.flag==="edit" ? true :false,
selectOption: () => assetsOption.value,
selectKey: "damName",
},
{
prop: "daCode",
label: "资产编号",
......@@ -190,13 +193,29 @@ const documentList = async () => {
return Promise.resolve()
}
// const params = {
// daName: row.damName,
// type: 1,
// companyGuid: row.tenantGuid,
// isCompany: true
// }
// getAssetDetail(params).then((res: any) => {
// if (res?.code === proxy.$passCode) {
// console.log(res.data, '--123-')
// }
// })
// 查资产
const getAssetsList = async () => {
const res = await getDamCatalogTable({
pageSize: -1,
pageIndex: 1,
})
assetsOption.value = res.data.records || []
const getAssetsList = async (values, row,) => {
console.log(values, row, '--查资产-')
const params = {
daName: '',
type: 1,
companyGuid: values?.tenantGuid || row.companyGuid,
isCompany: true
}
const res = await getAssetDetail(params)
assetsOption.value = res.data || []
console.log(assetsOption.value, '---')
return Promise.resolve()
}
......@@ -236,7 +255,8 @@ const createOneData = () => {
intableMoney: 0,
issuingEntityName: "",
companyGuid: "",
registerGuid: ""
registerGuid: "",
damGuid: ""
})
//tableInfo.value.data = arr
tableInfo.value.currentId = BASE_ID
......@@ -302,7 +322,7 @@ const columnSave = async (row) => {
ElMessage.success(`${tableInfo.value.flag === 'create' ? '新增' : '修改'}成功`);
getTableData()
columnInfoReset()
documentList()
// documentList()
findTab(false)
tableRef.value.columnInfo = {}
} else {
......@@ -326,7 +346,8 @@ const columnInfoReset = () => {
issuingEntityName: "",
issuingEntityGuid: "",
companyGuid: "",
registerGuid: ""
registerGuid: "",
damGuid: ""
}
}
const columnEdit = (row) => {
......@@ -376,12 +397,24 @@ const handelSelect = (row, key, row1) => {
tableRef.value.columnInfo.effectiveDate = ""
} else {
if (tableInfo.value.flag === "create") {
console.log(row, '-----')
console.log(row, '--create---')
// const params = {
// daName: row.damName,
// type: 1,
// companyGuid: row.tenantGuid,
// isCompany: true
// }
// getAssetDetail(params).then((res: any) => {
// if (res?.code === proxy.$passCode) {
// console.log(res.data, '--123-')
// }
// })
const currentDate = dayjs().format('YYYY-MM-DD');
columnInfo.value = {
guid: row.guid,
companyName: row.rightMainName,
daName: row.damName,
companyName: row.tenantName,
daName: row.daName,
registerTime: row.registerTime,
daCode: row.daCode,
effectiveDate: row.effectiveDate,
......@@ -390,7 +423,8 @@ const handelSelect = (row, key, row1) => {
issuingEntityName: row.issuingEntityName,
issuingEntityGuid: row.issuingEntityGuid,
companyGuid: row.tenantGuid,
registerGuid: row.registerGuid
registerGuid: row.registerGuid,
damGuid: row.damGuid
}
const { guid, ...obj } = columnInfo.value
tableRef.value.columnInfo = obj
......@@ -401,6 +435,7 @@ const handelSelect = (row, key, row1) => {
columnInfo.value.effectiveDate = row.effectiveDate
columnInfo.value.issuingEntityName = row.issuingEntityName
columnInfo.value.registerGuid = row.registerGuid;
columnInfo.value.damGuid = row.damGuid;
tableRef.value.columnInfo = { ...columnInfo.value }
}
......@@ -415,7 +450,8 @@ const findTab = (flag) => {
tab.meta.editPage = flag
}
const addAssetsOption = (values, row, flag = false) => {
getAssetsList().then(() => {
console.log(values, row, flag, '--新增-')
getAssetsList(values, row).then(() => {
const obj = {
costAccessmentGuid: null,
daCode: row.daCode,
......@@ -432,6 +468,7 @@ const addAssetsOption = (values, row, flag = false) => {
state: row.state,
tenantGuid: row.companyGuid,
tenantName: row.companyName,
damGuid: row.damGuid
}
const arr = assetsOption.value
if (values && values.tenantGuid === row.companyGuid) {
......
......@@ -19,6 +19,7 @@ import useUserStore from "@/store/modules/user";
import Moment from "moment";
import platformIndexNewBigScreen from "./platformIndexNewBigScreen.vue";
import { getDownFileSignByUrl, obsDownloadRequest, parseAndDecodeUrl } from "@/api/modules/obsService";
import { getApiInvokeCount } from "@/api/modules/dataAsset";
// import platformIndex from "./data_asset/platformIndex.vue";
const router = useRouter();
......@@ -333,8 +334,8 @@ const financingTableInfo = ref({
minHeight: '60px',
fields: [
{
label: "资产名称",
field: "daName",
label: "产品名称",
field: "apiName",
width: 140,
// type: "text_btn",
// columClass: 'text_btn',
......@@ -342,24 +343,24 @@ const financingTableInfo = ref({
},
// { label: "授信日期", field: "creditGrantingTime", width: 110 },
{
label: "授信金额(万元)",
field: "creditGrantingMoney",
label: "调用次数",
field: "callApiCount",
width: 140,
align: "right",
getName: (scope) => {
return changeNum(scope.row.creditGrantingMoney ?? 0, 2, true) + '万元';
},
},
{
label: "授信期限(月)",
field: "creditGrantingTerm",
width: 90,
align: "right",
getName: (scope) => {
return changeNum(scope.row.creditGrantingTerm ?? 0) + '月';
},
// getName: (scope) => {
// return changeNum(scope.row.creditGrantingMoney ?? 0, 2, true) + '万元';
// },
},
{ label: "授信主体", field: "creditGrantingGenerality", minWidth: 100 },
// {
// label: "授信期限(月)",
// field: "creditGrantingTerm",
// width: 90,
// align: "right",
// getName: (scope) => {
// return changeNum(scope.row.creditGrantingTerm ?? 0) + '月';
// },
// },
{ label: "最近调用时间", field: "invokeStartTime", minWidth: 100 },
],
data: [],
showPage: false,
......@@ -369,18 +370,25 @@ const financingTableInfo = ref({
loading1: false,
});
// 数据产品调用情况
// const getDataInfo = async () => {
// const params = {
// startTime: startTime.value || '',
// endTime: endTime.value || '',
// }
// const res: any = await getApiInvokeCount(params);
// }
const getFinancingTableData = () => {
financingTableInfo.value.loading1 = true;
getFinanceInfo({
pageSize: 200,
pageIndex: 1,
const params = {
startTime: startTime.value || '',
endTime: endTime.value || '',
}).then((res: any) => {
}
getApiInvokeCount(params).then((res: any) => {
financingTableInfo.value.loading1 = false;
if (res.code == proxy.$passCode) {
let data = res.data || {};
financingTableInfo.value.data = data.records || [];
financingTableInfo.value.data = data || [];
} else {
ElMessage.error(res.msg);
}
......@@ -670,6 +678,9 @@ watch(
handleChangeTime(daterange.value);
},
);
const handleDatePickerChange = (val) => {
// 更新开始时间和结束时间
startTime.value = val[0];
......@@ -695,6 +706,7 @@ const handleDatePickerChange = (val) => {
filterDate.value = '';
};
const startTime = ref()
const endTime = ref()
const handleChangeTime = (val) => {
......
......@@ -35,7 +35,7 @@ const tableInfo = ref({
fixedSelection: true,
fields: [
{ label: "序号", type: "index", width: 56, align: "center" },
{ label: "数据产品编号", field: "label", width: 120, },
// { label: "数据产品编号", field: "label", width: 120, },
{
label: "数据产品名称", field: "damName", width: 140,
},
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!