From e4900e09f522a4b65dc3f1870d5a821b5a979581 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 09 九月 2024 19:56:27 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- admin/src/views/task/visReportDetail.vue | 248 ++++++++++++++++-------------------------------- 1 files changed, 84 insertions(+), 164 deletions(-) diff --git a/admin/src/views/task/visReportDetail.vue b/admin/src/views/task/visReportDetail.vue index fa7d122..2ef8471 100644 --- a/admin/src/views/task/visReportDetail.vue +++ b/admin/src/views/task/visReportDetail.vue @@ -20,7 +20,7 @@ <div class="label">鏉ヨ鏃堕棿</div> <div class="value">{{ info.starttime }}鑷硔{ info.endtime }}</div> </div> - <div class="item"> + <div class="item"> <div class="label">鏉ヨ鍗曚綅</div> <div class="value">{{ info.companyName }}</div> </div> @@ -45,69 +45,24 @@ </div> <div class="side"> <div class="side_title">瀹℃壒娴佺▼</div> - <div - class="list" - v-if=" - info.approveDateVO != null && info.approveDateVO.approveList != null - " - > - <div - class="item" - v-for="(item, index) in info.approveDateVO.approveList" - :key="item.id" - > - <div - class="separate" - v-if="index < info.approveDateVO.approveList.length - 1" - ></div> + <div class="list" v-if=" + info.approveDateVO != null && info.approveDateVO.approveList != null + "> + <div class="item" v-for="(item, index) in info.approveDateVO.approveList" :key="item.id"> + <div class="separate" v-if="index < info.approveDateVO.approveList.length - 1"></div> <div class="info"> - <img - src="@/assets/icons/ic_tongguo.png" - class="iconnew" - v-if="item.status == 2" - /> - <img - src="@/assets/icons/ic_dangqian.png" - class="iconnew" - v-if="item.status == 1" - /> - <img - src="@/assets/icons/ic_jujue.png" - class="iconnew" - v-if="item.status == 3" - /> - <img - src="@/assets/icons/ic_grey.png" - class="iconnew" - v-if="item.status == null || item.status == 0" - /> + <img src="@/assets/icons/ic_tongguo.png" class="iconnew" v-if="item.status == 2" /> + <img src="@/assets/icons/ic_dangqian.png" class="iconnew" v-if="item.status == 1" /> + <img src="@/assets/icons/ic_jujue.png" class="iconnew" v-if="item.status == 3" /> + <img src="@/assets/icons/ic_grey.png" class="iconnew" v-if="item.status == null || item.status == 0" /> <div style="display: inline" v-if="item.approveType != 1"> - <img - v-if="item.faceImg != null && item.faceImg != ''" - :src="item.faceImg" - class="avatar" - alt="" - /> - <img - v-if="item.faceImg == null || item.faceImg == ''" - src="@/assets/avatar/man.png" - class="avatar" - alt="" - /> + <img v-if="item.faceImg != null && item.faceImg != ''" :src="item.faceImg" class="avatar" alt="" /> + <img v-if="item.faceImg == null || item.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" + alt="" /> </div> <div style="display: inline" v-if="item.approveType == 1"> - <img - v-if="item.type != 1" - src="@/assets/icons/ic_duoren.png" - class="avatar" - alt="" - /> - <img - v-if="item.type == 1" - src="@/assets/icons/ic_chaosong.png" - class="avatar" - alt="" - /> + <img v-if="item.type != 1" src="@/assets/icons/ic_duoren.png" class="avatar" alt="" /> + <img v-if="item.type == 1" src="@/assets/icons/ic_chaosong.png" class="avatar" alt="" /> </div> <div class="content"> <div class="line"> @@ -117,47 +72,27 @@ <div class="line"> <div class="company"> {{ item.memberName }} - <div - style="display: inline" - v-if="item.statusInfo != null && item.statusInfo != ''" - > + <div style="display: inline" v-if="item.statusInfo != null && item.statusInfo != ''"> 锛�<span class="status-green">{{ item.statusInfo || "" - }}</span - >锛� + }}</span>锛� </div> </div> </div> </div> </div> - <div - v-if=" - item.approveType != 1 && - item.checkInfo != null && - item.checkInfo != '' - " - class="remark" - > + <div v-if=" + item.approveType != 1 && + item.checkInfo != null && + item.checkInfo != '' + " class="remark"> {{ item.checkInfo || "" }} </div> <div v-if="item.approveType == 1" class="childList"> - <div - class="m_content company" - v-for="item1 in item.approveList" - :key="item1.id" - > - <img - v-if="item1.faceImg != null && item1.faceImg != ''" - :src="item1.faceImg" - class="avatar" - alt="" - /> - <img - v-if="item1.faceImg == null || item1.faceImg == ''" - src="@/assets/avatar/man.png" - class="avatar" - alt="" - /> + <div class="m_content company" v-for="item1 in item.approveList" :key="item1.id"> + <img v-if="item1.faceImg != null && item1.faceImg != ''" :src="item1.faceImg" class="avatar" alt="" /> + <img v-if="item1.faceImg == null || item1.faceImg == ''" src="@/assets/avatar/man.png" class="avatar" + alt="" /> <span> {{ item1.memberName }}</span> </div> </div> @@ -167,46 +102,24 @@ </div> <!-- --> <template v-slot:footer> - <el-button - @click="handleAppr(2)" - type="primary" - class="status-red" - v-if=" - info.approveDateVO != null && - info.approveDateVO.canBeApproved != null && - info.approveDateVO.canBeApproved == 1 - " - >鍚屾剰</el-button - > - <el-button - @click="handleAppr(3)" - type="danger" - v-if=" - info.approveDateVO != null && - info.approveDateVO.canBeApproved != null && - info.approveDateVO.canBeApproved == 1 - " - >鎷掔粷</el-button - > + <el-button @click="handleAppr(2)" type="primary" class="status-red" v-if=" + info.approveDateVO != null && + info.approveDateVO.canBeApproved != null && + info.approveDateVO.canBeApproved == 1 + ">鍚屾剰</el-button> + <el-button @click="handleAppr(3)" type="danger" v-if=" + info.approveDateVO != null && + info.approveDateVO.canBeApproved != null && + info.approveDateVO.canBeApproved == 1 + ">鎷掔粷</el-button> <el-button @click="isShowModal = false">杩斿洖</el-button> </template> <!-- 鍚屾剰/鎷掔粷 --> - <el-dialog - append-to-body - :title="apprTitle" - :visible.sync="isShowAppr" - width="480px" - > + <el-dialog append-to-body :title="apprTitle" :visible.sync="isShowAppr" width="480px"> <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item :prop="param.status == 3 ? 'checkInfo' : ''" :label="param.status == 2 ? '鍚屾剰璇存槑' : '鎷掔粷璇存槑'"> - <el-input - type="textarea" - :placeholder=" - param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑蹇呭~' - " - :rows="4" - v-model="param.checkInfo" - /> + <el-input type="textarea" :placeholder="param.status == 2 ? '鍚屾剰璇存槑锛岄潪蹇呭~' : '鎷掔粷璇存槑蹇呭~' + " :rows="4" v-model="param.checkInfo" /> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> @@ -215,32 +128,16 @@ </span> </el-dialog> <!-- 闅愭偅 --> - <el-dialog - append-to-body - title="闅愭偅" - :visible.sync="isShowProblem" - width="480px" - > + <el-dialog append-to-body title="闅愭偅" :visible.sync="isShowProblem" width="480px"> <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px"> <el-form-item label="閫�鍥炴椂闂�"> - <el-date-picker - class="w300" - value-format="yyyy-MM-dd" - type="date" - placeholder="閫夋嫨鏃ユ湡" - v-model="param.date" - /> + <el-date-picker class="w300" value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡" v-model="param.date" /> </el-form-item> <el-form-item label="鏁存敼鍓�"> <div class="df_ac"> <img src="@/assets/avatar/man.png" /> - <el-upload - class="avatar-uploader" - action="https://jsonplaceholder.typicode.com/posts/" - :show-file-list="false" - :on-success="handleAvatarSuccess" - :before-upload="beforeAvatarUpload" - > + <el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" + :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> <img v-if="param.url" :src="param.url" class="avatar" /> <div v-else class="upload_box"> <el-icon class="el-icon-plus icon" /> @@ -250,19 +147,12 @@ </div> </el-form-item> <el-form-item label="閫�鍥炶鏄�"> - <el-input - type="textarea" - placeholder="璇峰~鍐欒鏄�" - :rows="4" - v-model="param.explain" - /> + <el-input type="textarea" placeholder="璇峰~鍐欒鏄�" :rows="4" v-model="param.explain" /> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="isShowProblem = false">鍙栨秷</el-button> - <el-button type="primary" @click="isShowProblem = false" - >纭畾</el-button - > + <el-button type="primary" @click="isShowProblem = false">纭畾</el-button> </span> </el-dialog> </GlobalWindow> @@ -276,7 +166,7 @@ } from '@/api' export default { components: { GlobalWindow }, - data () { + data() { return { id: '', type: '', @@ -312,7 +202,7 @@ } }, methods: { - onSubAppr () { + onSubAppr() { this.$refs.ruleForm.validate((valid) => { if (!valid) { return @@ -338,25 +228,26 @@ }) }) }, - getDetail () { + getDetail() { const { id } = this getVisitedReDetail({ id }).then(res => { this.info = res }) }, - handleAppr (val) { + handleAppr(val) { this.$set(this.param, 'status', val) + this.apprTitle = val == 2 ? '鍚屾剰' : '鎷掔粷' this.isShowAppr = true }, - confirm () { + confirm() { console.log('--') }, - handleTransfer () { + handleTransfer() { this.isShowProblem = true }, - reject () { }, - handleAvatarSuccess () { }, - beforeAvatarUpload () { } + reject() { }, + handleAvatarSuccess() { }, + beforeAvatarUpload() { } } } </script> @@ -373,13 +264,16 @@ 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; @@ -388,9 +282,11 @@ margin-left: 20px; margin-top: 20px; } + .modal_wrap { display: flex; height: 100%; + .modal_content { flex: 1; padding: 0px 30px; @@ -405,6 +301,7 @@ margin-bottom: 20px; margin-top: 30px; } + .info { .list { display: flex; @@ -414,6 +311,7 @@ display: flex; width: 40%; margin-bottom: 20px; + &:nth-of-type(2n) { width: 60%; } @@ -462,20 +360,24 @@ border-radius: 16px 0px 16px 0px; } } + .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; @@ -493,10 +395,12 @@ width: 420px; background: #ffffff; border-left: 20px solid #f7f7f7; + .list { .item { padding: 8px 0; position: relative; + .separate { position: absolute; border-left: 2px dashed #cccccc; @@ -504,6 +408,7 @@ height: calc(100% - 36px); top: 49px; } + .avatar { width: 40px; height: 40px; @@ -511,18 +416,22 @@ margin: 0 12px 0 16px; //border: 1px solid; } + .childList { display: flex; flex-wrap: wrap; margin-left: 100px; } + .company { font-size: 13px; color: #888888; + .status { color: #00ba67; } } + .m_content { display: flex; flex-direction: column; @@ -530,56 +439,67 @@ 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; + .name { font-weight: 600; font-size: 16px; color: #111111; } + .time { color: #888888; } } } } + .remark { background: #f7f7f7; border-radius: 4px; -- Gitblit v1.9.3