This commit is contained in:
guoyue 2022-07-22 16:09:16 +08:00
commit 2bcc93b0d6
30 changed files with 1338 additions and 613 deletions

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-04-11 10:11:40 * @Date: 2022-04-11 10:11:40
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-15 18:41:00 * @LastEditTime: 2022-07-21 15:03:51
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!DOCTYPE html> <!DOCTYPE html>
@ -44,8 +44,8 @@
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.166:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://15.2.21.166:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://124.222.94.39:8888/renren-admin';
// window.SITE_CONFIG['apiURL'] = 'http://10.16.5.35:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://10.16.5.35:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin'; window.SITE_CONFIG['apiURL'] = 'http://15.2.21.236:8888/renren-admin';
window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.238:9796/'; window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.236:9796/';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.23.141:8000/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://15.2.23.141:8000/renren-admin';
// WebSocket地址 // WebSocket地址
window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket'; window.SITE_CONFIG['socketURL'] ='ws://localhost:8080/renren-admin/websocket';

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -46,12 +46,11 @@
</el-form> </el-form>
<el-table <el-table
v-loading="dataListLoading" v-loading="dataListLoading"
v-if="dataList[0].infoList"
:data="dataList" :data="dataList"
:height="qp ? '650px' : '650px'"
border border
@selection-change="dataListSelectionChangeHandle" @selection-change="dataListSelectionChangeHandle"
style="width: 100%" style="width: 100%"
:height="qp ? '650px' : '650px'"
> >
<el-table-column <el-table-column
type="selection" type="selection"
@ -75,6 +74,7 @@
header-align="center" header-align="center"
align="center" align="center"
></af-table-column> ></af-table-column>
<template v-if="dataList[0] && dataList[0].infoList">
<af-table-column <af-table-column
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
width="300" width="300"
@ -88,6 +88,7 @@
{{ findValue(scope.row.infoList, item.attrType) }} {{ findValue(scope.row.infoList, item.attrType) }}
</template> </template>
</af-table-column> </af-table-column>
</template>
<el-table-column <el-table-column
:label="$t('handle')" :label="$t('handle')"
fixed="right" fixed="right"

View File

@ -66,19 +66,20 @@
header-align="center" header-align="center"
align="center" align="center"
></el-table-column> ></el-table-column>
<template v-if="dataList[0] && dataList[0].infoList">
<el-table-column <el-table-column
v-for="(item, index) in dataList[0].infoList" v-for="(item, index) in dataList[0].infoList"
:key="index" :key="index"
:label="item.attrType" :label="item.attrType"
header-align="center" header-align="center"
align="center" align="center"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ findValue(scope.row.infoList, item.attrType) }} {{ findValue(scope.row.infoList, item.attrType) }}
</template> </template>
</el-table-column> </el-table-column>
</template>
<el-table-column <el-table-column
:label="$t('handle')" :label="$t('handle')"
fixed="right" fixed="right"

View File

@ -0,0 +1,530 @@
<!-- 能力下架审批 -->
<template>
<div class="Ability-to-take-off-the-shelf-approval">
<div class="Ability-to-take-off-the-shelf-approval-title">能力下架审批</div>
<div class="basic-information">
<div class="basic-information-title">
<span></span><span>基本信息</span>
</div>
<div class="basic-information-content">
<p>
<span class="text">
能力申请标题<span> {{ dataForm.name || '--' }}</span></span
>
<span class="text"
>下架单号<span>{{ dataForm.applyNumber || '--' }}</span></span
>
</p>
<p>
<span class="text"
>申请人<span>
{{ dataForm.undercarriageUserName || '--' }}</span
></span
>
<span class="text"
>电话<span>{{ dataForm.deptPhone || '--' }}</span></span
>
<span class="text"
>单位<span>{{ dataForm.deptName || deptName }}</span></span
>
</p>
<p v-if="dataForm.enclosure" class="accessory">
<span>
申请附件<span>
{{ dataForm.enclosure || '--'
}}<button @click="downloadFile2(dataForm.enclosure)">
预览
</button></span
></span
>
</p>
</div>
</div>
<div class="Ability-to-apply-for">
<div class="Ability-to-apply-for-title">
<span></span><span>申请能力</span>
</div>
<div class="Ability-to-apply-for-content">
<div class="data-list">
<div class="data-list-left"></div>
<div class="data-list-right">
<div class="data-list-right-titleAndDescription">
<div class="data-list-right-title">
<div class="title-left">
<span>{{ dataForm.name }}</span>
<span>{{ dataForm.type }}</span>
</div>
<div class="title-right">
<span>能力使用状态</span>
<span v-if="dataList.total > 0">正在被使用</span>
<span v-else>未使用</span>
</div>
</div>
<div class="data-list-right-description">
{{ dataForm.name }}{{ dataForm.description }}
</div>
</div>
<div class="data-list-right-table">
<div class="data-list-right-table-title">
正在使用应用数{{ dataList.total }}
</div>
<div class="data-list-right-table-list">
<div class="data-list-right-table-list-tab">
<span
v-for="(item, index) in datalistrighttablelist"
:key="`data-list-right-table-list-tab-${index}`"
>
{{ item }}
</span>
</div>
<div
class="data-list-right-table-list-content"
v-if="dataList.total > 0"
>
<div
v-for="(item, index) in dataList.list"
:key="`data-list-right-table-list-content-${index}`"
>
<span>{{ item.applicationSystem }}</span>
<span>{{ item.unit }}</span>
<span>{{ item.user }}</span>
<span>{{ item.phone }}</span>
</div>
</div>
<div v-else class="zanwu">暂无数据</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="agreeOr" v-if="this.dataForm.taskId">
<div>
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
<el-radio-button label="同意" class="blueAll" @click="showDialog('同意')">同意</el-radio-button>
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
</el-radio-group> -->
<el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('拒绝')"
>拒绝</el-button
>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
</div>
</div>
<!-- 流程详情 -->
<ren-process-detail></ren-process-detail>
<el-dialog
title="审批意见"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button>
<el-button
type="primary"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
> </el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
//
import processModule from '@/mixins/process-module'
import RenProcessDetail from '@/components/ren-process-detail/src/ren-process-detail'
import debounce from 'lodash/debounce'
import qs from 'qs'
export default {
components: { RenProcessDetail },
props: {},
mixins: [processModule],
data () {
return {
dialogVisible: false,
dialogType: '',
input: '',
visible: true,
showKey: 0,
dataForm: [],
deptName: '',
dataList: {},
datalistrighttablelist: [
'赋能应用名称',
'应用归属部门',
'部门联系人',
'联系人电话'
]
}
},
watch: {},
computed: {},
methods: {
init () {
this.getInfo(this.$router.currentRoute.params.businessKey)
},
getInfo (id) {
this.$http.get('/resource/' + id).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
console.log('this.dataForm', res.data)
this.dataForm = res.data
this.deptIdQuery()
this.AbilityToPullDownPages()
})
},
deptIdQuery () {
this.$http
.get(`/sys/dept/${this.dataForm.deptId}`)
.then(({ data: res }) => {
this.deptName = res.data.name
console.log('dataFrom', this.deptName)
})
},
AbilityToPullDownPages () {
this.$http
.get(
'/processForm/tabilityapplication/in_use_page?resourceId=' +
this.dataForm.id
)
.then((res) => {
this.dataList = res.data.data
})
},
showDialog (title) {
this.dialogVisible = true
this.dialogType = title
},
downloadFile2 (url) {
console.log(window.SITE_CONFIG.previewUrl)
window.open(
window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' +
btoa(encodeURI(url))
)
},
handleClose (done) {
this.$confirm('确认关闭?')
.then((_) => {
this.input = ''
done()
})
.catch((_) => {})
},
handleClose2 () {
this.dialogVisible = false
this.input = ''
},
// 退
agreeOrNot: debounce(
function (data) {
this.dataForm.taskId = this.$route.params.taskId
if (this.dialogType === '同意') {
console.log('this.dataForm', this.dataForm)
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
console.log(params)
this.$http
.post('/act/task/complete?' + params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
.catch(() => {})
} else if (this.dialogType === '拒绝') {
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
})
this.$http
.post('/act/task/backToFirst?', params)
.then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
}
this.tabRemoveHandle(data)
// this.getDataList(data)
},
1000,
{ leading: true, trailing: false }
),
tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') {
return false
}
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(
(item) => item.name !== tabName
)
if (this.$store.state.contentTabs.length <= 0) {
this.$store.state.sidebarMenuActiveName =
this.$store.state.contentTabsActiveName = 'home'
return false
}
// tab
if (tabName === this.$store.state.contentTabsActiveName) {
const tab =
this.$store.state.contentTabs[
this.$store.state.contentTabs.length - 1
]
this.$router.push({
name: /^iframe_.+/.test(tab.name) ? 'iframe' : tab.name,
params: { ...tab.params },
query: { ...tab.query }
})
}
},
//
startProcessErrorCallback (data) {
console.log(data)
},
//
taskHandleErrorCallback (data) {}
},
created () {
this.dataForm.taskId = this.$route.params.taskId
this.init()
},
mounted () {}
}
</script>
<style lang="scss" scoped>
.Ability-to-take-off-the-shelf-approval {
background: #fff;
padding: 20px;
.Ability-to-take-off-the-shelf-approval-title {
font-weight: 600;
margin-bottom: 20px;
font-size: 18px;
}
.basic-information {
margin-left: 40px;
margin-bottom: 40px;
.basic-information-title {
display: flex;
align-items: center;
font-size: 16px;
margin-bottom: 10px;
span:first-child {
display: inline-block;
height: 20px;
width: 5px;
background: #0087ff;
margin-right: 5px;
}
}
.basic-information-content {
background: rgba(244, 245, 248, 0.8);
padding: 24px;
margin-left: 10px;
p {
width: 100%;
display: grid;
grid-template-columns: repeat(3, 33%);
color: #212121;
font-size: 14px;
span {
display: inline-block;
margin-left: 8px;
line-height: 32px;
span {
font-weight: bold;
}
}
.text {
width: 500px;
}
}
.accessory {
margin-top: 16px;
width: 100%;
span {
display: flex;
span {
padding: 0 12px;
height: 32px;
background: rgba(232, 234, 239, 1);
border-radius: 2px;
button {
background: unset;
border: 0;
color: #0558e1;
font-size: 14px;
}
}
}
}
}
}
.Ability-to-apply-for {
margin-left: 40px;
.Ability-to-apply-for-title {
display: flex;
align-items: center;
font-size: 16px;
margin-bottom: 10px;
border-bottom: 1px #dddee1 solid;
padding-bottom: 10px;
span:first-child {
display: inline-block;
height: 20px;
width: 5px;
background: #0087ff;
margin-right: 5px;
}
}
.Ability-to-apply-for-content {
.data-list {
display: flex;
border-bottom: 1px solid #dddee1;
margin-bottom: 10px;
.data-list-left {
width: 80px;
height: 110px;
background: url('~@/assets/img/Capabilitydiagram.png') no-repeat;
background-size: 80px 80px;
background-position: center;
margin-left: 10px;
padding-bottom: 30px;
}
.data-list-right {
width: calc(100% - 83px);
margin-left: 10px;
padding-bottom: 20px;
border-left: 1px solid #dddee1;
font-size: 18px;
color: #000000;
.data-list-right-titleAndDescription {
padding-left: 10px;
padding-right: 20px;
border-bottom: 1px solid #dddee1;
padding-bottom: 10px;
.data-list-right-title {
display: flex;
justify-content: space-between;
margin-bottom: 0.2rem;
.title-left {
span:first-child {
font-weight: 600;
}
span:last-child {
font-size: 14px;
display: inline-block;
margin-left: 8px;
padding: 0 5px;
border-radius: 30px;
background: #00b8e6;
color: #fff;
}
}
}
}
.data-list-right-description {
margin: 10px 0;
font-size: 16px;
}
.data-list-right-table {
.data-list-right-table-title {
margin-left: 10px;
margin-top: 20px;
margin-bottom: 20px;
font-size: 14px;
display: inline-block;
margin-left: 8px;
padding: 0 5px;
border-radius: 30px;
background: #00b8e6;
color: #fff;
}
.data-list-right-table-list {
padding: 0 5px;
.data-list-right-table-list-tab {
display: grid;
grid-template-columns: repeat(4, 25%);
background: rgba(191, 191, 191, 0.1);
span {
display: inline-block;
text-align: center;
padding: 5px 0;
}
}
.data-list-right-table-list-content {
& > div {
display: grid;
grid-template-columns: repeat(4, 25%);
span {
display: inline-block;
text-align: center;
padding: 5px 0;
}
}
div:nth-child(even) {
background: rgba(191, 191, 191, 0.1);
}
div:nth-child(odd) {
span {
padding: 20px 0;
}
}
}
.zanwu {
margin-top: 20px;
text-align: center;
}
}
}
}
}
}
}
.agreeOr {
& > div {
text-align: right;
padding-right: 40px;
margin: 20px 0;
}
}
}
</style>

View File

@ -176,29 +176,30 @@ export default {
itemViewSon.children.map((itemSon, indexSon) => { itemViewSon.children.map((itemSon, indexSon) => {
// console.log('itemSon', itemSon) // console.log('itemSon', itemSon)
if (itemSon.name.indexOf('描述') != -1) { if (itemSon.name.indexOf('描述') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.description ].note1 = this.dataForm.description
} else if (itemSon.name.indexOf('名称') != -1) { } else if (itemSon.name.indexOf('名称') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.name ].note1 = this.dataForm.name
} else if (itemSon.name.indexOf('能力类型') != -1) { } else if (itemSon.name.indexOf('能力类型') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.type ].note1 = this.dataForm.type
} else if (itemSon.name === '部门联系人') {
console.log('itemSon.name', itemSon.name)
this.dataView.children[indexView].children[indexViewSon].children[
indexSon
].note1 = this.dataForm.deptContacts
} else if (itemSon.name.indexOf('属部门') != -1) { } else if (itemSon.name.indexOf('属部门') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.unit ].note1 = this.unit
} else if (itemSon.name.indexOf('共享条件') != -1) { } else if (itemSon.name === '部门联系人电话') {
this.dataView.children[indexView].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexViewSon indexSon
].children[indexSon].note1 = this.dataForm.shareCondition ].note1 = this.dataForm.deptPhone
} else if (itemSon.name.indexOf('共享类型') != -1) {
this.dataView.children[indexView].children[
indexViewSon
].children[indexSon].note1 = this.dataForm.shareType
} else if ( } else if (
itemSon.name === '关联组件信息' && itemSon.name === '关联组件信息' &&
item.attrType === '关联组件信息' item.attrType === '关联组件信息'
@ -247,39 +248,40 @@ export default {
itemViewSon.children.map((itemSon, indexSon) => { itemViewSon.children.map((itemSon, indexSon) => {
console.log('itemSon', itemSon) console.log('itemSon', itemSon)
if (itemSon.name.indexOf('描述') != -1) { if (itemSon.name.indexOf('描述') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.description ].note1 = this.dataForm.description
} else if (itemSon.name.indexOf('名称') != -1) { } else if (itemSon.name.indexOf('名称') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.name ].note1 = this.dataForm.name
} else if (itemSon.name.indexOf('共享条件') != -1) { } else if (itemSon.name.indexOf('共享条件') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.shareCondition ].note1 = this.dataForm.shareCondition
} else if (itemSon.name.indexOf('共享方式') != -1) { } else if (itemSon.name.indexOf('共享方式') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.shareMode ].note1 = this.dataForm.shareMode
} else if (itemSon.name.indexOf('共享类型') != -1) { } else if (itemSon.name.indexOf('共享类型') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.shareType ].note1 = this.dataForm.shareType
} else if (itemSon.name.indexOf('部门联系人') != -1) { } else if (itemSon.name === '部门联系人') {
this.dataView.children[indexView].children[0].children[ console.log('itemSon.name', itemSon.name)
this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.deptContacts ].note1 = this.dataForm.deptContacts
} else if (itemSon.name.indexOf('属部门') != -1) { } else if (itemSon.name.indexOf('属部门') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.unit ].note1 = this.unit
} else if (itemSon.name.indexOf('部门联系人电话') != -1) { } else if (itemSon.name === '部门联系人电话') {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.deptPhone ].note1 = this.dataForm.deptPhone
} else if (itemSon.name.indexOf('接口请求方式') != -1) { } else if (itemSon.name.indexOf('接口请求方式') != -1) {
this.dataView.children[indexView].children[0].children[ this.dataView.children[indexView].children[indexViewSon].children[
indexSon indexSon
].note1 = this.dataForm.apiMethodType ].note1 = this.dataForm.apiMethodType
} else if ( } else if (
@ -403,7 +405,7 @@ export default {
color: #333333; color: #333333;
font-size: 22px; font-size: 22px;
margin-bottom: 20px; margin-bottom: 20px;
background: url('~@/assets/img/sj-jx.png') no-repeat; background: url("~@/assets/img/sj-jx.png") no-repeat;
background-position-x: 15px; background-position-x: 15px;
} }
.multipleAdditionsClass { .multipleAdditionsClass {
@ -417,6 +419,7 @@ export default {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 10px; padding: 10px;
overflow: hidden;
& > div:first-child { & > div:first-child {
margin-bottom: 10px; margin-bottom: 10px;
font-weight: bold; font-weight: bold;
@ -445,6 +448,14 @@ export default {
align-items: center; align-items: center;
padding: 10px; padding: 10px;
position: relative; position: relative;
& > div {
-webkit-line-clamp: 5;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
word-break: break-all;
}
& > div:first-child { & > div:first-child {
margin-bottom: 10px; margin-bottom: 10px;
font-weight: bold; font-weight: bold;

View File

@ -33,11 +33,13 @@
ref="renProcessMultiple" ref="renProcessMultiple"
></ren-process-multiple> --> ></ren-process-multiple> -->
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr"> <div class="agreeOr" v-if="taskId">
<h3>审批</h3> <h3>审批</h3>
<div> <div>
<el-button type="primary" @click="showDialog('同意')">同意</el-button> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('拒绝')">拒绝</el-button> <el-button type="danger" plain @click="showDialog('拒绝')"
>拒绝</el-button
>
<!-- <el-radio-group v-model="agreeOrList" style="width: 230px"> <!-- <el-radio-group v-model="agreeOrList" style="width: 230px">
<el-radio-button label="同意" class="blueAll">同意</el-radio-button> <el-radio-button label="同意" class="blueAll">同意</el-radio-button>
<el-radio-button label="退回" class="redAll">退回</el-radio-button> <el-radio-button label="退回" class="redAll">退回</el-radio-button>
@ -59,15 +61,22 @@
> --> > -->
</div> </div>
</div> </div>
<!-- 流程详情 -->
<ren-process-detail></ren-process-detail>
<el-dialog <el-dialog
title="审批意见" title="审批意见"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="30%"
:before-close="handleClose"> :before-close="handleClose"
>
<el-input v-model="input" placeholder="请输入审批意见"></el-input> <el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button> <el-button @click="handleClose2"> </el-button>
<el-button type="primary" @click="agreeOrNot()"> </el-button> <el-button
type="primary"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -120,6 +129,7 @@ export default {
// KEY // KEY
console.log('params=================>', this.$route, this.$route.params) console.log('params=================>', this.$route, this.$route.params)
this.taskId = this.$route.params.taskId this.taskId = this.$route.params.taskId
this.dataForm.taskId = this.$route.params.taskId
this.init() this.init()
console.log('fromList', this.$router.currentRoute.params.businessKey) console.log('fromList', this.$router.currentRoute.params.businessKey)
// this.dataForm = this.$router.currentRoute.params.params.params.resourceDTO // this.dataForm = this.$router.currentRoute.params.params.params.resourceDTO
@ -157,11 +167,11 @@ export default {
}, },
handleClose (done) { handleClose (done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then(_ => { .then((_) => {
this.input = '' this.input = ''
done() done()
}) })
.catch(_ => {}) .catch((_) => {})
}, },
handleClose2 () { handleClose2 () {
this.dialogVisible = false this.dialogVisible = false
@ -185,61 +195,73 @@ export default {
}) })
}, },
// 退 // 退
agreeOrNot: debounce(function () { agreeOrNot: debounce(
if (this.dialogType === '同意') { function (data) {
console.log('this.dataForm', this.dataForm) if (this.dialogType === '同意') {
const params = qs.stringify({ console.log('this.dataForm', this.dataForm)
taskId: this.dataForm.taskId, const params = qs.stringify({
comment: this.input taskId: this.taskId,
}) comment: this.input
console.log(params)
this.$http.post('/act/task/complete?' + params).then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
}) })
}).catch(() => {}) console.log(params)
} else if (this.dialogType === '拒绝') { this.$http
const params = qs.stringify({ .post('/act/task/complete?' + params)
taskId: this.dataForm.taskId, .then(({ data: res }) => {
comment: this.input if (res.code !== 0) {
}) this.$message.error(res.msg)
this.$http.post('/act/task/backToFirst?', params).then(({ data: res }) => { if (this.callbacks.taskHandleErrorCallback) {
if (res.code !== 0) { this.callbacks.taskHandleErrorCallback(res)
this.$message.error(res.msg) }
if (this.callbacks.taskHandleErrorCallback) { return
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
} }
} this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
this.input = ''
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
.catch(() => {})
} else if (this.dialogType === '拒绝') {
const params = qs.stringify({
taskId: this.taskId,
comment: this.input
}) })
}) this.$http
} .post('/act/task/endProcess?', params)
}, 1000, { leading: true, trailing: false }), .then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
}
this.tabRemoveHandle(data)
},
1000,
{ leading: true, trailing: false }
),
tabRemoveHandle (tabName) { tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') { if (tabName === 'home') {

View File

@ -2,54 +2,82 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-29 15:59:51 * @Date: 2022-06-29 15:59:51
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-21 10:35:13 * @LastEditTime: 2022-07-21 16:41:09
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!-- 流程业务表单 --> <!-- 流程业务表单 -->
<template> <template>
<el-card shadow="never" class="aui-card--fill" :key='showKey'> <el-card shadow="never" class="aui-card--fill" :key="showKey">
<!-- 申请人详情 --> <!-- 申请人详情 -->
<div> <div>
<h3>申请人信息</h3> <h3>申请人信息</h3>
<div class="big-BOX"> <div class="big-BOX">
<p> <p>
<span class="text">申请人<span> {{dataForm.content.user || '--'}}</span></span> <span class="text"
<span class="text">电话<span>{{dataForm.content.phone || '--'}}</span></span> >申请人<span> {{ dataForm.content.user || '--' }}</span></span
<span class="text">单位<span>{{dataForm.content.unit || '--'}}</span></span> >
</p> <span class="text"
<p> >电话<span>{{ dataForm.content.phone || '--' }}</span></span
<span class="text"> 能力申请标题<span> {{dataForm.content.title|| '--'}}</span></span> >
<span class="text">应用系统<span>{{dataForm.content.applicationSystem || '--'}}</span></span> <span class="text"
<span class="text">应用场景<span> {{dataForm.content.applicationSceneStr || '--'}}</span></span> >单位<span>{{ dataForm.content.unit || '--' }}</span></span
</p> >
<p> </p>
<span> 能力应用期望效果<span> {{dataForm.content.effectWish|| '--'}}</span></span> <p>
</p> <span class="text">
<p v-if="dataForm.content.enclosure"> 能力申请标题<span>
<span> 申请附件<span> {{dataForm.content.enclosure|| '--'}}<button @click="downloadFile2(dataForm.content.enclosure)">预览</button></span></span> {{ dataForm.content.title || '--' }}</span
></span
</p> >
<span class="text"
>应用系统<span>{{
dataForm.content.applicationSystem || '--'
}}</span></span
>
<span class="text"
>应用场景<span>
{{ dataForm.content.applicationSceneStr || '--' }}</span
></span
>
</p>
<p>
<span>
能力应用期望效果<span>
{{ dataForm.content.effectWish || '--' }}</span
></span
>
</p>
<p v-if="dataForm.content.enclosure">
<span>
申请附件<span>
{{ dataForm.content.enclosure || '--'
}}<button @click="downloadFile2(dataForm.content.enclosure)">
预览
</button></span
></span
>
</p>
</div>
</div> </div>
</div>
<!-- 申请能力 --> <!-- 申请能力 -->
<div class="AbilityApply"> <div class="AbilityApply">
<h3>申请能力</h3> <h3>申请能力</h3>
<ul v-for="item in dataList" :key="item.id"> <ul v-for="item in dataList" :key="item.id">
<!-- <li class="title">{{item.address}}</li> --> <!-- <li class="title">{{item.address}}</li> -->
<li class="clearfix"> <li class="clearfix">
<img <img src="~@/assets/img/imgLeft.png" />
src="~@/assets/img/imgLeft.png" <div>
/> <h2>
<div> {{ item.name }}<span>{{ item.type }}</span>
<h2>{{item.name}}<span>{{item.type}}</span></h2> </h2>
<p>{{item.describe}}</p> <p>{{ item.describe }}</p>
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>
<!-- 流程综合组件 --> <!-- 流程综合组件 -->
<!-- <ren-process-multiple <!-- <ren-process-multiple
v-if="processVisible" v-if="processVisible"
updateInstanceIdUrl="/processForm/tabilityapplication/updateInstanceId" updateInstanceIdUrl="/processForm/tabilityapplication/updateInstanceId"
saveFormUrl="/processForm/tabilityapplication" saveFormUrl="/processForm/tabilityapplication"
@ -58,7 +86,7 @@
></ren-process-multiple> --> ></ren-process-multiple> -->
<!-- 审批 --> <!-- 审批 -->
<div class="agreeOr"> <div class="agreeOr" v-if="dataForm.taskId">
<h3>审批</h3> <h3>审批</h3>
<div> <div>
<!-- <el-radio-group v-model="agreeOrList" style="width:230px;"> <!-- <el-radio-group v-model="agreeOrList" style="width:230px;">
@ -66,24 +94,31 @@
<el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button> <el-radio-button label="退回" class="redAll" @click="showDialog('退回')">退回</el-radio-button>
</el-radio-group> --> </el-radio-group> -->
<el-button type="primary" @click="showDialog('同意')">同意</el-button> <el-button type="primary" @click="showDialog('同意')">同意</el-button>
<el-button type="danger" plain @click="showDialog('拒绝')">拒绝</el-button> <el-button type="danger" plain @click="showDialog('拒绝')"
>拒绝</el-button
>
<!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input> <!-- <el-input v-if="agreeOrList ==='同意' " v-model="inputAgree" placeholder="请输入同意意见"></el-input>
<el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input> <el-input v-if="agreeOrList ==='退回'" v-model="inputNo" placeholder="请输入退回意见"></el-input>
<el-button class="inputBule" @click="agreeOrNot">提交</el-button> --> <el-button class="inputBule" @click="agreeOrNot">提交</el-button> -->
</div> </div>
</div> </div>
<!-- 流程详情 --> <!-- 流程详情 -->
<ren-process-detail></ren-process-detail> <ren-process-detail></ren-process-detail>
<el-dialog <el-dialog
title="审批意见" title="审批意见"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="30%"
:before-close="handleClose"> :before-close="handleClose"
>
<el-input v-model="input" placeholder="请输入审批意见"></el-input> <el-input v-model="input" placeholder="请输入审批意见"></el-input>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="handleClose2"> </el-button> <el-button @click="handleClose2"> </el-button>
<el-button type="primary" @click.native="agreeOrNot($store.state.contentTabsActiveName)"> </el-button> <el-button
type="primary"
@click.native="agreeOrNot($store.state.contentTabsActiveName)"
> </el-button
>
</span> </span>
</el-dialog> </el-dialog>
</el-card> </el-card>
@ -132,6 +167,7 @@ export default {
// KEY // KEY
console.log('params=================>', this.$route, this.$route.params) console.log('params=================>', this.$route, this.$route.params)
this.dataForm.taskId = this.$route.params.taskId this.dataForm.taskId = this.$route.params.taskId
this.dataForm.instanceId = this.$route.params.processInstanceId
this.init() this.init()
// // // //
var callbacks = { var callbacks = {
@ -165,10 +201,10 @@ export default {
// this.visible = true // this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
// this.$refs.dataForm.resetFields() // this.$refs.dataForm.resetFields()
this.getInfo()
if (this.dataForm.taskId) { if (this.dataForm.taskId) {
// KEY // KEY
// this.fieldDisabled = true // this.fieldDisabled = true
this.getInfo()
console.log(this.dataForm, 'init') console.log(this.dataForm, 'init')
} }
}) })
@ -179,11 +215,11 @@ export default {
}, },
handleClose (done) { handleClose (done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then(_ => { .then((_) => {
this.input = '' this.input = ''
done() done()
}) })
.catch(_ => {}) .catch((_) => {})
}, },
handleClose2 () { handleClose2 () {
this.dialogVisible = false this.dialogVisible = false
@ -193,56 +229,127 @@ export default {
console.log(window.SITE_CONFIG.previewUrl) console.log(window.SITE_CONFIG.previewUrl)
window.open( window.open(
window.SITE_CONFIG.previewUrl + window.SITE_CONFIG.previewUrl +
'hisense_office/onlinePreview?url=' + 'hisense_office/onlinePreview?url=' +
btoa(encodeURI(url)) btoa(encodeURI(url))
) )
}, },
// //
getInfo () { getInfo () {
this.$http let params = ''
.get(`/act/task/getTaskVariables?taskId=${this.dataForm.taskId}&variableName=tAbilityApplicationDTOList`) if (this.dataForm.taskId) {
.then(({ data: res }) => { params = `taskId=${this.dataForm.taskId}`
if (res.code !== 0) { this.$http
console.log(res.data) .get(
return this.$message.error(res.msg) `/act/task/getTaskVariables?${params}&variableName=tAbilityApplicationDTOList`
} )
console.log(res.data, this.dataForm, 'elas============================') .then(({ data: res }) => {
if (res.data.tAbilityApplicationDTOList[0].applicationScene) { if (res.code !== 0) {
res.data.tAbilityApplicationDTOList[0].applicationSceneStr = '' console.log(res.data)
res.data.tAbilityApplicationDTOList[0].applicationScene.map((val, index) => { return this.$message.error(res.msg)
res.data.tAbilityApplicationDTOList[0].applicationSceneStr += val }
if (index < res.data.tAbilityApplicationDTOList[0].applicationScene.length - 1) { console.log(
res.data.tAbilityApplicationDTOList[0].applicationSceneStr += '、' res.data,
this.dataForm,
'elas============================'
)
if (res.data.tAbilityApplicationDTOList[0].applicationScene) {
res.data.tAbilityApplicationDTOList[0].applicationSceneStr = ''
res.data.tAbilityApplicationDTOList[0].applicationScene.map(
(val, index) => {
res.data.tAbilityApplicationDTOList[0].applicationSceneStr +=
val
if (
index <
res.data.tAbilityApplicationDTOList[0].applicationScene
.length -
1
) {
res.data.tAbilityApplicationDTOList[0].applicationSceneStr +=
'、'
}
}
)
}
this.dataForm.content = res.data.tAbilityApplicationDTOList[0]
const obj = {
name: '申请摄像头列表',
type: '基础设施',
describe: ''
}
let flag = false
res.data.tAbilityApplicationDTOList.map((val) => {
if (val.cameraList) {
flag = true
obj.describe += val.system
} else {
this.$http.get('/resource/' + val.resourceId).then((res1) => {
// console.log(res1.data.data, '1111111111111111111111111111111111')
this.dataList.push({
name: res1.data.data.name,
type: res1.data.data.type,
describe: res1.data.data.description
})
})
} }
}) })
} if (flag) {
this.dataForm.content = res.data.tAbilityApplicationDTOList[0] this.dataList.push(obj)
const obj = {
name: '申请摄像头列表',
type: '基础设施',
describe: ''
}
let flag = false
res.data.tAbilityApplicationDTOList.map(val => {
if (val.cameraList) {
flag = true
obj.describe += val.system
} else {
this.$http.get('/resource/' + val.resourceId).then(res1 => {
// console.log(res1.data.data, '1111111111111111111111111111111111')
this.dataList.push({
name: res1.data.data.name,
type: res1.data.data.type,
describe: res1.data.data.description
})
})
} }
}) })
if (flag) { .catch(() => {})
this.dataList.push(obj) } else {
} params = `instanceId=${this.dataForm.instanceId}`
}) this.$http
.catch(() => {}) .get(
`/act/his/getVariablesByInstanceId?${params}&variableName=tAbilityApplicationDTOList`
)
.then(({ data: res }) => {
if (res.code !== 0) {
console.log(res.data)
return this.$message.error(res.msg)
}
console.log(
res.data,
this.dataForm,
'elas============================'
)
if (res.data[0].applicationScene) {
res.data[0].applicationSceneStr = ''
res.data[0].applicationScene.map((val, index) => {
res.data[0].applicationSceneStr += val
if (index < res.data[0].applicationScene.length - 1) {
res.data[0].applicationSceneStr += '、'
}
})
}
this.dataForm.content = res.data[0]
const obj = {
name: '申请摄像头列表',
type: '基础设施',
describe: ''
}
let flag = false
res.data.tAbilityApplicationDTOList.map((val) => {
if (val.cameraList) {
flag = true
obj.describe += val.system
} else {
this.$http.get('/resource/' + val.resourceId).then((res1) => {
// console.log(res1.data.data, '1111111111111111111111111111111111')
this.dataList.push({
name: res1.data.data.name,
type: res1.data.data.type,
describe: res1.data.data.description
})
})
}
})
if (flag) {
this.dataList.push(obj)
}
})
.catch(() => {})
}
}, },
// //
applyData () { applyData () {
@ -260,63 +367,73 @@ export default {
.catch(() => {}) .catch(() => {})
}, },
// 退 // 退
agreeOrNot: debounce(function (data) { agreeOrNot: debounce(
if (this.dialogType === '同意') { function (data) {
console.log('this.dataForm', this.dataForm) if (this.dialogType === '同意') {
const params = qs.stringify({ console.log('this.dataForm', this.dataForm)
taskId: this.dataForm.taskId, const params = qs.stringify({
comment: this.input taskId: this.dataForm.taskId,
}) comment: this.input
console.log(params)
this.$http.post('/act/task/complete?' + params).then(({ data: res }) => {
if (res.code !== 0) {
this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
}) })
}).catch(() => {}) console.log(params)
} else if (this.dialogType === '拒绝') { this.$http
const params = qs.stringify({ .post('/act/task/complete?' + params)
taskId: this.dataForm.taskId, .then(({ data: res }) => {
comment: this.input if (res.code !== 0) {
}) this.$message.error(res.msg)
this.$http.post('/act/task/backToFirst?', params).then(({ data: res }) => { if (this.callbacks.taskHandleErrorCallback) {
if (res.code !== 0) { this.callbacks.taskHandleErrorCallback(res)
this.$message.error(res.msg) }
if (this.callbacks.taskHandleErrorCallback) { return
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
} }
} this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.dialogVisible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
.catch(() => {})
} else if (this.dialogType === '拒绝') {
const params = qs.stringify({
taskId: this.dataForm.taskId,
comment: this.input
}) })
}) this.$http
} .post('/act/task/endProcess?', params)
this.tabRemoveHandle(data) .then(({ data: res }) => {
// this.getDataList(data) if (res.code !== 0) {
}, 1000, { leading: true, trailing: false }), this.$message.error(res.msg)
if (this.callbacks.taskHandleErrorCallback) {
this.callbacks.taskHandleErrorCallback(res)
}
return
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
if (this.callbacks.taskHandleSuccessCallback) {
this.callbacks.taskHandleSuccessCallback(res)
}
}
})
})
}
this.tabRemoveHandle(data)
// this.getDataList(data)
},
1000,
{ leading: true, trailing: false }
),
tabRemoveHandle (tabName) { tabRemoveHandle (tabName) {
console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') console.log(tabName, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
if (tabName === 'home') { if (tabName === 'home') {
@ -450,7 +567,7 @@ export default {
} }
.clearfix:after { .clearfix:after {
display: block; display: block;
content: ""; content: '';
clear: both; clear: both;
} }
.title { .title {
@ -460,7 +577,7 @@ export default {
border-bottom: 0; border-bottom: 0;
} }
.title:before { .title:before {
content: ""; content: '';
width: 6px; width: 6px;
height: 6px; height: 6px;
display: inline-block; display: inline-block;

View File

@ -199,7 +199,7 @@ export default {
<style lang='scss' scoped> <style lang='scss' scoped>
#inputSelectCheckbox { #inputSelectCheckbox {
// margin-top: 20px; // margin-top: 20px;
width: 100%; width: calc(100% - 105px);
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;

View File

@ -42,6 +42,7 @@
<a-input <a-input
v-model:value="val.note1" v-model:value="val.note1"
:placeholder="'请填写' + val.name" :placeholder="'请填写' + val.name"
style="width: calc(100% - 150px);"
/> />
<span style="width: 2.5rem; padding-left: 0.1rem"> <span style="width: 2.5rem; padding-left: 0.1rem">
{{ {{
@ -253,7 +254,7 @@ export default {
align-items: center; align-items: center;
span:first-child { span:first-child {
width: 120px; width: 105px;
} }
:deep(.ant-input-textarea) { :deep(.ant-input-textarea) {
@ -268,7 +269,7 @@ export default {
width: 200px; width: 200px;
} }
:deep(.ant-input) { ::v-deep .ant-input {
resize: none; resize: none;
width: 570px; width: 570px;
} }

View File

@ -2,7 +2,7 @@
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-03-29 16:45:25 * @Date: 2022-03-29 16:45:25
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-18 17:42:59 * @LastEditTime: 2022-07-21 15:09:22
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<!DOCTYPE html> <!DOCTYPE html>
@ -47,10 +47,10 @@
// window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin'; // window.SITE_CONFIG['apiURL'] = 'http://10.134.135.9:8888/renren-admin';
// 开发 // 开发
window.SITE_CONFIG['backUrl'] = 'http://localhost:8001'; window.SITE_CONFIG['backUrl'] = 'http://localhost:8001';
window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.238:9796/'; window.SITE_CONFIG['previewUrl'] = 'http://15.2.21.236:9796/';
window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.238:9796/document/#/devModelFile/'; window.SITE_CONFIG['frontUrl'] = 'http://15.2.21.236:9796/document/#/devModelFile/';
// window.SITE_CONFIG['apiURL'] = 'http://15.2.21.238:8888/renren-admin'; window.SITE_CONFIG['apiURL'] = 'http://15.2.21.236:8888/renren-admin';
window.SITE_CONFIG['apiURL'] = 'http://10.18.1.99:8889/renren-admin'; window.SITE_CONFIG['websocketURL'] = '15.2.21.236:8888/renren-admin';
window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address'; window.SITE_CONFIG['POI_URL'] = 'http://15.2.21.238:8090/iserver/services/addressmatch-qingdaoPOI181015/restjsr/v1/address';
// 穿透版本 // 穿透版本
// window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797'; // window.SITE_CONFIG['backUrl'] = 'http://124.222.94.39:9797';

View File

@ -1,8 +1,8 @@
<!-- <!--
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-05-06 11:12:00 * @Date: 2022-05-06 11:12:00
* @LastEditors: hisense.wuhongjian * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-20 11:05:25 * @LastEditTime: 2022-07-21 17:09:10
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -12,17 +12,42 @@
</a-config-provider> </a-config-provider>
</div> </div>
</template> </template>
<script> <script setup>
import zhCN from 'ant-design-vue/es/locale/zh_CN' import zhCN from 'ant-design-vue/es/locale/zh_CN'
import Cookies from 'js-cookie'
import { onBeforeUnmount } from 'vue'
import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus'
const router = useRouter()
export default { // export default {
name: 'App', // name: 'App',
data() { // data() {
return { // return {
locale: zhCN, // ,
} // }
}, // },
// }
const locale = zhCN
const token = Cookies.get('ucsToken')
console.log('token=================>', token)
var ws = new WebSocket(
`ws://${window.SITE_CONFIG['websocketURL']}/websocket?token=${token}`
)
// ws.send()
// onmessage
ws.onmessage = function (e) {
console.log('服务器返回的信息: ' + e.data)
mybus.emit('getMynotice')
//
if (router.currentRoute.value.name === 'mynoticeView') {
mybus.emit('noticeListInit')
}
} }
onBeforeUnmount(() => {
// 4.,
ws.close()
})
</script> </script>
<style lang="less"> <style lang="less">
@import '~@/vab/styles/vab.less'; @import '~@/vab/styles/vab.less';

View File

@ -1,8 +1,8 @@
/* /*
* @Author: hisense.wuhongjian * @Author: hisense.wuhongjian
* @Date: 2022-03-29 17:48:03 * @Date: 2022-03-29 17:48:03
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.wuhongjian
* @LastEditTime: 2022-07-07 09:22:56 * @LastEditTime: 2022-07-21 18:39:03
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
*/ */
import { createApp } from 'vue' import { createApp } from 'vue'
@ -25,10 +25,10 @@ import * as ElementPlusIconsVue from '@element-plus/icons-vue'
* @author chuzhixin 1204505056@qq.com * @author chuzhixin 1204505056@qq.com
* @description 正式环境默认使用mock正式项目记得注释后再打包 * @description 正式环境默认使用mock正式项目记得注释后再打包
*/ */
if (process.env.NODE_ENV === 'production') { // if (process.env.NODE_ENV === 'production') {
const { mockXHR } = require('@/utils/static') // const { mockXHR } = require('@/utils/static')
mockXHR() // mockXHR()
} // }
const emitter = mitt() const emitter = mitt()
const app = createApp(App) const app = createApp(App)
app.config.globalProperties.$emitter = emitter app.config.globalProperties.$emitter = emitter

View File

@ -56,6 +56,7 @@
@back="back()" @back="back()"
></put-on-the-shelf> ></put-on-the-shelf>
<put-on-the-shelf <put-on-the-shelf
ref="refPutOnTheShelf"
v-else-if="showView === '部署与应用'" v-else-if="showView === '部署与应用'"
:refData="refData" :refData="refData"
:dataFrom="dataFrom" :dataFrom="dataFrom"

View File

@ -129,7 +129,9 @@
<a-popconfirm <a-popconfirm
v-if=" v-if="
showView === '部署与使用' && showView === '部署与使用' &&
bs[0].list.filter((val) => val.note1 !== '').length > 0 bs[0].list.filter(
(val) => val.note1 !== '' && val.name !== '计费方式'
).length > 0
" "
title="如果常见问题未填写完整将会被丢弃,是否进行提交?" title="如果常见问题未填写完整将会被丢弃,是否进行提交?"
ok-text="是" ok-text="是"

View File

@ -173,16 +173,7 @@
}) })
const flag = ref(true) const flag = ref(true)
if (props.dataList.infoList) { if (props.dataList.infoList) {
let obj = props.dataList.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务接口' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
@ -218,16 +209,7 @@
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
let obj = val.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务接口' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {

View File

@ -94,10 +94,6 @@
dataFrom.value.content[1].childrenContent[2].attrValue = '------' dataFrom.value.content[1].childrenContent[2].attrValue = '------'
} }
} }
} else if (item.attrType === '部门联系人') {
deptContacts.attrValue = item.attrValue || '------'
} else if (item.attrType === '部门联系人电话') {
deptPhone.attrValue = item.attrValue || '------'
} }
}) })

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 11:56:28 * @Date: 2022-06-08 11:56:28
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-19 15:02:23 * @LastEditTime: 2022-07-21 16:18:54
* @Description: 算法详情页头部 * @Description: 算法详情页头部
--> -->
<template> <template>
@ -44,14 +44,14 @@
</a-tooltip> </a-tooltip>
</div> </div>
<div class="bottom" v-if="props.dataList.id"> <div class="bottom" v-if="props.dataList.id">
<!-- <a-button type="primary" @click="toView()"> <a-button type="primary" @click="toView()">
<template #icon><form-outlined /></template> <template #icon><form-outlined /></template>
申请使用 申请使用
</a-button> </a-button>
<a-button type="primary" @click="addShoppingCart()"> <a-button type="primary" @click="addShoppingCart()">
<template #icon><shopping-cart-outlined /></template> <template #icon><shopping-cart-outlined /></template>
加入购物车 加入购物车
</a-button> --> </a-button>
<!-- 融合服务 存在fuseResourceList --> <!-- 融合服务 存在fuseResourceList -->
<a-button <a-button
type="primary" type="primary"
@ -75,11 +75,10 @@
// import { ShoppingCartOutlined } from '@ant-design/icons-vue' // import { ShoppingCartOutlined } from '@ant-design/icons-vue'
import { defineProps, ref, watch } from 'vue' import { defineProps, ref, watch } from 'vue'
import { scInsert, scDel } from '@/api/personalCenter' import { scInsert, scDel } from '@/api/personalCenter'
// import { sgcInsert } from '@/api/home' import { sgcInsert } from '@/api/home'
// import { useRouter } from 'vue-router'
// import mybus from '@/myplugins/mybus'
import { message } from 'ant-design-vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import mybus from '@/myplugins/mybus'
import { message } from 'ant-design-vue'
// //
const router = useRouter() const router = useRouter()
@ -88,33 +87,55 @@
}) })
console.log('dataList------------>', props.dataList) console.log('dataList------------>', props.dataList)
// const router = useRouter()
const applicationArea = ref('') const applicationArea = ref('')
// // // //
// const addShoppingCart = () => { const addShoppingCart = () => {
// console.log('==================>', props.dataList) console.log('加入申购车==================>', props.dataList)
// sgcInsert({ sgcInsert({
// delFlag: '0', delFlag: '0',
// resourceId: props.dataList.id, resourceId: props.dataList.id,
// // userId: userId.value, // userId: userId.value,
// }).then((res) => { }).then((res) => {
// console.log(res) console.log(res)
// message.success('') message.success('添加申购车成功!')
// mybus.emit('getSgcNum') mybus.emit('getSgcNum')
// }) })
// } }
// // // //
// function toView() { function toView() {
// // window.open(newpage.href, '_blank') // window.open(newpage.href, '_blank')
// router.push({ // router.push({
// path: '/apply', // path: '/apply',
// query: { // query: {
// name: props.dataList.name, // name: props.dataList.name,
// resourceId: [props.dataList.id], // resourceId: [props.dataList.id],
// }, // },
// }) // })
// } console.log('一键申请===================>', props.dataList)
localStorage.setItem(
'applyList',
JSON.stringify([
{
arr: [
{
delFlag: props.dataList.delFlag,
description: props.dataList.description,
resourceId: props.dataList.id,
resourceName: props.dataList.name,
time: props.dataList.createDate,
type: props.dataList.type,
// componentType: '',
},
],
deptId: props.dataList.deptId,
deptName: props.dataList.deptName,
},
])
)
router.push({
path: '/apply',
})
}
// -- // --
const handleAKeyApplication = () => { const handleAKeyApplication = () => {
let _applyList = [] let _applyList = []
@ -149,7 +170,7 @@
console.log('收藏===================》', props.dataList) console.log('收藏===================》', props.dataList)
if (scFlag2.value) { if (scFlag2.value) {
scFlag2.value = false scFlag2.value = false
if (props.dataList.isCollect) { if (props.dataList.isCollect == 'true') {
scDel([props.dataList.id]).then((res) => { scDel([props.dataList.id]).then((res) => {
if (res.data.msg === 'success') { if (res.data.msg === 'success') {
message.success('取消成功') message.success('取消成功')

View File

@ -124,16 +124,7 @@
}) })
const flag = ref(true) const flag = ref(true)
if (props.dataList.infoList) { if (props.dataList.infoList) {
let obj = props.dataList.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务地址' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
@ -162,16 +153,7 @@
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
let obj = val.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务地址' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-08 15:25:33 * @Date: 2022-06-08 15:25:33
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-06-14 11:30:52 * @LastEditTime: 2022-07-21 17:02:03
* @Description: 图层展示 视频播放 * @Description: 图层展示 视频播放
--> -->
<template> <template>
@ -78,4 +78,9 @@
} }
} }
} }
img {
width: 100%;
height: 100%;
object-fit: contain;
}
</style> </style>

View File

@ -128,16 +128,7 @@
}) })
const flag = ref(true) const flag = ref(true)
if (props.dataList.infoList) { if (props.dataList.infoList) {
let obj = props.dataList.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务地址' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {
@ -168,16 +159,7 @@
() => props.dataList, () => props.dataList,
(val) => { (val) => {
if (val) { if (val) {
let obj = val.infoList.filter( let obj = true
(item) =>
item.attrType === '技术文档' ||
item.attrType === '服务商' ||
item.attrType === '服务商联系人' ||
item.attrType === '使用手册' ||
item.attrType === '服务地址' ||
item.attrType === '样式服务地址' ||
item.attrType === '服务商联系电话'
)[0]
if (!obj) { if (!obj) {
flag.value = false flag.value = false
} else { } else {

View File

@ -5,7 +5,7 @@
<div class="banner"></div> <div class="banner"></div>
<main> <main>
<div class="top"> <div class="top">
<h1>开发指南</h1> <h1>技术文档</h1>
<a-input-search <a-input-search
v-model:value="searchValue" v-model:value="searchValue"
placeholder="请输入关键词" placeholder="请输入关键词"

View File

@ -944,9 +944,23 @@
const resourceList = reactive({ data: [] }) const resourceList = reactive({ data: [] })
const videoList = reactive({ data: [] }) const videoList = reactive({ data: [] })
const resourceTotal = ref('') const resourceTotal = ref('')
//
const re = /^[0-9\u4E00-\u9FA5]*$/
const getAppResources = (switchIndex) => { const getAppResources = (switchIndex) => {
if (switchIndex) { if (searchValue.value) {
if (switchIndex.length > 1) { let str = ''
let r = null
console.log(
'2222222222222222222222222222',
searchValue.value,
searchValue.value.length
)
if (searchValue.value.length >= 2) {
str = searchValue.value.substring(0, 2)
console.log('str================>', str)
r = re.test(str)
}
if (searchValue.value.length > 1 && r) {
//switchIndex //switchIndex
paramsGetResources.name = searchValue.value paramsGetResources.name = searchValue.value
paramsGetResources.type = Cardsname.value paramsGetResources.type = Cardsname.value
@ -1025,7 +1039,7 @@
}) })
} }
} else { } else {
message.error('请输入一个字以上!') message.error('请以两位以上汉字或数字开头')
} }
} else { } else {
//switchIndex //switchIndex

View File

@ -462,6 +462,13 @@
}) })
} }
}) })
} else {
router.push({
path: '/DetailsPageconetent',
query: {
select: '组件服务',
},
})
} }
}) })
} }
@ -711,86 +718,86 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
#apply-container { #apply-container {
// background-color: #f5f8fc; // background-color: #f5f8fc;
height: 100%; height: 100%;
width: 100%; width: 100%;
margin: 0.8rem auto 0; margin: 0.8rem auto 0;
display: flex;
justify-content: space-between;
aside {
width: 282px;
height: 96%;
overflow-y: auto;
background-color: #fff;
margin: 1% 0 3%;
}
article {
width: 1090px;
height: 99%;
overflow-y: auto;
background-color: #fff;
margin: 1% auto;
}
.form-container {
padding: 20px 20px 30px 20px;
.title {
font-size: 20px;
color: #000;
font-weight: bold;
margin-bottom: 20px;
}
}
.base-info {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} aside {
:deep(.ant-form-item-label) { width: 282px;
label { height: 96%;
color: #666; overflow-y: auto;
font-size: 16px; background-color: #fff;
&::after { margin: 1% 0 3%;
content: ''; }
article {
width: 1090px;
height: 99%;
overflow-y: auto;
background-color: #fff;
margin: 1% auto;
}
.form-container {
padding: 20px 20px 30px 20px;
.title {
font-size: 20px;
color: #000;
font-weight: bold;
margin-bottom: 20px;
} }
} }
} .base-info {
:deep(.ant-form-item-required) { display: flex;
&::before { justify-content: space-between;
font-size: 8px; }
margin-right: 10px; :deep(.ant-form-item-label) {
label {
color: #666;
font-size: 16px;
&::after {
content: '';
}
}
}
:deep(.ant-form-item-required) {
&::before {
font-size: 8px;
margin-right: 10px;
}
} }
}
:deep(.ant-input) { :deep(.ant-input) {
border: 1px solid #e0e0e0; border: 1px solid #e0e0e0;
border-radius: 6px; border-radius: 6px;
} }
.success { .success {
div { div {
width: 100px; width: 100px;
margin: 80px auto 40px; margin: 80px auto 40px;
}
text-align: center;
font-size: 20px;
font-weight: bold;
color: #000;
} }
text-align: center;
font-size: 20px;
font-weight: bold;
color: #000;
} }
} .applicationScene {
.applicationScene { :deep(.ant-select-selector) {
:deep(.ant-select-selector) { overflow-x: scroll;
overflow-x: scroll; }
:deep(.ant-select-selection-overflow) {
flex-wrap: nowrap;
}
} }
:deep(.ant-select-selection-overflow) { textarea {
flex-wrap: nowrap; resize: none;
font-size: 14px;
}
.bottom-btn {
display: flex;
justify-content: center;
// position: fixed;
} }
}
textarea {
resize: none;
font-size: 14px;
}
.bottom-btn {
display: flex;
justify-content: center;
// position: fixed;
}
</style> </style>

View File

@ -284,6 +284,8 @@
// getMynotice() // getMynotice()
// }) // })
// } // }
// -- cookie
onMounted(() => { onMounted(() => {
getSgcTotal().then((res) => { getSgcTotal().then((res) => {
// console.log('========================>', res.data.data.count) // console.log('========================>', res.data.data.count)

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-06-21 11:55:07 * @Date: 2022-06-21 11:55:07
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-01 17:03:24 * @LastEditTime: 2022-07-21 17:05:11
* @Description: 告诉大家这是什么 * @Description: 告诉大家这是什么
--> -->
<template> <template>
@ -111,7 +111,7 @@
</template> </template>
<script setup> <script setup>
// import { SearchOutlined } from '@ant-design/icons-vue' // import { SearchOutlined } from '@ant-design/icons-vue'
import { ref, reactive } from 'vue' import { ref, reactive, onBeforeUnmount } from 'vue'
import mybus from '@/myplugins/mybus' import mybus from '@/myplugins/mybus'
import { message } from 'ant-design-vue' import { message } from 'ant-design-vue'
import { mynotice, mynoticeRead } from '@/api/home' import { mynotice, mynoticeRead } from '@/api/home'
@ -283,6 +283,12 @@
} }
}) })
init() init()
mybus.on('noticeListInit', () => {
init()
})
onBeforeUnmount(() => {
mybus.off('noticeListInit')
})
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.notice-list { .notice-list {

View File

@ -2,7 +2,7 @@
* @Author: hisense.liangjunhua * @Author: hisense.liangjunhua
* @Date: 2022-07-12 09:42:44 * @Date: 2022-07-12 09:42:44
* @LastEditors: hisense.liangjunhua * @LastEditors: hisense.liangjunhua
* @LastEditTime: 2022-07-18 17:54:55 * @LastEditTime: 2022-07-21 17:25:45
* @Description:我的申请 能力申请 查看详情 * @Description:我的申请 能力申请 查看详情
--> -->
<template> <template>
@ -13,14 +13,17 @@
<p class="item"> <p class="item">
<span>申请标题{{ props.refObj.title }}</span> <span>申请标题{{ props.refObj.title }}</span>
<span>申请单号{{ props.refObj.applyNumber || '--' }}</span> <span>申请单号{{ props.refObj.applyNumber || '--' }}</span>
<span>应用系统{{ props.refObj.applicationSystem }}</span> <span v-if="props.refObj.applicationSystem">
应用系统{{ props.refObj.applicationSystem }}
</span>
<span v-else></span>
</p> </p>
<p class="item"> <p class="item">
<span>申请人信息{{ props.refObj.user }}</span> <span>申请人信息{{ props.refObj.user }}</span>
<span>电话{{ props.refObj.phone }}</span> <span>电话{{ props.refObj.phone }}</span>
<span>单位{{ props.refObj.unit }}</span> <span>单位{{ props.refObj.unit }}</span>
</p> </p>
<p> <p v-if="props.refObj.applicationScene.length > 0">
<span>应用场景{{ props.refObj.applicationScene.join('') }}</span> <span>应用场景{{ props.refObj.applicationScene.join('') }}</span>
</p> </p>
<p> <p>
@ -104,11 +107,16 @@
}} }}
</span> </span>
</div> </div>
<div class="btn" v-if="val.type == '组件服务'">技术文档</div> <div></div>
<!-- <div class="btn" v-if="val.type == '组件服务'">技术文档</div> -->
</div> </div>
<div class="ability-bottom"> <div class="ability-bottom">
<div class="dec">资源描述{{ val.description }}</div> <div class="dec">资源描述{{ val.description }}</div>
<div class="result">申请结果{{ val.applyState }}</div> <div class="result">
申请结果{{
item.ended ? item.approveStatus || '审核完成' : '审核中'
}}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -156,6 +164,8 @@
obj.name = key obj.name = key
props.refObj.resourceApplication[key].map((item) => { props.refObj.resourceApplication[key].map((item) => {
obj.instanceId = item.instanceId obj.instanceId = item.instanceId
obj.ended = item.ended
obj.approveStatus = item.approveStatus
if (item.resources.length > 0) { if (item.resources.length > 0) {
item.resources.map((val) => { item.resources.map((val) => {
obj.list.push(val) obj.list.push(val)

View File

@ -251,35 +251,35 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.form-container { .form-container {
height: 6rem; height: 6rem;
overflow-y: scroll; overflow-y: scroll;
padding: 20px 20px 30px 20px; padding: 20px 20px 30px 20px;
.title { .title {
font-size: 18px; font-size: 18px;
color: #000; color: #000;
font-weight: bold; font-weight: bold;
margin-bottom: 20px; margin-bottom: 20px;
padding-left: 10px; padding-left: 10px;
margin-top: 10px; margin-top: 10px;
border-left: 6px #0058e1 solid; border-left: 6px #0058e1 solid;
}
}
:deep(.ant-table-thead) > tr > .ant-table-cell {
background: #0087ff;
color: #fff;
border: none;
text-align: center;
font-size: 16px;
}
:deep(.ant-table-tbody) > tr > .ant-table-cell:nth-child(5) {
width: 110px;
display: inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.oddNumbers {
margin-bottom: 0.05rem;
} }
}
:deep(.ant-table-thead) > tr > .ant-table-cell {
background: #0087ff;
color: #fff;
border: none;
text-align: center;
font-size: 16px;
}
:deep(.ant-table-tbody) > tr > .ant-table-cell:nth-child(5) {
// width: 110px;
// display: inline-block;
// white-space: nowrap;
// overflow: hidden;
// text-overflow: ellipsis;
}
.oddNumbers {
margin-bottom: 0.05rem;
}
</style> </style>

View File

@ -22,7 +22,7 @@
</div> </div>
<div class="title-right"> <div class="title-right">
<span>能力使用状态</span> <span>能力使用状态</span>
<span v-if="dataList.tota > 0">正在被使用</span> <span v-if="dataList.total > 0">正在被使用</span>
<span v-else>未使用</span> <span v-else>未使用</span>
</div> </div>
</div> </div>
@ -45,7 +45,7 @@
</div> </div>
<div <div
class="data-list-right-table-list-content" class="data-list-right-table-list-content"
v-if="dataList.tota > 0" v-if="dataList.total > 0"
> >
<div <div
v-for="(item, index) in dataList.list" v-for="(item, index) in dataList.list"
@ -326,150 +326,150 @@
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.TheShelvesAbility { .TheShelvesAbility {
.title-h1 { .title-h1 {
font-size: 0.22rem;
line-height: 0.22rem;
margin-bottom: 0.25rem;
color: #212121;
}
.title-h2 {
display: flex;
justify-content: space-between;
font-size: 0.16rem;
color: #212121;
line-height: 0.16rem;
border-bottom: 0.01rem #dddee1 solid;
margin: 0 0.6rem 0.2rem 0.6rem;
padding-bottom: 0.1rem;
}
.TheShelvesAbility-top {
margin: 0 0.6rem 0 0.6rem;
.deptName {
color: #0558e1;
font-size: 0.22rem; font-size: 0.22rem;
line-height: 0.22rem;
margin-bottom: 0.25rem;
color: #212121;
}
.title-h2 {
display: flex; display: flex;
justify-content: space-between; align-items: center;
font-size: 0.16rem; line-height: 0.22rem;
color: #212121; margin-bottom: 0.2rem;
line-height: 0.16rem; span {
border-bottom: 0.01rem #dddee1 solid; display: inline-block;
margin: 0 0.6rem 0.2rem 0.6rem; width: 0.05rem;
padding-bottom: 0.1rem; height: 0.05rem;
} background: #0558e1;
.TheShelvesAbility-top { border-radius: 0.05rem;
margin: 0 0.6rem 0 0.6rem; margin-right: 0.05rem;
.deptName {
color: #0558e1;
font-size: 0.22rem;
display: flex;
align-items: center;
line-height: 0.22rem;
margin-bottom: 0.2rem;
span {
display: inline-block;
width: 0.05rem;
height: 0.05rem;
background: #0558e1;
border-radius: 0.05rem;
margin-right: 0.05rem;
}
} }
.data-list { }
display: flex; .data-list {
border-bottom: 1px solid #dddee1; display: flex;
margin-bottom: 0.1rem; border-bottom: 1px solid #dddee1;
.data-list-left { margin-bottom: 0.1rem;
width: 0.8rem; .data-list-left {
height: 1.1rem; width: 0.8rem;
background: url('~@/assets/personalCenter/Capabilitydiagram.png') height: 1.1rem;
no-repeat; background: url('~@/assets/personalCenter/Capabilitydiagram.png')
background-size: 0.8rem 0.8rem; no-repeat;
background-position: center; background-size: 0.8rem 0.8rem;
margin-left: 0.1rem; background-position: center;
padding-bottom: 0.3rem; margin-left: 0.1rem;
} padding-bottom: 0.3rem;
.data-list-right { }
width: calc(100% - 0.83rem); .data-list-right {
margin-left: 0.1rem; width: calc(100% - 0.83rem);
padding-bottom: 0.2rem; margin-left: 0.1rem;
border-left: 1px solid #dddee1; padding-bottom: 0.2rem;
font-size: 0.18rem; border-left: 1px solid #dddee1;
color: #000000; font-size: 0.18rem;
.data-list-right-titleAndDescription { color: #000000;
padding-left: 0.1rem; .data-list-right-titleAndDescription {
padding-right: 0.2rem; padding-left: 0.1rem;
border-bottom: 1px solid #dddee1; padding-right: 0.2rem;
padding-bottom: 0.1rem; border-bottom: 1px solid #dddee1;
.data-list-right-title { padding-bottom: 0.1rem;
display: flex; .data-list-right-title {
justify-content: space-between; display: flex;
margin-bottom: 0.2rem; justify-content: space-between;
.title-left { margin-bottom: 0.2rem;
span:first-child { .title-left {
font-weight: 600; span:first-child {
} font-weight: 600;
span:last-child { }
font-size: 0.14rem; span:last-child {
display: inline-block; font-size: 0.14rem;
margin-left: 0.08rem; display: inline-block;
padding: 0 0.05rem; margin-left: 0.08rem;
border-radius: 0.3rem; padding: 0 0.05rem;
background: #00b8e6; border-radius: 0.3rem;
color: #fff; background: #00b8e6;
} color: #fff;
} }
} }
} }
.data-list-right-table { }
.data-list-right-table-title { .data-list-right-table {
margin-left: 0.1rem; .data-list-right-table-title {
margin-top: 0.2rem; margin-left: 0.1rem;
margin-bottom: 0.2rem; margin-top: 0.2rem;
font-size: 0.14rem; margin-bottom: 0.2rem;
display: inline-block; font-size: 0.14rem;
margin-left: 0.08rem; display: inline-block;
padding: 0 0.05rem; margin-left: 0.08rem;
border-radius: 0.3rem; padding: 0 0.05rem;
background: #00b8e6; border-radius: 0.3rem;
color: #fff; background: #00b8e6;
color: #fff;
}
.data-list-right-table-list {
padding: 0 0.05rem;
.data-list-right-table-list-tab {
display: grid;
grid-template-columns: repeat(4, 25%);
background: rgba(191, 191, 191, 0.1);
span {
display: inline-block;
text-align: center;
padding: 0.05rem 0;
}
} }
.data-list-right-table-list { .data-list-right-table-list-content {
padding: 0 0.05rem; & > div {
.data-list-right-table-list-tab {
display: grid; display: grid;
grid-template-columns: repeat(4, 25%); grid-template-columns: repeat(4, 25%);
background: rgba(191, 191, 191, 0.1);
span { span {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
padding: 0.05rem 0; padding: 0.05rem 0;
} }
} }
.data-list-right-table-list-content { div:nth-child(even) {
& > div { background: rgba(191, 191, 191, 0.1);
display: grid; }
grid-template-columns: repeat(4, 25%); div:nth-child(odd) {
span { span {
display: inline-block; padding: 0.2rem 0;
text-align: center;
padding: 0.05rem 0;
}
}
div:nth-child(even) {
background: rgba(191, 191, 191, 0.1);
}
div:nth-child(odd) {
span {
padding: 0.2rem 0;
}
} }
} }
.zanwu { }
margin-top: 0.2rem; .zanwu {
text-align: center; margin-top: 0.2rem;
} text-align: center;
} }
} }
} }
} }
} }
.TheShelvesAbility-bottom { }
margin: 0.5rem 0.6rem 0 0.6rem; .TheShelvesAbility-bottom {
.base-info { margin: 0.5rem 0.6rem 0 0.6rem;
display: flex; .base-info {
justify-content: space-between; display: flex;
} justify-content: space-between;
.button-bottom { }
display: flex; .button-bottom {
justify-content: center; display: flex;
} justify-content: center;
} }
} }
}
</style> </style>

View File

@ -329,7 +329,7 @@
} }
const fileList = ref([]) const fileList = ref([])
const subimtFlag = ref(true)
const processStartHandle = () => { const processStartHandle = () => {
if (id.value) { if (id.value) {
updateDemandForm(formName).then((upres) => { updateDemandForm(formName).then((upres) => {
@ -350,13 +350,20 @@
} }
}) })
} else { } else {
formRef.value.validate().then(() => { if (subimtFlag.value) {
demandApply(formName).then((res) => { subimtFlag.value = false
applySuccess.value = false formRef.value.validate().then(() => {
message.success('操作成功!') const detString = String(formName.detailsField)
console.log('能力申请================>', res) formName.detailsField = detString
console.log(detString, formName.detailsField, 'detString')
demandApply(formName).then((res) => {
applySuccess.value = false
message.success('操作成功!')
console.log('能力申请================>', res)
subimtFlag.value = true
})
}) })
}) }
} }
} }