|
|
@ -1,284 +1,134 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="address_edit"> |
|
|
<div class="address_edit"> |
|
|
<!-- 导航栏 --> |
|
|
<div class="warp_body"> |
|
|
<!-- <div class="header_body"> |
|
|
|
|
|
<header-nav |
|
|
<div class="cardsty"><label>处置单位</label><span>{{data.dataObj.orgText}}</span></div> |
|
|
:slefBack="true" |
|
|
<div class="cardsty"> |
|
|
@goBack="goBack" |
|
|
<h4>您对我们的服务满意吗?</h4> |
|
|
:titelText="`在线投诉`" |
|
|
<div class="eval-item"> |
|
|
> |
|
|
<label>处置速度</label> |
|
|
</header-nav> |
|
|
<span class="eval-star"> |
|
|
</div>--> |
|
|
<van-icon class="active" name="star" v-for="n in data.dataObj.dealSpeedMetrics"/> |
|
|
<!-- 中间 --> |
|
|
<van-icon @click="checkDealSpeedMetrics(n)" name="star" v-for="n in (5 - data.dataObj.dealSpeedMetrics)"/> |
|
|
<van-form @failed="onFailed" @submit="submit"> |
|
|
</span> |
|
|
<van-cell-group> |
|
|
<span v-if="data.dataObj.dealSpeedMetrics == 1">非常不满意</span> |
|
|
<!-- is-link @click="showPopup" --> |
|
|
<span v-if="data.dataObj.dealSpeedMetrics == 2">不满意</span> |
|
|
<view v-if="data.isSelect=='true'"> |
|
|
<span v-if="data.dataObj.dealSpeedMetrics == 3">基本满意</span> |
|
|
<van-field |
|
|
<span v-if="data.dataObj.dealSpeedMetrics == 4">满意</span> |
|
|
v-model="submitData.enforcementName" |
|
|
<span v-if="data.dataObj.dealSpeedMetrics == 5">非常满意</span> |
|
|
label="相关案件" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
readonly |
|
|
|
|
|
required |
|
|
|
|
|
:rules="[{ required: true, message: '请选择相关案件' }]" |
|
|
|
|
|
clickable |
|
|
|
|
|
/> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view v-else> |
|
|
|
|
|
<van-field |
|
|
|
|
|
v-model="submitData.enforcementName" |
|
|
|
|
|
label="相关案件" |
|
|
|
|
|
placeholder="请选择" |
|
|
|
|
|
readonly |
|
|
|
|
|
required |
|
|
|
|
|
:rules="[{ required: true, message: '请选择相关案件' }]" |
|
|
|
|
|
clickable |
|
|
|
|
|
is-link |
|
|
|
|
|
/> |
|
|
|
|
|
</view> |
|
|
|
|
|
<!-- <Popup :visible="popupVisible" :content="popupContent" @close="closePopup" |
|
|
|
|
|
@reciveData="reciveData"/> --> |
|
|
|
|
|
<van-divider class="divdsty"/> |
|
|
|
|
|
<van-field |
|
|
|
|
|
v-model="submitData.evaluateDescription" |
|
|
|
|
|
rows="5" |
|
|
|
|
|
autosize |
|
|
|
|
|
label="意见|建议" |
|
|
|
|
|
type="textarea" |
|
|
|
|
|
maxlength="300" |
|
|
|
|
|
placeholder="请输入" |
|
|
|
|
|
required |
|
|
|
|
|
:rules="[{ required: true, message: '请输入意见|建议' }]" |
|
|
|
|
|
show-word-limit |
|
|
|
|
|
/> |
|
|
|
|
|
<van-divider class="divdsty"/> |
|
|
|
|
|
|
|
|
|
|
|
<van-field |
|
|
|
|
|
v-model="submitData.linkman" |
|
|
|
|
|
label="联系人" |
|
|
|
|
|
placeholder="联系人" |
|
|
|
|
|
required |
|
|
|
|
|
:rules="[{ required: true, message: '请填写联系人' }]" |
|
|
|
|
|
/> |
|
|
|
|
|
<van-field |
|
|
|
|
|
v-model="submitData.linkmanTel" |
|
|
|
|
|
label="联系电话" |
|
|
|
|
|
placeholder="联系电话" |
|
|
|
|
|
required |
|
|
|
|
|
:rules="[{ validator, message: '请输入正确内容' }]" |
|
|
|
|
|
/> |
|
|
|
|
|
<div class="agree-box"> |
|
|
|
|
|
<span class="remsty">是否授权</span> |
|
|
|
|
|
<span class="accept-item"><input class="checksty" type="checkbox" name="" value="" |
|
|
|
|
|
v-model="data.isCheckedon" @click="selectCh(1)">同意</span> |
|
|
|
|
|
<span class="accept-item"><input class="checksty" type="checkbox" name="" value="" |
|
|
|
|
|
v-model="data.isCheckedoff" @click="selectCh(0)">不同意</span> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="agree-remark"> |
|
|
<div class="eval-item"> |
|
|
<span class="accept-item">注:选择“同意”,处置部门将通过登记的联系人、联系电话与您联系,并对您的个人信息严格保密。</span> |
|
|
<label>处置效果</label> |
|
|
|
|
|
<span class="eval-star"> |
|
|
|
|
|
<van-icon class="active" name="star" v-for="n in data.dataObj.dealEffectMetrics"/> |
|
|
|
|
|
<van-icon name="star" v-for="n in (5 - data.dataObj.dealEffectMetrics)"/> |
|
|
|
|
|
</span> |
|
|
|
|
|
<span v-if="data.dataObj.dealEffectMetrics == 1">非常不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.dealEffectMetrics == 2">不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.dealEffectMetrics == 3">基本满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.dealEffectMetrics == 4">满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.dealEffectMetrics == 5">非常满意</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="eval-item"> |
|
|
|
|
|
<label>服务体验</label> |
|
|
|
|
|
<span class="eval-star"> |
|
|
|
|
|
<van-icon class="active" name="star" v-for="n in data.dataObj.serviceMetrics"/> |
|
|
|
|
|
<van-icon name="star" v-for="n in (5 - data.dataObj.serviceMetrics)"/> |
|
|
|
|
|
</span> |
|
|
|
|
|
<span v-if="data.dataObj.serviceMetrics == 1">非常不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.serviceMetrics == 2">不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.serviceMetrics == 3">基本满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.serviceMetrics == 4">满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.serviceMetrics == 5">非常满意</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="eval-item"> |
|
|
|
|
|
<label>反馈质量</label> |
|
|
|
|
|
<span class="eval-star"> |
|
|
|
|
|
<van-icon class="active" name="star" v-for="n in data.dataObj.feedbackQualityMetrics"/> |
|
|
|
|
|
<van-icon name="star" v-for="n in (5 - data.dataObj.feedbackQualityMetrics)"/> |
|
|
|
|
|
</span> |
|
|
|
|
|
<span v-if="data.dataObj.feedbackQualityMetrics == 1">非常不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.feedbackQualityMetrics == 2">不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.feedbackQualityMetrics == 3">基本满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.feedbackQualityMetrics == 4">满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.feedbackQualityMetrics == 5">非常满意</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="eval-all"> |
|
|
|
|
|
<span>整体评价:</span> |
|
|
|
|
|
<i class="verygood bad" v-if="data.dataObj.approveCode == 1 || data.dataObj.approveCode == 2"></i> |
|
|
|
|
|
<i class="verygood good" v-if="data.dataObj.approveCode == 3 || data.dataObj.approveCode == 4"></i> |
|
|
|
|
|
<i class="verygood" v-if="data.dataObj.approveCode == 5"></i> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 1">非常不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 2">不满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 3">基本满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 4">满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 5">非常满意</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 6">未评价</span> |
|
|
|
|
|
<span v-if="data.dataObj.approveCode == 7">无效评价</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="cardsty"> |
|
|
|
|
|
<label>反馈详情</label> |
|
|
|
|
|
<div class="eval-cont"> |
|
|
|
|
|
{{data.dataObj.writingEvaluation}} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="file-upload"> |
|
|
|
|
|
<div class="file-upload-center"> |
|
|
|
|
|
<label>附件</label> |
|
|
|
|
|
</div> |
|
|
|
|
|
<van-uploader v-model="submitData.fileObjList" class="file" multiple :show-upload="false" :deletable="false" readonly accept="image/*, video/*"> |
|
|
|
|
|
<template #preview-cover="{ file }"> |
|
|
|
|
|
<!-- <div class="preview-cover van-ellipsis">{{ file.name }}</div>--> |
|
|
|
|
|
</template> |
|
|
|
|
|
</van-uploader> |
|
|
|
|
|
</div> |
|
|
|
|
|
<video controls id="myVideo" v-for="(item, index) in data.videos"> |
|
|
|
|
|
<source :src="item" type="video/mp4" /> |
|
|
|
|
|
</video> |
|
|
</div> |
|
|
</div> |
|
|
</van-cell-group> |
|
|
|
|
|
<van-action-bar> |
|
|
|
|
|
<van-button round block type="info" native-type="submit">提交</van-button> |
|
|
|
|
|
</van-action-bar> |
|
|
|
|
|
</van-form> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script setup name="register"> |
|
|
<script setup name="register"> |
|
|
|
|
|
|
|
|
import {showSuccessToast, showLoadingToast, closeToast, Toast} from 'vant'; |
|
|
|
|
|
import {addEnterpriseComplaint, addEvaluateInfo} from '@/api/enterprise' |
|
|
import {uploadFile} from '../../../util/fileUpload' |
|
|
// import {getDict} from '@/api/Home' |
|
|
|
|
|
import {reactive, ref} from "vue"; |
|
|
import {reactive, ref} from "vue"; |
|
|
//案件筛选弹窗 |
|
|
import * as w6s from 'szient-js-sdk'; |
|
|
// import Popup from '@/view/enterprise/caseFilter.vue'; |
|
|
import {getObjByKey, mssqDownFile, mssqDownFiles} from "../../../api/enterprise"; |
|
|
|
|
|
|
|
|
const {useCommon, useMy} = $globalStore |
|
|
const {useCommon, useMy} = $globalStore |
|
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
const router = useRouter(); |
|
|
const route = useRoute(); |
|
|
const route = useRoute(); |
|
|
let queryaddressId = ref(""); |
|
|
|
|
|
const data = reactive({ |
|
|
const data = reactive({ |
|
|
searchResult: [], |
|
|
dataObj: { |
|
|
showPicker: false, |
|
|
dealSpeedMetrics: 0, |
|
|
columns: [], |
|
|
dealEffectMetrics: 0, |
|
|
selectTypeValue: ref[0], |
|
|
serviceMetrics: 0, |
|
|
isSelect: true, |
|
|
feedbackQualityMetrics: 0, |
|
|
isCheckedon: true, |
|
|
writingEvaluation: "", |
|
|
isCheckedoff: false, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
//保存参数 |
|
|
//保存参数 |
|
|
const submitData = reactive({ |
|
|
const submitData = reactive({ |
|
|
// 用户id |
|
|
fileObjList: [], |
|
|
userId: ref(useCommon.userId), |
|
|
|
|
|
//关联案件ID |
|
|
|
|
|
relId: "", |
|
|
|
|
|
//案件名称 |
|
|
|
|
|
enforcementName: "", |
|
|
|
|
|
enforcementId: "", |
|
|
|
|
|
//企业名称 |
|
|
|
|
|
enterpriseName: "", |
|
|
|
|
|
//纳税识别号 |
|
|
|
|
|
enterpriseNumber: "", |
|
|
|
|
|
//问题描述 |
|
|
|
|
|
evaluateDescription: "", |
|
|
|
|
|
//联系人 |
|
|
|
|
|
linkman: "", |
|
|
|
|
|
//联系电话 |
|
|
|
|
|
linkmanTel: "", |
|
|
|
|
|
// 是否授权 |
|
|
|
|
|
authorization: 1, |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 返回 |
|
|
|
|
|
const goBack = () => { |
|
|
|
|
|
router.go(-1); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const validator = (val) => /^1[34578]\d{9}$/.test(val); |
|
|
|
|
|
|
|
|
|
|
|
const onFailed = (errorInfo) => { |
|
|
|
|
|
console.log('failed', errorInfo); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const submit = () => { |
|
|
|
|
|
console.log(submitData); |
|
|
|
|
|
|
|
|
|
|
|
addEvaluateInfo(submitData, success => { |
|
|
|
|
|
|
|
|
|
|
|
console.log(success) |
|
|
|
|
|
//跳转企业二维码地址 |
|
|
|
|
|
if (success.success) { |
|
|
|
|
|
showSuccessToast("评价成功") |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
goBack(); |
|
|
|
|
|
}, 2000); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
}, error => { |
|
|
|
|
|
console.log("评价失败") |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
//消息提醒 |
|
|
|
|
|
// const toast = showLoadingToast({ |
|
|
|
|
|
// duration: 0, |
|
|
|
|
|
// forbidClick: true, |
|
|
|
|
|
// message: '提交成功', |
|
|
|
|
|
// }); |
|
|
|
|
|
// let second = 3; |
|
|
|
|
|
// const timer = setInterval(() => { |
|
|
|
|
|
// second--; |
|
|
|
|
|
// if (second) { |
|
|
|
|
|
// } else { |
|
|
|
|
|
// clearInterval(timer); |
|
|
|
|
|
// closeToast(); |
|
|
|
|
|
// } |
|
|
|
|
|
// }, 1000); |
|
|
|
|
|
// 保存地址操作 |
|
|
|
|
|
const onSave = () => { |
|
|
|
|
|
router.replace({name: "addressList"}); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const onConfirm = (value) => { |
|
|
|
|
|
data.showPicker = false; |
|
|
|
|
|
console.log(value) |
|
|
|
|
|
submitData.enforceType = value.selectedValues[0]; |
|
|
|
|
|
submitData.enforceTypeText = value.selectedOptions[0].text; |
|
|
|
|
|
} |
|
|
|
|
|
const selectType = () => { |
|
|
|
|
|
data.showPicker = true; |
|
|
|
|
|
// console.log(data) |
|
|
|
|
|
} |
|
|
|
|
|
const selectCh = (val) => { |
|
|
|
|
|
submitData.authorization = val; |
|
|
|
|
|
if (val == 0) { |
|
|
|
|
|
data.isCheckedon = false; |
|
|
|
|
|
data.isCheckedoff = true; |
|
|
|
|
|
} else { |
|
|
|
|
|
data.isCheckedon = true; |
|
|
|
|
|
data.isCheckedoff = false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const uploadFiles = (file) => { |
|
|
|
|
|
uploadFile(file, (res) => { |
|
|
|
|
|
console.log(res); |
|
|
|
|
|
submitData.fileList.push(res.url) |
|
|
|
|
|
console.log(submitData.fileList); |
|
|
|
|
|
}); |
|
|
}); |
|
|
} |
|
|
|
|
|
const deleteFile = (file, index) => { |
|
|
|
|
|
// submitData.fileListObj.filter((item, indexs) => { |
|
|
|
|
|
// if (index.index == indexs) { |
|
|
|
|
|
// submitData.fileListObj.splice(indexs, 1);//splice 删除 |
|
|
|
|
|
// } |
|
|
|
|
|
// }); |
|
|
|
|
|
submitData.fileList.filter((item, indexs) => { |
|
|
|
|
|
if (index.index == indexs) { |
|
|
|
|
|
submitData.fileList.splice(indexs, 1);//splice 删除 |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
submitData.enforcementId = route?.query?.id; |
|
|
submitData.id = route?.query?.id; |
|
|
submitData.enforcementName = route?.query?.lawEnforcementItemText; |
|
|
|
|
|
data.isSelect = route?.query?.isSelect; |
|
|
|
|
|
// initData(submitData.relId); |
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const reciveData = (item) => { |
|
|
const checkDealSpeedMetrics = (n) => { |
|
|
console.log(item) |
|
|
console.log("选择处置速度: ",n) |
|
|
submitData.lawEnforcementIncidentText = item.lawEnforcementItemText; |
|
|
data.dataObj.dealSpeedMetrics = n; |
|
|
submitData.lawEnforcementIncident = item.lawEnforcementItem; |
|
|
|
|
|
submitData.relId = item.id; |
|
|
|
|
|
} |
|
|
} |
|
|
const getAddressInfo = () => { |
|
|
|
|
|
console.log(url); |
|
|
|
|
|
const access_key = '6374106c5eb449a4ad6c2430f30796e6'; |
|
|
|
|
|
const access_secret = '434fec85aa5846e88bbeb8fac6cf6d7f'; |
|
|
|
|
|
// generateRandomNumber() |
|
|
|
|
|
const nonce = "887954"; |
|
|
|
|
|
const timestamp = `${Date.now()}`; |
|
|
|
|
|
|
|
|
|
|
|
const str = [access_secret, nonce, timestamp] |
|
|
|
|
|
.sort() |
|
|
|
|
|
.reduce((str, item) => str += item, ''); |
|
|
|
|
|
|
|
|
|
|
|
// 最终还需要转成全小写 |
|
|
|
|
|
const signature = sha1(str).toString().toLowerCase(); |
|
|
|
|
|
var siqObject = { |
|
|
|
|
|
access_key: access_key, |
|
|
|
|
|
nonce: nonce, |
|
|
|
|
|
timestamp: timestamp, |
|
|
|
|
|
signature: signature, |
|
|
|
|
|
}; |
|
|
|
|
|
console.log(siqObject); |
|
|
|
|
|
//深i企鉴权 |
|
|
|
|
|
w6s.config(siqObject) |
|
|
|
|
|
.then((res) => { |
|
|
|
|
|
// 成功 |
|
|
|
|
|
console.log("鉴权成功", res); |
|
|
|
|
|
w6s.ready(() => { |
|
|
|
|
|
w6s.location.getLocation({ |
|
|
|
|
|
success: function (res) { |
|
|
|
|
|
console.log(res) |
|
|
|
|
|
}, |
|
|
|
|
|
fail: function (err) { |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
.catch((err) => { |
|
|
|
|
|
// 失败 |
|
|
|
|
|
// console.log(err) |
|
|
|
|
|
console.log("鉴权失败", err); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
@ -297,38 +147,19 @@ |
|
|
width: 94%; |
|
|
width: 94%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
//border-radius: 0.25rem; |
|
|
//border-radius: 0.25rem; |
|
|
background-image: linear-gradient(to bottom, #ebf3fb, #fff); |
|
|
//background-image: linear-gradient(to bottom, #ebf3fb, #fff); |
|
|
|
|
|
background: transparent; |
|
|
overflow-y: auto; |
|
|
overflow-y: auto; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */ |
|
|
|
|
|
.van-popup.van-toast { |
|
|
|
|
|
background: var(--van-toast-background) !important; |
|
|
|
|
|
box-sizing: content-box !important; |
|
|
|
|
|
/* 下面3条css,影响不大 */ |
|
|
|
|
|
transition: all var(--van-duration-fast) !important; |
|
|
|
|
|
width: var(--van-toast-default-width) !important; |
|
|
|
|
|
max-width: var(--van-toast-max-width) !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.van-popup.van-toast .van-toast__icon { |
|
|
|
|
|
font-size: var(--van-toast-icon-size) !important; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.divdsty { |
|
|
|
|
|
margin: auto; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 0.25rem; |
|
|
|
|
|
background-color: #f4f4f4; |
|
|
|
|
|
border: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.file-upload { |
|
|
.file-upload { |
|
|
position: relative; |
|
|
position: relative; |
|
|
min-height: 3.0rem; |
|
|
min-height: 3.0rem; |
|
|
max-height: 6.5rem; |
|
|
/*max-height: 6.5rem;*/ |
|
|
padding: 1rem 0.27rem 0.27rem 0.43rem; |
|
|
padding: 1rem 0.27rem 0.27rem 0.43rem; |
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
|
|
|
|
background: #fff; |
|
|
|
|
|
border-radius: 0.2rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.file-upload-center { |
|
|
.file-upload-center { |
|
|
@ -338,11 +169,14 @@ |
|
|
width: 90%; |
|
|
width: 90%; |
|
|
height: 0.65rem; |
|
|
height: 0.65rem; |
|
|
font-size: 0.38rem; |
|
|
font-size: 0.38rem; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
|
|
|
span { |
|
|
span { |
|
|
font-size: 0.32rem; |
|
|
font-size: 0.32rem; |
|
|
color: rgb(221, 229, 227); |
|
|
color: rgb(221, 229, 227); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.file { |
|
|
.file { |
|
|
position: relative; |
|
|
position: relative; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
@ -365,243 +199,96 @@ |
|
|
background: rgba(0, 0, 0, 0.3); |
|
|
background: rgba(0, 0, 0, 0.3); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.rigbtn { |
|
|
.zoom { |
|
|
float: right; |
|
|
/*margin-top: 0.65rem; |
|
|
position: relative; |
|
|
padding-top: 0.27rem; |
|
|
z-index: 1; |
|
|
padding-left: 0.27rem;*/ |
|
|
margin: 0.3rem 0.5rem; |
|
|
|
|
|
padding: 0.2rem 0.3rem; |
|
|
|
|
|
background-color: #e9f2fb; |
|
|
|
|
|
color: #1367fe; |
|
|
|
|
|
border-radius: 1rem; |
|
|
|
|
|
font-size: 0.3rem; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.popup { |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
z-index: 999; |
|
|
|
|
|
top: 3rem; |
|
|
|
|
|
left: 0; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: calc(100% - 3rem); |
|
|
|
|
|
background: #fff; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.popup-title { |
|
|
img { |
|
|
margin: 0.3rem 0 0; |
|
|
width: 1.95rem; |
|
|
width: 100%; |
|
|
height: 2rem; |
|
|
height: 1rem; |
|
|
margin: 0 0.21rem 0.21rem 0; |
|
|
border-bottom: 1px solid #f3f4f5; |
|
|
font-size: 0.35rem; |
|
|
text-align: center; |
|
|
|
|
|
font-size: 0.45rem; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.close-button { |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
top: 0.15rem; |
|
|
|
|
|
right: 0.1rem; |
|
|
|
|
|
width: 0.8rem; |
|
|
|
|
|
height: 0.8rem; |
|
|
|
|
|
background-color: rgba(255, 255, 255, .5); |
|
|
|
|
|
border: 0.05rem solid rgba(255, 255, 255, .7); |
|
|
|
|
|
border-radius: 50%; |
|
|
|
|
|
transform: rotate(45deg); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.close-button:before, |
|
|
|
|
|
.close-button:after { |
|
|
|
|
|
content: ''; |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
top: 50%; |
|
|
|
|
|
left: 50%; |
|
|
|
|
|
background: #333; |
|
|
|
|
|
border-radius: 50%; |
|
|
|
|
|
transform: translate(-50%, -50%); |
|
|
|
|
|
height: 0.4rem; |
|
|
|
|
|
width: 0.02rem; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.close-button:after { |
|
|
|
|
|
height: 0.02rem; |
|
|
|
|
|
width: 0.4rem; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.popup-content { |
|
|
|
|
|
margin: 0.25rem 3% 0; |
|
|
|
|
|
padding-bottom: 3rem; |
|
|
|
|
|
width: 94%; |
|
|
|
|
|
height: calc(100% - 1.6rem); |
|
|
|
|
|
overflow-y: auto; |
|
|
|
|
|
font-size: 0.38rem; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.subsearch { |
|
|
.cardsty { |
|
|
|
|
|
margin: 3% 0; |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 1.25rem; |
|
|
padding: 5%; |
|
|
} |
|
|
background: #fff; |
|
|
|
|
|
border-radius: 0.2rem; |
|
|
.searchbox { |
|
|
font-size: 0.38rem; |
|
|
margin: 2% 3%; |
|
|
|
|
|
padding: 0.15rem 0.3rem 0.1rem 1.15rem; |
|
|
|
|
|
width: 94%; |
|
|
|
|
|
height: 1.0rem; |
|
|
|
|
|
background: #f6f7fe url(../../assets/images/icon_sou.png) no-repeat; |
|
|
|
|
|
background-position: left 0.5rem center; |
|
|
|
|
|
background-size: auto 50%; |
|
|
|
|
|
box-sizing: border-box; |
|
|
box-sizing: border-box; |
|
|
border: 1px solid rgba(0, 0, 0, .05); |
|
|
|
|
|
border-radius: 0.5rem; |
|
|
|
|
|
color: #999999; |
|
|
|
|
|
outline: none; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.subtitle { |
|
|
.cardsty h4 { |
|
|
margin: 0.5rem 0 0.25rem; |
|
|
margin: 0.2rem 0 0.5rem; |
|
|
font-size: 0.4rem; |
|
|
font-size: 0.42rem; |
|
|
font-weight: 600; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.quick-item { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.quick-item span { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
margin: 1% 0 2% 3.5%; |
|
|
|
|
|
padding: 2% 3.75%; |
|
|
|
|
|
background: #f2f3f4; |
|
|
|
|
|
border: 0; |
|
|
|
|
|
border-radius: 8px; |
|
|
|
|
|
color: #4c4c4c; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.quick-item span.seled { |
|
|
.cardsty label { |
|
|
background: #e9f2fb; |
|
|
margin-right: 0.3rem; |
|
|
color: #1367fe; |
|
|
font-weight: 600; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.btnbox { |
|
|
.eval-item { |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
margin: 5% 2%; |
|
|
margin: 0.27rem 0; |
|
|
width: 96%; |
|
|
|
|
|
height: 1.0rem; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.btn-reset, |
|
|
|
|
|
.btn-search { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
margin: 0 2%; |
|
|
|
|
|
padding: 0; |
|
|
|
|
|
width: 60%; |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
font-size: 0.35rem; |
|
|
|
|
|
border-radius: 1rem; |
|
|
|
|
|
background: #1367fe; |
|
|
|
|
|
border: 1px solid #1367fe; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.btn-reset { |
|
|
|
|
|
width: 35%; |
|
|
|
|
|
background-color: #fff; |
|
|
|
|
|
border-color: rgba(19, 103, 254, .7); |
|
|
|
|
|
color: #1367fe; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.search-result { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
padding-bottom: 2rem; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.case-item { |
|
|
|
|
|
margin: 3% 2%; |
|
|
|
|
|
padding: 2% 0; |
|
|
|
|
|
width: 96%; |
|
|
|
|
|
font-size: 0.35rem; |
|
|
|
|
|
border-bottom: 1px solid #f4f4f4; |
|
|
|
|
|
color: #999; |
|
|
|
|
|
line-height: 2; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.case-title { |
|
|
|
|
|
margin: 2% 0; |
|
|
|
|
|
font-size: 0.42rem; |
|
|
|
|
|
color: #333; |
|
|
|
|
|
line-height: 1.25; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */ |
|
|
|
|
|
.van-popup.van-toast { |
|
|
|
|
|
background: var(--van-toast-background) !important; |
|
|
|
|
|
box-sizing: content-box !important; |
|
|
|
|
|
/* 下面3条css,影响不大 */ |
|
|
|
|
|
transition: all var(--van-duration-fast) !important; |
|
|
|
|
|
width: var(--van-toast-default-width) !important; |
|
|
|
|
|
max-width: var(--van-toast-max-width) !important; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.van-popup.van-toast .van-toast__icon { |
|
|
.eval-star { |
|
|
font-size: var(--van-toast-icon-size) !important; |
|
|
margin: 0 0.3rem 0 0.2rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.agree-box { |
|
|
.eval-star i { |
|
|
display: flex; |
|
|
margin: 0 0.1rem; |
|
|
align-items: center; |
|
|
color: #ddd; |
|
|
height: 1.5rem; |
|
|
font-size: 0.5rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.agree-box .remsty { |
|
|
.eval-star i.active { |
|
|
margin: 0.5rem 0.5rem; |
|
|
color: #fbb516; |
|
|
padding-left: 0.85rem; |
|
|
|
|
|
background: url("../../assets/images/icon_remind.png") no-repeat left center; |
|
|
|
|
|
background-size: auto 100%; |
|
|
|
|
|
font-size: 0.5rem; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.accept-item { |
|
|
.eval-all { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
margin: 0 0.15rem; |
|
|
margin: 8% 2% 3%; |
|
|
font-size: 0.42rem; |
|
|
padding: 8% 0 0 0; |
|
|
} |
|
|
width: 96%; |
|
|
|
|
|
border-top: 0.02667rem solid #eee; |
|
|
.checksty { |
|
|
|
|
|
margin: 0 0.25rem; |
|
|
|
|
|
width: 0.5rem; |
|
|
|
|
|
height: 0.5rem; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.agree-remark { |
|
|
.eval-all i { |
|
|
.accept-item { |
|
|
display: inline-block; |
|
|
font-size: 0.3rem; |
|
|
margin: 0 0.3rem 0 0.5rem; |
|
|
padding: 0px 10px; |
|
|
width: 0.75rem; |
|
|
width: 80%; |
|
|
height: 0.75rem; |
|
|
color: #969799 |
|
|
background: url("../../assets/images/eval-verygood.png") no-repeat; |
|
|
|
|
|
background-size: 100% 100%; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
height: 1.4rem; |
|
|
.eval-all i.good { |
|
|
|
|
|
background: url("../../assets/images/eval-good.png") no-repeat; |
|
|
|
|
|
background-size: 100% 100%; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/deep/ .van-button { |
|
|
.eval-all i.bad { |
|
|
margin: 5% 3%; |
|
|
background: url("../../assets/images/eval-bad.png") no-repeat; |
|
|
padding: 0; |
|
|
background-size: 100% 100%; |
|
|
width: 94%; |
|
|
|
|
|
height: 1rem; |
|
|
|
|
|
color: #fff; |
|
|
|
|
|
font-size: 0.4rem; |
|
|
|
|
|
border-radius: 1rem; |
|
|
|
|
|
background: #1367fe; |
|
|
|
|
|
border: 0.01rem solid #1367fe; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/deep/ .van-action-bar { |
|
|
.eval-cont { |
|
|
box-shadow: 0 0 0.27rem #e5e5e5; |
|
|
margin: 3% 0; |
|
|
|
|
|
padding: 0.27rem; |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
min-height: 3rem; |
|
|
|
|
|
border-radius: 0.2rem; |
|
|
|
|
|
border: 0.02667rem solid #eee; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
line-height: 1.5; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</style> |
|
|
</style> |
|
|
|