| | |
| | | }, |
| | | cateList: { |
| | | 0: 'SHEäºä»¶å·¥å', |
| | | 1: 'è·ç»æ»äºä»¶å·¥å', |
| | | 2: 'DCAäºä»¶æäº¤è®°å½', |
| | | 3: 'DCAäºä»¶å·¥å' |
| | | 1: 'DCAäºä»¶æäº¤è®°å½', |
| | | 2: 'DCAäºä»¶å·¥å', |
| | | 3: 'è·ç»æ»äºä»¶å·¥å' |
| | | } |
| | | } |
| | | }, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="85%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm"> |
| | | <div class="modal_wrap"> |
| | | <div class="modal_content"> |
| | | <div class="header"> |
| | | <img v-if="info.status == '3'" class="head_bg" |
| | | src="@/assets/task/bg_shenhe_fail@2x.png" alt=""> |
| | | <img v-else-if="info.status == '4'" class="head_bg" |
| | | src="@/assets/task/bg_shenhe_pass@2x.png" alt=""> |
| | | <img v-else class="head_bg" src="@/assets/task/bg_shenhe@2x.png" alt=""> |
| | | <div class="left"> |
| | | <div class="h1">{{ cateList[type] }}</div> |
| | | <div class="time">æäº¤æ¶é´ï¼{{ info.createDate }}</div> |
| | | </div> |
| | | <div class="right" :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5', msg: info.status == '6' }">{{statusMap[info.status] }}</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">å·¥åä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="label">åå·¥å§å</div> |
| | | <div class="value">{{ info.memberName }} - {{ info.memberPhone || '[æ ææºå·]' }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">æå±é¨é¨</div> |
| | | <div class="value">{{ info.companyName }} </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">䏿¥æ¶é´</div> |
| | | <div class="value">{{ info.submitDate }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">åçæ¶é´</div> |
| | | <div class="value">{{ info.happenTime}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é£é©ç±»å</div> |
| | | <div class="value">{{ info.typeName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">åçå°ç¹</div> |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é£é©æè¿°</div> |
| | | <div class="value">{{ info.riskInfo }}</div> |
| | | </div> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">å¾ç</div> |
| | | <div class="value" v-if="info.multifileList ==null || !info.multifileList.length">æ </div> |
| | | <div class="value" v-if="info.multifileList !=null && info.multifileList.length"> |
| | | <div v-for="item in info.multifileList" :key="item.id" style="display: inline;margin-right: 20px"> |
| | | <video |
| | | v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" |
| | | ref="videoRef" |
| | | controls |
| | | preload="auto" |
| | | style="width: 80px;height: 80px;object-fit: contain;" |
| | | :src="item.fileurlFull" |
| | | /> |
| | | <el-image |
| | | v-else-if="item.fileurlFull" |
| | | style="width:80px; height: 80px" |
| | | :src="item.fileurlFull" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="side" > |
| | | <div class="side_title">å¤çæµç¨</div> |
| | | <div class="list" v-if=" info.logList != null && info.logList.length != 0 |
| | | "> |
| | | <div class="item" v-for="(item, index) in info.logList" :key="item.id"> |
| | | <div class="separate" v-if="index < info.logList.length - 1"></div> |
| | | <div class="info"> |
| | | <img src="@/assets/icons/ic_dangqian.png" class="iconnew" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">{{ item.title }}</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company"> |
| | | åå·¥ï¼<span> {{ item.userName }} / {{item.companyName}}</span> |
| | | <div style="display: block" >æ¶é´ï¼<span>{{item.createDate}}</span></div> |
| | | <div class="dealinfo"> |
| | | <div style="display: block" v-if="item.param2" >å¤ç人ï¼<span>{{item.param2}}</span></div> |
| | | <div style="display: block" v-if="item.remark" >说æï¼<span>{{item.remark}}</span></div> |
| | | <div style="display: block;margin-top:10px" v-if="item.multifileList !=null && item.multifileList.length"> |
| | | <div v-for="item in item.multifileList" :key="item.id" style="display: inline;margin-right: 5px"> |
| | | <video |
| | | v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" |
| | | ref="videoRef" |
| | | controls |
| | | preload="auto" |
| | | style="width: 50px;height: 50px;object-fit: contain;" |
| | | :src="item.fileurlFull" |
| | | /> |
| | | <el-image |
| | | v-else-if="item.fileurlFull" |
| | | style="width:50px; height: 50px;" |
| | | :src="item.fileurlFull" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <template v-slot:footer> |
| | | <el-button @click="close">è¿å</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { getById } from '@/api/business/workorder' |
| | | export default { |
| | | name: 'OperaWorkorderDetailDbhWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | id: '', |
| | | type: null, |
| | | title: 'å·¥å详æ
', |
| | | info: {}, |
| | | statusMap: { |
| | | 0: 'å¾
åé
WTS', |
| | | 1: 'å¾
åé
ä»»å¡', |
| | | 2: 'å¾
å¤ç', |
| | | 3: '已解å³', |
| | | 4: '已解å³', |
| | | 5: '已解å³' |
| | | }, |
| | | cateList: { |
| | | 0: 'SHEäºä»¶å·¥å', |
| | | 1: 'DCAäºä»¶æäº¤è®°å½', |
| | | 2: 'DCAä¸ç¬¦å项工å', |
| | | 3: 'è·ç»æ»äºä»¶å·¥å' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.info = target |
| | | this.getDetail() |
| | | this.type = this.info.type |
| | | }, |
| | | close () { |
| | | this.visible = false |
| | | }, |
| | | getDetail () { |
| | | getById(this.info.id).then(res => { |
| | | this.info = res |
| | | if (this.info.logList && this.info.logList.length > 0) { |
| | | this.info.logList.forEach(item => { |
| | | if (item.approveList && item.approveList.length == 1 && item.type !== 1) { |
| | | item.title = item.approveList[0].title |
| | | item.faceImg = item.approveList[0].faceImg |
| | | item.memberName = item.approveList[0].memberName |
| | | item.statusInfo = item.approveList[0].statusInfo |
| | | item.approveList = [] |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | reject () { }, |
| | | handleAvatarSuccess () { }, |
| | | beforeAvatarUpload () { } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import "@/assets/style/variables.scss"; |
| | | |
| | | .upload_box { |
| | | width: 84px; |
| | | height: 84px; |
| | | border-radius: 4px; |
| | | background-color: #f7f7f7; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | color: #999999; |
| | | border: 1px solid #e4e4e4; |
| | | |
| | | .icon { |
| | | font-size: 24px; |
| | | } |
| | | |
| | | .text { |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .side_title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #111111; |
| | | margin-bottom: 20px; |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .modal_wrap { |
| | | display: flex; |
| | | height: 100%; |
| | | |
| | | .modal_content { |
| | | flex: 1; |
| | | padding: 0px 30px; |
| | | border-radius: 8px; |
| | | overflow: hidden; |
| | | height: 100%; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #333333; |
| | | margin-bottom: 20px; |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .info { |
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | } |
| | | |
| | | .label { |
| | | color: #888888; |
| | | width: 100px; |
| | | } |
| | | |
| | | .value { |
| | | color: #111111; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | vertical-align: center; |
| | | padding: 20px 30px; |
| | | margin: 0 -30px; |
| | | border-radius: 8px 8px 0 0; |
| | | position: relative; |
| | | |
| | | .head_bg { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | left: 0; |
| | | top: 0; |
| | | z-index: 9; |
| | | } |
| | | |
| | | .h1 { |
| | | font-weight: 600; |
| | | font-size: 22px; |
| | | color: #111111; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .time { |
| | | font-size: 14px; |
| | | color: #999999; |
| | | } |
| | | |
| | | .right { |
| | | height: 40px; |
| | | font-size: 16px; |
| | | color: #ffffff; |
| | | line-height: 40px; |
| | | padding: 0 20px; |
| | | background: #207ff7; |
| | | box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16); |
| | | border-radius: 16px 0px 16px 0px; |
| | | position: relative; |
| | | z-index: 99; |
| | | } |
| | | |
| | | .scs { |
| | | background-color: #00BA67; |
| | | } |
| | | |
| | | .msg { |
| | | background-color: #ED4545; |
| | | } |
| | | } |
| | | |
| | | .table_info { |
| | | .name_wrap { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin-right: 12px; |
| | | } |
| | | |
| | | .content { |
| | | .line { |
| | | display: flex; |
| | | } |
| | | .tag { |
| | | color: #b2cbf9; |
| | | border: 1px solid #b2cbf9; |
| | | padding: 0px 4px; |
| | | border-radius: 4px; |
| | | margin-left: 6px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .side { |
| | | height: 100%; |
| | | width: 420px; |
| | | background: #ffffff; |
| | | border-left: 20px solid #f7f7f7; |
| | | |
| | | .list { |
| | | .item { |
| | | padding: 8px 0; |
| | | position: relative; |
| | | |
| | | .separate { |
| | | position: absolute; |
| | | border-left: 2px dashed #cccccc; |
| | | left: 31px; |
| | | height: calc(100% - 0px); |
| | | top: 30px; |
| | | } |
| | | |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin: 0 12px 0 16px; |
| | | //border: 1px solid; |
| | | } |
| | | |
| | | .childList { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin-left: 100px; |
| | | } |
| | | |
| | | .company { |
| | | font-size: 13px; |
| | | color: #888888; |
| | | width: calc(100% - 20px); |
| | | .status { |
| | | color: $primaryColor; |
| | | } |
| | | /* span{ |
| | | color: black; |
| | | }*/ |
| | | .dealinfo{ |
| | | background-color: #f2f2f2; |
| | | padding: 8px; |
| | | display: block; |
| | | margin-top: 5px; |
| | | width: calc(100% - 20px); |
| | | } |
| | | } |
| | | |
| | | .m_content { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-bottom: 4px; |
| | | } |
| | | |
| | | .info { |
| | | display: flex; |
| | | /*align-items: center;*/ |
| | | margin-left: 20px; |
| | | |
| | | .icon { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #53b76f; |
| | | font-size: 24px; |
| | | } |
| | | |
| | | .icon1 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: deepskyblue; |
| | | font-size: 24px; |
| | | } |
| | | |
| | | .icon2 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #dc362e; |
| | | font-size: 24px; |
| | | } |
| | | |
| | | .iconnew { |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | |
| | | .icon3 { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: gray; |
| | | font-size: 24px; |
| | | } |
| | | |
| | | .content { |
| | | flex: 1; |
| | | |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-content: center; |
| | | margin-bottom: 6px; |
| | | |
| | | .status { |
| | | color: #888888; |
| | | } |
| | | |
| | | .padding { |
| | | color: $primaryColor; |
| | | } |
| | | |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | color: #111111; |
| | | } |
| | | |
| | | .time { |
| | | color: #888888; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .remark { |
| | | background: #f7f7f7; |
| | | border-radius: 4px; |
| | | padding: 13px 15px; |
| | | color: #666666; |
| | | margin-left: 100px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <div class="h1">{{ cateList[type] }}</div> |
| | | <div class="time">æäº¤æ¶é´ï¼{{ info.createDate }}</div> |
| | | </div> |
| | | <div class="right" :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5', msg: info.status == '6' }">{{statusMap[info.status] }}</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">å·¥åä¿¡æ¯</div> |
| | | <div class="info"> <div class="title">å·¥åä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="label">åå·¥å§å</div> |
| | |
| | | <div class="value">{{ info.happenTime}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é£é©ç±»å</div> |
| | | <div class="label">è§å¯ä¸»é¢</div> |
| | | <div class="value">{{ info.typeName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | |
| | | <div class="value">{{ info.locationName }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é£é©æè¿°</div> |
| | | <div class="value">{{ info.riskInfo }}</div> |
| | | <div class="label">éç¥äºº</div> |
| | | <div class="value">{{ info.memberNames }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">è§å¯é¡¹ç»è®¡</div> |
| | | <div class="value" style="color: #1562e2" >符åï¼ã{{ info.dcaYesNum || 0 }}ã ä¸ç¬¦åï¼ã <span style="color: red" >{{(info.dcaNoNum||0)}}</span> ã</div> |
| | | </div> |
| | | <div class="item" style="width: 100%"> |
| | | <div class="label">å¾ç</div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="side" > |
| | | <div class="side_title">å¤çæµç¨</div> |
| | | <div class="list" v-if=" info.logList != null && info.logList.length != 0 |
| | | "> |
| | | <div class="item" v-for="(item, index) in info.logList" :key="item.id"> |
| | | <div class="separate" v-if="index < info.logList.length - 1"></div> |
| | | <div class="info"> |
| | | <img src="@/assets/icons/ic_dangqian.png" class="iconnew" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">{{ item.title }}</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company"> |
| | | åå·¥ï¼<span> {{ item.userName }} / {{item.companyName}}</span> |
| | | <div style="display: block" >æ¶é´ï¼<span>{{item.createDate}}</span></div> |
| | | <div class="dealinfo"> |
| | | <div style="display: block" v-if="item.param2" >å¤ç人ï¼<span>{{item.param2}}</span></div> |
| | | <div style="display: block" v-if="item.remark" >说æï¼<span>{{item.remark}}</span></div> |
| | | <div style="display: block;margin-top:10px" v-if="item.multifileList !=null && item.multifileList.length"> |
| | | <div v-for="item in item.multifileList" :key="item.id" style="display: inline;margin-right: 5px"> |
| | | <video |
| | | v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')" |
| | | ref="videoRef" |
| | | controls |
| | | preload="auto" |
| | | style="width: 50px;height: 50px;object-fit: contain;" |
| | | :src="item.fileurlFull" |
| | | /> |
| | | <el-image |
| | | v-else-if="item.fileurlFull" |
| | | style="width:50px; height: 50px;" |
| | | :src="item.fileurlFull" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="table_info"> |
| | | <div class="title">ä¸ç¬¦å项工åå表</div> |
| | | <el-table :data="info.dcaChildList" border fit> |
| | | <el-table-column label="ä¸çº§ä¸»é¢" prop="typeName" min-width="150"> </el-table-column> |
| | | <el-table-column label="äºçº§ä¸»é¢" prop="categoryName" min-width="150"> </el-table-column> |
| | | <el-table-column label="è§å¯é¡¹" prop="problemTitle" min-width="150"> </el-table-column> |
| | | <el-table-column label="ä¸ç¬¦ååå " prop="eventInfo" min-width="120" /> |
| | | <el-table-column label="å¤çç¶æ" prop="status" min-width="80"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status ==0">å¾
å¤ç</span> |
| | | <span v-else-if="row.status ==3 ||row.status ==4||row.status ==5">å·²å¤ç</span> |
| | | <span v-else>å¤çä¸</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æä½" prop="status" min-width="80"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.OperaWorkorderDetailDcaInfoWindow.open('DCAä¸ç¬¦å项工å详æ
', row)" icon="el-icon-zoom-out" >æ¥ç详æ
</el-button> |
| | | <!--<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">å é¤</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <!-- --> |
| | | <template v-slot:footer> |
| | | <el-button @click="close">è¿å</el-button> |
| | | </template> |
| | | <OperaWorkorderDetailDcaInfoWindow ref="OperaWorkorderDetailDcaInfoWindow" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import OperaWorkorderDetailDcaInfoWindow from '@/components/business/OperaWorkorderDetailDcaInfoWindow' |
| | | import { getById } from '@/api/business/workorder' |
| | | export default { |
| | | name: 'OperaWorkorderDetailDbhWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | components: { GlobalWindow ,OperaWorkorderDetailDcaInfoWindow}, |
| | | data () { |
| | | return { |
| | | id: '', |
| | |
| | | }, |
| | | cateList: { |
| | | 0: 'SHEäºä»¶å·¥å', |
| | | 1: 'è·ç»æ»äºä»¶å·¥å', |
| | | 2: 'DCAäºä»¶æäº¤è®°å½', |
| | | 3: 'DCAäºä»¶å·¥å' |
| | | 1: 'DCAäºä»¶æäº¤è®°å½', |
| | | 2: 'DCAäºä»¶å·¥å', |
| | | 3: 'è·ç»æ»äºä»¶å·¥å' |
| | | } |
| | | } |
| | | }, |
| | |
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | width: 30%; |
| | | font-size: 14px; |
| | | margin-bottom: 20px; |
| | | |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | width: 30%; |
| | | } |
| | | |
| | | .label { |
| | | color: #888888; |
| | | width: 100px; |
| | | } |
| | | |
| | | .value { |
| | | color: #111111; |
| | | } |
| | |
| | | }, |
| | | cateList: { |
| | | 0: 'SHEäºä»¶å·¥å', |
| | | 1: 'è·ç»æ»äºä»¶å·¥å', |
| | | 2: 'DCAäºä»¶æäº¤è®°å½', |
| | | 3: 'DCAäºä»¶å·¥å' |
| | | 1: 'DCAäºä»¶æäº¤è®°å½', |
| | | 2: 'DCAäºä»¶å·¥å', |
| | | 3: 'è·ç»æ»äºä»¶å·¥å' |
| | | } |
| | | } |
| | | }, |
| | |
| | | <!-- |
| | | <el-table-column prop="typeName" label="DCAç±»å" min-width="100px"></el-table-column> |
| | | --> |
| | | <el-table-column prop="problemTitle" label="è§å¯ä¸»é¢" min-width="150px"></el-table-column> |
| | | <el-table-column prop="typeName" label="è§å¯ä¸»é¢" min-width="150px"></el-table-column> |
| | | <el-table-column prop="dcaYesNum" label="è§å¯é¡¹ç»è®¡" min-width="150px"> |
| | | <template slot-scope="{row}"> |
| | | <span style="color: #1562e2" >符åï¼{{row.dcaYesNum}} ä¸ç¬¦åï¼{{row.dcaNoNum}}</span> |
| | |
| | | @ApiModelProperty("é£é©ç±»ååç§°") |
| | | @TableField(exist = false) |
| | | private String typeName; |
| | | @ApiModelProperty("äºçº§ä¸»é¢åç§°") |
| | | @TableField(exist = false) |
| | | private String categoryName; |
| | | @ApiModelProperty("DCAé®é¢åç§°") |
| | | @TableField(exist = false) |
| | | private String problemName; |
| | |
| | | @TableField(exist = false) |
| | | private List<DCANoProblemDTO> dcaNoProblemDTOList; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "ä¸ç¬¦åé®é¢å表(详æ
页ï¼") |
| | | @TableField(exist = false) |
| | | private List<Workorder> dcaChildList; |
| | | |
| | | } |
| | |
| | | } |
| | | //æ¥è¯¢æ¥å¿ä¿¡æ¯ |
| | | workorder.setLogList(this.getLogList(workorder.getId())); |
| | | if(Constants.equalsInteger(workorder.getType(),Constants.ONE)){ |
| | | //妿æ¯DCAæäº¤è®°å½ï¼æ¥è¯¢åå·¥åéå |
| | | Workorder param = new Workorder(); |
| | | param.setIsdeleted(Constants.ZERO); |
| | | param.setDcaRecordId(workorder.getId()); |
| | | workorder.setDcaChildList(findList(param)); |
| | | } |
| | | return workorder; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Workorder> findList(Workorder workorder) { |
| | | QueryWrapper<Workorder> wrapper = new QueryWrapper<>(workorder); |
| | | return workorderMapper.selectList(wrapper); |
| | | public List<Workorder> findList(Workorder pageWrap) { |
| | | MPJLambdaWrapper<Workorder> queryWrapper = new MPJLambdaWrapper<>(); |
| | | pageWrap.setIsdeleted(Constants.ZERO); |
| | | queryWrapper |
| | | .selectAll(Workorder.class) |
| | | .selectAs(Member::getName,Workorder::getMemberName) |
| | | .selectAs(Member::getCompanyName,Workorder::getCompanyName) |
| | | .selectAs(Member::getPhone,Workorder::getMemberPhone) |
| | | .select(" c3.name ",Workorder::getTypeName) |
| | | .select(" c4.name ",Workorder::getProblemName) |
| | | .leftJoin(Member.class,Member::getId,Workorder::getMemberId) |
| | | .leftJoin(" category c3 on t.TYPE_ID = c3.id ") //é£é©ç±»å |
| | | .leftJoin(" category c4 on t.PROBLEM_ID = c4.id ") //DCAé®é¢ç¼ç |
| | | .eq( pageWrap.getId() != null, Workorder::getId, pageWrap.getId()) |
| | | .eq( pageWrap.getCreator() != null, Workorder::getCreator, pageWrap.getCreator()) |
| | | .ge( pageWrap.getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getStart( pageWrap.getCreateDate())) |
| | | .le( pageWrap.getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getEnd( pageWrap.getCreateDate())) |
| | | .eq( pageWrap.getEditor() != null, Workorder::getEditor, pageWrap.getEditor()) |
| | | .ge( pageWrap.getEditDate() != null, Workorder::getEditDate, Utils.Date.getStart( pageWrap.getEditDate())) |
| | | .le( pageWrap.getEditDate() != null, Workorder::getEditDate, Utils.Date.getEnd( pageWrap.getEditDate())) |
| | | .eq( pageWrap.getIsdeleted() != null, Workorder::getIsdeleted, pageWrap.getIsdeleted()) |
| | | .eq( pageWrap.getCategoryId() != null, Workorder::getCategoryId, pageWrap.getCategoryId()) |
| | | .eq( pageWrap.getRemark() != null, Workorder::getRemark, pageWrap.getRemark()) |
| | | .eq( pageWrap.getStatus() != null, Workorder::getStatus, pageWrap.getStatus()) |
| | | .eq( pageWrap.getSortnum() != null, Workorder::getSortnum, pageWrap.getSortnum()) |
| | | .eq( pageWrap.getType() != null, Workorder::getType, pageWrap.getType()) |
| | | .eq( pageWrap.getMemberId() != null, Workorder::getMemberId, pageWrap.getMemberId()) |
| | | .eq( pageWrap.getCompanyId() != null, Workorder::getCompanyId, pageWrap.getCompanyId()) |
| | | .eq( pageWrap.getSubmitDate() != null, Workorder::getSubmitDate, pageWrap.getSubmitDate()) |
| | | .eq( pageWrap.getMemberType() != null, Workorder::getMemberType, pageWrap.getMemberType()) |
| | | .eq( pageWrap.getMemberQwids() != null, Workorder::getMemberQwids, pageWrap.getMemberQwids()) |
| | | .like( pageWrap.getMemberNames() != null, Workorder::getMemberNames, pageWrap.getMemberNames()) |
| | | .eq( pageWrap.getLocaltionId() != null, Workorder::getLocaltionId, pageWrap.getLocaltionId()) |
| | | .eq( pageWrap.getOutJiuyi() != null, Workorder::getOutJiuyi, pageWrap.getOutJiuyi()) |
| | | .eq( pageWrap.getIsYiwushi() != null, Workorder::getIsYiwushi, pageWrap.getIsYiwushi()) |
| | | .eq( pageWrap.getIsHurted() != null, Workorder::getIsHurted, pageWrap.getIsHurted()) |
| | | .eq( pageWrap.getWorkRelated() != null, Workorder::getWorkRelated, pageWrap.getWorkRelated()) |
| | | .eq( pageWrap.getEventInfo() != null, Workorder::getEventInfo, pageWrap.getEventInfo()) |
| | | .eq( pageWrap.getEmialMemberIds() != null, Workorder::getEmialMemberIds, pageWrap.getEmialMemberIds()) |
| | | .eq( pageWrap.getQwnoticeMemberIds() != null, Workorder::getQwnoticeMemberIds, pageWrap.getQwnoticeMemberIds()) |
| | | .eq( pageWrap.getHappenTime() != null, Workorder::getHappenTime, pageWrap.getHappenTime()) |
| | | .eq( pageWrap.getTypeId() != null, Workorder::getTypeId, pageWrap.getTypeId()) |
| | | .eq( pageWrap.getRiskInfo() != null, Workorder::getRiskInfo, pageWrap.getRiskInfo()) |
| | | .eq( pageWrap.getManagerId() != null, Workorder::getManagerId, pageWrap.getManagerId()) |
| | | .eq( pageWrap.getDealerId() != null, Workorder::getDealerId, pageWrap.getDealerId()) |
| | | .ge( pageWrap.getDispatchTime() != null, Workorder::getDispatchTime, Utils.Date.getStart( pageWrap.getDispatchTime())) |
| | | .le( pageWrap.getDispatchTime() != null, Workorder::getDispatchTime, Utils.Date.getEnd( pageWrap.getDispatchTime())) |
| | | .eq( pageWrap.getDispatchInfo() != null, Workorder::getDispatchInfo, pageWrap.getDispatchInfo()) |
| | | .ge( pageWrap.getDealTime() != null, Workorder::getDealTime, Utils.Date.getStart( pageWrap.getDealTime())) |
| | | .le( pageWrap.getDealTime() != null, Workorder::getDealTime, Utils.Date.getEnd( pageWrap.getDealTime())) |
| | | .eq( pageWrap.getDealInfo() != null, Workorder::getDealInfo, pageWrap.getDealInfo()) |
| | | .eq( pageWrap.getProblemTitle() != null, Workorder::getProblemTitle, pageWrap.getProblemTitle()) |
| | | .eq( pageWrap.getProblemId() != null, Workorder::getProblemId, pageWrap.getProblemId()) |
| | | .eq( pageWrap.getProblemInfo() != null, Workorder::getProblemInfo, pageWrap.getProblemInfo()) |
| | | .eq( pageWrap.getLocationName() != null, Workorder::getLocationName, pageWrap.getLocationName()) |
| | | .like( pageWrap.getCode() != null, Workorder::getCode, pageWrap.getCode()) |
| | | .eq( pageWrap.getDcaYesNum() != null, Workorder::getDcaYesNum, pageWrap.getDcaYesNum()) |
| | | .eq( pageWrap.getDcaNoNum() != null, Workorder::getDcaNoNum, pageWrap.getDcaNoNum()) |
| | | .eq( pageWrap.getDcaRecordId() != null, Workorder::getDcaRecordId, pageWrap.getDcaRecordId()) |
| | | .eq( pageWrap.getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getDcaCsIds()) ; |
| | | if ( pageWrap.getMemberName() != null) { |
| | | queryWrapper.and( ms->ms.like(Member::getName, pageWrap.getMemberName()) |
| | | .or().like(Member::getPhone, pageWrap.getMemberName()) ); |
| | | } |
| | | queryWrapper.orderByDesc(Workorder::getProblemId); |
| | | return workorderMapper.selectJoinList(Workorder.class,queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | .selectAs(Member::getName,Workorder::getMemberName) |
| | | .selectAs(Member::getCompanyName,Workorder::getCompanyName) |
| | | .selectAs(Member::getPhone,Workorder::getMemberPhone) |
| | | .select(" c2.name ",Workorder::getCategoryName) |
| | | .select(" c3.name ",Workorder::getTypeName) |
| | | .select(" c4.name ",Workorder::getProblemName) |
| | | .leftJoin(Member.class,Member::getId,Workorder::getMemberId) |
| | | .leftJoin(" category c3 on t.TYPE_ID = c3.id ") //é£é©ç±»å |
| | | .leftJoin(" category c4 on t.PROBLEM_ID = c4.id ") //DCAé®é¢ç¼ç |
| | | .leftJoin(" category c2 on t.CATEGORY_ID = c2.id ") //DCAé®é¢ç¼ç |
| | | .eq(pageWrap.getModel().getId() != null, Workorder::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, Workorder::getCreator, pageWrap.getModel().getCreator()) |
| | | .ge(pageWrap.getModel().getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) |