Compare commits
6 Commits
f576ece322
...
2da122302f
Author | SHA1 | Date |
---|---|---|
a0049873 | 2da122302f | |
a0049873 | 28ed97e816 | |
gongjiale | 04ce2dbd88 | |
gongjiale | f0b737396b | |
gongjiale | 0df1914eb3 | |
gongjiale | c0bb1422b1 |
After Width: | Height: | Size: 229 B |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.1 KiB |
|
@ -41,7 +41,7 @@
|
||||||
<el-upload ref="editUpload" class="upload-demo" :action="fileUploadUrl"
|
<el-upload ref="editUpload" class="upload-demo" :action="fileUploadUrl"
|
||||||
:on-success="eidtHandleAvatarSuccess" :before-upload="editBeforeAvatarUpload" :limit="1"
|
:on-success="eidtHandleAvatarSuccess" :before-upload="editBeforeAvatarUpload" :limit="1"
|
||||||
:file-list="[]" :on-remove="editUploadRemoveFile" :on-exceed="handleExceed" list-type="picture">
|
:file-list="[]" :on-remove="editUploadRemoveFile" :on-exceed="handleExceed" list-type="picture">
|
||||||
<div slot="tip" class="el-upload__tip">只能上传图片文件</div>
|
<div slot="tip" class="el-upload__tip">只能上传图片文件,格式为jpg/png</div>
|
||||||
<div class="button-new">
|
<div class="button-new">
|
||||||
<div>点击上传</div>
|
<div>点击上传</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -299,7 +299,7 @@ export default {
|
||||||
file.type === 'image/jpg' ||
|
file.type === 'image/jpg' ||
|
||||||
file.type === 'image/png'
|
file.type === 'image/png'
|
||||||
if (!isImage) {
|
if (!isImage) {
|
||||||
this.$message.error('上传头像图片只能是 jpg/png 格式!')
|
this.$message.error('上传图片只能是 jpg/png 格式!')
|
||||||
}
|
}
|
||||||
return isImage
|
return isImage
|
||||||
},
|
},
|
||||||
|
@ -314,7 +314,7 @@ export default {
|
||||||
file.type === 'image/png'
|
file.type === 'image/png'
|
||||||
|
|
||||||
if (!isImage) {
|
if (!isImage) {
|
||||||
this.$message.error('上传头像图片只能是 jpg/png 格式!')
|
this.$message.error('上传图片只能是 jpg/png 格式!')
|
||||||
}
|
}
|
||||||
return isImage
|
return isImage
|
||||||
},
|
},
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<el-upload ref="editUpload" class="upload-demo" :action="fileUploadUrl"
|
<el-upload ref="editUpload" class="upload-demo" :action="fileUploadUrl"
|
||||||
:on-success="eidtHandleAvatarSuccess" :before-upload="editBeforeAvatarUpload" :limit="1"
|
:on-success="eidtHandleAvatarSuccess" :before-upload="editBeforeAvatarUpload" :limit="1"
|
||||||
:file-list="[]" :on-remove="editUploadRemoveFile" :on-exceed="handleExceed" list-type="picture">
|
:file-list="[]" :on-remove="editUploadRemoveFile" :on-exceed="handleExceed" list-type="picture">
|
||||||
<div slot="tip" class="el-upload__tip">只能上传图片文件</div>
|
<div slot="tip" class="el-upload__tip">只能上传图片文件,格式为jpg/png</div>
|
||||||
<div class="button-new">
|
<div class="button-new">
|
||||||
<div>点击上传</div>
|
<div>点击上传</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -458,7 +458,7 @@ export default {
|
||||||
file.type === 'image/jpg' ||
|
file.type === 'image/jpg' ||
|
||||||
file.type === 'image/png'
|
file.type === 'image/png'
|
||||||
if (!isImage) {
|
if (!isImage) {
|
||||||
this.$message.error('上传头像图片只能是 jpg/png 格式!')
|
this.$message.error('上传图片只能是 jpg/png 格式!')
|
||||||
}
|
}
|
||||||
return isImage
|
return isImage
|
||||||
},
|
},
|
||||||
|
@ -473,7 +473,7 @@ export default {
|
||||||
file.type === 'image/png'
|
file.type === 'image/png'
|
||||||
|
|
||||||
if (!isImage) {
|
if (!isImage) {
|
||||||
this.$message.error('上传头像图片只能是 jpg/png 格式!')
|
this.$message.error('上传图片只能是 jpg/png 格式!')
|
||||||
}
|
}
|
||||||
return isImage
|
return isImage
|
||||||
},
|
},
|
||||||
|
|
|
@ -61,11 +61,20 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作">
|
<el-table-column label="操作">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span
|
<el-popconfirm
|
||||||
style="color: #0058e1"
|
confirm-button-text="确认"
|
||||||
@click="handleDelete(scope.$index, scope.row)"
|
cancel-button-text="不用了"
|
||||||
>删除</span
|
icon="el-icon-info"
|
||||||
|
icon-color="red"
|
||||||
|
title="确定删除该实例数据吗?"
|
||||||
|
@confirm="handleDelete(scope.$index, scope.row)"
|
||||||
>
|
>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
slot="reference"
|
||||||
|
></el-button>
|
||||||
|
</el-popconfirm>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
style="color:red;margin-left: 6px;"
|
style="color:red;margin-left: 6px;"
|
||||||
@click="deleteItem(index)" type="danger" size="small"
|
@click="deleteItem(index)" type="danger" size="small"
|
||||||
v-if="dataInfo.length > 1"
|
v-if="dataInfo.length > 1"
|
||||||
src="~@/assets/img/deleteRed.png"
|
src="~@/assets/img/del.png"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
<!-- <el-button style="margin-left:10px" >删除
|
<!-- <el-button style="margin-left:10px" >删除
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
type="danger"
|
type="danger"
|
||||||
size="small"
|
size="small"
|
||||||
v-if="!disabledType && dataInfo.length > 1"
|
v-if="!disabledType && dataInfo.length > 1"
|
||||||
src="~@/assets/img/deleteRed.png"
|
src="~@/assets/img/del.png"
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,18 +31,28 @@
|
||||||
v-if="index != item.answer.length - 1"
|
v-if="index != item.answer.length - 1"
|
||||||
v-model="itemson.answer"
|
v-model="itemson.answer"
|
||||||
placeholder="请输入步骤小节"
|
placeholder="请输入步骤小节"
|
||||||
style="width: 200px"
|
style="width: 160px"
|
||||||
:disabled="disabledType"
|
:disabled="disabledType"
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
|
<img
|
||||||
|
style="color: red; margin-left: 6px"
|
||||||
|
@click="deleteItem1(item.answer,index)"
|
||||||
|
type="danger"
|
||||||
|
size="small"
|
||||||
|
v-if="!disabledType && index != item.answer.length - 1"
|
||||||
|
src="~@/assets/img/del.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
<div v-else style="display: inline">
|
<div v-else style="display: inline">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="itemson.answer"
|
v-model="itemson.answer"
|
||||||
placeholder="请输入步骤小节"
|
placeholder="请输入步骤小节"
|
||||||
style="width: 200px"
|
style="width: 160px"
|
||||||
:disabled="disabledType"
|
:disabled="disabledType"
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
|
|
||||||
<div class="submit1">
|
<div class="submit1">
|
||||||
<a-button type="primary" @click="addAnswerItem(item.answer)">
|
<a-button type="primary" @click="addAnswerItem(item.answer)">
|
||||||
<img
|
<img
|
||||||
|
@ -55,22 +65,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <a-button type="primary" v-if="!disabledType && index == dataInfo.length - 1"
|
|
||||||
@click="addItem">
|
|
||||||
<img
|
|
||||||
style="height: 12px; width: 12px;margin-top: -2px;"
|
|
||||||
src="~@/assets/img/jiahao.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
<span style="margin-left: 4px">添加小节</span>
|
|
||||||
</a-button> -->
|
|
||||||
<!-- <div class="question-box-right">
|
|
||||||
<span>步骤小节: </span>
|
|
||||||
<el-input v-model="itemson.answer" placeholder="请输入步骤小节" style="width:200px"
|
|
||||||
:disabled="disabledType">
|
|
||||||
</el-input>
|
|
||||||
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="submit">
|
<div class="submit">
|
||||||
|
@ -89,33 +84,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="question-box">
|
|
||||||
|
|
||||||
<div v-for="(item, index) in dataInfo" :key="index">
|
|
||||||
<el-form-item label="步骤标题" prop="question">
|
|
||||||
<el-input v-model="item.question" placeholder="请输入标题" style="width:90%" :disabled="disabledType">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="步骤" prop="question">
|
|
||||||
<el-input type="textarea" :rows="3" v-model="item.answer" placeholder="请输入解释说明" style="width:90%"
|
|
||||||
:disabled="disabledType">
|
|
||||||
</el-input>
|
|
||||||
<el-button style="margin-left:10px" @click="deleteItem(index)" type="danger" size="small"
|
|
||||||
v-if="!disabledType && dataInfo.length > 1">删除
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
<el-button class="add-btn" size="small" v-if="!disabledType && index == dataInfo.length - 1"
|
|
||||||
@click="addItem" type="primary">添加
|
|
||||||
</el-button>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<!-- <div class="step-box">
|
|
||||||
<el-steps :active="2">
|
|
||||||
<el-step status="finish" :title="item.question || `标题${index + 1}`" v-for="(item, index) in dataInfo"
|
|
||||||
:key="index">
|
|
||||||
</el-step>
|
|
||||||
</el-steps>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
@ -207,6 +176,22 @@ export default {
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
|
// 删除
|
||||||
|
deleteItem1(item,index) {
|
||||||
|
this.$confirm("确认是否删除?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "删除成功!",
|
||||||
|
});
|
||||||
|
item.splice(index,1)
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -262,7 +247,7 @@ export default {
|
||||||
}
|
}
|
||||||
.question-box {
|
.question-box {
|
||||||
float: left;
|
float: left;
|
||||||
width: 42%;
|
width: 295px;
|
||||||
}
|
}
|
||||||
.question-box1 {
|
.question-box1 {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
|
@ -0,0 +1,292 @@
|
||||||
|
<!--
|
||||||
|
* @Author: Light
|
||||||
|
* @Date: 2023-01-04 16:29:33
|
||||||
|
* @LastEditors: Light
|
||||||
|
* @LastEditTime: 2023-01-06 10:50:23
|
||||||
|
* @Description: 数据统计
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="data-statistics-box">
|
||||||
|
<div class="top">
|
||||||
|
<div class="item" v-for="item in topData" :key="item.type">
|
||||||
|
<div class="left">
|
||||||
|
<div>{{ item.type }}</div>
|
||||||
|
<div><span>{{ item.count }}</span>项</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div>
|
||||||
|
较上周<span>{{ item.weekly_change }}</span>
|
||||||
|
<svg v-if="item.weekly_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.weekly_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
较上月<span>{{ item.month_change }}</span>
|
||||||
|
<svg v-if="item.month_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.month_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-image
|
||||||
|
:style="'width: ' + imgConfig[item.type].size + ' height: ' + imgConfig[item.type].size + ' position: absolute; bottom:' + imgConfig[item.type].bottom + ' right: '+imgConfig[item.type].right"
|
||||||
|
:src="imgConfig[item.type].url"
|
||||||
|
:fit="cover"></el-image>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="item-box" v-for="item in bottomData" :key="item.tip">
|
||||||
|
<div class="name">
|
||||||
|
<div>{{ item.tip }}<span>{{ item.dept_count }}</span>个</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="left">
|
||||||
|
<div>能力上架</div>
|
||||||
|
<div><span>{{ item.resource_sum }}</span>个</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div>
|
||||||
|
较上周<span>{{ item.resource_weekly_change }}</span>
|
||||||
|
<svg v-if="item.resource_weekly_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.resource_weekly_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
较上月<span>{{ item.resource_month_change }}</span>
|
||||||
|
<svg v-if="item.resource_month_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.resource_month_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="left">
|
||||||
|
<div>能力申请</div>
|
||||||
|
<div><span>{{ item.apply_sum }}</span>个</div>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<div>
|
||||||
|
较上周<span>{{ item.apply_weekly_change }}</span>
|
||||||
|
<svg v-if="item.apply_weekly_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.apply_weekly_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
较上月<span>{{ item.apply_month_change }}</span>
|
||||||
|
<svg v-if="item.apply_month_change>0" t="1672972210380" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28931" width="15" height="15"><path d="M470.016 976.896q-44.032 0-59.392-20.48t-15.36-65.536q0-20.48-0.512-64.512t-1.024-93.696-1.536-96.768-1.024-74.752q0-39.936-7.68-62.464t-35.328-21.504q-20.48 0-48.64-1.024t-49.664 0q-35.84 0-45.568-19.456t13.824-50.176q24.576-30.72 57.344-72.704t67.584-86.016 68.096-87.04 58.88-75.776q23.552-29.696 45.568-30.72t46.592 26.624q24.576 29.696 56.832 69.632t67.072 82.432 68.608 83.968 60.416 73.216q29.696 35.84 23.04 58.88t-43.52 23.04q-11.264 0-25.088 0.512t-29.184 1.024-30.208 1.024-27.136 0.512q-25.6 1.024-32.256 16.384t-5.632 41.984q0 29.696 0.512 77.824t1.024 100.352 1.536 101.376 1.024 79.872q0 13.312-2.048 27.648t-9.728 26.112-21.504 19.968-36.352 8.192q-27.648 0-52.736 0.512t-56.832 1.536z" p-id="28932" fill="#67c23a"></path></svg>
|
||||||
|
<svg v-else-if="item.apply_month_change==0" t="1672902733121" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5742" width="15" height="15"><path d="M152 560 152 464 472 464 472 560 152 560ZM552 560 552 464 872 464 872 560 552 560Z" fill="#409eff" p-id="5743"></path></svg>
|
||||||
|
<svg v-else t="1672972414152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="29200" width="15" height="15"><path d="M564.224 44.032q43.008 0 58.368 20.48t15.36 65.536q0 20.48 0.512 64.512t0.512 93.696 0.512 96.768 0.512 74.752q0 38.912 7.68 61.952t35.328 22.016q19.456 0 48.128 1.024t49.152 1.024q35.84 0 45.568 18.944t-13.824 49.664q-24.576 30.72-57.344 72.704t-68.096 86.016-69.12 86.528-59.392 75.264q-23.552 29.696-45.568 30.72t-45.568-27.648q-24.576-29.696-57.344-69.632t-67.072-82.432-67.584-83.968-59.904-74.24q-29.696-35.84-22.528-58.88t44.032-23.04l24.576 0q14.336 0 29.696-0.512t30.208-1.536 26.112-1.024q26.624 0 32.768-15.36t6.144-41.984q0-29.696-0.512-77.824t-0.512-100.352-0.512-101.376-0.512-79.872q0-13.312 2.048-27.648t9.728-26.112 20.992-19.456 36.864-7.68q27.648 0 53.248-0.512t57.344-0.512z" p-id="29201" fill="#f56c6c"></path></svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bx"></div>
|
||||||
|
<div class="bx"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: '',
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
sortList: ['四大类资源', '组件服务', '应用资源', '基础设施', '数据资源'],
|
||||||
|
imgConfig: {
|
||||||
|
四大类资源: {
|
||||||
|
url: require('@/assets/img/workBench/banner-gg.png'),
|
||||||
|
size: '80px;',
|
||||||
|
right: '20px;',
|
||||||
|
bottom: '40px;'
|
||||||
|
},
|
||||||
|
组件服务: {
|
||||||
|
url: require('@/assets/img/workBench/banner-zj.png'),
|
||||||
|
size: '60px;',
|
||||||
|
right: '20px;',
|
||||||
|
bottom: '48px;'
|
||||||
|
},
|
||||||
|
应用资源: {
|
||||||
|
url: require('@/assets/img/workBench/banner-yy.png'),
|
||||||
|
size: '60px;',
|
||||||
|
right: '20px;',
|
||||||
|
bottom: '43px;'
|
||||||
|
},
|
||||||
|
基础设施: {
|
||||||
|
url: require('@/assets/img/workBench/banner-jc.png'),
|
||||||
|
size: '60px;',
|
||||||
|
right: '20px;',
|
||||||
|
bottom: '46px;'
|
||||||
|
},
|
||||||
|
数据资源: {
|
||||||
|
url: require('@/assets/img/workBench/banner-sj.png'),
|
||||||
|
size: '60px;',
|
||||||
|
right: '20px;',
|
||||||
|
bottom: '50px;'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
topData: [],
|
||||||
|
bottomData: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
this.$http.get('/census/center/similitude').then(res => {
|
||||||
|
res.data.data = res.data.data.sort((a, b) => this.sortList.indexOf(a.type) - this.sortList.indexOf(b.type))
|
||||||
|
this.topData = res.data.data
|
||||||
|
console.log('获取数据', res.data.data)
|
||||||
|
})
|
||||||
|
this.$http.get('/census/center/similitude_dept').then(res => {
|
||||||
|
this.bottomData = res.data.data
|
||||||
|
console.log('获取数据', res.data.data)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang='scss' scoped>
|
||||||
|
.data-statistics-box{
|
||||||
|
padding:10px;
|
||||||
|
.top{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
.item{
|
||||||
|
width: 290px;
|
||||||
|
height: 120px;
|
||||||
|
padding: 15px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
background: #fff;
|
||||||
|
box-shadow: 2px 2px 5px #ccc;
|
||||||
|
border-radius: 10px;
|
||||||
|
position: relative;
|
||||||
|
.left{
|
||||||
|
width: 100px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-start;
|
||||||
|
font-size: 16px;
|
||||||
|
div{
|
||||||
|
margin-bottom: 1px;
|
||||||
|
}
|
||||||
|
span{
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.right{
|
||||||
|
width: 180px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-top: 10px;
|
||||||
|
div{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
span{
|
||||||
|
width: 30px;
|
||||||
|
margin-left: 30px;
|
||||||
|
}
|
||||||
|
svg{
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom{
|
||||||
|
margin-top: 10px;
|
||||||
|
.item-box{
|
||||||
|
display: flex;
|
||||||
|
margin-top: 10px;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
.name{
|
||||||
|
width: 290px;
|
||||||
|
height: 80px;
|
||||||
|
padding: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 10px;
|
||||||
|
box-shadow: 2px 2px 5px #ccc;
|
||||||
|
div{
|
||||||
|
width: 200px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 20px;
|
||||||
|
span{
|
||||||
|
margin-left: 10px;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item{
|
||||||
|
width: 290px;
|
||||||
|
height: 80px;
|
||||||
|
padding: 10px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 10px;
|
||||||
|
box-shadow: 2px 2px 5px #ccc;
|
||||||
|
.left{
|
||||||
|
width: 100px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 16px;
|
||||||
|
span{
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.right{
|
||||||
|
width: 120px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-top: 10px;
|
||||||
|
div{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
span{
|
||||||
|
width: 30px;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
svg{
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bx{
|
||||||
|
width: 290px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,5 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="work-brnch-box">
|
<div class="work-brnch-box">
|
||||||
|
<!-- 数据统计 -->
|
||||||
|
<div class="data-statistics" v-if="($store.state.user.roleIdList.indexOf('运维管理员') !== -1)">
|
||||||
|
<DataStatistics></DataStatistics>
|
||||||
|
</div>
|
||||||
<!-- 上 -->
|
<!-- 上 -->
|
||||||
<div class="flex-row-start top">
|
<div class="flex-row-start top">
|
||||||
<div class="flex-row-start dept-left">
|
<div class="flex-row-start dept-left">
|
||||||
|
@ -33,6 +37,7 @@
|
||||||
import BottomView from '../workBench/components/bottom-view.vue'
|
import BottomView from '../workBench/components/bottom-view.vue'
|
||||||
import CenterView from '../workBench/components/center-view.vue'
|
import CenterView from '../workBench/components/center-view.vue'
|
||||||
import DeptChartView from '../workBench/components/dept-chart-view.vue'
|
import DeptChartView from '../workBench/components/dept-chart-view.vue'
|
||||||
|
import DataStatistics from './components/DataStatistics'
|
||||||
import deptTodoView from '../workBench/components/dept-todo-view.vue'
|
import deptTodoView from '../workBench/components/dept-todo-view.vue'
|
||||||
import * as Apis from './api.js'
|
import * as Apis from './api.js'
|
||||||
import bus from '@/views/bus.js'
|
import bus from '@/views/bus.js'
|
||||||
|
@ -41,7 +46,8 @@ export default {
|
||||||
deptTodoView,
|
deptTodoView,
|
||||||
BottomView,
|
BottomView,
|
||||||
CenterView,
|
CenterView,
|
||||||
DeptChartView
|
DeptChartView,
|
||||||
|
DataStatistics
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
@ -241,7 +247,12 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.work-brnch-box {
|
.work-brnch-box {
|
||||||
|
.data-statistics{
|
||||||
|
background: #fff;
|
||||||
|
height: 324px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
box-shadow: 2px 2px 5px #ccc;
|
||||||
|
}
|
||||||
.top {
|
.top {
|
||||||
height: 284px;
|
height: 284px;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
After Width: | Height: | Size: 552 B |
After Width: | Height: | Size: 475 B |
|
@ -9,7 +9,7 @@
|
||||||
<div class="algorithm-top-details">
|
<div class="algorithm-top-details">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<a-tooltip placement="top" v-if="(props.dataList.name.length>20)">
|
<a-tooltip placement="top" v-if="(props.dataList.name.length > 20)">
|
||||||
<template #title>{{ props.dataList.name }}</template>
|
<template #title>{{ props.dataList.name }}</template>
|
||||||
<span class="name">
|
<span class="name">
|
||||||
{{ props.dataList.name }}
|
{{ props.dataList.name }}
|
||||||
|
@ -47,24 +47,21 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomdesc" v-else-if="dowmOrUp === '展开>>'">
|
<div class="bottomdesc" v-else-if="dowmOrUp === '展开>>'">
|
||||||
场景描述: {{ props.dataList.description.slice(0, 183) }}...
|
场景描述: {{ props.dataList.description.slice(0, 183) }}...
|
||||||
<span
|
<span style="cursor: pointer; color: rgb(241 211 112)" @click="showDetail(dowmOrUp)">
|
||||||
style="cursor: pointer; color: rgb(241 211 112)"
|
|
||||||
@click="showDetail(dowmOrUp)"
|
|
||||||
>
|
|
||||||
{{ dowmOrUp }}
|
{{ dowmOrUp }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomdesc1" v-else>
|
<div class="bottomdesc1" v-else>
|
||||||
场景描述: {{ props.dataList.description }}
|
场景描述: {{ props.dataList.description }}
|
||||||
<span
|
<span style="cursor: pointer; color: rgb(241 211 112)" @click="showDetail(dowmOrUp)">
|
||||||
style="cursor: pointer; color: rgb(241 211 112)"
|
|
||||||
@click="showDetail(dowmOrUp)"
|
|
||||||
>
|
|
||||||
{{ dowmOrUp }}
|
{{ dowmOrUp }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding-top: 20px">
|
<div style="padding-top: 20px">
|
||||||
<span>场景入口:</span>
|
<a-button class="rukou" @click="openScene(props.dataList.sceneUrl)">
|
||||||
|
进入场景
|
||||||
|
</a-button>
|
||||||
|
<!-- <span>场景入口:</span>
|
||||||
<span
|
<span
|
||||||
style="
|
style="
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
@ -74,7 +71,7 @@
|
||||||
@click="openScene(props.dataList.sceneUrl)"
|
@click="openScene(props.dataList.sceneUrl)"
|
||||||
>
|
>
|
||||||
{{ props.dataList.sceneUrl }}
|
{{ props.dataList.sceneUrl }}
|
||||||
</span>
|
</span> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom" v-if="props.dataList.id">
|
<div class="bottom" v-if="props.dataList.id">
|
||||||
|
@ -200,7 +197,7 @@ function toView() {
|
||||||
// 融合服务--一键申请
|
// 融合服务--一键申请
|
||||||
const handleAKeyApplication = () => {
|
const handleAKeyApplication = () => {
|
||||||
let _applyList = []
|
let _applyList = []
|
||||||
;(props.dataList.fuseResourceList || []).map((v) => {
|
; (props.dataList.fuseResourceList || []).map((v) => {
|
||||||
let resource = v.resource || {}
|
let resource = v.resource || {}
|
||||||
let obj = {
|
let obj = {
|
||||||
arr: [
|
arr: [
|
||||||
|
@ -339,6 +336,17 @@ watch(
|
||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
|
|
||||||
|
.rukou {
|
||||||
|
margin-top:24px;
|
||||||
|
background: #0058e1;
|
||||||
|
color: #ffffff;
|
||||||
|
width: 90px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px #0058e1 solid;
|
||||||
|
|
||||||
|
}
|
||||||
.bottomdesc {
|
.bottomdesc {
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
/*设置为弹性盒子*/
|
/*设置为弹性盒子*/
|
||||||
|
@ -353,12 +361,14 @@ watch(
|
||||||
width: 800px;
|
width: 800px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottomdesc1 {
|
.bottomdesc1 {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
width: 800px;
|
width: 800px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
height: 200px;
|
height: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.2rem;
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
line-height: 0.34rem;
|
line-height: 0.34rem;
|
||||||
|
|
|
@ -58,6 +58,7 @@ function toView(item) {
|
||||||
path: '/integrationServicesDetails',
|
path: '/integrationServicesDetails',
|
||||||
query: {
|
query: {
|
||||||
id: item.id,
|
id: item.id,
|
||||||
|
districtType:item.district,
|
||||||
type:'典型赋能场景'
|
type:'典型赋能场景'
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
@ -26,16 +26,26 @@ const oldValue1 = ref('')
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
textColor: { type: String, default: '' },
|
textColor: { type: String, default: '' },
|
||||||
returnType: { type: String, default: '' },
|
returnType: { type: String, default: '' },
|
||||||
|
districtType:{ type: Number, default: 0 },
|
||||||
})
|
})
|
||||||
const returnType = props.returnType
|
const returnType = props.returnType
|
||||||
|
const districtType = props.districtType
|
||||||
const previousPage = () => {
|
const previousPage = () => {
|
||||||
if (returnType =='典型赋能场景'|| returnType =='打包模式') {
|
if (returnType =='打包模式') {
|
||||||
router.push({
|
router.push({
|
||||||
path: '/integrationServices',
|
path: '/integrationServices',
|
||||||
query: {
|
query: {
|
||||||
returnType: returnType,
|
returnType: returnType,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
}else if(returnType =='典型赋能场景'){
|
||||||
|
router.push({
|
||||||
|
path: '/integrationServices',
|
||||||
|
query: {
|
||||||
|
returnType: returnType,
|
||||||
|
districtType:districtType,
|
||||||
|
},
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
if (window.history.state.back) {
|
if (window.history.state.back) {
|
||||||
window.history.go(-1)
|
window.history.go(-1)
|
||||||
|
|
|
@ -124,6 +124,7 @@ export default defineComponent({
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const select = router.currentRoute.value.query.select
|
const select = router.currentRoute.value.query.select
|
||||||
const returnType = router.currentRoute.value.query.returnType
|
const returnType = router.currentRoute.value.query.returnType
|
||||||
|
const districtType = router.currentRoute.value.query.districtType
|
||||||
const searchValue = ref('')
|
const searchValue = ref('')
|
||||||
const Cardsname = ref(select)
|
const Cardsname = ref(select)
|
||||||
const resourceList = reactive({ data: [] })
|
const resourceList = reactive({ data: [] })
|
||||||
|
@ -352,9 +353,15 @@ export default defineComponent({
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
searchAreas()
|
searchAreas()
|
||||||
if (returnType == '典型赋能场景') {
|
if (returnType == '典型赋能场景') {
|
||||||
changeCards(0)
|
|
||||||
|
|
||||||
} else if (returnType == '打包模式') {
|
if(districtType==0){
|
||||||
|
cityOrArea.value=0
|
||||||
|
}else{
|
||||||
|
cityOrArea.value=1
|
||||||
|
}
|
||||||
|
changeCards(0)
|
||||||
|
}
|
||||||
|
else if (returnType == '打包模式') {
|
||||||
changeCards(1)
|
changeCards(1)
|
||||||
} else {
|
} else {
|
||||||
if (storageSearchInfo) {
|
if (storageSearchInfo) {
|
||||||
|
@ -390,6 +397,7 @@ export default defineComponent({
|
||||||
titleName,
|
titleName,
|
||||||
changeCards,
|
changeCards,
|
||||||
returnType,
|
returnType,
|
||||||
|
districtType,
|
||||||
number,
|
number,
|
||||||
loadingData,
|
loadingData,
|
||||||
cityOrArea,
|
cityOrArea,
|
||||||
|
@ -545,7 +553,10 @@ export default defineComponent({
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
span:hover{
|
||||||
|
background: #0058e1;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
.down {
|
.down {
|
||||||
background: #0058e1;
|
background: #0058e1;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|
|
@ -2,25 +2,16 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
|
<div class="IntegrationServicesDetails" :class="{ fixed2: scrollTop >= 600 }">
|
||||||
<home-header></home-header>
|
<home-header></home-header>
|
||||||
<detail-back
|
<detail-back v-show="!hiddenBackFlag" :returnType="returnType" :districtType="districtType"></detail-back>
|
||||||
v-show="!hiddenBackFlag"
|
|
||||||
:returnType="returnType"
|
|
||||||
></detail-back>
|
|
||||||
<!-- 头部基本信息 -->
|
|
||||||
<application-top-details
|
|
||||||
:dataList="detailInfoObj"
|
|
||||||
:navList="navList"
|
|
||||||
></application-top-details>
|
|
||||||
|
|
||||||
|
<template v-if="districtType == 0 || returnType == '打包模式'">
|
||||||
|
<!-- 头部基本信息 -->
|
||||||
|
<application-top-details :dataList="detailInfoObj" :navList="navList"></application-top-details>
|
||||||
<!-- 导航 -->
|
<!-- 导航 -->
|
||||||
<div :class="{ fixed: scrollTop >= 600 }" style="z-index: 10012">
|
<div :class="{ fixed: scrollTop >= 600 }" style="z-index: 10012">
|
||||||
<div class="application-navigation">
|
<div class="application-navigation">
|
||||||
<template v-for="nav in navList" :key="nav.key">
|
<template v-for="nav in navList" :key="nav.key">
|
||||||
<div
|
<div class="nav" :class="{ selectNow: nav.key == selectNow }" @click="selectNav(nav.key)">
|
||||||
class="nav"
|
|
||||||
:class="{ selectNow: nav.key == selectNow }"
|
|
||||||
@click="selectNav(nav.key)"
|
|
||||||
>
|
|
||||||
{{ nav.name }}
|
{{ nav.name }}
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -39,16 +30,11 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="content" style="margin-left: 0.5rem">
|
<div class="content" style="margin-left: 0.5rem">
|
||||||
<div
|
<div class="content-item" v-for="(item, i) in painPoint" :key="i" style="
|
||||||
class="content-item"
|
|
||||||
v-for="(item, i) in painPoint"
|
|
||||||
:key="i"
|
|
||||||
style="
|
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
line-height: 0.3rem;
|
line-height: 0.3rem;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ i + 1 + '、' + item.description }}
|
{{ i + 1 + '、' + item.description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -56,26 +42,17 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 解决方案 -->
|
<!-- 解决方案 -->
|
||||||
<div
|
<div id="integration-solution" class="solution scrollBox" style="background: #eee">
|
||||||
id="integration-solution"
|
|
||||||
class="solution scrollBox"
|
|
||||||
style="background: #eee"
|
|
||||||
>
|
|
||||||
<div class="title-1">
|
<div class="title-1">
|
||||||
<DetalsTitle title="解决方案" type="SOLUTION"></DetalsTitle>
|
<DetalsTitle title="解决方案" type="SOLUTION"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-center">
|
<div class="flex-row-center">
|
||||||
<div class="content" style="background: #fff; margin-top: 0.2rem">
|
<div class="content" style="background: #fff; margin-top: 0.2rem">
|
||||||
<div
|
<div class="content-item" v-for="(item, i) in solution" :key="i" style="
|
||||||
class="content-item"
|
|
||||||
v-for="(item, i) in solution"
|
|
||||||
:key="i"
|
|
||||||
style="
|
|
||||||
margin-bottom: 0.2rem;
|
margin-bottom: 0.2rem;
|
||||||
font-size: 0.18rem;
|
font-size: 0.18rem;
|
||||||
line-height: 0.3rem;
|
line-height: 0.3rem;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
{{ i + 1 + '、' + item.description }}
|
{{ i + 1 + '、' + item.description }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -87,22 +64,11 @@
|
||||||
<div class="title-1">
|
<div class="title-1">
|
||||||
<DetalsTitle title="使用能力" type="ABILITY"></DetalsTitle>
|
<DetalsTitle title="使用能力" type="ABILITY"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="flex-row-center combine-content" v-for="(item, i) in combineList" :key="i" style="display: block">
|
||||||
class="flex-row-center combine-content"
|
<div class="top" style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem">
|
||||||
v-for="(item, i) in combineList"
|
|
||||||
:key="i"
|
|
||||||
style="display: block"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="top"
|
|
||||||
style="font-size: 0.24rem; text-align: center; margin-bottom: 0.3rem"
|
|
||||||
>
|
|
||||||
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
|
{{ i == 0 ? '基础设施' : i == 1 ? '组件服务' : '数据资源' }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div class="data-count" style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem">
|
||||||
class="data-count"
|
|
||||||
style="font-size: 0.14rem; text-align: right; margin-bottom: 0.2rem"
|
|
||||||
>
|
|
||||||
<span style="color: #909399">
|
<span style="color: #909399">
|
||||||
共
|
共
|
||||||
{{
|
{{
|
||||||
|
@ -116,34 +82,24 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom" style="display: flex; align-items: flex-start">
|
<div class="bottom" style="display: flex; align-items: flex-start">
|
||||||
<div class="title" :class="'title' + i"></div>
|
<div class="title" :class="'title' + i"></div>
|
||||||
<div class="table-box">
|
<div class="table-box" v-if="returnType == '典型赋能场景'">
|
||||||
<el-table
|
<el-table class="table" :data="item.list" stripe :header-cell-style="{ 'text-align': 'center' }">
|
||||||
class="table"
|
<el-table-column prop="name" label="资源名称" align="center" width="200"
|
||||||
:data="item.list"
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
stripe
|
<el-table-column prop="type" label="资源类型" align="center" width="100"
|
||||||
:header-cell-style="{ 'text-align': 'center' }"
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
>
|
<el-table-column prop="dept" label="来源部门" align="center" width="300"
|
||||||
<el-table-column
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
prop="name"
|
</el-table>
|
||||||
label="资源名称"
|
</div>
|
||||||
align="center"
|
<div class="table-box" v-else>
|
||||||
width="200"
|
<el-table class="table" :data="item.list" stripe :header-cell-style="{ 'text-align': 'center' }">
|
||||||
show-overflow-tooltip="true"
|
<el-table-column prop="name" label="资源名称" align="center" width="200"
|
||||||
></el-table-column>
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="platform" label="资源类型" align="center" width="100"
|
||||||
prop="platform"
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
label="资源类型"
|
<el-table-column prop="dept" label="能力来源" align="center" width="300"
|
||||||
align="center"
|
show-overflow-tooltip="true"></el-table-column>
|
||||||
width="100"
|
|
||||||
show-overflow-tooltip="true"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="dept"
|
|
||||||
label="能力来源"
|
|
||||||
align="center"
|
|
||||||
width="300"
|
|
||||||
show-overflow-tooltip="true"
|
|
||||||
></el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -155,59 +111,110 @@
|
||||||
<div class="title-1">
|
<div class="title-1">
|
||||||
<DetalsTitle title="构建步骤" type="STEP"></DetalsTitle>
|
<DetalsTitle title="构建步骤" type="STEP"></DetalsTitle>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row-center step-content">
|
<div class="step-content">
|
||||||
<el-steps direction="vertical" :space="150" :active="step.length">
|
<!-- <el-steps direction="vertical" :space="150" :active="step.length">
|
||||||
<el-step
|
<el-step
|
||||||
v-for="(item, i) in step"
|
v-for="(item, i) in step"
|
||||||
:key="i"
|
:key="i"
|
||||||
:title="item.question"
|
:title="item.question"
|
||||||
:description="item.answer"
|
:description="item.answer"
|
||||||
></el-step>
|
></el-step>
|
||||||
</el-steps>
|
</el-steps> -->
|
||||||
|
<!-- <div v-for="(item,i) in step" :key="i">
|
||||||
|
<div><div class="step-span" >{{i+1}}</div>
|
||||||
|
<div class="step-question">第{{i+1}}步:{{item.question}}</div>
|
||||||
|
<div v-for="itemson in item.answer" :key="itemson">
|
||||||
|
{{itemson.answer}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="left-process">
|
||||||
|
<div class="li1" v-for="(item, i) in step" :key="i">
|
||||||
|
<div>
|
||||||
|
<div class="node">
|
||||||
|
|
||||||
|
<div class="step-span">{{ i+ 1}}</div>
|
||||||
|
<div>
|
||||||
|
<div class="step-question">第{{ i+ 1}}步:{{ item.question }}</div>
|
||||||
|
<div class="question-son" v-for="(itemson, i) in item.answer" :key="i">
|
||||||
|
<img src="~@/assets/home/arrow.png" style="margin-right:8px" />{{ i+ 1}}>{{ itemson.answer }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="borderLeft"></div>
|
||||||
|
</div>
|
||||||
|
<div class="advice"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="area">
|
||||||
|
<a-image style="width:615px;height:345px" :preview="false" :src="bgImg || imgSrcYyzy" />
|
||||||
|
<div class="label-name">{{ detailInfoObj.name }} <span class="label">
|
||||||
|
{{ detailInfoObj.type }}
|
||||||
|
</span>
|
||||||
|
<span class="label1">
|
||||||
|
{{ detailInfoObj.area }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<a-button class="rukou" @click="openScene(detailInfoObj.sceneUrl)">
|
||||||
|
进入场景
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
<div class="area-desc">
|
||||||
|
{{ detailInfoObj.description || '--' }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
<home-footer></home-footer>
|
<home-footer></home-footer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import ApplicationTopDetails from './components/ApplicationTopDetails.vue'
|
import ApplicationTopDetails from './components/ApplicationTopDetails.vue'
|
||||||
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
|
||||||
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
import ApplicationCommonProblem from '@/views/detailsAll/components/Application/ApplicationCommonProblem' //常见问题
|
||||||
import HomeFooter from '@/views/newHome/components/Footer'
|
import HomeFooter from '@/views/newHome/components/Footer'
|
||||||
import HomeHeader from '@/views/home/components/header'
|
import HomeHeader from '@/views/home/components/header'
|
||||||
import detailBack from '@/views/home/detailBack.vue'
|
import detailBack from '@/views/home/detailBack.vue'
|
||||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { getIntegrationDetail } from '@/api/home'
|
import { getIntegrationDetail } from '@/api/home'
|
||||||
import mybus from '@/myplugins/mybus'
|
import mybus from '@/myplugins/mybus'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const scrollTop = ref(0)
|
const scrollTop = ref(0)
|
||||||
const domArr = ref([])
|
const domArr = ref([])
|
||||||
const painPoint = ref([])
|
const painPoint = ref([])
|
||||||
const solution = ref([])
|
const solution = ref([])
|
||||||
const step = ref([])
|
const step = ref([])
|
||||||
const bgImg = ref('')
|
const bgImg = ref('')
|
||||||
const dataSourceCount = ref(0)
|
const dataSourceCount = ref(0)
|
||||||
const infrastructureCount = ref(0)
|
const infrastructureCount = ref(0)
|
||||||
const componentCount = ref(0)
|
const componentCount = ref(0)
|
||||||
const id = router.currentRoute.value.query.id
|
const id = router.currentRoute.value.query.id
|
||||||
const returnType = router.currentRoute.value.query.type
|
const returnType = router.currentRoute.value.query.type
|
||||||
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
const districtType = router.currentRoute.value.query.districtType
|
||||||
document.documentElement.style.transition = 'all 0.3s ease'
|
const hiddenBackFlag = router.currentRoute.value.query.hiddenBackFlag
|
||||||
document.documentElement.scrollTop = 0
|
const imgSrcYyzy = ref(require('@/assets/newHome/empty.png'))
|
||||||
document.body.style.transition = 'all 0.3s ease'
|
document.documentElement.style.transition = 'all 0.3s ease'
|
||||||
document.body.scrollTop = 0
|
document.documentElement.scrollTop = 0
|
||||||
mybus.on('flyToView', (id) => {
|
document.body.style.transition = 'all 0.3s ease'
|
||||||
|
document.body.scrollTop = 0
|
||||||
|
mybus.on('flyToView', (id) => {
|
||||||
let top =
|
let top =
|
||||||
document.querySelector('#' + id) &&
|
document.querySelector('#' + id) &&
|
||||||
document.querySelector('#' + id).offsetTop - 50
|
document.querySelector('#' + id).offsetTop - 50
|
||||||
document.documentElement.scrollTop = top
|
document.documentElement.scrollTop = top
|
||||||
document.body.scrollTop = top
|
document.body.scrollTop = top
|
||||||
})
|
})
|
||||||
|
|
||||||
const navList = ref([
|
const navList = ref([
|
||||||
{
|
{
|
||||||
name: '场景痛点',
|
name: '场景痛点',
|
||||||
key: 'integration-pain-point',
|
key: 'integration-pain-point',
|
||||||
|
@ -224,11 +231,11 @@
|
||||||
name: '构建步骤',
|
name: '构建步骤',
|
||||||
key: 'integration-step',
|
key: 'integration-step',
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
const selectNow = ref('integration-pain-point')
|
const selectNow = ref('integration-pain-point')
|
||||||
|
|
||||||
const useWayShowList = ref([
|
const useWayShowList = ref([
|
||||||
{
|
{
|
||||||
title: '归属部门',
|
title: '归属部门',
|
||||||
info: {
|
info: {
|
||||||
|
@ -243,9 +250,9 @@
|
||||||
providerMobile: '联系人电话',
|
providerMobile: '联系人电话',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
const combineList = ref([
|
const combineList = ref([
|
||||||
{
|
{
|
||||||
title: '基础设施',
|
title: '基础设施',
|
||||||
list: [],
|
list: [],
|
||||||
|
@ -258,10 +265,10 @@
|
||||||
title: '数据资源',
|
title: '数据资源',
|
||||||
list: [],
|
list: [],
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
const detailInfoObj = ref({})
|
const detailInfoObj = ref({})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
window.addEventListener('scroll', () => {
|
window.addEventListener('scroll', () => {
|
||||||
domArr.value = document.querySelectorAll('.scrollBox')
|
domArr.value = document.querySelectorAll('.scrollBox')
|
||||||
scrollTop.value =
|
scrollTop.value =
|
||||||
|
@ -285,21 +292,21 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
const selectNav = (key) => {
|
const selectNav = (key) => {
|
||||||
selectNow.value = key
|
selectNow.value = key
|
||||||
mybus.emit('flyToView', selectNow.value)
|
mybus.emit('flyToView', selectNow.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
const getAttrValue = (fuseAttrList, text) => {
|
const getAttrValue = (fuseAttrList, text) => {
|
||||||
let _obj = fuseAttrList.find((v) => v.attrType === text) || {}
|
let _obj = fuseAttrList.find((v) => v.attrType === text) || {}
|
||||||
let data = JSON.parse(_obj.attrValue || '[]') || []
|
let data = JSON.parse(_obj.attrValue || '[]') || []
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
// 融合服务--详情
|
// 融合服务--详情
|
||||||
const getIntegrationServicesDeatil = (id) => {
|
const getIntegrationServicesDeatil = (id) => {
|
||||||
getIntegrationDetail(id).then(
|
getIntegrationDetail(id).then(
|
||||||
(res) => {
|
(res) => {
|
||||||
if (res.data.code !== 0) {
|
if (res.data.code !== 0) {
|
||||||
|
@ -311,8 +318,7 @@
|
||||||
componentCount.value = res.data.data.componentCount || 0
|
componentCount.value = res.data.data.componentCount || 0
|
||||||
// 资源属性
|
// 资源属性
|
||||||
let fuseAttrList = res.data.data.fuseAttrList || []
|
let fuseAttrList = res.data.data.fuseAttrList || []
|
||||||
// 融合关系
|
|
||||||
let fuseResourceList = res.data.data.fuseResourceList || []
|
|
||||||
let questionValue =
|
let questionValue =
|
||||||
fuseAttrList.find((v) => v.attrType === '常见问题') || {}
|
fuseAttrList.find((v) => v.attrType === '常见问题') || {}
|
||||||
let questionObj = {
|
let questionObj = {
|
||||||
|
@ -321,13 +327,42 @@
|
||||||
}
|
}
|
||||||
painPoint.value = getAttrValue(fuseAttrList, '场景痛点')
|
painPoint.value = getAttrValue(fuseAttrList, '场景痛点')
|
||||||
solution.value = getAttrValue(fuseAttrList, '解决方案')
|
solution.value = getAttrValue(fuseAttrList, '解决方案')
|
||||||
step.value = getAttrValue(fuseAttrList, '使用步骤')
|
|
||||||
|
step.value = getAttrValue(fuseAttrList, '构建步骤')
|
||||||
|
|
||||||
bgImg.value =
|
bgImg.value =
|
||||||
fuseAttrList.find((v) => v.attrType === '服务图片').attrValue || ''
|
fuseAttrList.find((v) => v.attrType === '服务图片').attrValue || ''
|
||||||
let areaObj = {
|
let areaObj = {
|
||||||
attrType: '应用领域',
|
attrType: '应用领域',
|
||||||
attrValue: '',
|
attrValue: '',
|
||||||
}
|
}
|
||||||
|
if (returnType === '典型赋能场景') {
|
||||||
|
let fuseResourceList = res.data.data.fuseAttrList || []
|
||||||
|
|
||||||
|
combineList.value.forEach((item) => {
|
||||||
|
|
||||||
|
let arr = []
|
||||||
|
let resource = fuseResourceList.filter(
|
||||||
|
(v) => v.attrType == item.title
|
||||||
|
)
|
||||||
|
|
||||||
|
// let a=resource[0].attrValue
|
||||||
|
let resourceArrList = JSON.parse(resource[0].attrValue)
|
||||||
|
if (resourceArrList.length > 0) {
|
||||||
|
|
||||||
|
arr = resourceArrList.map((res) => ({
|
||||||
|
name: res.name,
|
||||||
|
dept: res.dept,
|
||||||
|
type: res.type,
|
||||||
|
|
||||||
|
}))
|
||||||
|
item.list = arr
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// 融合关系
|
||||||
|
let fuseResourceList = res.data.data.fuseResourceList || []
|
||||||
combineList.value.forEach((item) => {
|
combineList.value.forEach((item) => {
|
||||||
let arr = []
|
let arr = []
|
||||||
let resource = fuseResourceList.filter(
|
let resource = fuseResourceList.filter(
|
||||||
|
@ -367,6 +402,9 @@
|
||||||
|
|
||||||
item.list = arr
|
item.list = arr
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
detailInfoObj.value.infoList = []
|
detailInfoObj.value.infoList = []
|
||||||
detailInfoObj.value.infoList.push(questionObj)
|
detailInfoObj.value.infoList.push(questionObj)
|
||||||
detailInfoObj.value.infoList.push(areaObj)
|
detailInfoObj.value.infoList.push(areaObj)
|
||||||
|
@ -375,10 +413,10 @@
|
||||||
message.error(err)
|
message.error(err)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
getIntegrationServicesDeatil(id)
|
getIntegrationServicesDeatil(id)
|
||||||
|
|
||||||
function handleOpenUrl(type) {
|
function handleOpenUrl(type) {
|
||||||
let obj =
|
let obj =
|
||||||
(detailInfoObj.value.fuseAttrList || []).find(
|
(detailInfoObj.value.fuseAttrList || []).find(
|
||||||
(v) => v.attrType == type
|
(v) => v.attrType == type
|
||||||
|
@ -392,36 +430,88 @@
|
||||||
'hisense_office/onlinePreview?url=' +
|
'hisense_office/onlinePreview?url=' +
|
||||||
btoa(encodeURI(url))
|
btoa(encodeURI(url))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
mybus.off('flyToView')
|
mybus.off('flyToView')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.flex-row-between {
|
.area {
|
||||||
|
padding-top: 93px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
|
||||||
|
.label-name {
|
||||||
|
font-size: 26px;
|
||||||
|
color: #212121;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.label {
|
||||||
|
padding: 0.01rem 0.1rem;
|
||||||
|
margin-right: 0.1rem;
|
||||||
|
border-radius: 0.13rem;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #fff;
|
||||||
|
background: #7294c8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label1 {
|
||||||
|
padding: 0.01rem 0.1rem;
|
||||||
|
margin-right: 0.1rem;
|
||||||
|
border-radius: 0.13rem;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #fff;
|
||||||
|
background: #c66132;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rukou {
|
||||||
|
margin-top: 24px;
|
||||||
|
background: #0058e1;
|
||||||
|
color: #ffffff;
|
||||||
|
width: 90px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 2px;
|
||||||
|
border: 1px #0058e1 solid;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.area-desc {
|
||||||
|
background: #f6f7f9;
|
||||||
|
padding: 24px;
|
||||||
|
width: 1300px;
|
||||||
|
margin-left: 343px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-row-between {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-row-start {
|
.flex-row-start {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-row-center {
|
.flex-row-center {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.IntegrationServicesDetails {
|
.IntegrationServicesDetails {
|
||||||
.fixed {
|
.fixed {
|
||||||
position: fixed !important;
|
position: fixed !important;
|
||||||
z-index: 2000;
|
z-index: 2000;
|
||||||
|
@ -429,7 +519,7 @@
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fixed2 > div:nth-of-type(3) {
|
.fixed2>div:nth-of-type(3) {
|
||||||
margin-top: 0.84rem;
|
margin-top: 0.84rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -467,9 +557,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.use-way {
|
.use-way {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
@ -512,11 +602,9 @@
|
||||||
height: 1.5rem;
|
height: 1.5rem;
|
||||||
width: 6.2rem;
|
width: 6.2rem;
|
||||||
border-radius: 0.2rem;
|
border-radius: 0.2rem;
|
||||||
background: linear-gradient(
|
background: linear-gradient(to right,
|
||||||
to right,
|
|
||||||
rgba(113, 132, 252, 0.4),
|
rgba(113, 132, 252, 0.4),
|
||||||
rgba(148, 163, 252, 0.4)
|
rgba(148, 163, 252, 0.4));
|
||||||
);
|
|
||||||
padding: 0 0.3rem;
|
padding: 0 0.3rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -547,9 +635,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.pain-point {
|
.pain-point {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
|
@ -567,6 +655,7 @@
|
||||||
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
background: url('~@/assets/home/fn/cjtd.png') no-repeat;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cjtd img {
|
.cjtd img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -583,9 +672,9 @@
|
||||||
margin: 0rem 0rem 0.1rem 0.1rem;
|
margin: 0rem 0rem 0.1rem 0.1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.solution {
|
.solution {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
|
@ -597,9 +686,9 @@
|
||||||
margin: 0.3rem;
|
margin: 0.3rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.step {
|
.step {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
|
@ -608,23 +697,92 @@
|
||||||
padding: 0.3rem;
|
padding: 0.3rem;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|
||||||
:deep(.el-step__description.is-finish) {
|
.left-process {
|
||||||
color: #333;
|
|
||||||
line-height: 0.24rem;
|
padding-left: 18px;
|
||||||
margin-top: 0.05rem;
|
padding-top: 24px;
|
||||||
|
|
||||||
|
.li1 {
|
||||||
|
list-style: none;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding-left: 20px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-step__title {
|
.borderLeft {
|
||||||
font-size: 18px;
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #e8f0fc;
|
||||||
|
position: absolute;
|
||||||
|
top: 11.225px;
|
||||||
|
bottom: 0;
|
||||||
|
left: -1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .el-step__description {
|
|
||||||
font-size: 14px;
|
.step-question {
|
||||||
}
|
color: #0058e1;
|
||||||
}
|
font-weight: bold;
|
||||||
|
font-size: 20px;
|
||||||
|
padding-top: 8px;
|
||||||
|
margin-left: 12px;
|
||||||
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability {
|
.question-son {
|
||||||
|
background: #f6f7f9;
|
||||||
|
font-size: 16px;
|
||||||
|
color: #414040;
|
||||||
|
margin-left: 12px;
|
||||||
|
line-height: 24px;
|
||||||
|
padding: 12px 0px 12px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.node {
|
||||||
|
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 22.5px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #212121;
|
||||||
|
}
|
||||||
|
|
||||||
|
.step-span {
|
||||||
|
z-index: 1;
|
||||||
|
color: #0058e1;
|
||||||
|
width: 50px;
|
||||||
|
height: 41px;
|
||||||
|
position: relative;
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-left: -42px;
|
||||||
|
padding-left: 14px;
|
||||||
|
padding-top: 6px;
|
||||||
|
float: left;
|
||||||
|
background: url('~@/assets/home/step.png') no-repeat;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.advice {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #0058e1;
|
||||||
|
opacity: 0.1;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.li1:last-child .borderLeft {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ability {
|
||||||
padding: 0.8rem 0;
|
padding: 0.8rem 0;
|
||||||
background: rgb(247, 248, 250);
|
background: rgb(247, 248, 250);
|
||||||
|
|
||||||
|
@ -667,6 +825,7 @@
|
||||||
background: url('~@/assets/home/fn/sjzy.png') no-repeat;
|
background: url('~@/assets/home/fn/sjzy.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-box {
|
.table-box {
|
||||||
height: 3.45rem;
|
height: 3.45rem;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
@ -677,8 +836,8 @@
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.data-count {
|
|
||||||
}
|
.data-count {}
|
||||||
}
|
}
|
||||||
|
|
||||||
.name-box {
|
.name-box {
|
||||||
|
@ -709,5 +868,5 @@
|
||||||
width: 50%;
|
width: 50%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|