|
@@ -3,81 +3,100 @@
|
|
<common @asynCallBack="asynCallBack" :doLoading="true"></common>
|
|
<common @asynCallBack="asynCallBack" :doLoading="true"></common>
|
|
<top-header :pageTitle="pageTitle"></top-header>
|
|
<top-header :pageTitle="pageTitle"></top-header>
|
|
|
|
|
|
- <div class="mui-content vongi-wordcard">
|
|
|
|
- <div class="mui-content-padded vongi-wordcard-top">
|
|
|
|
- <div class="mui-media-object mui-pull-left">
|
|
|
|
- <img :src="detail.faceImageUrl">
|
|
|
|
|
|
+ <div v-if="detail.personName" class="mui-content vongi-qingjiadt margin60">
|
|
|
|
+ <div class="vongi-qingjiadt-head flew-sp">
|
|
|
|
+ <div class="flew-items">
|
|
|
|
+ <div class="flew"><img :src="detail.faceImageUrl" width="50" v-viewer /></div>
|
|
|
|
+ <h4>{{detail.personName}} 登记 <span class="color4fc5f7" v-text="detail.typeN"></span></h4>
|
|
</div>
|
|
</div>
|
|
- <div class="mui-media-body">
|
|
|
|
- {{detail.personName}}
|
|
|
|
- <p class='mui-ellipsis'><span class="color4fc5f7" v-text="detail.typeN"></span>申请</p>
|
|
|
|
|
|
+ <button class="mui-btn mui-btn-primary mui-btn-outlined" :style="getColor(detail)" v-text="detail.remark?'已审查':'未审查'"></button>
|
|
|
|
+ </div>
|
|
|
|
+ <form class="mui-input-group margin10">
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>所属部门</label>
|
|
|
|
+ <span v-text="detail.companyName"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>外出地点</label>
|
|
|
|
+ <span v-text="detail.destination"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>外出事由</label>
|
|
|
|
+ <span v-text="detail.content"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>报备</label>
|
|
|
|
+ <span v-text="detail.list.length>0?detail.list[0]['name']:''"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>提交时间</label>
|
|
|
|
+ <span v-text="detail.createTime"></span>
|
|
</div>
|
|
</div>
|
|
- <button :style="getColor(detail.status)" v-text="detail.statusN" type="button" class="mui-btn mui-btn-primary mui-btn-outlined">
|
|
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>申请单编号</label>
|
|
|
|
+ <span v-text="detail.approvalNo"></span>
|
|
|
|
+ </div>
|
|
|
|
+ </form>
|
|
|
|
|
|
- </button>
|
|
|
|
- </div>
|
|
|
|
- <div class="mui-content-padded vongi-wordcard-center">
|
|
|
|
- <ul class="mui-table-view">
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">申请类型</div>
|
|
|
|
- <span v-text="detail.typeN"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">所在部门</div>
|
|
|
|
- <span v-text="detail.companyName"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">外出地点</div>
|
|
|
|
- <span v-text="detail.destination"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">外出日期</div>
|
|
|
|
- <span v-text="detail.startTime"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">预估时长</div>
|
|
|
|
- <span v-text="detail.estimatedTime+'小时'"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">外出事由</div>
|
|
|
|
- <span v-text="detail.content"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">申请单编号</div>
|
|
|
|
- <span v-text="detail.approvalNo"></span>
|
|
|
|
- </li>
|
|
|
|
- <li class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">申请时间</div>
|
|
|
|
- <span v-text="detail.createTime"></span>
|
|
|
|
- </li>
|
|
|
|
- <li v-if="detail.endTime" class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">结束时间</div>
|
|
|
|
- <span v-text="detail.endTime"></span>
|
|
|
|
- </li>
|
|
|
|
- <li v-if="detail.remark" class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">审核意见</div>
|
|
|
|
- <span v-text="detail.remark"></span>
|
|
|
|
- </li>
|
|
|
|
- <li v-if="detail.workReport" class="mui-table-view-cell mui-media">
|
|
|
|
- <div class="mui-media-body">办理结果</div>
|
|
|
|
- <span v-text="detail.workReport"></span>
|
|
|
|
- </li>
|
|
|
|
- </ul>
|
|
|
|
|
|
+ <form class="mui-input-group margin10">
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>预计外出时间</label>
|
|
|
|
+ <span v-text="detail.startTime"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>预估时长</label>
|
|
|
|
+ <span v-text="detail.estimatedTime+'小时'"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="detail.endTime" class="mui-input-row">
|
|
|
|
+ <label>返回时间</label>
|
|
|
|
+ <span v-text="detail.endTime"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="detail.remark" class="mui-input-row">
|
|
|
|
+ <label>审查意见</label>
|
|
|
|
+ <span v-text="detail.remark"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="detail.workReport" class="mui-input-row">
|
|
|
|
+ <label>办理结果</label>
|
|
|
|
+ <span v-text="detail.workReport"></span>
|
|
|
|
+ </div>
|
|
|
|
+ </form>
|
|
|
|
+ <!-- <div class="mui-content-padded">
|
|
|
|
+ <h5>审核记录</h5>
|
|
</div>
|
|
</div>
|
|
- <div class="vongi-slot mui-content-padded">
|
|
|
|
- <div v-for="(item,index) in detail.list" class="vongi-slot-block">
|
|
|
|
- <div class="vongi-slot-img"><img :src="item.faceImageUrl"></div>
|
|
|
|
- <div class="vongi-slot-content">
|
|
|
|
- <h4>审批人{{index+1}}<span class="mui-pull-right mui-h5 color999" v-text="item.time"></span></h4>
|
|
|
|
- <p>{{item.name}} <span class="color55f868" :style="getColor(item.status)" v-text="item.statusN"></span></p>
|
|
|
|
|
|
+ <form class="mui-input-group margin10">
|
|
|
|
+ <template v-for="(item,index) in detail.list">
|
|
|
|
+ <div class="mui-input-row">
|
|
|
|
+ <label>通知人</label>
|
|
|
|
+ <span v-text="item.name"></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="item.approvalContent" class="mui-input-row">
|
|
|
|
+ <label>审核意见</label>
|
|
|
|
+ <span v-text="item.approvalContent"></span>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-if="item.time" class="mui-input-row">
|
|
|
|
+ <label>审核时间</label>
|
|
|
|
+ <span v-text="item.time"></span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </form> -->
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <div v-if="!detail.remark" class="fyy-scon-botton" style="position: fixed;width: 100%;bottom: 0;">
|
|
|
|
+ <div style="background-color: #3385FF;" class="examine-btn examine-btn1-blue" @click="openFromVisible=true">填写意见</div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <!-- 审批弹窗 -->
|
|
|
|
+ <div v-show="openFromVisible" class="mui-popup mui-popup-in vongi-mui-pop">
|
|
|
|
+ <div class="mui-popup-inner vongi-pop-inner">
|
|
|
|
+ <div class="mui-popup-title">填写意见</div>
|
|
|
|
+ <div class="mui-popup-input">
|
|
|
|
+ <textarea v-model="remarkForm.remark" rows="3" placeholder="请输入"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div v-if="detail.status=='0'" class="fyy-scon-botton">
|
|
|
|
- <div class="examine-btn examine-btn1" @click="openFrom('2')">拒绝</div>
|
|
|
|
- <div class="examine-btn examine-btn2" @click="openFrom('1')">通过</div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="mui-popup-buttons"><span class="mui-popup-button mui-popup-button-bold" @click="addRemark">提交</span></div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-show="openFromVisible" @click="openFromVisible=false" class="mui-popup-backdrop mui-active"></div>
|
|
|
|
|
|
<loading :visible="isLoading"></loading>
|
|
<loading :visible="isLoading"></loading>
|
|
</div>
|
|
</div>
|
|
@@ -101,19 +120,20 @@
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- pageTitle: '外出记录详情',
|
|
|
|
|
|
+ pageTitle: '外出审查详情',
|
|
|
|
|
|
isLoading: false,
|
|
isLoading: false,
|
|
|
|
|
|
- subForm: {
|
|
|
|
- ids: this.$route.query.id,
|
|
|
|
- status: '',
|
|
|
|
- approvalContent: '',
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
|
|
+ id: this.$route.query.id,
|
|
detail: {
|
|
detail: {
|
|
list: [],
|
|
list: [],
|
|
},
|
|
},
|
|
|
|
+
|
|
|
|
+ remarkForm: {
|
|
|
|
+ id: this.$route.query.id,
|
|
|
|
+ remark: ''
|
|
|
|
+ },
|
|
|
|
+ openFromVisible: false,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {},
|
|
created() {},
|
|
@@ -121,7 +141,7 @@
|
|
//获取详情
|
|
//获取详情
|
|
getInfo() {
|
|
getInfo() {
|
|
this.isLoading = true;
|
|
this.isLoading = true;
|
|
- API_BusinessTravel.businessOutDetail(this.subForm.ids).then(response => {
|
|
|
|
|
|
+ API_BusinessTravel.businessOutDetail(this.id).then(response => {
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
|
|
|
|
this.detail = response;
|
|
this.detail = response;
|
|
@@ -131,46 +151,26 @@
|
|
})
|
|
})
|
|
},
|
|
},
|
|
//获取状态颜色
|
|
//获取状态颜色
|
|
- getColor(status) {
|
|
|
|
|
|
+ getColor(item) {
|
|
var color = '';
|
|
var color = '';
|
|
- if (status == '0') {
|
|
|
|
- color = '#4fc5f7';
|
|
|
|
- } else if (status == '1') {
|
|
|
|
|
|
+ if (item.remark) {
|
|
color = '#55f868';
|
|
color = '#55f868';
|
|
- } else if (status == '2') {
|
|
|
|
- color = '#fe616c';
|
|
|
|
- }
|
|
|
|
- return 'color:' + color + ';border-color:' + color + ';';
|
|
|
|
- },
|
|
|
|
- //显示内容表单
|
|
|
|
- openFrom(status) {
|
|
|
|
- if (!this.subForm.ids) {
|
|
|
|
- mui.toast('请选择要处理的信息');
|
|
|
|
} else {
|
|
} else {
|
|
- this.subForm.status = status;
|
|
|
|
- this.subForm.approvalContent = status == 1 ? '同意' : '拒绝';
|
|
|
|
- //this.openFromVisible = true;
|
|
|
|
- //直接点击处理,不需要弹窗理由框
|
|
|
|
- this.doAction();
|
|
|
|
|
|
+ color = '#4fc5f7';
|
|
}
|
|
}
|
|
|
|
+ return 'color:' + color + ';border-color:' + color + ';';
|
|
},
|
|
},
|
|
- //检测表单
|
|
|
|
- checkForm() {
|
|
|
|
- if (!this.subForm.ids) {
|
|
|
|
- mui.toast('请选择要处理的信息');
|
|
|
|
- return false;
|
|
|
|
|
|
+ //领导添加备注
|
|
|
|
+ addRemark() {
|
|
|
|
+ if (!this.remarkForm.remark) {
|
|
|
|
+ mui.toast('请填写意见');
|
|
} else {
|
|
} else {
|
|
- return true;
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- //同意拒绝
|
|
|
|
- doAction() {
|
|
|
|
- if (this.checkForm()) {
|
|
|
|
this.isLoading = true;
|
|
this.isLoading = true;
|
|
- API_BusinessTravel.businessOutApproval(this.subForm).then(response => {
|
|
|
|
|
|
+ API_BusinessTravel.addRemark(this.remarkForm).then(response => {
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
|
|
|
|
this.openFromVisible = false;
|
|
this.openFromVisible = false;
|
|
|
|
+ mui.toast('提交成功');
|
|
this.getInfo();
|
|
this.getInfo();
|
|
}).catch(error => {
|
|
}).catch(error => {
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
@@ -198,5 +198,14 @@
|
|
|
|
|
|
<style scoped src="$project/assets/css/xpwyfyy.css"></style>
|
|
<style scoped src="$project/assets/css/xpwyfyy.css"></style>
|
|
<style src="$project/assets/css/iconfont.css"></style>
|
|
<style src="$project/assets/css/iconfont.css"></style>
|
|
-<style>
|
|
|
|
|
|
+<style scoped>
|
|
|
|
+ .status_r {
|
|
|
|
+ color: #fe616c !important;
|
|
|
|
+ border: 1px solid #fe616c !important;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .status_a {
|
|
|
|
+ color: #05c8af !important;
|
|
|
|
+ border: 1px solid #05c8af !important;
|
|
|
|
+ }
|
|
</style>
|
|
</style>
|