From b0a7148f1830eb544af588e49a36163ee5820c7c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 16 七月 2025 10:10:55 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/components/business/OperaOrderDetailWindow.vue | 336 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 336 insertions(+), 0 deletions(-)
diff --git a/admin/src/components/business/OperaOrderDetailWindow.vue b/admin/src/components/business/OperaOrderDetailWindow.vue
new file mode 100644
index 0000000..36eb0f9
--- /dev/null
+++ b/admin/src/components/business/OperaOrderDetailWindow.vue
@@ -0,0 +1,336 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ :visible.sync="visible"
+ :withFooter="false"
+ width="calc(100% - 250px)"
+ :confirm-working="isWorking"
+ @close="close"
+ @confirm="confirm">
+ <div class="main">
+ <div class="renzheng" >
+ <div class="info" >
+ <span class="m10">璁㈠崟淇℃伅</span>
+ <el-tag type="primary" class="ml10 tag2" v-if="info.status == 0||info.status == 1||info.status == 3">{{ info.statusName }}</el-tag>
+ <el-tag type="success" class="ml10 tag2" v-if="info.status == 4">{{ info.statusName }}</el-tag>
+ <el-tag type="danger" class="ml10 tag2" v-if="info.status == 99">{{ info.statusName }}</el-tag>
+ </div>
+ <div class="detail" >
+ <div class="line">
+ <div class="cont"><span class="label"> 璁㈠崟鍙凤細</span> <span class="txt">{{info.code }}</span></div>
+ <div class="cont"> <span class="label"> 涓嬪崟鏃堕棿锛�</span> <span class="txt">{{info.createTime }}</span></div>
+ <div class="cont"><span class="label"> 鎺ュ崟鏃堕棿锛�</span> <span class="txt">{{info.acceptTime || '' }}</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">寮�濮嬫椂闂达細</span> <span class="txt">{{info.workStartTime || '' }}</span></div>
+ <div class="cont" style="flex: 2"><span class="label">瀹屾垚鏃堕棿锛�</span><span class="txt">{{info.finishTime || '' }}</span></div>
+ </div>
+ </div>
+ </div>
+ <div class="renzheng" >
+ <div class="info" >
+ <span class="m10">鏀粯淇℃伅</span>
+ </div>
+ <div class="detail" >
+ <div class="line">
+ <div class="cont"><span class="label"> 瀹炰粯閲戦锛�</span> <span class="txt yellowbtn">{{((info.payAccount||0)/100).toFixed(2) }}鍏�</span></div>
+ <div class="cont"><span class="label">骞冲彴鎵嬬画璐癸細</span> <span class="txt yellowbtn">{{(((info.payAccount||0) - (info.receiveAccount||0))/100).toFixed(2) }}鍏�</span></div>
+ <div class="cont"><span class="label">鎺ュ崟鏂规敹鍒伴噾棰濓細</span> <span class="txt yellowbtn">{{((info.receiveAccount||0)/100).toFixed(2) }}鍏�</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">鏀粯鏃堕棿锛�</span> <span class="txt">{{info.payTime || '' }}</span></div>
+ <div class="cont"><span class="label">鏀粯鏂瑰紡锛�</span><span class="txt">{{info.payMethod==0?'寰俊鏀粯':'鍏朵粬' }}</span></div>
+ <div class="cont"><span class="label">浜ゆ槗鍗曞彿锛�</span><span class="txt">{{info.wxExternalNo || '' }}</span></div>
+ </div>
+ </div>
+ </div>
+ <div class="renzheng" >
+ <div class="info" >
+ <span class="m10">闇�姹備俊鎭�</span>
+ </div>
+ <div class="detail" v-if="info.type==0">
+ <div class="line">
+ <div class="cont"><span class="label"> 璁㈠崟绫诲瀷锛�</span> <span class="txt">{{(info.type==0?'鐢ㄥ伐鍗�':(info.type==1?'璐ц繍鍗�':'璁㈠崟鍗�')) }}</span></div>
+ <div class="cont"><span class="label">宸ョ锛�</span>
+ <span class="txt" v-if="info.type==0">{{(info.workType==0?'閲囨憳宸�':(info.workType==1?'鍒嗘嫞宸�':'鍖呰宸�')) }}</span>
+ <span v-else>-</span>
+ </div>
+ <div class="cont"><span class="label">閲囨憳鍝佺锛�</span> <span class="txt">{{info.categoryName || ''}}</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">閲囨憳閲嶉噺锛�</span> <span class="txt">{{info.priceNum1 || '' }}鏂�</span></div>
+ <div class="cont"><span class="label">鐢ㄥ伐鏃堕棿锛�</span><span class="txt">{{info.startDate|| '' }}-{{info.endDate|| '' }}</span></div>
+ <div class="cont"><span class="label">鐢ㄥ伐澶╂暟锛�</span><span class="txt">{{info.totalDays || 0 }}</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">鐢ㄥ伐鍦扮偣锛�</span> <span class="txt">{{info.location || '' }}</span></div>
+ <div class="cont"><span class="label">璐圭敤鏍囧噯锛�</span><span class="txt">{{((info.price||0)/100).toFixed(2) }}{{info.priceUnit || '' }}</span></div>
+ <div class="cont"><span class="label">棰勪及鎬昏垂鐢細</span><span class="txt yellowbtn">{{((info.estimatedAccount||0)/100).toFixed(2) }}鍏�</span></div>
+ </div>
+ <div class="line">
+ <div class="cont"><span class="label">鍦扮偣鎻忚堪锛�</span><span class="txt">{{info.locationRemark || '' }}</span></div>
+ </div>
+ <div class="line">
+ <div class="cont" ><span class="label">闇�姹傛弿杩帮細</span><span class="txt">{{info.supplement || '' }}</span></div>
+ </div>
+ <div class="line">
+ <div class="cont">
+ <span class="label">鍥剧墖锛�</span>
+ <span class="txt" v-if="!info.multifileList || info.multifileList.length ==0">鏃�</span>
+ </div>
+ </div>
+ <div class="line" v-if="info.multifileList && info.multifileList.length>0">
+ <div class="cont">
+ <template v-if="info.multifileList && info.multifileList.length>0">
+ <div v-for="item in info.multifileList" style="display: inline-block" :key="item">
+ <el-image v-if="item.fileurlFull" style="width: 50px; height: 50px; margin-right: 10px" :src="item.fileurlFull"
+ :preview-src-list="[info.fileurlFull]">
+ </el-image>
+ </div>
+ </template>
+ </div>
+ </div>
+ <div class="line" v-if="info.auditStatus == 3 || info.auditStatus == 2" :style="'background-color: '+(info.auditStatus==2?'#eff8ea':'rgb(253 226 226)')+';padding: 20px'">
+ <span class="label"> 瀹℃牳浜猴細</span> <span class="txt">{{info.editorName}} </span><span class="label">{{info.auditTime || '' }} </span>
+ <div style="margin-top: 20px"> <span class="label"> 瀹℃牳淇℃伅锛�</span> <span class="txt">{{info.auditRemark || '' }}</span></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </GlobalWindow>
+</template>
+
+<script>
+import GlobalWindow from '@/components/common/GlobalWindow'
+import BaseOpera from '@/components/base/BaseOpera'
+import { getById,cancel } from '@/api/business/orders'
+export default {
+ components: {
+ GlobalWindow
+ },
+ extends: BaseOpera,
+ data () {
+ return {
+ id: '',
+ info: {},
+ loading: false
+ }
+ },
+ methods: {
+ open (title, row) {
+ this.title = title
+ this.visible = true
+ this.tableData2 = []
+ this.id = row.id
+ this.getData()
+ },
+ getData () {
+ getById(this.id)
+ .then(res => {
+ this.info = res
+ this.visible = true
+ console.log(this.info)
+ })
+ },
+ close () {
+
+ },
+ checkDo (status) {
+ console.log(this.$refs.formCheck.length)
+ this.$refs.formCheck.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ this.$dialog.actionConfirm('鎮ㄧ‘璁ゃ�愬彇娑堛�戣鐢宠鍚楋紵', '鎿嶄綔纭')
+ .then(() => {
+ this.dealing = true
+ cancel({
+ id: this.id,
+ auditStatus: status,
+ auditRemark: this.form.auditRemark
+ })
+ .then(res => {
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.getData()
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.dealing = false
+ })
+ })
+ })
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '@/assets/style/variables.scss';
+.bottom{
+ text-align: center;
+ display: block;
+ height: auto;
+ background-color: #e4ecfe;
+ width: calc(100% - 32px);
+ z-index: 999;
+ padding: 16px;
+}
+.renzheng{
+ margin: 0px 0px 50px 20px;
+ width: calc(100% - 60px);
+ .detail{
+ font-size: 14px;
+ .label{
+ //color: #8c939d;
+ }
+ .txt{
+ margin-right: 30px;
+ }
+ .line{
+ font-size: 12px;
+ margin-top: 15px;
+ display: flex;
+ width: calc(100% - 60px);
+ .cont{
+ flex: 1;
+ }
+ }
+ }
+ .ml10{
+ margin-left: 10px;
+ }
+ .info{
+ font-size: 14px;
+ font-weight: bold;
+ color: #5a72c5;
+ }
+ .tag2{
+ font-size: 12px;
+ }
+}
+.home_title {
+ .mr10{
+ margin-right: 10px;
+ }
+ .m10{
+ margin: 10px;
+ }
+ .bluebtn{
+ color: #2985f7;
+ }
+ .tag1{
+ border-radius: 10px;
+ font-size: 10px;
+ padding: 0px 15px;
+ height: 24px;
+ }
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ .left {
+ font-weight: 500;
+ font-size: 14px;
+ margin-right: 10px;
+ display: flex;
+ align-items: center;
+ .status {
+ padding: 0 6px;
+ height: 22px;
+ line-height: 22px;
+ border-radius: 2px;
+ border: 1px solid #00BA92;
+ color: #00BA92;
+ font-weight: 400;
+ font-size: 12px;
+ color: #00BA92;
+ }
+ }
+}
+.tab{
+ width: 20%;
+}
+.remark {
+ //background: #E8EBF7;
+ border-radius: 2px;
+ font-size: 14px;
+ margin: 10px 10px 0px -10px;
+ button{
+ border: none;
+ cursor: default;
+ margin-right: 20px;
+ background: #e4ecfe;
+ }
+}
+.bluebtn{
+ font-weight: bold;
+ color: #2985f7;
+}
+
+.redbtn{
+ font-weight: bold;
+ color: #ff1b1b;
+}
+.yellowbtn{
+ font-weight: bold;
+ color: #fc9d20;
+}
+
+.tabs {
+ border-bottom: 1px solid #DFE2E8;
+ display: flex;
+ margin-bottom: 20px;
+ .tab {
+ height: 58px;
+ line-height: 58px;
+ font-size: 14px;
+ color: #666666;
+ margin-right: 30px;
+ cursor: pointer;
+ }
+
+ .active {
+ font-weight: 500;
+ color: $primary-color;
+ border-bottom: 2px solid $primary-color;
+ }
+}
+
+.main {
+ padding: 12px 16px;
+ .title {
+ font-weight: 500;
+ font-size: 12px;
+ color: $primary-color;
+ margin-bottom: 15px;
+ }
+ /deep/ .el-form-item__label{
+ font-size: 12px;
+ }
+ .list {
+ display: flex;
+ flex-wrap: wrap;
+ /*background: #F7F7F7;*/
+ border-radius: 2px;
+ /*padding: 15px 20px;*/
+ margin-bottom: 20px;
+
+ .item {
+ font-size: 14px;
+ width: 25%;
+ margin-bottom: 16px;
+
+ .la {
+ color: #7f7f7f;
+ margin-bottom: 10px;
+ }
+ }
+ }
+}
+
+/deep/ .window__body {
+ padding: 0px !important;
+}
+</style>
--
Gitblit v1.9.3