|
@@ -4,7 +4,7 @@
|
|
|
<ul class="detailUl">
|
|
|
<li class="detailLi">
|
|
|
<span class="liName">当前企业</span>
|
|
|
- <span class="liInfo">无锡XXXXX有限公司</span>
|
|
|
+ <span class="liInfo">{{ detail.companyName }}</span>
|
|
|
</li>
|
|
|
<li class="detailLi">
|
|
|
<span class="liName">
|
|
@@ -12,12 +12,10 @@
|
|
|
您是想
|
|
|
</span>
|
|
|
<span class="liInfo">
|
|
|
- <label class="radio" @click.stop="isCheck=true" >
|
|
|
- <radio value="报事" :checked="isCheck" color="#0365F9"/>报事
|
|
|
- </label>
|
|
|
- <label class="radio" @click.stop="isCheck=false" >
|
|
|
- <radio value="咨询" :checked="!isCheck" color="#0365F9"/>咨询
|
|
|
- </label>
|
|
|
+ <van-radio-group :value="detail.type" disabled>
|
|
|
+ <van-radio name="1">报事</van-radio>
|
|
|
+ <van-radio name="2">咨询</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
</span>
|
|
|
</li>
|
|
|
<li class="detailLi2">
|
|
@@ -26,16 +24,17 @@
|
|
|
</span>
|
|
|
<div class="detailLi2Box">
|
|
|
<div class="detailLi2BoxTop">
|
|
|
- <div class="checkItem" :class="item.isCheck?'checked':''" v-for="item in checkList" @click="clickCheck(item)">{{item.name}}</div>
|
|
|
+ <div class="checkItem" :class="detail.serviceType===item.label?'checked':''" v-for="item in checkList">{{item.label}}</div>
|
|
|
</div>
|
|
|
<van-field
|
|
|
- :value="form.contant"
|
|
|
+ :value="detail.description"
|
|
|
autosize
|
|
|
type="textarea"
|
|
|
placeholder="请输入文字进行报事报修描述"
|
|
|
class="myField"
|
|
|
maxlength="800"
|
|
|
show-word-limit
|
|
|
+ readonly
|
|
|
/>
|
|
|
</div>
|
|
|
</li>
|
|
@@ -45,12 +44,10 @@
|
|
|
位置
|
|
|
</span>
|
|
|
<span class="liInfo">
|
|
|
- <label class="radio" @click.stop="isCheck2=true" >
|
|
|
- <radio value="报事" :checked="isCheck2" color="#0365F9"/>室内
|
|
|
- </label>
|
|
|
- <label class="radio" @click.stop="isCheck2=false" >
|
|
|
- <radio value="咨询" :checked="!isCheck2" color="#0365F9"/>公区
|
|
|
- </label>
|
|
|
+ <van-radio-group :value="detail.position" disabled>
|
|
|
+ <van-radio name="1">室内</van-radio>
|
|
|
+ <van-radio name="2">公区</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
</span>
|
|
|
</li>
|
|
|
<li class="detailLi2">
|
|
@@ -277,33 +274,38 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+import {getRepairDispatchById,getUserLocalStorageInfo,getByCodes } from "@/js_sdk/http";
|
|
|
export default {
|
|
|
data(){
|
|
|
return{
|
|
|
+ dc_key: ['QUICK_SELECTION'],
|
|
|
isCheck:false,
|
|
|
isCheck2:false,
|
|
|
- form:{
|
|
|
- contant:''
|
|
|
+ detail:{
|
|
|
},
|
|
|
checkList:[
|
|
|
- {name:'挂件安装',isCheck:true},
|
|
|
- {name:'我要投诉',isCheck:false},
|
|
|
- {name:'疏通管道',isCheck:false},
|
|
|
- {name:'维修线路',isCheck:false},
|
|
|
- {name:'更换灯泡',isCheck:false},
|
|
|
- {name:'网络维修',isCheck:false},
|
|
|
- {name:'保洁服务',isCheck:false},
|
|
|
- {name:'其他维修',isCheck:false},
|
|
|
+ // {name:'挂件安装',isCheck:true},
|
|
|
+ // {name:'我要投诉',isCheck:false},
|
|
|
+ // {name:'疏通管道',isCheck:false},
|
|
|
+ // {name:'维修线路',isCheck:false},
|
|
|
+ // {name:'更换灯泡',isCheck:false},
|
|
|
+ // {name:'网络维修',isCheck:false},
|
|
|
+ // {name:'保洁服务',isCheck:false},
|
|
|
+ // {name:'其他维修',isCheck:false},
|
|
|
],
|
|
|
fileList:[],
|
|
|
optionsType:'',
|
|
|
timeNow:'',
|
|
|
- value: "5"
|
|
|
+ value: "5",
|
|
|
+ id:'',
|
|
|
+ dic_SelectList:[]
|
|
|
}
|
|
|
},
|
|
|
onLoad(options) {
|
|
|
- console.log(options);
|
|
|
- this.optionsType = options.type
|
|
|
+ const item = JSON.parse(options.item)
|
|
|
+ this.id = item.id
|
|
|
+ console.log('11111',this.id)
|
|
|
+ this.optionsType = item.type
|
|
|
if (options.type==='待处理'){
|
|
|
uni.setNavigationBarTitle({
|
|
|
title: '报修处理',
|
|
@@ -317,6 +319,7 @@ export default {
|
|
|
title: '报修派单',
|
|
|
});
|
|
|
}
|
|
|
+ this.getByCodes()
|
|
|
},
|
|
|
mounted(){
|
|
|
this.getTime()
|
|
@@ -327,11 +330,34 @@ export default {
|
|
|
// url:'/pages/subPackages/reportRepair/repairRecord'
|
|
|
// })
|
|
|
// },
|
|
|
+ async getByCodes() {
|
|
|
+ let data = await getByCodes(JSON.stringify(this.dc_key));
|
|
|
+ this.dic_SelectList = this.$common.handleDicList(data);
|
|
|
+ this.checkList = this.dic_SelectList.QUICK_SELECTION
|
|
|
+ this.getById()
|
|
|
+ },
|
|
|
+ getById(){
|
|
|
+ const _this = this
|
|
|
+ getRepairDispatchById(this.id).then(res=>{
|
|
|
+ if (res.data) {
|
|
|
+ const det = _this.getItemJson(res.data)
|
|
|
+ this.detail = det
|
|
|
+ console.log('this.detail',this.detail)
|
|
|
+ this.explainAnnexList = det.fileUrlList
|
|
|
+ this.processedAnnexList = det.handleUrlList
|
|
|
+ this.detailStatus = det.status
|
|
|
+ this.params = {
|
|
|
+ id: det.id,
|
|
|
+ evaluateNum: det.evaluateNum,
|
|
|
+ score: det.score
|
|
|
+ }
|
|
|
+ this.evaluateVal = ((det.score == null ? 0 : det.score) / (det.evaluateNum == null ? 1 : det.evaluateNum))
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
getTime(){
|
|
|
-
|
|
|
let timestamp = new Date().getTime();
|
|
|
let dateStr = new Date().toLocaleDateString();
|
|
|
- console.log(dateStr);
|
|
|
|
|
|
let date = new Date();
|
|
|
let year = date.getFullYear();
|
|
@@ -343,14 +369,81 @@ export default {
|
|
|
console.log(fullDateStr);
|
|
|
this.timeNow = fullDateStr
|
|
|
},
|
|
|
+
|
|
|
+ getItemJson: function(item) {
|
|
|
+ item.releaseTime = this.$common.transDate(item.releaseTime)
|
|
|
+ item.createdAt = this.$common.transDate(item.createdAt)
|
|
|
+
|
|
|
+ let transformedObject = this.dic_SelectList.QUICK_SELECTION.reduce((acc, obj) => {
|
|
|
+ acc[obj.value] = obj.label;
|
|
|
+ return acc;
|
|
|
+ }, {});
|
|
|
+
|
|
|
+ item.serviceType = transformedObject[item.serviceType]
|
|
|
+ if (item.userId) {
|
|
|
+ const user = item.userId.split('-')
|
|
|
+ item.userPhone = user[1] + '-' + user[2]
|
|
|
+ item.phone = user[2]
|
|
|
+ }
|
|
|
+ if (item.handleUserId) {
|
|
|
+ const test = item.handleUserId.split('-')
|
|
|
+ item.handleUserId = test[1] + '-' + test[2]
|
|
|
+ item.hanleUserPhone = test[2]
|
|
|
+ }
|
|
|
+ item.handleTime = this.$common.transDate(item.handleTime)
|
|
|
+ switch (item.status) {
|
|
|
+ case 'unAcceptance':
|
|
|
+ this.stepActive = 0
|
|
|
+ break
|
|
|
+ case 'acceptance':
|
|
|
+ this.stepActive = 1
|
|
|
+ break
|
|
|
+ case 'evaluated':
|
|
|
+ this.stepActive = 3
|
|
|
+ break
|
|
|
+ case 'processed':
|
|
|
+ this.stepActive = 2
|
|
|
+ break
|
|
|
+ }
|
|
|
+ if (item.fileUrl){
|
|
|
+ const fileUrl = item.fileUrl.split(',')
|
|
|
+ const newFile = []
|
|
|
+ fileUrl.forEach((e=>{
|
|
|
+ newFile.push({
|
|
|
+ imgUrl: "/FileController/download/" + e,
|
|
|
+ id: e,
|
|
|
+ url: this.$constant.BASE_URI +
|
|
|
+ "/FileController/download/" +
|
|
|
+ e,
|
|
|
+ isImage: true,
|
|
|
+ });
|
|
|
+ })
|
|
|
+ )
|
|
|
+ item.fileUrl = newFile
|
|
|
+ }
|
|
|
+
|
|
|
+ const handleUrls = this.$common.castEval(item.handleUrl)
|
|
|
+ const handleUrl = []
|
|
|
+ if (handleUrls !== null && handleUrls.length > 0) {
|
|
|
+ handleUrls.forEach(item => {
|
|
|
+ if (item.url) {
|
|
|
+ const ul = {
|
|
|
+ type: 'image',
|
|
|
+ url: item.url.replace('/server', '/smartParkH5Server')
|
|
|
+ }
|
|
|
+ handleUrl.push(ul)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ item.handleUrlList = handleUrl
|
|
|
+ console.log('item',item)
|
|
|
+ return item
|
|
|
+ },
|
|
|
closePage() {
|
|
|
uni.navigateTo({
|
|
|
url:'/pages/subPackages/todo/repairAcceptance'
|
|
|
})
|
|
|
},
|
|
|
- clickCheck(item){
|
|
|
- item.isCheck = !item.isCheck
|
|
|
- },
|
|
|
deleteRYXXZP(event) {
|
|
|
this.fileList.splice(event.detail.index, 1);
|
|
|
this.$forceUpdate();
|
|
@@ -425,15 +518,17 @@ export default {
|
|
|
line-height: 38rpx;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- .radio{
|
|
|
- margin-left: 64rpx;
|
|
|
- }
|
|
|
.phoneIcon{
|
|
|
width: 64rpx;
|
|
|
height: 64rpx;
|
|
|
margin-left: 24rpx;
|
|
|
}
|
|
|
}
|
|
|
+ .van-radio-group{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 0 32rpx;
|
|
|
+ }
|
|
|
}
|
|
|
.detailLi2{
|
|
|
display: flex;
|
|
@@ -556,5 +651,5 @@ export default {
|
|
|
color: rgba(51, 51, 51, 1);
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+ }
|
|
|
</style>
|