From 12abc32817cbf32732148e7581f6a2665a8d0dbb Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 02 九月 2025 14:55:30 +0800
Subject: [PATCH] 订单列表问题
---
manager/src/views/order/order/orderList.vue | 200 ++++++++++++++++++++++++++++++++++++++++++++++++-
manager/src/views/member/list/memberDetail.vue | 11 --
2 files changed, 195 insertions(+), 16 deletions(-)
diff --git a/manager/src/views/member/list/memberDetail.vue b/manager/src/views/member/list/memberDetail.vue
index c04056c..c00065b 100644
--- a/manager/src/views/member/list/memberDetail.vue
+++ b/manager/src/views/member/list/memberDetail.vue
@@ -1129,17 +1129,6 @@
}
},
},
-
- watch: {
- $route (to, from) {
- // 姝g‘鎵撳嵃璺敱瀵硅薄鐨勬柟娉�
- if(from.fullPath === "/member" && to.fullPath.includes("/orderList")){
- this.id = this.$route.query.id;
- this.init();
-
- }
- },
- },
mounted() {
this.id = this.$route.query.id;
this.init();
diff --git a/manager/src/views/order/order/orderList.vue b/manager/src/views/order/order/orderList.vue
index 2303292..9e37593 100644
--- a/manager/src/views/order/order/orderList.vue
+++ b/manager/src/views/order/order/orderList.vue
@@ -102,7 +102,7 @@
</div>
</template>
<template slot="nickName" slot-scope="{ row }">
- <div style="width: 100%" @click="handleNickNameClick(row)">
+ <div style="width: 100%;height:20px;min-width: 50px" @click="handleNickNameClick(row)">
<span >{{row.nickName}}</span>
</div>
@@ -124,17 +124,91 @@
show-sizer
></Page>
</Row>
+
+ <!-- 淇敼妯℃�佹 -->
+ <Modal v-model="descFlag" width="500">
+
+ <!-- 鑷畾涔夋爣棰樻彃妲� -->
+ <div slot="header" :style="{ color: titleColor, fontSize: '16px', fontWeight: 'bold' }">
+ {{ descTitle }}
+ </div>
+ <Form ref="form" :model="form" :rules="ruleValidate" :label-width="80">
+
+ <Input v-model="form.id" v-show="false" />
+
+ <FormItem label="澶村儚">
+ <img :src="form.face || defaultPic" class="face" />
+ <Button type="text" class="upload" @click="() => {
+ this.picModelFlag = true;
+ this.$refs.ossManage.selectImage = true;
+ }">淇敼</Button>
+ <input type="file" style="display: none" id="file" />
+ </FormItem>
+ <FormItem label="鐢ㄦ埛鍚�" prop="name">
+ <Input v-model="form.username" style="width: 200px" disabled />
+ </FormItem>
+ <FormItem label="鐢ㄦ埛鏄电О" prop="name">
+ <Input v-model="form.nickName" style="width: 200px" />
+ </FormItem>
+ <FormItem label="鏍囩" prop="tags">
+ <Select v-model="selectTagIds" multiple filterable :loading="selectLoading" style="width:200px;">
+ <Option v-for="item in options" :key="item.id" :label="item.tagName" :value="item.id"></Option>
+ </Select>
+ </FormItem>
+ <FormItem label="鎬у埆" prop="sex">
+ <RadioGroup type="button" button-style="solid" v-model="form.sex">
+ <Radio :label="1">
+ <span>鐢�</span>
+ </Radio>
+ <Radio :label="0">
+ <span>濂�</span>
+ </Radio>
+ </RadioGroup>
+ </FormItem>
+ <!-- <FormItem label="淇敼瀵嗙爜" prop="password">-->
+ <!-- <Input type="password" style="width: 220px" password v-model="form.newPassword" />-->
+ <!-- </FormItem>-->
+ <FormItem label="鐢熸棩" prop="birthday">
+ <DatePicker type="date" format="yyyy-MM-dd" v-model="form.birthday" style="width: 220px"></DatePicker>
+ </FormItem>
+ <FormItem label="鎵�鍦ㄥ湴" prop="mail">
+ {{ form.region || '鏆傛棤鍦板潃' }}
+
+
+ <Button style="margin-left: 10px;" @click="$refs.map.open()">閫夋嫨</Button>
+
+ </FormItem>
+
+ </Form>
+ <div slot="footer">
+ <Button @click="descFlag = false">鍙栨秷</Button>
+ <Button type="primary" @click="handleSubmitModal" :disabled="submitDisabled">
+ 纭畾
+ </Button>
+ </div>
+ </Modal>
+ <Modal width="1200px" v-model="picModelFlag">
+ <ossManage @callback="callbackSelected" :isComponent="true" :initialize="picModelFlag" ref="ossManage" />
+ </Modal>
+
+ <multipleMap ref="map" @callback="selectedRegion" />
</Card>
</div>
</template>
<script>
+import multipleMap from "@/components/map/multiple-map";
+import ossManage from "@/views/sys/oss-manage/ossManage";
import * as API_Order from "@/api/order";
import JsonExcel from "vue-json-excel";
+import * as API_Member from "@/api/member.js";
+import { getTags } from "@/api/tag.js";
export default {
name: "orderList",
components: {
"download-excel": JsonExcel,
+ ossManage,
+ multipleMap,
},
data() {
return {
@@ -380,16 +454,128 @@
{title: '宸插叧闂�', value: 'CANCELLED'},
],
- currentStatus: ''
+ currentStatus: '',
+ descTitle: "", // modal鏍囬
+ descFlag: false, //缂栬緫鏌ョ湅妗�
+ form:{},
+ ruleValidate:{},
+
+ selectTagIds: [],
+ selectTags: [],
+ defaultPic: require('@/assets/default.png'),
+ selectLoading:false,
+ picModelFlag: false, // 閫夋嫨鍥剧墖
+ options: [],
+ titleColor:'#333', // 榛樿鏍囬棰滆壊
+ submitDisabled:false,
};
},
methods: {
- handleNickNameClick(row){
- this.$options.filters.customRouterPush({ name: "member-detail", query: { id: row.memberId } })
+ // 閫変腑鐨勫浘鐗�
+ callbackSelected(val) {
+ console.log(val)
+ this.picModelFlag = false;
+ this.form.face = val.url;
},
+ handleNickNameClick(row){
+ this.titleColor = '#333'
+ this.form = {};
+ this.selectTagIds = [];
+ this.selectTags= [];
+ this.descTitle ='';
+ this.descFlag = true;
+ this.getMemberInfo(row.memberId);
+ },
+ /**
+ * 鏌ヨ鏌ョ湅浼氬憳璇︽儏
+ */
+ async getMemberInfo(id) {
+ this.submitDisabled = false;
+ var that = this;
+ await API_Member.getMemberInfoData(id).then((res) => {
+ if (res.result) {
+ debugger
+ that.selectTags = []
+ that.selectTagIds = []
+ res.result.tags.forEach(element => {
+ that.selectTags.push(element.tagName)
+ that.selectTagIds.push(element.tagId)
+ });
+ this.descTitle = res.result.nickName;
+ this.$set(this, "form", res.result);
+ }else{
+ //鏌ヨ鍒扮敤鎴蜂笉瀛樺湪锛屾垨宸插垹闄ゆ儏鍐�
+ this.descTitle = "鐢ㄦ埛宸插垹闄�"
+ this.titleColor ='#ff4d4f';
+ this.submitDisabled = true;
+ }
+ console.log(this.form)
+
+ });
+ },
+ remoteMethod(query) {
+ this.selectLoading = true;
+ var params = {
+ "tagTypeKey": "USER",
+ "pageNumber": 1,
+ "pageSize": 500
+ }
+ getTags(params).then(res => {
+ this.options = res.data;
+ this.selectLoading = false;
+ });
+ },
+ handleSubmitModal(){
+ debugger
+ const { nickName, sex, username, face, newPassword, id, regionId, region } = this.form;
+ let time = new Date(this.form.birthday);
+ let birthday = this.form.birthday === undefined ? '' :
+ time.getFullYear() + "-" + (time.getMonth() + 1) + "-" + time.getDate();
+ let submit = {
+ regionId,
+ region,
+ nickName,
+ username,
+ sex,
+ birthday,
+ face,
+ id
+ };
+
+ submit.tags = this.selectTagIds
+ if (newPassword) {
+ submit.password = this.md5(newPassword);
+ }
+ API_Member.updateMember(submit).then((res) => {
+ if (res.result) {
+ this.$Message.success("淇敼鎴愬姛锛�");
+ this.descFlag = false;
+ this.getDataList();
+ }
+ });
+ },
+
+// 閫変腑鐨勫湴鍧�
+ selectedRegion(val) {
+ if (val.type === 'select') {
+ const paths = val.data.map(item => item.name).join(',')
+ const ids = val.data.map(item => item.id).join(',')
+
+ this.$set(this.form, 'region', paths)
+ this.$set(this.form, 'regionId', ids)
+
+ }
+ else {
+ this.$set(this.form, 'region', val.data.addr)
+ this.$set(this.form, 'regionId', val.data.addrId)
+ }
+ },
+
// 鍒濆鍖栨暟鎹�
init() {
this.getDataList();
+ this.remoteMethod("")
+
},
// 鍒嗛〉 鏀瑰彉椤电爜
changePage(v) {
@@ -425,7 +611,6 @@
this.total = res.result.total;
}
});
- this.total = this.data.length;
this.loading = false;
},
// 璺宠浆璇︽儏椤甸潰
@@ -542,4 +727,9 @@
background-color: #ffffff;
}
}
+.face {
+ width: 60px;
+ height: 60px;
+ border-radius: 50%; // 鍦嗗舰澶村儚
+}
</style>
--
Gitblit v1.8.0