Merge branch 'hi-ucs-dev' of http://124.222.94.39:3001/wuhongjian/hi-ucs into hi-ucs-dev

This commit is contained in:
guoyue 2022-07-15 16:44:17 +08:00
commit 16db951043
28 changed files with 584 additions and 337 deletions

View File

@ -424,7 +424,7 @@ export default {
this.submitFrom.infoList.push(obj) this.submitFrom.infoList.push(obj)
}, },
submitData () { submitData () {
console.log('编辑11111111111===============>', this.putOnTheShelfList) console.log('提交11111111111===============>', this.putOnTheShelfList)
const arr = [] const arr = []
this.putOnTheShelfList.map(item => { this.putOnTheShelfList.map(item => {
item.children.map(child => { item.children.map(child => {

View File

@ -113,10 +113,39 @@ export default {
this.options = dataList this.options = dataList
if (!this.data.note1) { if (!this.data.note1) {
this.$http.get('/sys/user/info').then(({ data: res }) => { this.$http.get('/sys/user/info').then(({ data: res }) => {
console.log(res.data)
this.data.note1 = res.data.deptId this.data.note1 = res.data.deptId
}) })
} }
}) })
} else if (this.data.name === '部门联系人') {
this.$http.get('/sys/dept/all').then(res => {
const dataList = []
res.data.data.forEach((element) => {
dataList.push(element)
})
this.options = dataList
if (!this.data.note1) {
this.$http.get('/sys/user/info').then(({ data: res }) => {
console.log(res.data)
this.data.note1 = res.data.realName || ''
})
}
})
} else if (this.data.name === '部门联系人电话') {
this.$http.get('/sys/dept/all').then(res => {
const dataList = []
res.data.data.forEach((element) => {
dataList.push(element)
})
this.options = dataList
if (!this.data.note1) {
this.$http.get('/sys/user/info').then(({ data: res }) => {
console.log(res.data)
this.data.note1 = res.data.mobile || ''
})
}
})
} }
}, },
chekBoxChange (list) { chekBoxChange (list) {

View File

@ -36,13 +36,32 @@
<div class="add">添加更多{{ configure.name }}</div> <div class="add">添加更多{{ configure.name }}</div>
<div class="form" v-for="(val, index) in configure.list" :key="'key3' + val.name + index"> <div class="form" v-for="(val, index) in configure.list" :key="'key3' + val.name + index">
<span>{{ val.name }}</span> <span>{{ val.name }}</span>
<a-input v-model:value="val.note1" :maxlength="24" :placeholder="'请填写' + val.name + ',不超过24个字符'" <!-- <a-input v-model:value="val.note1" ::maxlength="24" placeholder="'请填写' + val.name + ',不超过24个字符'"
v-if="val.type == 'input'"/> v-if="val.type == 'input'"/> -->
<template v-if="val.type == 'input2'">
<a-input
v-model:value="val.note1"
:placeholder="'请填写' + val.name"
/>
<span style="width: 2.5rem; padding-left: 0.1rem">
{{
numType == '一次性买断'
? '元'
: numType == '按调用次数'
? '元/次'
: numType == '按并发路数'
? '元/路'
: numType == '按年计费'
? '元/年'
: ''
}}
</span>
</template>
<a-textarea v-model:value="val.note1" :showCount="true" :maxlength="200" :placeholder="'请填写' + val.name" <a-textarea v-model:value="val.note1" :showCount="true" :maxlength="200" :placeholder="'请填写' + val.name"
v-else-if="val.type == 'textArea'"/> v-else-if="val.type == 'textArea'"/>
<a-input-number v-model:value="val.note1" :min="0" :max="9999" :step="0.01" string-mode <a-input-number v-model:value="val.note1" :min="0" :max="9999" :step="0.01" string-mode
:placeholder="'请填写' + val.name" v-else-if="val.type == 'number'" /> :placeholder="'请填写' + val.name" v-else-if="val.type == 'number'" />
<a-radio-group v-model:value="val.note1" :options="val.options" v-else-if="val.type == 'radio'" /> <a-radio-group v-model:value="val.note1" :options="val.options" v-else-if="val.type == 'radio'" @change="radioChange"/>
<!-- <upload :key="showKey" type="图片" btnName="上传图片" :maxCount="1" :data="val" :list="[]" tip="支持图片类型大小不超过100M" <!-- <upload :key="showKey" type="图片" btnName="上传图片" :maxCount="1" :data="val" :list="[]" tip="支持图片类型大小不超过100M"
v-else-if="val.type == 'image'"></upload> --> v-else-if="val.type == 'image'"></upload> -->
<upload :key="showKey" :child='val' limit='1' accept='.jpg,.png' v-else-if="val.type == 'image'"></upload> <upload :key="showKey" :child='val' limit='1' accept='.jpg,.png' v-else-if="val.type == 'image'"></upload>
@ -68,7 +87,8 @@ export default {
data () { data () {
return { return {
data: [], data: [],
showKey: 0 showKey: 0,
numType: '一次性买断'
} }
}, },
methods: { methods: {
@ -85,7 +105,21 @@ export default {
if (flag) { if (flag) {
const obj = {} const obj = {}
list.forEach((item) => { list.forEach((item) => {
obj[item.field] = item.note1 if (item.type === 'input2') {
obj[item.field] =
item.note1 +
(this.numType === '一次性买断'
? '元'
: this.numType === '按调用次数'
? '元/次'
: this.numType === '按并发路数'
? '元/路'
: this.numType === '按年计费'
? '元/年'
: '')
} else {
obj[item.field] = item.note1
}
}) })
this.data.push(obj) this.data.push(obj)
this.$emit('changeInfoList', { this.$emit('changeInfoList', {
@ -108,6 +142,10 @@ export default {
attrValue: JSON.stringify(this.data), attrValue: JSON.stringify(this.data),
delFlag: 0 delFlag: 0
}) })
},
radioChange (e) {
console.log(e, 'wewewe')
this.numType = e.target.value
} }
}, },
created () { created () {

View File

@ -23,8 +23,8 @@
tip="支持文件类型大小不超过100M"></upload> tip="支持文件类型大小不超过100M"></upload>
<upload @changeInfoList='changeInfoList' :title='item.name' accept='.mp4' :list="item" v-else-if="item.type == 'video'" type="视频" btnName="上传视频" :maxCount="1" :dataList="item" <upload @changeInfoList='changeInfoList' :title='item.name' accept='.mp4' :list="item" v-else-if="item.type == 'video'" type="视频" btnName="上传视频" :maxCount="1" :dataList="item"
tip="支持视频类型大小不超过100M"></upload> tip="支持视频类型大小不超过100M"></upload>
<input-select-checkbox :list="[]" v-else-if="item.type == 'text'" type="disabled" :data="item" :name="item.name" :value="typeInput"></input-select-checkbox> <input-select-checkbox :list="[]" v-else-if="item.type == 'AbilityType'" type="disabled" :data="item" :name="item.name" :value="typeInput"></input-select-checkbox>
<input-select-checkbox :list="[]" v-else-if="item.type == 'text2'" type="disabled" :data="item" :name="item.name" :value="type"></input-select-checkbox> <input-select-checkbox :list="[]" v-else-if="item.type == 'ComponentType'" type="disabled" :data="item" :name="item.name" :value="type"></input-select-checkbox>
<input-select-checkbox :list="[]" v-else-if="item.type == 'input'" type="input" :data="item" :name="item.name"></input-select-checkbox> <input-select-checkbox :list="[]" v-else-if="item.type == 'input'" type="input" :data="item" :name="item.name"></input-select-checkbox>
<input-select-checkbox :list="[]" v-else-if="item.type == 'select'" type="select" :data="item" :name="item.name" :options="item.options"></input-select-checkbox> <input-select-checkbox :list="[]" v-else-if="item.type == 'select'" type="select" :data="item" :name="item.name" :options="item.options"></input-select-checkbox>
<input-select-checkbox :list="[]" v-else-if="item.type == 'checkBox'" type="checkBox" :data="item" :name="item.name" :options="item.options"></input-select-checkbox> <input-select-checkbox :list="[]" v-else-if="item.type == 'checkBox'" type="checkBox" :data="item" :name="item.name" :options="item.options"></input-select-checkbox>
@ -106,13 +106,13 @@ export default {
field: 'type', field: 'type',
type: 'radio', type: 'radio',
options: ['一次性买断', '按调用次数', '按并发路数', '按年计费'], options: ['一次性买断', '按调用次数', '按并发路数', '按年计费'],
note1: '' note1: '一次性买断'
}, },
{ {
name: '计费标准', name: '计费标准',
field: 'price', field: 'price',
type: 'number', type: 'input2',
company: '元', // company: '',
note1: '' note1: ''
}, },
{ {

View File

@ -221,7 +221,7 @@ export default {
} }
}, },
operationType (val) { operationType (val) {
if (val !== 'all') { if (val !== 'all' && val !== '') {
this.dataForm.operationType = val this.dataForm.operationType = val
} }
} }
@ -245,6 +245,7 @@ export default {
// //
resetFunction () { resetFunction () {
this.operationType = '' //
const params = { const params = {
status: '', status: '',
creatorName: '', creatorName: '',
@ -254,10 +255,10 @@ export default {
operationType: 'all' operationType: 'all'
} }
this.value1 = '' // this.value1 = '' //
this.operationType = '' //
this.page = 1 this.page = 1
this.limit = 10 this.limit = 10
this.dataForm = params this.dataForm = params
console.log('this.dataForm', this.dataForm)
this.getDataList() // this.getDataList() //
}, },
// //

View File

@ -32,7 +32,7 @@ if (newLocation === 'qingdao') {
{ name: '能力统计', key: 'abilityStatistics' }, { name: '能力统计', key: 'abilityStatistics' },
// { name: '', key: 'developmentGuide' }, // { name: '', key: 'developmentGuide' },
{ name: '指导手册', key: 'instructionManual' }, { name: '指导手册', key: 'instructionManual' },
// { name: '', key: 'demandCenter' }, { name: '需求中心', key: 'demandCenter' },
// { name: '', key: 'personalCenter' }, // { name: '', key: 'personalCenter' },
{ name: '区市站点', key: 'mapTest' }, { name: '区市站点', key: 'mapTest' },
// { name: '', key: 'houtaiguanli' }, // { name: '', key: 'houtaiguanli' },

View File

@ -33,14 +33,14 @@ export function searchCamera(params) {
} }
export function getCameraAllOrgan(params) { export function getCameraAllOrgan(params) {
return request({ return request({
url: `/api/project/selectSubOrgan`, url: `/api/project/selectSubOrganNew`,
method: 'get', method: 'get',
params, params,
}) })
} }
export function getCameraByParentId(params) { export function getCameraByParentId(params) {
return request({ return request({
url: `/api/project/selectByParentId`, url: `/api/project/selectByParentIdNew`,
method: 'get', method: 'get',
params, params,
}) })

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-13 10:22:27 * @Date: 2022-06-13 10:22:27
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-14 09:44:38 * @LastEditTime: 2022-07-15 16:28:56
* @Description: 算法上架 * @Description: 算法上架
--> -->
<template> <template>
@ -80,6 +80,7 @@
></algorithm-deployment-use> --> ></algorithm-deployment-use> -->
</div> </div>
<div class="btn" :class="showView === '基本信息' ? 'first' : ''"> <div class="btn" :class="showView === '基本信息' ? 'first' : ''">
<button @click="close()">取消</button>
<button v-show="showView !== '基本信息'" @click="back()">上一步</button> <button v-show="showView !== '基本信息'" @click="back()">上一步</button>
<button v-show="showView === '部署与使用'" @click="preview()"> <button v-show="showView === '部署与使用'" @click="preview()">
预览 预览
@ -157,13 +158,13 @@
field: 'type', field: 'type',
type: 'radio', type: 'radio',
options: ['一次性买断', '按调用次数', '按并发路数', '按年计费'], options: ['一次性买断', '按调用次数', '按并发路数', '按年计费'],
note1: '', note1: '一次性买断',
}, },
{ {
name: '计费标准', name: '计费标准',
field: 'price', field: 'price',
type: 'number', type: 'input2',
company: '元', // company: '',
note1: '', note1: '',
}, },
{ {
@ -216,6 +217,9 @@
getUser().then((res) => { getUser().then((res) => {
dataFrom.value.deptId = res.data.data.deptId dataFrom.value.deptId = res.data.data.deptId
}) })
const close = () => {
window.close()
}
const back = () => { const back = () => {
navList.value.forEach((val, index) => { navList.value.forEach((val, index) => {
if (val.key === showView.value && index > 0) { if (val.key === showView.value && index > 0) {
@ -279,7 +283,7 @@
shangjiaapply(params).then((res3) => { shangjiaapply(params).then((res3) => {
console.log('res3', res3) console.log('res3', res3)
if (res3.data.code == 0) { if (res3.data.code == 0) {
message.success('上架成功!') message.success('上架申请提交成功,请注意查看消息通知')
window.setTimeout(() => { window.setTimeout(() => {
window.close() window.close()
submitFlag.value = true submitFlag.value = true
@ -446,8 +450,8 @@
} }
.btn { .btn {
display: flex; display: flex;
justify-content: space-between; justify-content: space-around;
padding: 10px 400px 0; padding: 10px 350px 0;
button { button {
cursor: pointer; cursor: pointer;
width: 80px; width: 80px;
@ -467,7 +471,7 @@
} }
} }
.first { .first {
justify-content: center; justify-content: space-around;
} }
} }
</style> </style>

View File

@ -237,7 +237,7 @@
shangjiaapply(params).then((res3) => { shangjiaapply(params).then((res3) => {
console.log('res3', res3) console.log('res3', res3)
if (res3.data.code == 0) { if (res3.data.code == 0) {
message.success('上架成功!') message.success('上架申请提交成功,请注意查看消息通知')
window.setTimeout(() => { window.setTimeout(() => {
window.close() window.close()
submitFlag.value = true submitFlag.value = true

View File

@ -261,7 +261,7 @@
shangjiaapply(params).then((res3) => { shangjiaapply(params).then((res3) => {
console.log('res3', res3) console.log('res3', res3)
if (res3.data.code == 0) { if (res3.data.code == 0) {
message.success('上架成功!') message.success('上架申请提交成功,请注意查看消息通知')
window.setTimeout(() => { window.setTimeout(() => {
window.close() window.close()
submitFlag.value = true submitFlag.value = true

View File

@ -261,7 +261,7 @@
shangjiaapply(params).then((res3) => { shangjiaapply(params).then((res3) => {
console.log('res3', res3) console.log('res3', res3)
if (res3.data.code == 0) { if (res3.data.code == 0) {
message.success('上架成功!') message.success('上架申请提交成功,请注意查看消息通知')
window.setTimeout(() => { window.setTimeout(() => {
window.close() window.close()
submitFlag.value = true submitFlag.value = true

View File

@ -209,7 +209,7 @@
shangjiaapply(params).then((res3) => { shangjiaapply(params).then((res3) => {
console.log('res3', res3) console.log('res3', res3)
if (res3.data.code == 0) { if (res3.data.code == 0) {
message.success('上架成功!') message.success('上架申请提交成功,请注意查看消息通知')
window.setTimeout(() => { window.setTimeout(() => {
window.close() window.close()
submitFlag.value = true submitFlag.value = true

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-17 14:11:08 * @Date: 2022-06-17 14:11:08
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-13 18:14:42 * @LastEditTime: 2022-07-15 16:21:41
* @Description: 上架 * @Description: 上架
--> -->
<template> <template>
@ -58,6 +58,25 @@
:placeholder="'请填写' + val.name + ',不超过24个字符'" :placeholder="'请填写' + val.name + ',不超过24个字符'"
v-if="val.type == 'input'" v-if="val.type == 'input'"
/> />
<template v-if="val.type == 'input2'">
<a-input
v-model:value="val.note1"
:placeholder="'请填写' + val.name"
/>
<span style="width: 0.5rem; padding-left: 0.1rem">
{{
numType == '一次性买断'
? '元'
: numType == '按调用次数'
? '元/次'
: numType == '按并发路数'
? '元/路'
: numType == '按年计费'
? '元/年'
: ''
}}
</span>
</template>
<a-textarea <a-textarea
v-model:value="val.note1" v-model:value="val.note1"
:showCount="true" :showCount="true"
@ -77,6 +96,7 @@
<a-radio-group <a-radio-group
v-model:value="val.note1" v-model:value="val.note1"
:options="val.options" :options="val.options"
@change="radioChange"
v-else-if="val.type == 'radio'" v-else-if="val.type == 'radio'"
/> />
<upload <upload
@ -91,7 +111,7 @@
></upload> ></upload>
</div> </div>
<div class="submit"> <div class="submit">
<a-button type="primary" @click="add(title.name)">提交</a-button> <a-button type="primary" @click="add(title.name)">添加</a-button>
</div> </div>
</div> </div>
</template> </template>
@ -110,13 +130,13 @@
:options="item.options" :options="item.options"
/> />
<a-input <a-input
v-else-if="item.type == 'text'" v-else-if="item.type == 'AbilityType'"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
/> />
<a-input <a-input
v-else-if="item.type == 'text2'" v-else-if="item.type == 'ComponentType'"
v-model:value="item.note1" v-model:value="item.note1"
:placeholder="'请输入' + item.name" :placeholder="'请输入' + item.name"
:disabled="true" :disabled="true"
@ -163,7 +183,7 @@
> >
编辑富文本 编辑富文本
<div <div
v-show="showText" v-if="showText"
class="fuwenbenbianjiqi" class="fuwenbenbianjiqi"
style="position: absolute; z-index: 10000" style="position: absolute; z-index: 10000"
> >
@ -179,11 +199,14 @@
:list="props.videoList" :list="props.videoList"
tip="支持视频类型大小不超过100M" tip="支持视频类型大小不超过100M"
></upload> ></upload>
<a-button v-else-if="item.type == 'dialog'" @click="sourceClick"> <a-button
v-else-if="item.type == 'AssociatedApplication'"
@click="sourceClick"
>
请选择来源应用 请选择来源应用
</a-button> </a-button>
<a-button <a-button
v-else-if="item.type == 'dialog2'" v-else-if="item.type == 'AssociatedComponents'"
@click="componentsClick" @click="componentsClick"
> >
请选择关联组件 请选择关联组件
@ -325,10 +348,17 @@
// }] // }]
}) })
// console.log('props==========>', props) // console.log('props==========>', props)
const changeAdd = () => {
console.log('子组件方法触发~')
}
const data = ref({ const data = ref({
list: [], list: [],
}) })
const showKey = ref(0) const showKey = ref(0)
const numType = ref('一次性买断')
const radioChange = (e) => {
numType.value = e.target.value
}
props.refData.children.map((item) => { props.refData.children.map((item) => {
if (item.name == '基本信息') { if (item.name == '基本信息') {
item.children.map((val) => { item.children.map((val) => {
@ -436,7 +466,21 @@
if (flag) { if (flag) {
let obj = {} let obj = {}
list.forEach((item) => { list.forEach((item) => {
obj[item.field] = item.note1 if (item.type === 'input2') {
obj[item.field] =
item.note1 +
(numType.value == '一次性买断'
? '元'
: numType.value == '按调用次数'
? '元/次'
: numType.value == '按并发路数'
? '元/路'
: numType.value == '按年计费'
? '元/年'
: '')
} else {
obj[item.field] = item.note1
}
}) })
data.value[title].push(obj) data.value[title].push(obj)
// console.log(data.value[title]) // console.log(data.value[title])
@ -581,6 +625,7 @@
}) })
}) })
</script> </script>
<style></style>
<style lang="less" scoped> <style lang="less" scoped>
.put-on-the-shelf { .put-on-the-shelf {
height: 680px; height: 680px;
@ -684,17 +729,18 @@
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center;
span:first-child { span:first-child {
width: 120px; width: 120px;
} }
:deep(.ant-input-textarea) { :deep(.ant-input-textarea) {
width: 570px; width: 520px;
} }
:deep(.ant-radio-group) { :deep(.ant-radio-group) {
width: 570px; width: 520px;
} }
:deep(.ant-input-number) { :deep(.ant-input-number) {
@ -703,7 +749,7 @@
:deep(.ant-input) { :deep(.ant-input) {
resize: none; resize: none;
width: 570px; width: 520px;
} }
.ant-btn { .ant-btn {
@ -741,7 +787,7 @@
} }
.application-Area { .application-Area {
width: 570px; width: 520px;
display: grid; display: grid;
margin-top: -5px; margin-top: -5px;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;

View File

@ -12,7 +12,10 @@
<div class="top"> <div class="top">
<div v-for="val in data" :key="val.id" class="item"> <div v-for="val in data" :key="val.id" class="item">
<div class="icon" :class="val.icon"></div> <div class="icon" :class="val.icon"></div>
<div class="title">{{ val.title }}</div> <a-tooltip>
<template #title>{{ val.title }}</template>
<div class="title">{{ val.title }}</div>
</a-tooltip>
<a-tooltip> <a-tooltip>
<template #title>{{ val.text }}</template> <template #title>{{ val.text }}</template>
<div class="text">{{ val.text }}</div> <div class="text">{{ val.text }}</div>
@ -92,6 +95,7 @@
align-items: center; align-items: center;
.item { .item {
width: 424px; width: 424px;
height: 306px;
padding: 35px; padding: 35px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -118,7 +122,11 @@
.title { .title {
font-size: 22px; font-size: 22px;
margin-top: 25px; margin-top: 25px;
width: 2.6rem;
text-align: center; text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
} }
.text { .text {
height: 78px; height: 78px;

View File

@ -12,9 +12,7 @@
<div class="content-content">{{ item.content }}</div> <div class="content-content">{{ item.content }}</div>
</a-tooltip> </a-tooltip>
<div class="content-footer"> <div class="content-footer">
<span>{{ item.unit }}</span>
<span>{{ item.value }}</span> <span>{{ item.value }}</span>
<span>{{ item.time }}</span>
</div> </div>
</div> </div>
</div> </div>
@ -40,44 +38,10 @@
// dataFrom.value = obj // dataFrom.value = obj
obj.attrValue.map((item) => { obj.attrValue.map((item) => {
let params = {} let params = {}
switch (item.type) { params = {
case '一次性买断': title: item.type,
params = { content: item.desc,
title: item.type, value: item.price,
content: item.desc,
value: item.price,
time: '元',
unit: '¥',
}
break
case '按调用次数':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/次',
unit: '¥',
}
break
case '按并发路数':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/路',
unit: '¥',
}
break
case '按年计费':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/年',
unit: '¥',
}
break
} }
dataFrom.value.push(params) dataFrom.value.push(params)
}) })
@ -97,44 +61,10 @@
// dataFrom.value = obj // dataFrom.value = obj
obj.attrValue.map((item) => { obj.attrValue.map((item) => {
let params = {} let params = {}
switch (item.type) { params = {
case '一次性买断': title: item.type,
params = { content: item.desc,
title: item.type, value: item.price,
content: item.desc,
value: item.price,
time: '元',
unit: '¥',
}
break
case '按调用次数':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/次',
unit: '¥',
}
break
case '按并发路数':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/路',
unit: '¥',
}
break
case '按年计费':
params = {
title: item.type,
content: item.desc,
value: item.price,
time: '/年',
unit: '¥',
}
break
} }
dataFrom.value.push(params) dataFrom.value.push(params)
}) })
@ -189,14 +119,6 @@
font-size: 22px; font-size: 22px;
color: #ff8b55; color: #ff8b55;
} }
span:nth-child(2) {
font-size: 32px;
color: #ff8b55;
}
span:last-child {
font-size: 22px;
color: #999999;
}
} }
} }
.content-card:hover { .content-card:hover {

View File

@ -21,12 +21,18 @@
<span class="label" v-if="props.dataList.type"> <span class="label" v-if="props.dataList.type">
{{ props.dataList.type }} {{ props.dataList.type }}
</span> </span>
<span class="label" v-if="componentType">
{{ componentType }}
</span>
<span class="label" v-if="props.dataList.shareType"> <span class="label" v-if="props.dataList.shareType">
{{ props.dataList.shareType }} {{ props.dataList.shareType }}
</span> </span>
<span class="label" v-if="props.dataList.shareCondition"> <span class="label" v-if="props.dataList.shareCondition">
{{ props.dataList.shareCondition }} {{ props.dataList.shareCondition }}
</span> </span>
<span class="label" v-if="deploymentLocation">
{{ deploymentLocation }}
</span>
</p> </p>
</div> </div>
<!-- <span class="label">免费</span> --> <!-- <span class="label">免费</span> -->
@ -71,6 +77,7 @@
}) })
const router = useRouter() const router = useRouter()
const applicationArea = ref('') const applicationArea = ref('')
const deploymentLocation = ref('') //
// //
const addShoppingCart = () => { const addShoppingCart = () => {
console.log('加入申购车==================>', props.dataList) console.log('加入申购车==================>', props.dataList)
@ -128,6 +135,13 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter((val) => val.attrType === '部署位置')[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -142,6 +156,15 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -189,8 +212,8 @@
} }
.lable-father { .lable-father {
position: absolute; position: absolute;
min-width: 3.5rem; min-width: 5.5rem;
right: -3.5rem; right: -5.5rem;
top: 0; top: 0;
} }
.label { .label {

View File

@ -1,6 +1,6 @@
<template> <template>
<!-- 使用方式 --> <!-- 使用方式 -->
<div class="usage-mode" v-if="flag"> <div class="usage-mode" v-if="true">
<div class="tltle"> <div class="tltle">
<DetalsTitle <DetalsTitle
:title="dataFrom.title" :title="dataFrom.title"
@ -12,7 +12,6 @@
<div class="left"> <div class="left">
<div class="content-left-title"> <div class="content-left-title">
<span>{{ item.title }}</span> <span>{{ item.title }}</span>
<span>{{ item.titleSon }}</span>
</div> </div>
<div class="content-left-content"> <div class="content-left-content">
<p> <p>
@ -30,33 +29,61 @@
</div> </div>
<div class="right"> <div class="right">
<div @click="technical()">技术文档</div> <div @click="technical()">技术文档</div>
<!-- <div>新手指引</div> --> <div @click="technicalNew()">新手指引</div>
</div> </div>
</div> </div>
<div class="content-right"> <div class="content-right">
<div class="content-right-title">{{ item.contact }}</div> <div class="content-right-left">
<div class="content-right-content"> <div class="content-right-title">{{ item.contact }}</div>
<p> <div class="content-right-content">
<span>{{ item.facilitator.name }}</span> <p>
<a-tooltip> <span>{{ item.facilitator.name }}</span>
<template #title>{{ item.facilitator.value }}</template> <a-tooltip>
<span>{{ item.facilitator.value }}</span> <template #title>{{ item.facilitator.value }}</template>
</a-tooltip> <span>{{ item.facilitator.value }}</span>
</p> </a-tooltip>
<p> </p>
<span>{{ item.people.name }}</span> <p>
<a-tooltip> <span>{{ item.people.name }}</span>
<template #title>{{ item.people.value }}</template> <a-tooltip>
<span>{{ item.people.value }}</span> <template #title>{{ item.people.value }}</template>
</a-tooltip> <span>{{ item.people.value }}</span>
</p> </a-tooltip>
<p> </p>
<span>{{ item.phone.name }}</span> <p>
<a-tooltip> <span>{{ item.phone.name }}</span>
<template #title>{{ item.phone.value }}</template> <a-tooltip>
<span>{{ item.phone.value }}</span> <template #title>{{ item.phone.value }}</template>
</a-tooltip> <span>{{ item.phone.value }}</span>
</p> </a-tooltip>
</p>
</div>
</div>
<div class="content-right-right">
<div class="content-right-title">{{ item.contact2 }}</div>
<div class="content-right-content">
<p>
<span>{{ item.facilitator2.name }}</span>
<a-tooltip>
<template #title>{{ item.facilitator2.value }}</template>
<span>{{ item.facilitator2.value }}</span>
</a-tooltip>
</p>
<p>
<span>{{ item.people2.name }}</span>
<a-tooltip>
<template #title>{{ item.people2.value }}</template>
<span>{{ item.people2.value }}</span>
</a-tooltip>
</p>
<p>
<span>{{ item.phone2.name }}</span>
<a-tooltip>
<template #title>{{ item.phone2.value }}</template>
<span>{{ item.phone2.value }}</span>
</a-tooltip>
</p>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -65,16 +92,15 @@
<script setup> <script setup>
import DetalsTitle from '@/views/detailsAll/components/DetalsTitle' import DetalsTitle from '@/views/detailsAll/components/DetalsTitle'
import { message } from 'ant-design-vue'
import { pinyin } from 'pinyin-pro' import { pinyin } from 'pinyin-pro'
import { ref, defineProps, watch } from 'vue' import { ref, defineProps, watch } from 'vue'
import { message } from 'ant-design-vue'
let dataFrom = ref({ let dataFrom = ref({
title: '使用方式', title: '使用方式',
englishTitle: 'USAGE', englishTitle: 'USAGE',
content: [ content: [
{ {
title: '技术对接', title: '组件地址',
titleSon: '调用接口',
link: { link: {
name: '服务接口:', name: '服务接口:',
value: '', value: '',
@ -83,16 +109,23 @@
name: '请求方式:', name: '请求方式:',
value: '', value: '',
}, },
contact: '联系厂商', linkValue: '',
facilitator: { name: '服务商:', value: '科大讯飞' }, contact: '归属部门',
people: { name: '联系人:', value: '李四' }, facilitator: { name: '归属部门:', value: '' },
people: { name: '部门联系人:', value: '' },
phone: { phone: {
name: '联系电话:', name: '联系人电话:',
value: '12345678901', value: '',
},
contact2: '服务商',
facilitator2: { name: '服务商:', value: '' },
people2: { name: '服务商联系人:', value: '' },
phone2: {
name: '联系人电话:',
value: '',
}, },
}, },
], ],
link: '',
}) })
// //
const props = defineProps({ const props = defineProps({
@ -105,6 +138,9 @@
item.attrType === '技术文档' || item.attrType === '技术文档' ||
item.attrType === '服务商' || item.attrType === '服务商' ||
item.attrType === '服务商联系人' || item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务接口' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话' item.attrType === '服务商联系电话'
)[0] )[0]
if (!obj) { if (!obj) {
@ -112,23 +148,22 @@
} else { } else {
// eslint-disable-next-line vue/no-setup-props-destructure // eslint-disable-next-line vue/no-setup-props-destructure
dataFrom.value.content[0].link.value = props.dataList.apiUrl dataFrom.value.content[0].link.value = props.dataList.apiUrl
// eslint-disable-next-line vue/no-setup-props-destructure dataFrom.value.content[0].facilitator.value = props.dataList.deptName
dataFrom.value.content[0].postMethod.value = props.dataList.apiMethodType dataFrom.value.content[0].people.value = props.dataList.deptContacts
dataFrom.value.content[0].phone.value = props.dataList.deptPhone
dataFrom.value.content[0].postMethod.value = val.apiMethodType
console.log('dataList', props.dataList) console.log('dataList', props.dataList)
props.dataList.infoList.map((item) => { props.dataList.infoList.map((item) => {
if (item.attrType === '使用方式') { if (item.attrType === '组件地址') {
dataFrom.value.content[0].titleSon = item.attrValue dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') { } else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator.value = item.attrValue || '--' dataFrom.value.content[0].facilitator2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系人') { } else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people.value = item.attrValue || '--' dataFrom.value.content[0].people2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') { } else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone.value = item.attrValue || '--' dataFrom.value.content[0].phone2.value = item.attrValue || '--'
} } else if (item.attrType === '服务接口') {
// } else if (item.attrType === '') { debugger
// dataFrom.value.link = item.attrValue || '--'
// }
else if (item.attrType === '服务接口') {
dataFrom.value.content[0].link.value = item.attrValue || '--' dataFrom.value.content[0].link.value = item.attrValue || '--'
} }
}) })
@ -143,29 +178,32 @@
item.attrType === '技术文档' || item.attrType === '技术文档' ||
item.attrType === '服务商' || item.attrType === '服务商' ||
item.attrType === '服务商联系人' || item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务接口' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话' item.attrType === '服务商联系电话'
)[0] )[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
dataFrom.value.content[0].link.value = val.apiUrl dataFrom.value.content[0].link.value = val.apiUrl
dataFrom.value.content[0].facilitator.value = val.deptName
dataFrom.value.content[0].people.value = val.deptContacts
dataFrom.value.content[0].phone.value = val.deptPhone
dataFrom.value.content[0].postMethod.value = val.apiMethodType dataFrom.value.content[0].postMethod.value = val.apiMethodType
console.log('dataList', val) console.log('dataList', val)
val.infoList.map((item) => { val.infoList.map((item) => {
if (item.attrType === '使用方式') { if (item.attrType === '组件地址') {
dataFrom.value.content[0].titleSon = item.attrValue dataFrom.value.content[0].linkValue = item.attrValue || '--'
} else if (item.attrType === '服务商') { } else if (item.attrType === '服务商') {
dataFrom.value.content[0].facilitator.value = dataFrom.value.content[0].facilitator2.value =
item.attrValue || '--' item.attrValue || '--'
} else if (item.attrType === '服务商联系人') { } else if (item.attrType === '服务商联系人') {
dataFrom.value.content[0].people.value = item.attrValue || '--' dataFrom.value.content[0].people2.value = item.attrValue || '--'
} else if (item.attrType === '服务商联系电话') { } else if (item.attrType === '服务商联系电话') {
dataFrom.value.content[0].phone.value = item.attrValue || '--' dataFrom.value.content[0].phone2.value = item.attrValue || '--'
} } else if (item.attrType === '服务接口') {
// else if (item.attrType === '') { debugger
// dataFrom.value.link = item.attrValue || '--'
// }
else if (item.attrType === '服务接口') {
dataFrom.value.content[0].link.value = item.attrValue || '--' dataFrom.value.content[0].link.value = item.attrValue || '--'
} }
}) })
@ -185,7 +223,6 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(item) => item.attrType === '技术文档' (item) => item.attrType === '技术文档'
)[0] )[0]
// console.log('dataFrom.value.link', obj.attrValue)
if (obj) { if (obj) {
window.open(window.SITE_CONFIG.frontUrl + obj.attrValue) window.open(window.SITE_CONFIG.frontUrl + obj.attrValue)
} else { } else {
@ -195,6 +232,31 @@
message.error('暂未上传技术文档') message.error('暂未上传技术文档')
} }
} }
function technicalNew() {
//
// const type = pinyin(props.dataList.type, {
// pattern: 'initial',
// }).replace(/\s*/g, '')
// //
// const id = props.dataList.id
// window.open(window.SITE_CONFIG.frontUrl + type + '/' + id + '.md', '_blank')
let obj = props.dataList.infoList.filter(
(item) => item.attrType === '使用手册'
)[0]
console.log('dataFrom.value.link', obj.attrValue)
if (obj) {
window.open(
window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' +
btoa(encodeURI(obj.attrValue))
)
} else {
message.config({
top: '100px', //
})
message.error('暂未上传使用手册')
}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@ -202,103 +264,128 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 80px 0; padding: 0.8rem 0;
.content { .content {
margin-top: 30px; margin-top: 0.3rem;
display: flex; display: flex;
.content-left { .content-left {
height: 150px; height: 1.5rem;
width: 620px; width: 6.2rem;
background: linear-gradient(to right, #7184fc, #94a3fc); background: url('~@/assets/detailsAll/business/business_usage_mode_bg.png')
border-radius: 10px; no-repeat;
margin-right: 60px; background-position: center;
box-shadow: 0px 5px 15px rgba(82, 106, 255, 0.4); background-size: 100% 100%;
border-radius: 0.1rem;
margin-right: 0.6rem;
box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 35px; padding: 0 0.35rem;
.left { .left {
.content-left-title { .content-left-title {
font-size: 26px; font-size: 0.26rem;
line-height: 26px; line-height: 0.26rem;
color: #212956; color: #212956;
margin-bottom: 20px; margin-bottom: 0.2rem;
span:first-child { span:first-child {
margin-right: 10px; margin-right: 0.1rem;
} }
} }
.content-left-content { .content-left-content {
width: 420px; width: 4.2rem;
font-size: 20px; font-size: 0.2rem;
color: rgba(33, 41, 86, 0.8); color: rgba(33, 41, 86, 0.8);
line-height: 20px; line-height: 0.2rem;
p { p {
overflow: hidden; display: -webkit-box;
text-overflow: ellipsis; margin-bottom: 0.1rem;
white-space: nowrap;
margin-bottom: 10px; span:last-of-type {
width: 298px;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
} }
} }
} }
.right { .right {
div { div {
height: 40px; height: 0.4rem;
width: 130px; width: 1.3rem;
background: #ffffff; background: #ffffff;
border-radius: 20px; border-radius: 0.2rem;
color: #526aff; color: #526aff;
font-size: 20px; font-size: 0.2rem;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
} }
div:first-child { div:first-child {
margin-bottom: 20px; margin-bottom: 0.2rem;
} }
} }
} }
.content-right { .content-right {
height: 150px; height: 1.5rem;
width: 620px; width: 6.2rem;
background: linear-gradient( background: url('~@/assets/detailsAll/business/business_usage_mode_bg.png')
to right, no-repeat;
rgba(113, 132, 252, 0.4), background-position: center;
rgba(148, 163, 252, 0.4) background-size: 100% 100%;
); border-radius: 0.1rem;
border-radius: 10px; box-shadow: 0rem 0.05rem 0.15rem rgba(82, 106, 255, 0.4);
box-shadow: 0px 5px 15px rgba(82, 106, 255, 0.4);
display: flex; display: flex;
flex-direction: column; justify-content: space-around;
justify-content: center; align-items: center;
padding: 0 30px; padding: 0 0.3rem;
.content-right-title {
font-size: 26px; .content-right-left {
line-height: 26px; border-right: 0.01rem solid #707fe0;
color: #212956; padding-right: 0.1rem;
margin-bottom: 25px; margin-right: 0.1rem;
} }
.content-right-title {
font-size: 0.26rem;
line-height: 0.26rem;
color: #212956;
margin-bottom: 0.15rem;
}
.content-right-content { .content-right-content {
display: flex; display: flex;
font-size: 18px; font-size: 0.16rem;
color: rgba(33, 41, 86, 0.8); color: rgba(33, 41, 86, 0.8);
line-height: 20px; line-height: 0.2rem;
overflow: hidden; overflow: hidden;
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
margin-bottom: 10px; flex-direction: column;
p { p {
// width: 160px; // width: 1.60rem;
height: 20px; height: 0.2rem;
overflow: hidden; display: -webkit-box;
text-overflow: ellipsis; // overflow: hidden;
margin-bottom: 0.08rem;
white-space: nowrap; white-space: nowrap;
margin-right: 15px; -webkit-line-clamp: 1;
-webkit-box-orient: vertical;
margin-right: 0.15rem;
span { span {
display: inline-block;
max-width: 1.2rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer; cursor: pointer;
} }
} }

View File

@ -21,12 +21,18 @@
<span class="label" v-if="props.dataList.type"> <span class="label" v-if="props.dataList.type">
{{ props.dataList.type }} {{ props.dataList.type }}
</span> </span>
<span class="label" v-if="componentType">
{{ componentType }}
</span>
<span class="label" v-if="props.dataList.shareType"> <span class="label" v-if="props.dataList.shareType">
{{ props.dataList.shareType }} {{ props.dataList.shareType }}
</span> </span>
<span class="label" v-if="props.dataList.shareCondition"> <span class="label" v-if="props.dataList.shareCondition">
{{ props.dataList.shareCondition }} {{ props.dataList.shareCondition }}
</span> </span>
<span class="label" v-if="deploymentLocation">
{{ deploymentLocation }}
</span>
</p> </p>
</div> </div>
<!-- <span class="label">免费</span> --> <!-- <span class="label">免费</span> -->
@ -75,6 +81,8 @@
}) })
const router = useRouter() const router = useRouter()
const businessArea = ref('') const businessArea = ref('')
const deploymentLocation = ref('') //
const componentType = ref('') //
// // // //
const addShoppingCart = () => { const addShoppingCart = () => {
console.log('加入申购车==================>', props.dataList) console.log('加入申购车==================>', props.dataList)
@ -124,14 +132,17 @@
message.success('收藏成功') message.success('收藏成功')
}) })
} }
const componentType = ref('')
if (props.dataList.infoList) { if (props.dataList.infoList) {
businessArea.value = props.dataList.infoList.filter( businessArea.value = props.dataList.infoList.filter(
(val) => val.attrType === '应用领域' (val) => val.attrType === '应用领域'
)[0].attrValue )[0].attrValue
let obj = props.dataList.infoList.filter( if (
(val) => val.attrType === '组件类型' props.dataList.infoList.filter((val) => val.attrType === '部署位置')[0]
)[0] ) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -146,6 +157,15 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -197,8 +217,8 @@
.lable-father { .lable-father {
position: absolute; position: absolute;
min-width: 3.5rem; min-width: 5.5rem;
right: -3.5rem; right: -5.5rem;
top: 0; top: 0;
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<!-- 使用方式 --> <!-- 使用方式 -->
<div class="usage-mode" v-if="flag"> <div class="usage-mode" v-if="true">
<div class="tltle"> <div class="tltle">
<DetalsTitle <DetalsTitle
:title="dataFrom.title" :title="dataFrom.title"

View File

@ -1,6 +1,6 @@
<!--使用方式--> <!--使用方式-->
<template> <template>
<div class="application-deployment-and-security" v-if="flag"> <div class="application-deployment-and-security" v-if="true">
<div class="title"> <div class="title">
<DetalsTitle <DetalsTitle
:title="dataFrom.title" :title="dataFrom.title"
@ -102,24 +102,24 @@
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
dataFrom.value.content[0].childrenContent[0].attrValue =
props.dataList.deptContacts
dataFrom.value.content[0].childrenContent[1].attrValue = dataFrom.value.content[0].childrenContent[1].attrValue =
props.dataList.deptPhone props.dataList.deptContacts
dataFrom.value.content[0].childrenContent[2].attrValue = dataFrom.value.content[0].childrenContent[2].attrValue =
props.dataList.deptPhone
dataFrom.value.content[0].childrenContent[0].attrValue =
props.dataList.deptName props.dataList.deptName
props.dataList.infoList.map((item) => { props.dataList.infoList.map((item) => {
if (item.attrType == '组件地址') { if (item.attrType == '组件地址') {
dataFrom.value.link = item.attrValue dataFrom.value.link = item.attrValue
} else if (item.attrType == '服务商联系人') { } else if (item.attrType == '服务商联系人') {
dataFrom.value.content[1].childrenContent[0].attrValue =
item.attrValue
} else if (item.attrType == '服务商联系电话') {
dataFrom.value.content[1].childrenContent[1].attrValue = dataFrom.value.content[1].childrenContent[1].attrValue =
item.attrValue item.attrValue
} else if (item.attrType == '服务商' || item.attrType == '服务商名') { } else if (item.attrType == '服务商联系电话') {
dataFrom.value.content[1].childrenContent[2].attrValue = dataFrom.value.content[1].childrenContent[2].attrValue =
item.attrValue item.attrValue
} else if (item.attrType == '服务商' || item.attrType == '服务商名') {
dataFrom.value.content[1].childrenContent[0].attrValue =
item.attrValue
} }
}) })
} }
@ -164,26 +164,26 @@
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
dataFrom.value.content[0].childrenContent[0].attrValue =
props.dataList.deptContacts
dataFrom.value.content[0].childrenContent[1].attrValue = dataFrom.value.content[0].childrenContent[1].attrValue =
props.dataList.deptPhone props.dataList.deptContacts
dataFrom.value.content[0].childrenContent[2].attrValue = dataFrom.value.content[0].childrenContent[2].attrValue =
props.dataList.deptPhone
dataFrom.value.content[0].childrenContent[0].attrValue =
props.dataList.deptName props.dataList.deptName
props.dataList.infoList.map((item) => { props.dataList.infoList.map((item) => {
if (item.attrType == '组件地址') { if (item.attrType == '组件地址') {
dataFrom.value.link = item.attrValue dataFrom.value.link = item.attrValue
} else if (item.attrType == '服务商联系人') { } else if (item.attrType == '服务商联系人') {
dataFrom.value.content[1].childrenContent[0].attrValue = dataFrom.value.content[1].childrenContent[1].attrValue =
item.attrValue item.attrValue
} else if (item.attrType == '服务商联系电话') { } else if (item.attrType == '服务商联系电话') {
dataFrom.value.content[1].childrenContent[1].attrValue = dataFrom.value.content[1].childrenContent[2].attrValue =
item.attrValue item.attrValue
} else if ( } else if (
item.attrType == '服务商' || item.attrType == '服务商' ||
item.attrType == '服务商名' item.attrType == '服务商名'
) { ) {
dataFrom.value.content[1].childrenContent[2].attrValue = dataFrom.value.content[1].childrenContent[0].attrValue =
item.attrValue item.attrValue
} }
}) })
@ -204,11 +204,11 @@
} }
.content { .content {
display: flex; display: flex;
width: 13rem; width: 14rem;
justify-content: space-between; justify-content: space-between;
.content-card { .content-card {
height: 1.8rem; height: 1.8rem;
width: 6.2rem; width: 6.6rem;
border-radius: 0.2rem; border-radius: 0.2rem;
background: linear-gradient( background: linear-gradient(
to right, to right,
@ -242,11 +242,18 @@
max-width: 2.8rem; max-width: 2.8rem;
div { div {
max-width: 2.8rem; max-width: 2.8rem;
overflow: hidden; // overflow: hidden;
text-overflow: ellipsis; // text-overflow: ellipsis;
display: -webkit-box; // display: -webkit-box;
-webkit-box-orient: vertical; // -webkit-box-orient: vertical;
-webkit-line-clamp: 1; // -webkit-line-clamp: 1;
& > span:last-child {
display: inline-block;
width: 1.19rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
} }
} }
} }

View File

@ -21,12 +21,18 @@
<span class="label" v-if="props.dataList.type"> <span class="label" v-if="props.dataList.type">
{{ props.dataList.type }} {{ props.dataList.type }}
</span> </span>
<span class="label" v-if="componentType">
{{ componentType }}
</span>
<span class="label" v-if="props.dataList.shareType"> <span class="label" v-if="props.dataList.shareType">
{{ props.dataList.shareType }} {{ props.dataList.shareType }}
</span> </span>
<span class="label" v-if="props.dataList.shareCondition"> <span class="label" v-if="props.dataList.shareCondition">
{{ props.dataList.shareCondition }} {{ props.dataList.shareCondition }}
</span> </span>
<span class="label" v-if="deploymentLocation">
{{ deploymentLocation }}
</span>
</p> </p>
</div> </div>
<!-- <span class="label">免费</span> --> <!-- <span class="label">免费</span> -->
@ -71,6 +77,7 @@
}) })
const router = useRouter() const router = useRouter()
const applicationArea = ref('') const applicationArea = ref('')
const deploymentLocation = ref('') //
// //
const addShoppingCart = () => { const addShoppingCart = () => {
console.log('加入申购车==================>', props.dataList) console.log('加入申购车==================>', props.dataList)
@ -128,6 +135,13 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter((val) => val.attrType === '部署位置')[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -142,6 +156,15 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -188,8 +211,8 @@
} }
.lable-father { .lable-father {
position: absolute; position: absolute;
min-width: 3.5rem; min-width: 5.5rem;
right: -3.5rem; right: -5.5rem;
top: 0; top: 0;
} }
.label { .label {

View File

@ -21,12 +21,18 @@
<span class="label" v-if="props.dataList.type"> <span class="label" v-if="props.dataList.type">
{{ props.dataList.type }} {{ props.dataList.type }}
</span> </span>
<span class="label" v-if="componentType">
{{ componentType }}
</span>
<span class="label" v-if="props.dataList.shareType"> <span class="label" v-if="props.dataList.shareType">
{{ props.dataList.shareType }} {{ props.dataList.shareType }}
</span> </span>
<span class="label" v-if="props.dataList.shareCondition"> <span class="label" v-if="props.dataList.shareCondition">
{{ props.dataList.shareCondition }} {{ props.dataList.shareCondition }}
</span> </span>
<span class="label" v-if="deploymentLocation">
{{ deploymentLocation }}
</span>
</p> </p>
</div> </div>
<!-- <span class="label">免费</span> --> <!-- <span class="label">免费</span> -->
@ -71,6 +77,7 @@
}) })
const router = useRouter() const router = useRouter()
const businessArea = ref('') const businessArea = ref('')
const deploymentLocation = ref('') //
// //
const addShoppingCart = () => { const addShoppingCart = () => {
console.log('加入申购车==================>', props.dataList) console.log('加入申购车==================>', props.dataList)
@ -129,6 +136,13 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(val) => val.attrType === '组件类型' (val) => val.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter((val) => val.attrType === '部署位置')[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -145,6 +159,15 @@
let obj = props.dataList.infoList.filter( let obj = props.dataList.infoList.filter(
(item) => item.attrType === '组件类型' (item) => item.attrType === '组件类型'
)[0] )[0]
if (
props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0]
) {
deploymentLocation.value = props.dataList.infoList.filter(
(val) => val.attrType === '部署位置'
)[0].attrValue
}
if (obj) { if (obj) {
componentType.value = obj.attrValue componentType.value = obj.attrValue
} }
@ -191,8 +214,8 @@
} }
.lable-father { .lable-father {
position: absolute; position: absolute;
min-width: 3.5rem; min-width: 5.5rem;
right: -3.5rem; right: -5.5rem;
top: 0; top: 0;
} }
.label { .label {

View File

@ -1,6 +1,6 @@
<template> <template>
<!-- 使用方式 --> <!-- 使用方式 -->
<div class="usage-mode" v-if="flag"> <div class="usage-mode" v-if="true">
<div class="tltle"> <div class="tltle">
<DetalsTitle <DetalsTitle
:title="dataFrom.title" :title="dataFrom.title"

View File

@ -63,13 +63,18 @@
<div class="mynotice" v-show="mynoticeFlag"> <div class="mynotice" v-show="mynoticeFlag">
<a-list item-layout="horizontal" :data-source="mynoticeData"> <a-list item-layout="horizontal" :data-source="mynoticeData">
<template #renderItem="{ item }"> <template #renderItem="{ item }">
<a-list-item> <a-tooltip placement="left">
<a-list-item-meta :description="item.senderDate"> <template #title>
<template #title> <span>{{ item.content }}</span>
<a>{{ item.content }}</a> </template>
</template> <a-list-item>
</a-list-item-meta> <a-list-item-meta :description="item.senderDate">
</a-list-item> <template #title>
<a>{{ item.content }}</a>
</template>
</a-list-item-meta>
</a-list-item>
</a-tooltip>
</template> </template>
</a-list> </a-list>
<div class="bottom" @click="goToView()">查看更多</div> <div class="bottom" @click="goToView()">查看更多</div>

View File

@ -168,6 +168,7 @@
<div <div
v-if=" v-if="
selectCardsname !== '应用资源' && selectCardsname !== '应用资源' &&
selectCardsname !== '数据资源' &&
selectCardsname !== '融合服务' selectCardsname !== '融合服务'
" "
> >

View File

@ -11,6 +11,7 @@
:class="item.show ? 'topSelect' : ''" :class="item.show ? 'topSelect' : ''"
> >
{{ item.name }} {{ item.name }}
({{ item.channelCount }})
<DownOutlined v-show="!item.show" /> <DownOutlined v-show="!item.show" />
<UpOutlined v-show="item.show" /> <UpOutlined v-show="item.show" />
</div> </div>
@ -39,9 +40,7 @@
fill="#0058e1" fill="#0058e1"
></path> ></path>
</svg> </svg>
<span class="name"> <span class="name">{{ val.name }}({{ val.channelCount }})</span>
{{ val.name }}
</span>
</div> </div>
<span v-if="item.children.length < 0">{{ val.total }}</span> <span v-if="item.children.length < 0">{{ val.total }}</span>
<span v-else> <span v-else>
@ -55,7 +54,7 @@
:key="child.id" :key="child.id"
class="child" class="child"
:class="selectId == child.id ? 'select2' : ''" :class="selectId == child.id ? 'select2' : ''"
@click="onSelect(item, val, child)" @click="onSelect(item, child, child)"
> >
<div> <div>
<svg <svg
@ -79,7 +78,7 @@
{{ child.name }} {{ child.name }}
</span> </span>
</div> </div>
<span>{{ child.total }}</span> <span>{{ child.channelCount }}</span>
</div> </div>
</div> </div>
</div> </div>
@ -122,7 +121,6 @@
if (select === '123') { if (select === '123') {
select = '' select = ''
} }
// debugger
console.log( console.log(
'获取url中的select=====================>', '获取url中的select=====================>',
router.currentRoute.value.query.select router.currentRoute.value.query.select
@ -242,6 +240,7 @@
// } // }
const selectId = ref('') const selectId = ref('')
const onSelect = (item, val, child) => { const onSelect = (item, val, child) => {
debugger
console.log('item, val, child', child) console.log('item, val, child', child)
mybus.emit('getCameraByParentId', val.id) mybus.emit('getCameraByParentId', val.id)
mybus.emit('getListByParentId', val.id) mybus.emit('getListByParentId', val.id)

View File

@ -414,11 +414,14 @@
// } // }
const getCamera = () => { const getCamera = () => {
console.log('初始化调用') console.log('初始化调用')
getCameraByParentId(mapSearchParam.value).then((res) => { console.log('不选左侧树的时候不调用接口', mapSearchParam.value)
console.log('RRRRRRRRRR', res.data.data) if (mapSearchParam.value.parentId) {
dataSource.value = res.data.data getCameraByParentId(mapSearchParam.value).then((res) => {
pagination.value.total = res.data.count console.log('RRRRRRRRRR', res.data.data)
}) dataSource.value = res.data.data
pagination.value.total = res.data.count
})
}
} }
// //
const addShoppingCart = () => { const addShoppingCart = () => {

View File

@ -83,10 +83,7 @@
</div> --> </div> -->
<div class="content-body-content"> <div class="content-body-content">
<p class="content-body-content-son"> <p class="content-body-content-son">
审核结果{{ 审核结果{{ item.ended ? '审核完成' : '审核中' }}
// item.ended ? '' : item.backToFirst ? '' : ''
item.approveStatus || item.resourceStatusTip || '--'
}}
</p> </p>
</div> </div>
<!-- <div class="content-body-content" v-if="item.currentTaskList"> <!-- <div class="content-body-content" v-if="item.currentTaskList">
@ -344,6 +341,7 @@
let tabIndex = ref(0) let tabIndex = ref(0)
let typeIndex = ref(0) let typeIndex = ref(0)
const videoVisible = ref(false) const videoVisible = ref(false)
const numFlag = ref(true)
const columns = ref([ const columns = ref([
{ {
title: '摄像头名称', title: '摄像头名称',
@ -374,6 +372,7 @@
} }
// //
const changeType = (item, index) => { const changeType = (item, index) => {
numFlag.value = true
num.value = [] num.value = []
showType.value = '' showType.value = ''
console.log(item, index) console.log(item, index)
@ -499,48 +498,54 @@
unfinished: 0, unfinished: 0,
}) })
const initNum = () => { const initNum = () => {
num.value = [] if (numFlag.value) {
getMyProcessInstancePage({ num.value = []
page: 1, getMyProcessInstancePage({
limit: 4, page: 1,
ended: 'false', limit: 4,
processDefinitionKey: processDefinitionKey.value, ended: 'false',
}).then((res) => { processDefinitionKey: processDefinitionKey.value,
if (res.data.code == 0) { }).then((res) => {
num.value.unfinished = res.data.data.total if (res.data.code == 0) {
getMyProcessInstancePage({ num.value.unfinished = res.data.data.total
page: 1, getMyProcessInstancePage({
limit: 4, page: 1,
ended: 'true', limit: 4,
processDefinitionKey: processDefinitionKey.value, ended: 'true',
}).then((res) => { processDefinitionKey: processDefinitionKey.value,
if (res.data.code == 0) { }).then((res) => {
num.value.finished = res.data.data.total if (res.data.code == 0) {
} num.value.finished = res.data.data.total
}) numFlag.value = false
} }
}) })
}
})
}
} }
const initNum2 = () => { const initNum2 = () => {
num.value = [] if (numFlag.value) {
getTabilityapplication({ num.value = []
page: 1, getTabilityapplication({
limit: 4, page: 1,
ended: 'false', limit: 4,
}).then((res) => { ended: 'false',
if (res.data.code == 0) { }).then((res) => {
num.value.unfinished = res.data.data.total if (res.data.code == 0) {
getTabilityapplication({ num.value.unfinished = res.data.data.total
page: 1, getTabilityapplication({
limit: 4, page: 1,
ended: 'true', limit: 4,
}).then((res) => { ended: 'true',
if (res.data.code == 0) { }).then((res) => {
num.value.finished = res.data.data.total if (res.data.code == 0) {
} num.value.finished = res.data.data.total
}) numFlag.value = false
} }
}) })
}
})
}
} }
// initNum() // initNum()
const total = ref('') const total = ref('')
@ -564,6 +569,9 @@
ended: ended.value, ended: ended.value,
// name: name.value, // name: name.value,
} }
if (ended.value === '') {
delete params.ended
}
if (typeIndex.value == 0) { if (typeIndex.value == 0) {
getTabilityapplication(params).then((res) => { getTabilityapplication(params).then((res) => {
contentList.data = [] contentList.data = []