refactor: 优化项目展示

master
zccbbg 1 year ago
parent 9ee4f01157
commit 20e3fff80d

@ -109,7 +109,7 @@
/> />
</InBody> </InBody>
</div> </div>
<SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/> <!-- <SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/>-->
<!-- 拒绝对话框 --> <!-- 拒绝对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -160,7 +160,7 @@ export default {
dicts: ["oms_aftersale_type", "oms_aftersale_status"], dicts: ["oms_aftersale_type", "oms_aftersale_status"],
data() { data() {
return { return {
show: false, show: true,
pickerOptions: { pickerOptions: {
shortcuts: dateUtil.getTimeShort2() shortcuts: dateUtil.getTimeShort2()
}, },
@ -223,9 +223,7 @@ export default {
if (status){ if (status){
this.queryParams.status = status this.queryParams.status = status
} }
this.$nextTick(()=>{ this.getList();
this.$refs.seeAdsComponentRef.show()
})
}, },
methods: { methods: {
confirmOk(success) { confirmOk(success) {

@ -1,192 +1,193 @@
<template> <template>
<div class="app-container"> <div class="app-container" v-if="show">
<div v-show="show"> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium"
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px" size="medium" class="ry_form">
class="ry_form"> <el-form-item label="订单状态" prop="status">
<el-form-item label="订单状态" prop="status"> <DictRadio v-model="queryParams.status" :radioData="dict.type.oms_order_status" size="small" :show-all="'all'"
<DictRadio v-model="queryParams.status" :radioData="dict.type.oms_order_status" size="small" :show-all="'all'" :filter="['11', '12', '13', '14']" @change="handleQuery"></DictRadio>
:filter="['11', '12', '13', '14']" @change="handleQuery"></DictRadio> </el-form-item>
</el-form-item> <el-form-item label="订单编号" prop="orderSn">
<el-form-item label="订单编号" prop="orderSn"> <el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable size="small"
<el-input v-model.trim="queryParams.orderSn" placeholder="请输入订单编号" clearable size="small" @keyup.enter.native="handleQuery"/>
@keyup.enter.native="handleQuery"/> </el-form-item>
</el-form-item> <el-form-item label="会员手机号" prop="userPhone">
<el-form-item label="会员手机号" prop="userPhone"> <el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable size="small"
<el-input v-model.trim="queryParams.userPhone" placeholder="请输入会员手机号" clearable size="small" @keyup.enter.native="handleQuery"/>
@keyup.enter.native="handleQuery"/> </el-form-item>
</el-form-item> <el-form-item label="省市区" prop="provinces">
<el-form-item label="省市区" prop="provinces"> <address-selector v-model="queryParams.provinces" size="small"></address-selector>
<address-selector v-model="queryParams.provinces" size="small"></address-selector> </el-form-item>
</el-form-item> <el-form-item label="下单时间" prop="Time">
<el-form-item label="下单时间" prop="Time"> <el-date-picker v-model="queryParams.Time" type="datetimerange" :picker-options="pickerOptions"
<el-date-picker v-model="queryParams.Time" type="datetimerange" :picker-options="pickerOptions" range-separator="至" size="small" format="yyyy-MM-dd HH:mm:ss"
range-separator="至" size="small" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']"
start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" align="right"
align="right" @change="handleChange">
@change="handleChange"> </el-date-picker>
</el-date-picker> </el-form-item>
</el-form-item> <el-form-item class="flex_one tr">
<el-form-item class="flex_one tr"> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> </el-form-item>
</el-form-item> </el-form>
</el-form>
<el-table v-loading="loading" :data="omsOrderList" border @selection-change="handleSelectionChange" <el-table v-loading="loading" :data="omsOrderList" border @selection-change="handleSelectionChange"
cell-class-name="my-cell"> cell-class-name="my-cell">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column label="收件信息" prop="receiverName" width="280"> <el-table-column label="收件信息" prop="receiverName" width="280">
<template v-slot="scope"> <template v-slot="scope">
<div> <div>
<span>{{ scope.row.decrypt?scope.row.receiverName:getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span> <span>{{ scope.row.decrypt?scope.row.receiverName:getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleWatch(scope.row)" @click="handleWatch(scope.row)"
style="margin-left: 10px" style="margin-left: 10px"
>查看 >查看
</el-button> </el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>修改 >修改
</el-button> </el-button>
</div> </div>
<div> <div>
<span>{{ scope.row.receiverProvince }}{{ scope.row.receiverCity }}{{ scope.row.receiverDistrict }}</span> <span>{{ scope.row.receiverProvince }}{{ scope.row.receiverCity }}{{ scope.row.receiverDistrict }}</span>
<span>{{ scope.row.decrypt?scope.row.receiverDetailAddress:getHiddenDetailAddress(scope.row.receiverDetailAddress) }}</span> <span>{{ scope.row.decrypt?scope.row.receiverDetailAddress:getHiddenDetailAddress(scope.row.receiverDetailAddress) }}</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="客户信息" prop="receiverName" width="160"> <el-table-column label="客户信息" prop="receiverName" width="160">
<template v-slot="scope"> <template v-slot="scope">
<p>{{ scope.row.nickName }}</p> <p>{{ scope.row.nickName }}</p>
<p>{{ scope.row.mark }}</p> <p>{{ scope.row.mark }}</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注留言" prop="note" width="160"> <el-table-column label="备注留言" prop="note" width="160">
<template v-slot="scope"> <template v-slot="scope">
<div> <div>
<span v-if="scope.row.merchantNote" class="note-title" style="margin-right: 10px"></span> <span v-if="scope.row.merchantNote" class="note-title" style="margin-right: 10px"></span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleSaveNote(scope.row)" @click="handleSaveNote(scope.row)"
>{{ scope.row.merchantNote ? '修改' : '添加平台备注' }} >{{ scope.row.merchantNote ? '修改' : '添加平台备注' }}
</el-button> </el-button>
</div> </div>
<div v-if="scope.row.merchantNote">{{ scope.row.merchantNote }}</div> <div v-if="scope.row.merchantNote">{{ scope.row.merchantNote }}</div>
<div v-if="scope.row.note" class="note-title"></div> <div v-if="scope.row.note" class="note-title"></div>
<div v-if="scope.row.note">{{ scope.row.note }}</div> <div v-if="scope.row.note">{{ scope.row.note }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="下单时间/支付时间" prop="payTime" width="140"> <el-table-column label="下单时间/支付时间" prop="payTime" width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '{mm}-{dd} {hh}:{ii}') }} </div> <div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '{mm}-{dd} {hh}:{ii}') }} </div>
<div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '{mm}-{dd} {hh}:{ii}') }} </div> <div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '{mm}-{dd} {hh}:{ii}') }} </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="优惠券" prop="couponAmount" width="80"> <el-table-column label="优惠券" prop="couponAmount" width="80">
<template v-slot="scope"> <template v-slot="scope">
<div v-if="scope.row.couponAmount">{{ scope.row.couponAmount }}</div> <div v-if="scope.row.couponAmount">{{ scope.row.couponAmount }}</div>
<div v-else></div> <div v-else></div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="合计" prop="totalAmount" width="140"> <el-table-column label="合计" prop="totalAmount" width="140">
<template v-slot="scope"> <template v-slot="scope">
<div> <div>
<span>总数 </span> <span>总数 </span>
<span style="color: red;">{{ scope.row.buyNum }}</span> <span style="color: red;">{{ scope.row.buyNum }}</span>
</div> </div>
<div>实付 {{ scope.row.payAmount }}</div> <div>实付 {{ scope.row.payAmount }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品规格" prop="productList" width="280"> <el-table-column label="商品规格" prop="productList" width="280">
<template v-slot="scope"> <template v-slot="scope">
<div v-for="item in scope.row.productList" class="product-container"> <div v-for="item in scope.row.productList" class="product-container">
<el-popover <el-popover
placement="right" placement="right"
trigger="hover"> trigger="hover">
<el-image :src="item.pic" style="width: 350px;height: 350px"/> <el-image :src="item.pic" style="width: 350px;height: 350px"/>
<el-image slot="reference" class="small-img product-item" :src="item.pic" <el-image slot="reference" class="small-img product-item" :src="item.pic"
style="width: 40px;height: 40px"/> style="width: 40px;height: 40px"/>
</el-popover> </el-popover>
<div class="product-item" style="margin-left: 5px"> <div class="product-item" style="margin-left: 5px">
<div class="sp-data"> <div class="sp-data">
<span v-for="(value, key) in JSON.parse(item.spData)">{{ key }}{{ value }}&nbsp;</span> <span v-for="(value, key) in JSON.parse(item.spData)">{{ key }}{{ value }}&nbsp;</span>
</div> </div>
<div class="product-item quantity"> <div class="product-item quantity">
<span style="margin-right: 10px">{{ item.salePrice }}</span> <span style="margin-right: 10px">{{ item.salePrice }}</span>
<span>x{{ item.buyNum }}</span> <span>x{{ item.buyNum }}</span>
</div>
</div> </div>
</div> </div>
</template> </div>
</el-table-column> </template>
<el-table-column label="订单状态" prop="status" width="160"> </el-table-column>
<template v-slot="scope"> <el-table-column label="订单状态" prop="status" width="160">
<div> <template v-slot="scope">
<el-tag :type="getOrderStatusTag(scope.row.status)" style="margin-right: 10px"> <div>
{{ getOrderStatusText(scope.row.status) }} <el-tag :type="getOrderStatusTag(scope.row.status)" style="margin-right: 10px">
</el-tag> {{ getOrderStatusText(scope.row.status) }}
</div> </el-tag>
<div v-if="scope.row.deliverySn">{{ scope.row.deliverySn }} </div>
<el-link @click="copy(scope.row.deliverySn)" :underline="false"><i <div v-if="scope.row.deliverySn">{{ scope.row.deliverySn }}
class="el-icon-document-copy el-icon--right"></i></el-link> <el-link @click="copy(scope.row.deliverySn)" :underline="false"><i
</div> class="el-icon-document-copy el-icon--right"></i></el-link>
<div v-if="scope.row.deliveryTime">{{ parseTime(scope.row.deliveryTime, '') }}</div> </div>
</template> <div v-if="scope.row.deliveryTime">{{ parseTime(scope.row.deliveryTime, '') }}</div>
</el-table-column> </template>
<el-table-column label="订单编号/操作" class-name="small-padding fixed-width" width="220" fixed="right" > </el-table-column>
<template slot-scope="scope" > <el-table-column label="订单编号/操作" class-name="small-padding fixed-width" width="220" fixed="right" >
<div style="float: right"> <template slot-scope="scope" >
{{ scope.row.orderSn }} <div style="float: right">
<!-- <el-link--> {{ scope.row.orderSn }}
<!-- size="mini"--> <!-- <el-link-->
<!-- icon="el-icon-document-copy"--> <!-- size="mini"-->
<!-- @click="copyOrderSn(scope.row.orderSn)"--> <!-- icon="el-icon-document-copy"-->
<!-- ></el-link>--> <!-- @click="copyOrderSn(scope.row.orderSn)"-->
<el-link @click="copy(scope.row.orderSn)" :underline="false"><i <!-- ></el-link>-->
class="el-icon-document-copy el-icon--right"></i></el-link> <el-link @click="copy(scope.row.orderSn)" :underline="false"><i
</div> class="el-icon-document-copy el-icon--right"></i></el-link>
<div style="float: right"> </div>
<el-button <div style="float: right">
size="mini" <el-button
type="text" size="mini"
@click="goDetail(scope.row)" type="text"
v-hasPermi="['oms:order:query']" @click="goDetail(scope.row)"
>详情 v-hasPermi="['oms:order:query']"
</el-button> >详情
<el-button </el-button>
size="mini" <el-button
type="text" size="mini"
@click="showLog(scope.row.id)" type="text"
v-hasPermi="['oms:order:log']" @click="showLog(scope.row.id)"
>日志 v-hasPermi="['oms:order:log']"
</el-button> >日志
<el-button </el-button>
size="mini" <el-button
type="text" size="mini"
@click="handleDelivery(scope.row)" type="text"
:disabled="scope.row.status !== 1 && scope.row.status !== 2 && scope.row.status !== 3" @click="handleDelivery(scope.row)"
>发货 :disabled="scope.row.status !== 1 && scope.row.status !== 2 && scope.row.status !== 3"
</el-button> >发货
</div> </el-button>
</div>
</template>
</el-table-column>
</el-table>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</template>
</el-table-column>
</el-table>
<InBody v-show="total>0">
<pagination
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</InBody>
</div>
<SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/>
<!-- 发货对话框 --> <!-- 发货对话框 -->
<el-dialog :title="deliveryObj.title" :visible.sync="deliveryObj.open" width="500px" append-to-body> <el-dialog :title="deliveryObj.title" :visible.sync="deliveryObj.open" width="500px" append-to-body>
<el-form ref="deliveryForm" :model="deliveryObj.form" :rules="deliveryObj.rules" label-width="100px"> <el-form ref="deliveryForm" :model="deliveryObj.form" :rules="deliveryObj.rules" label-width="100px">
@ -284,7 +285,6 @@ import AddressSelector from "@/views/components/AddressSelector/index.vue";
import dateUtil, {dateFormat} from '@/utils/DateUtil'; import dateUtil, {dateFormat} from '@/utils/DateUtil';
import {isStarRepo} from "@/utils/is-star-plugin" import {isStarRepo} from "@/utils/is-star-plugin"
import {mapGetters} from "vuex"; import {mapGetters} from "vuex";
import SeeAdsComponent from "@/components/SeeAdsComponent.vue";
export default { export default {
computed:{ computed:{
@ -293,7 +293,6 @@ export default {
name: "OmsOrder", name: "OmsOrder",
dicts: ["oms_order_status", "oms_pay_type"], dicts: ["oms_order_status", "oms_pay_type"],
components: { components: {
SeeAdsComponent,
AddressSelector AddressSelector
}, },
data() { data() {
@ -412,30 +411,23 @@ export default {
}; };
}, },
async created() { async created() {
this.$nextTick(()=>{ const res = await isStarRepo('zccbbg', 'RuoYi-Mall', this.userId, 'https://mall.ichengle.top/order/order', 'ruoyi-mall-商城', 'https://gitee.com/zccbbg/RuoYi-Mall')
this.$refs.seeAdsComponentRef.show() this.show = res;
}) if (res) {
const {phone, status, today} = this.$route.query
if (phone) {
this.queryParams.userPhone = phone
}
if (status) {
this.queryParams.status = status
}
if (today) {
this.setToday()
}
this.getList();
}
}, },
methods: { methods: {
async confirmOk(success) {
if (success) {
const res = await isStarRepo('zccbbg', 'RuoYi-Mall', this.userId, 'https://mall.ichengle.top/order/order', 'ruoyi-mall-商城', 'https://gitee.com/zccbbg/RuoYi-Mall')
this.show = res;
if (res) {
const {phone, status, today} = this.$route.query
if (phone) {
this.queryParams.userPhone = phone
}
if (status) {
this.queryParams.status = status
}
if (today) {
this.setToday()
}
this.getList();
}
}
},
/** 日期组件设置为今天 */ /** 日期组件设置为今天 */
setToday() { setToday() {
const temp = new Date(); const temp = new Date();

@ -119,7 +119,7 @@
/> />
</InBody> </InBody>
</div> </div>
<SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/> <!-- <SeeAdsComponent ref="seeAdsComponentRef" v-if="!show" @confirmOk="confirmOk"/>-->
</div> </div>
</template> </template>
@ -136,7 +136,7 @@ export default {
dicts: ['pms_publish_status'], dicts: ['pms_publish_status'],
data() { data() {
return { return {
show: false, show: true,
// //
loading: true, loading: true,
// //
@ -176,9 +176,7 @@ export default {
}; };
}, },
created() { created() {
this.$nextTick(()=>{ this.getList();
this.$refs.seeAdsComponentRef.show()
})
}, },
computed:{ computed:{
...mapGetters(['userId']), ...mapGetters(['userId']),

Loading…
Cancel
Save