941 lines
27 KiB
Java
941 lines
27 KiB
Java
<template>
|
|
<div class="box">
|
|
<div class="header-search">
|
|
<van-icon @click="iconClick" class="icon" name="arrow-left"/>
|
|
<span class="header-search-text">
|
|
{{$route.query.projectName + ' ' + $t('preHomoFlow')}}
|
|
</span>
|
|
</div>
|
|
|
|
<van-collapse class="collapse" v-model="activeNames">
|
|
<van-collapse-item :title="$t('essentialInformation')" name="1">
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('category')}}</span>
|
|
<span class="content-box-text">{{queryForm.category || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('inspectionItems')}}</span>
|
|
<span class="content-box-text">{{queryForm.inspectionItem || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('configurationItem')}}</span>
|
|
<span class="content-box-text">{{queryForm.configItem || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">WVTA ID</span>
|
|
<span class="content-box-text">{{queryForm.wvtaId || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('standardNo')}}</span>
|
|
<span class="content-box-text content-box-text-color"
|
|
@click="standardClick(queryForm)">{{queryForm.serialNumber || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('areaOfResponsibility')}}</span>
|
|
<span class="content-box-text">{{queryForm.dutyTerritoryName || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('engineeringInterfacePerson')}}</span>
|
|
<span class="content-box-text">{{queryForm.sdtName || '--'}}</span>
|
|
</div>
|
|
</van-collapse-item>
|
|
|
|
<van-collapse-item :title="$t('TaskRequirements')" name="2">
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('personLiable')}}</span>
|
|
<span class="content-box-text">{{queryForm.dutyPersonName || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('cutoffTime')}}</span>
|
|
<span class="content-box-text">{{queryForm.endTime || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type">
|
|
<span class="content-box-left">{{$t('typeOfDeliverables')}}</span>
|
|
<span class="content-box-text">{{queryForm.deliverableTypeName || '--'}}</span>
|
|
</div>
|
|
<div class="content-box-type-text">
|
|
{{$t('deliverableTemplate')}}
|
|
</div>
|
|
<div class="content-box-type-text-one" v-if="dataSourceFile && dataSourceFile.length == 0">
|
|
--
|
|
</div>
|
|
<div class="content-box-type-text-one"
|
|
v-else
|
|
@click="deliverablesResultFileClick(item)"
|
|
v-for="item in dataSourceFile">
|
|
{{item.fileName}}
|
|
</div>
|
|
<!-- <div class="content-box-type-text">-->
|
|
<!-- {{$t('descriptionDeliverables')}}-->
|
|
<!-- </div>-->
|
|
<!-- <div class="content-box-type-text-Two">-->
|
|
<!-- {{queryProject[queryData.remarks] || '--'}}-->
|
|
<!-- </div>-->
|
|
</van-collapse-item>
|
|
<van-collapse-item v-if="queryForm.deliveryResult"
|
|
:title="$t('DeliverablesResult')" name="3">
|
|
<!-- v-for="item in deliverablesResultFile"-->
|
|
<!-- {{item.fileName}}-->
|
|
<div class="content-box-type-text-one"
|
|
v-if="queryForm.valueType == 'file'"
|
|
v-for="item in deliveryResultList"
|
|
@click="deliverablesResultFileClick(item)">
|
|
{{item.fileName}}
|
|
</div>
|
|
<div class="content-box-type-text-one-select"
|
|
v-if="queryForm.valueType == 'select'">
|
|
{{queryForm.deliveryResult == '1' ? $t('yes') :$t('not')}}
|
|
</div>
|
|
<div class="content-box-type-text-one-select"
|
|
v-if="queryForm.valueType == 'text'">
|
|
{{queryForm.deliveryResult}}
|
|
</div>
|
|
</van-collapse-item>
|
|
<van-collapse-item :title="$t('taskHandling')" v-if="!isDisplay" name="4">
|
|
<van-form @submit="onSubmit" ref="form">
|
|
<div class="resultofhandlingClass"
|
|
v-if="$route.query.taskDefinitionKey == 'Task Review' ||
|
|
$route.query.taskDefinitionKey == 'Task responsibility confirmation' ||
|
|
($route.query.taskDefinitionKey == 'Task handling' && (queryForm.valueType == 'file' ||
|
|
queryForm.valueType == 'text' || queryForm.valueType == 'select'))"
|
|
style="margin-bottom: 0.1rem">
|
|
<span>{{$t('resultofhandling')}}</span>
|
|
<span class="requiredClass"
|
|
v-if="$route.query.taskDefinitionKey == 'Task Review' ||
|
|
$route.query.taskDefinitionKey == 'Task responsibility confirmation'">
|
|
*</span>
|
|
</div>
|
|
<van-field name="disposeResult"
|
|
class="uploader"
|
|
v-if="$route.query.taskDefinitionKey == 'Task Review' ||
|
|
$route.query.taskDefinitionKey == 'Task responsibility confirmation'"
|
|
:rules="[{ required: true, message: $t('resultofhandling') + $t('cannotEmpty') }]">
|
|
<template #input>
|
|
<van-radio-group @change="disposeResultChange" v-model="form.disposeResult" direction="horizontal">
|
|
<van-radio name="rzgcssc_tg" v-if="$route.query.taskDefinitionKey == 'Task Review'">
|
|
{{$t('reviewAndPass')}}
|
|
</van-radio>
|
|
<van-radio name="rzgcssc_th" v-if="$route.query.taskDefinitionKey == 'Task Review'">
|
|
{{$t('reviewAndReturn')}}
|
|
</van-radio>
|
|
<van-radio name="zrrjsrw" v-if="$route.query.taskDefinitionKey == 'Task responsibility confirmation'">
|
|
{{$t('missionAccepted')}}
|
|
</van-radio>
|
|
<van-radio name="zrrjjrw" v-if="$route.query.taskDefinitionKey == 'Task responsibility confirmation'">
|
|
{{$t('missionRejection')}}
|
|
</van-radio>
|
|
</van-radio-group>
|
|
</template>
|
|
</van-field>
|
|
<van-field
|
|
v-if="form.disposeResult == 'rzgcssc_tg'"
|
|
v-model.trim="form.reportNumber"
|
|
rows="4"
|
|
name="reportNumber"
|
|
class="textarea"
|
|
autosize
|
|
:label="$t('reportNo')"
|
|
maxlength="200"
|
|
:placeholder="$t('pleaseEnter')+$t('reportNo')"
|
|
/>
|
|
<van-field
|
|
v-if="form.disposeResult == 'rzgcssc_tg'"
|
|
v-model.trim="form.productModel"
|
|
rows="4"
|
|
name="productModel"
|
|
class="textarea"
|
|
autosize
|
|
:label="$t('productModel')"
|
|
maxlength="200"
|
|
:placeholder="$t('pleaseEnter')+$t('productModel')"
|
|
/>
|
|
<van-field
|
|
v-if="form.disposeResult == 'rzgcssc_tg'"
|
|
v-model.trim="form.productionEnterpriseName"
|
|
rows="4"
|
|
class="textarea productionEnterpriseName"
|
|
autosize
|
|
name="productionEnterpriseName"
|
|
:label="$t('nameOfManufacturer')"
|
|
maxlength="200"
|
|
:placeholder="$t('pleaseEnter')+$t('nameOfManufacturer')"
|
|
/>
|
|
|
|
<div class="resultofhandlingClass"
|
|
v-if="form.disposeResult == 'rzgcssc_th' || form.disposeResult == 'zrrjjrw'">
|
|
<span>{{$t('feedback')}}</span>
|
|
<span class="requiredClass">*</span>
|
|
</div>
|
|
|
|
<van-field
|
|
v-if="form.disposeResult == 'rzgcssc_th' || form.disposeResult == 'zrrjjrw'"
|
|
v-model.trim="form.reasonForReturn"
|
|
rows="4"
|
|
name="reasonForReturn"
|
|
class="textarea"
|
|
autosize
|
|
:show-error="false"
|
|
:rules="[{ required: true, message: $t('feedbackMessage') + $t('cannotEmpty') }]"
|
|
maxlength="200"
|
|
type="textarea"
|
|
:placeholder="$t('pleaseEnter')+$t('feedbackMessage')"
|
|
/>
|
|
|
|
<div v-if="$route.query.taskDefinitionKey == 'Task handling'">
|
|
|
|
<div class="resultofhandlingClass">
|
|
<span>{{$t('DeliverablesResult')}}</span>
|
|
<span class="requiredClass">*</span>
|
|
</div>
|
|
|
|
<van-field name="uploader" class="uploader"
|
|
:rules="[{ required: true, message: $t('DeliverablesResult') + $t('cannotEmpty') }]"
|
|
v-if="queryForm.valueType == 'file'">
|
|
<template #input>
|
|
<van-uploader :preview-image="false"
|
|
accept="*"
|
|
v-model="form.deliveryResult"
|
|
:after-read="upload"
|
|
class="uploader-button">
|
|
<van-button icon="back-top" type="primary">{{$t('upload1')}}</van-button>
|
|
</van-uploader>
|
|
</template>
|
|
</van-field>
|
|
<van-field
|
|
v-else-if="queryForm.valueType == 'text'"
|
|
:rules="[{ required: true, message: $t('DeliverablesResult') + $t('cannotEmpty') }]"
|
|
v-model.trim="form.deliveryResult"
|
|
rows="4"
|
|
class="textarea"
|
|
autosize
|
|
:show-error="false"
|
|
maxlength="200"
|
|
:placeholder="$t('pleaseEnter')+$t('DeliverablesResult')"
|
|
/>
|
|
<van-field name="disposeResult"
|
|
class="uploader"
|
|
v-else-if="queryForm.valueType == 'select'"
|
|
:rules="[{ required: true, message: $t('DeliverablesResult') + $t('cannotEmpty') }]">
|
|
<template #input>
|
|
<van-radio-group v-model="form.deliveryResult" direction="horizontal">
|
|
<van-radio name="1">
|
|
{{$t('yes')}}
|
|
</van-radio>
|
|
<van-radio name="2">
|
|
{{$t('not')}}
|
|
</van-radio>
|
|
</van-radio-group>
|
|
</template>
|
|
</van-field>
|
|
<div class="file-list"
|
|
v-for="(item,index) in fileList"
|
|
:key="index">
|
|
<span class="file-text">{{item.fileName}}
|
|
<van-icon class="file-text-icon" name="passed"/>
|
|
</span>
|
|
<a-icon @click="fileClick(index)" class="icon-text" type="delete"/>
|
|
</div>
|
|
</div>
|
|
<van-button class="submitButton"
|
|
round
|
|
block
|
|
type="info"
|
|
native-type="submit">{{$t('submit')}}
|
|
</van-button>
|
|
</van-form>
|
|
</van-collapse-item>
|
|
</van-collapse>
|
|
<van-overlay :show="show">
|
|
<van-loading type="spinner">{{textLoading}}</van-loading>
|
|
</van-overlay>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
|
import { Dialog, Toast } from 'vant'
|
|
import Vue from 'vue'
|
|
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
|
import { kkFileView } from '@/utils/kkfileView'
|
|
import axios from 'axios'
|
|
|
|
export default {
|
|
name: 'phonePreHomoMangement',
|
|
data() {
|
|
return {
|
|
activeNames: ['1', '2', '3', '4'],
|
|
fileList: [],
|
|
show: false,
|
|
textLoading: this.$t('loading'),
|
|
queryForm: {},
|
|
queryData: {},
|
|
form: {},
|
|
uploadAction: window._CONFIG['domianURL'] + '/sys/common/upload',
|
|
queryProject: {},
|
|
dataSourceFile: [],
|
|
deliverablesResultFile: [],
|
|
deliveryResultList: [],
|
|
isDisplay: false,
|
|
url: {
|
|
queryProjectCertificationInventoryById: '/phone/toDoCenter/queryProjectCertificationInventoryById',
|
|
saveBatch: '/project/projectCertificationInventoryEO/saveBatch'
|
|
}
|
|
}
|
|
},
|
|
mounted() {
|
|
document.title = 'NIO GRP'
|
|
this.isDisplay = JSON.parse(this.$route.query.isDisplay)
|
|
this.getData()
|
|
},
|
|
methods: {
|
|
iconClick() {
|
|
this.$router.go(-1)
|
|
},
|
|
|
|
getFileInfos(item) {
|
|
getAction('sys/common/getFileInfos', { id: item }).then((res) => {
|
|
if (res.success) {
|
|
this.deliveryResultList = res.result
|
|
this.fileList = []
|
|
this.form.deliveryResult = []
|
|
this.deliveryResultList.forEach((val) => {
|
|
let fileName = val.fileName
|
|
let index1 = fileName.lastIndexOf('.')
|
|
let index2 = fileName.length
|
|
let fileSuffix = fileName.substring(index1, index2)
|
|
val.fileSuffix = fileSuffix
|
|
this.fileList.push({
|
|
id: val.id,
|
|
fileName: val.fileName
|
|
})
|
|
})
|
|
this.form.deliveryResult = this.fileList
|
|
} else {
|
|
this.deliveryResultList = []
|
|
}
|
|
})
|
|
},
|
|
getDeliveryResult(item) {
|
|
getAction('sys/common/getFileInfos', { id: item }).then((res) => {
|
|
if (res.success) {
|
|
this.dataSourceFile = res.result
|
|
this.dataSourceFile.forEach((val) => {
|
|
let fileName = val.fileName
|
|
let index1 = fileName.lastIndexOf('.')
|
|
let index2 = fileName.length
|
|
let fileSuffix = fileName.substring(index1, index2)
|
|
val.fileSuffix = fileSuffix
|
|
})
|
|
} else {
|
|
this.dataSourceFile = []
|
|
}
|
|
})
|
|
},
|
|
disposeResultChange(value) {
|
|
if (value == 'rzgcssc_tg') {
|
|
this.form.reasonForReturn = ''
|
|
} else if (value == 'rzgcssc_th') {
|
|
this.form.productionEnterpriseName = ''
|
|
this.form.productModel = ''
|
|
this.form.reportNumber = ''
|
|
} else if (value == 'zrrjsrw') {
|
|
this.form.reasonForReturn = ''
|
|
} else if (value == 'zrrjjrw') {
|
|
this.form.reasonForReturn = ''
|
|
}
|
|
this.$nextTick(() => {
|
|
this.form = { ...this.form }
|
|
})
|
|
},
|
|
onSubmit() {
|
|
this.$refs.form.validate().then(() => {
|
|
this.textLoading = this.$t('Submitting')
|
|
this.show = true
|
|
if (this.$route.query.taskDefinitionKey == 'Task Review') {
|
|
if (this.form.disposeResult == 'rzgcssc_tg') {
|
|
this.preservationClick()
|
|
} else {
|
|
this.ApprovedClick()
|
|
}
|
|
} else if (this.$route.query.taskDefinitionKey == 'Task handling') {
|
|
this.submitPreservation()
|
|
} else if (this.$route.query.taskDefinitionKey == 'Task responsibility confirmation') {
|
|
this.ApprovedClick()
|
|
}
|
|
})
|
|
},
|
|
submitClick() {
|
|
let query = {
|
|
'nodeKey': 'zrrtjrw',
|
|
'projectLibraryId': this.queryForm.projectLibraryId,
|
|
'ids': this.queryForm.id
|
|
}
|
|
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
|
if (res.success) {
|
|
Toast(this.$t('OperationSuccessful'))
|
|
this.$router.go(-1)
|
|
this.show = false
|
|
} else {
|
|
Toast(this.$t('operationFailed'))
|
|
}
|
|
})
|
|
},
|
|
submitPreservation() {
|
|
let content = []
|
|
let fileListId = []
|
|
let form = JSON.parse(JSON.stringify(this.form))
|
|
if (this.queryForm.valueType == 'file') {
|
|
this.fileList.forEach(res => {
|
|
fileListId.push(res.id)
|
|
})
|
|
form.deliveryResult = fileListId.join(',')
|
|
}
|
|
content[0] = Object.assign(this.queryForm, form)
|
|
postAction(this.url.saveBatch, { 'dataList': content }).then((res) => {
|
|
if (res.success) {
|
|
this.submitClick()
|
|
}
|
|
})
|
|
},
|
|
ApprovedClick() {
|
|
let query = {
|
|
'nodeKey': this.form.disposeResult,
|
|
'projectLibraryId': this.queryForm.projectLibraryId,
|
|
'ids': this.queryForm.id,
|
|
reasonForReturn: this.form.reasonForReturn
|
|
}
|
|
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
|
|
if (res.success) {
|
|
Toast(this.$t('OperationSuccessful'))
|
|
this.$router.go(-1)
|
|
this.show = false
|
|
} else {
|
|
Toast(this.$t('operationFailed'))
|
|
}
|
|
})
|
|
},
|
|
//保存
|
|
preservationClick() {
|
|
let content = []
|
|
content[0] = Object.assign(this.queryForm, this.form)
|
|
postAction(this.url.saveBatch, { 'dataList': content }).then((res) => {
|
|
if (res.success) {
|
|
this.ApprovedClick()
|
|
}
|
|
})
|
|
},
|
|
getData() {
|
|
getAction(this.url.queryProjectCertificationInventoryById, { id: this.$route.query.id }).then((res) => {
|
|
if (res.success) {
|
|
this.queryForm = res.result || {}
|
|
if (this.queryForm.deliveryResult && this.queryForm.valueType == 'file') {
|
|
this.getFileInfos(this.queryForm.deliveryResult)
|
|
}
|
|
if (this.queryForm.deliverableTemplate) {
|
|
this.getDeliveryResult(this.queryForm.deliverableTemplate)
|
|
}
|
|
this.queryForm = { ...this.queryForm }
|
|
} else {
|
|
this.queryForm = {}
|
|
}
|
|
})
|
|
},
|
|
async upload(file) {
|
|
// 这时候我们创建一个formData对象实例
|
|
const formData = new FormData()
|
|
// 通过append方法添加需要的file
|
|
// 这里需要注意 append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾
|
|
formData.append('file', file.file)
|
|
// 调用uploadFile上传的接口
|
|
const res = await this.uploadFile(formData)
|
|
this.fileList.push(res)
|
|
// 上传文件的guid和后台返回的guid一样,通过push方法把上传的文件存放到上传成功才能提交的数组里面
|
|
},
|
|
uploadFile(formData) {
|
|
this.textLoading = this.$t('loading')
|
|
this.show = true
|
|
return new Promise(resolve => {
|
|
const token = Vue.ls.get(ACCESS_TOKEN)
|
|
axios({
|
|
url: this.uploadAction,
|
|
method: 'post',
|
|
data: formData,
|
|
headers: {
|
|
'Content-Type': 'multipart/form-data', // 文件上传
|
|
'X-Access-Token': token
|
|
}
|
|
}).then((res) => {
|
|
resolve(res.data.result)
|
|
this.show = false
|
|
})
|
|
})
|
|
},
|
|
fileClick(index) {
|
|
this.fileList.splice(index, 1)
|
|
this.form.deliveryResult.splice(index, 1)
|
|
this.form = { ...this.form }
|
|
},
|
|
deliverablesResultFileClick(item) {
|
|
kkFileView(item.fileName, item.id)
|
|
},
|
|
standardClick(item) {
|
|
this.$router.push({
|
|
path: '/phoneDocumentDetails',
|
|
query: {
|
|
id: item.bussDocumentLibraryId
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.box {
|
|
padding: 0 0.4rem 0.4rem 0.4rem;
|
|
position: relative;
|
|
}
|
|
|
|
.header-search {
|
|
/*padding-left: 0.4rem;*/
|
|
/*padding-right: 0.4rem;*/
|
|
width: 100%;
|
|
display: flex;
|
|
position: sticky;
|
|
top: 0;
|
|
padding-top: 0.4rem;
|
|
background: #fff;
|
|
z-index: 1000;
|
|
}
|
|
|
|
|
|
.icon {
|
|
font-size: 0.66rem;
|
|
width: 0.7rem;
|
|
}
|
|
|
|
.header-search-text {
|
|
font-size: 0.44rem;
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
font-weight: 600;
|
|
color: #040B29;
|
|
margin-left: 0.2rem;
|
|
word-break: break-all;
|
|
overflow: hidden;
|
|
display: -webkit-box;
|
|
text-overflow: ellipsis;
|
|
/*! autoprefixer: off */
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 2;
|
|
/*! autoprefixer: on;*/
|
|
text-justify: inter-ideograph;
|
|
}
|
|
|
|
.collapse {
|
|
margin-top: 0.6rem;
|
|
}
|
|
|
|
::v-deep .van-cell {
|
|
padding: 0;
|
|
}
|
|
|
|
::v-deep .van-cell::after {
|
|
border-bottom: none;
|
|
}
|
|
|
|
::v-deep .van-collapse-item--border::after {
|
|
border-top: none;
|
|
}
|
|
|
|
::v-deep .van-hairline--top-bottom::after, .van-hairline-unset--top-bottom::after {
|
|
border-width: 0;
|
|
}
|
|
|
|
::v-deep .van-cell--clickable .van-cell__title span {
|
|
font-size: 0.44rem;
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
font-weight: 600;
|
|
color: #040B29;
|
|
}
|
|
|
|
::v-deep .collapse .van-cell--clickable .van-icon {
|
|
font-size: 0.44rem;
|
|
color: #040B29;
|
|
}
|
|
|
|
::v-deep .van-collapse-item {
|
|
margin-bottom: 0.6rem;
|
|
}
|
|
|
|
.content-box-type {
|
|
display: flex;
|
|
margin-top: 0.08rem;
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
|
|
.content-box-type:last-child {
|
|
margin-bottom: 0.1rem;
|
|
}
|
|
|
|
.content-box-left {
|
|
display: inline-block;
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #6F7385;
|
|
flex: auto;
|
|
min-width: 2rem;
|
|
}
|
|
|
|
.content-box-type-text {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #6F7385;
|
|
margin-bottom: 0.4rem;
|
|
}
|
|
|
|
.content-box-type-text-one {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #01A0AC;
|
|
margin-bottom: 0.4rem;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.content-box-type-text-one-select {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #040B29;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.content-box-type-text-one:last-child {
|
|
margin-bottom: 0.1rem;
|
|
}
|
|
|
|
.content-box-type-text-Two {
|
|
display: inline-block;
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #040B29;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.content-box-text {
|
|
text-align: right;
|
|
margin-left: 0.3rem;
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #040B29;
|
|
word-break: break-all;
|
|
}
|
|
|
|
::v-deep .van-collapse-item__content {
|
|
padding: 0.5rem 0;
|
|
}
|
|
|
|
::v-deep .van-step__circle-container .van-icon {
|
|
font-size: 0.55rem;
|
|
background: #fff;
|
|
}
|
|
|
|
::v-deep .van-step--finish {
|
|
color: #00BEBE;
|
|
}
|
|
|
|
::v-deep .van-step--vertical {
|
|
padding: 0.26rem 0 0.46rem 0;
|
|
}
|
|
|
|
::v-deep .van-step--vertical:not(:last-child)::after {
|
|
border-bottom-width: 0;
|
|
}
|
|
|
|
.vanStepBox {
|
|
margin-left: 0.2rem;
|
|
}
|
|
|
|
.van-text {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #040B29;
|
|
}
|
|
|
|
.van-text-color {
|
|
padding: 0.19rem 0.3rem;
|
|
color: #26BD4B;
|
|
font-size: 0.34rem;
|
|
background: rgba(38, 189, 75, 0.12);
|
|
border-radius: 0.1rem;
|
|
}
|
|
|
|
.van-time {
|
|
font-size: 0.34rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #868A9A;
|
|
margin-top: 0.3rem;
|
|
}
|
|
|
|
.van-name {
|
|
color: #868A9A;
|
|
margin-right: 0.1rem;
|
|
font-size: 0.34rem;
|
|
}
|
|
|
|
.van-name-time {
|
|
color: #868A9A;
|
|
margin-left: 0.1rem;
|
|
font-size: 0.34rem;
|
|
}
|
|
|
|
.van-desgin {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #41475E;
|
|
margin-top: 0.3rem;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.van-file {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #01A0AC;
|
|
margin-top: 0.3rem;
|
|
word-break: break-all;
|
|
}
|
|
|
|
::v-deep .van-form .van-cell__title {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #595E72;
|
|
width: 100%;
|
|
}
|
|
|
|
::v-deep .van-form .van-cell__value {
|
|
margin-top: 0.1rem;
|
|
}
|
|
|
|
::v-deep .van-form .van-radio__icon .van-icon {
|
|
width: 0.45rem;
|
|
height: 0.45rem;
|
|
line-height: 0.38rem;
|
|
}
|
|
|
|
::v-deep .van-form .van-radio__icon--checked .van-icon {
|
|
background-color: #00BEBE;
|
|
border-color: #00BEBE;
|
|
}
|
|
|
|
::v-deep .van-form .van-radio__icon {
|
|
height: 0.45rem;
|
|
}
|
|
|
|
::v-deep .van-form .van-radio__label {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #040B29;
|
|
}
|
|
|
|
::v-deep .van-form .van-cell {
|
|
margin-bottom: 0.3rem;
|
|
}
|
|
|
|
.textarea {
|
|
display: block;
|
|
}
|
|
|
|
::v-deep .van-form .textarea .van-field__control {
|
|
background: #F5F6F7;
|
|
border-radius: 0.12rem;
|
|
padding: 0.2rem;
|
|
margin-top: 0.1rem;
|
|
}
|
|
|
|
.uploader {
|
|
display: block;
|
|
}
|
|
|
|
.uploader-button {
|
|
margin-top: 0.2rem;
|
|
}
|
|
|
|
.uploader-button .van-button--primary {
|
|
background-color: #fff;
|
|
border: 0.03rem solid #00BEBE;
|
|
color: #01A0AC;
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.uploader-button .van-button {
|
|
height: 0.9rem;
|
|
border-radius: 0.12rem;
|
|
}
|
|
|
|
.uploader-button .van-button .van-icon {
|
|
font-size: 0.42rem;
|
|
font-weight: 500;
|
|
}
|
|
|
|
::v-deep .van-loading {
|
|
color: #fff;
|
|
font-size: 0.36rem;
|
|
}
|
|
|
|
::v-deep .van-loading__text {
|
|
color: #fff;
|
|
font-size: 0.46rem;
|
|
}
|
|
|
|
::v-deep .van-overlay {
|
|
z-index: 1001;
|
|
text-align: center;
|
|
line-height: 30;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.submitButton {
|
|
border-radius: 0.2rem;
|
|
background: #00B3BE;
|
|
border: none;
|
|
margin-top: 1.2rem;
|
|
}
|
|
|
|
::v-deep .van-icon-success:before {
|
|
font-size: 0.34rem;
|
|
text-align: center;
|
|
}
|
|
|
|
::v-deep .van-radio {
|
|
margin-bottom: 0.1rem;
|
|
}
|
|
|
|
.file-list {
|
|
width: 100%;
|
|
background: #FFFFFF;
|
|
border-radius: 0.2rem;
|
|
border: 0.02rem solid #E6E7EC;
|
|
padding: 0.26rem 0.4rem;
|
|
font-size: 0.38rem;
|
|
font-weight: 400;
|
|
color: #040B29;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
margin-bottom: 0.2rem;
|
|
}
|
|
|
|
.file-text {
|
|
display: inline-block;
|
|
margin-right: 0.3rem;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.file-text-icon {
|
|
font-size: 0.41rem;
|
|
margin-left: 0.2rem;
|
|
color: #26BD4B;
|
|
font-weight: 600;
|
|
float: right;
|
|
margin-top: 0.11rem;
|
|
}
|
|
|
|
.icon-text {
|
|
font-size: 0.4rem;
|
|
color: #040B29;
|
|
}
|
|
|
|
::v-deep .van-field--error .van-field__control::placeholder {
|
|
color: #BBBDC7;
|
|
}
|
|
|
|
.van-text-status {
|
|
margin-bottom: 0.3rem;
|
|
margin-top: 0.3rem;
|
|
}
|
|
|
|
.van-collapse-item:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.AcceptedClass {
|
|
background: #e9f8ed;
|
|
color: #26BD4B;
|
|
}
|
|
|
|
.RejectedClass {
|
|
background: #fdeaea;
|
|
color: #E83030;
|
|
}
|
|
|
|
.TransferClass {
|
|
background: #fff6e8;
|
|
color: #FDA71C;
|
|
}
|
|
|
|
.ReturnedClass {
|
|
background: #fff6e8;
|
|
color: #FDA71C;
|
|
}
|
|
|
|
.AdoptClass {
|
|
background: #e9f8ed;
|
|
color: #26BD4B;
|
|
}
|
|
|
|
.ComplianceClass {
|
|
background: #e9f8ed;
|
|
color: #26BD4B;
|
|
}
|
|
|
|
.NonComplianceClass {
|
|
background: #fdeaea;
|
|
color: #E83030;
|
|
}
|
|
|
|
.trackedClass {
|
|
background: #fff6e8;
|
|
color: #FDA71C;
|
|
}
|
|
|
|
.NAClass {
|
|
background: #f1f1f3;
|
|
color: #707486;
|
|
}
|
|
|
|
.content-box-text-color {
|
|
color: #01A0AC;
|
|
}
|
|
|
|
.resultofhandlingClass {
|
|
font-size: 0.38rem;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 500;
|
|
color: #595E72;
|
|
width: 100%;
|
|
}
|
|
|
|
.requiredClass {
|
|
color: #E83030;
|
|
font-size: 0.38rem;
|
|
margin-left: 0.02rem;
|
|
}
|
|
|
|
::v-deep .productionEnterpriseName .van-field__error-message {
|
|
display: none;
|
|
}
|
|
</style> |