Forráskód Böngészése

网点管理,供应商管理修改,用户管理增加工单列表与延保订单

pengyh 1 éve
szülő
commit
5067262667

+ 9 - 1
src/components/Mall/Member/member-detail.vue

@@ -63,6 +63,12 @@
           <el-tab-pane label="企微客户" name="customer" v-if="userDetail.type === 'SERVICE'" lazy>
             <member-customer :user="userDetail"/>
           </el-tab-pane>
+			<el-tab-pane label="工单管理" name="worker-order" lazy>
+			  <member-worker-order :user="userDetail"/>
+			</el-tab-pane>
+			<el-tab-pane label="延保订单" name="warranty" lazy>
+			  <member-warranty :user="userDetail"/>
+			</el-tab-pane>
         </el-tabs>
       </el-main>
     </el-container>
@@ -77,6 +83,8 @@ import MemberFavorite from "@/components/Mall/Member/member-favorite";
 import MemberBrowse from "@/components/Mall/Member/member-browse";
 import MemberCoupon from "@/components/Mall/Member/member-coupon";
 import MemberCustomer from "@/components/Mall/Member/member-customer";
+import MemberWorkerOrder from "@/components/Mall/Member/member-worker-order";
+import MemberWarranty from "@/components/Mall/Member/member-warranty";
 import {getMemberDetail, applyWorker, editNickname} from "@/api/member";
 
 export default {
@@ -84,7 +92,7 @@ export default {
   componentName: 'MemberDetail',
   props: ['user'],
   components: {
-    MemberAccount, MemberOrder, MemberAddress, MemberFavorite, MemberBrowse, MemberCoupon, MemberCustomer
+    MemberAccount, MemberOrder, MemberAddress, MemberFavorite, MemberBrowse, MemberCoupon, MemberCustomer, MemberWorkerOrder, MemberWarranty
   },
   data() {
     return {

+ 100 - 0
src/components/Mall/Member/member-warranty.vue

@@ -0,0 +1,100 @@
+<template>
+  <div class="order-list">
+    <div class="table">
+      <el-table
+        ref="orderTable"
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+      >
+        <el-table-column align="center" label="订单编号" prop="id" min-width="180"></el-table-column>
+        <el-table-column align="center" label="服务内容" prop="increContent" min-width="200" show-overflow-tooltip></el-table-column>
+		<el-table-column align="center" label="服务金额" prop="amount" min-width="200" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="支付状态" prop="">
+			<template slot-scope="{row}">
+			  {{row.payStatus == 'REFUND'?'已退款':row.payStatus == 'EXPIRE'?'过期':row.payStatus == 'CANCEL'?'取消':row.payStatus == 'PAID'?'已支付':row.payStatus == 'WAIT'?'待支付':''}}
+			</template>
+		</el-table-column>
+		<el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
+        <el-table-column align="center" label="操作" fixed="right">
+          <template slot-scope="{row}">
+            <el-button type="primary" @click="goOrderDetail(row)" size="mini">详情</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import request from '@/utils/request'
+
+export default {
+  name: 'MemberOrder',
+  componentName: 'MemberOrder',
+  props: ['user'],
+  data() {
+    return {
+      dataList: [], // 数据列表
+      listLoading: true, // 列表加载loading
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0 // 列表总数
+    }
+  },
+  created() {
+    this.getOrderList()
+  },
+  methods: {
+    getOrderList() {
+		let data = {
+			pageNum: this.currentPage,
+			pageSize: this.pageSize,
+			params: [{param: "a.user_mobile", compare: "=", value: this.user.mobile}]
+		}
+		request({
+		  url: `/incre/order/settle/list`,
+		  method: 'post',
+		  data
+		}).then(res=>{
+			this.dataList = res.data.records
+			this.listTotal = res.data.total
+			this.listLoading = false
+		})
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.currentPage = 1
+      this.getOrderList()
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val
+      this.getOrderList()
+    },
+    goOrderDetail(row) {
+		this.$router.push({
+			name: 'orderSettleManag'
+		})
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 107 - 0
src/components/Mall/Member/member-worker-order.vue

@@ -0,0 +1,107 @@
+<template>
+  <div class="order-list">
+    <div class="table">
+      <el-table
+        ref="orderTable"
+        v-loading="listLoading"
+        :data="dataList"
+        element-loading-text="Loading"
+      >
+        <el-table-column align="center" label="工单编号" prop="id" min-width="180"></el-table-column>
+        <el-table-column align="center" label="工单类型" prop="orderSmallTypeText" min-width="200" show-overflow-tooltip></el-table-column>
+        <el-table-column align="center" label="工单状态" prop="orderStatusText"></el-table-column>
+        <el-table-column align="center" label="预约上门时间" prop="appointmentTime" min-width="160"></el-table-column>
+		<el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
+        <el-table-column align="center" label="操作" fixed="right">
+          <template slot-scope="{row}">
+            <el-button type="primary" @click="goOrderDetail(row)" size="mini">详情</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div class="pagination clearfix">
+      <div class="fr">
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import request from '@/utils/request'
+
+export default {
+  name: 'MemberOrder',
+  componentName: 'MemberOrder',
+  props: ['user'],
+  data() {
+    return {
+      dataList: [], // 数据列表
+      listLoading: true, // 列表加载loading
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0 // 列表总数
+    }
+  },
+  created() {
+    let timer = setInterval(() => {
+      if(this.user.userId) {
+        this.getOrderList()
+        clearInterval(timer)
+      }
+    }, 100)
+  },
+  methods: {
+    getOrderList() {
+      console.log(this.user);
+		let params = {
+			userId: this.user.userId,
+			pageNum: this.currentPage,
+			pageSize: this.pageSize
+		}
+		request({
+		  url: `/order/base/list/gene`,
+		  method: 'post',
+		  params
+		}).then(res=>{
+			this.dataList = res.data.records
+			this.listTotal = res.data.total
+			this.listLoading = false
+		})
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.currentPage = 1
+      this.getOrderList()
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val
+      this.getOrderList()
+    },
+    goOrderDetail(row) {
+		this.$router.push({
+			name: 'workOrderPool',
+			params: {
+				pageName: row.id,
+				pageType: 'detail',
+				pageCode: row.id,
+			},
+		})
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 2
src/layout/components/Navbar.vue

@@ -299,8 +299,8 @@ export default {
 				WBK: 'applicationWithoutFee',
 				CRE_ORDER: 'workOrderPool',
 				SEND_MALL: 'order_detail',
-				RP_MALL: 'order_pr',
-				CR_SALES: (paidType=='M'?'auxiliarySalesOrder':paidType=='P'?'attachmentSalesOrder':paidType=='YB'?'orderSettleManag':paidType=='MALL'?'order_list':'')
+				RP_MALL: 'order_refund_detail',
+				CR_SALES: (paidType=='M'?'auxiliarySalesOrder':paidType=='P'?'attachmentSalesOrder':paidType=='YB'?'orderSettleManag':paidType=='MALL'?'order_detail':'')
 			}
 			return MAP[val]
 		}

+ 19 - 10
src/views/auxiliaryFittings/supplier/index.vue

@@ -68,10 +68,11 @@ export default {
         remark: '',
         status: 'ON',
         venderType: 'M',
-        imageUrl: []
+        imageUrl: [],
+		checkList: []
       },
-			formType: 'add',
-			formVisible: false,
+		formType: 'add',
+		formVisible: false,
     }
   },
   computed: {
@@ -166,11 +167,16 @@ export default {
         render: (h, { props, onInput }) => {
           var { value } = props
           return (
-            <el-radio-group v-model={this.formData.venderType}>
-              <el-radio disabled={this.formDialogType == 2} label="M">辅材</el-radio>
-              <el-radio disabled={this.formDialogType == 2} label="P">配件</el-radio>
-              <el-radio disabled={this.formDialogType == 2} label="A">辅材和配件</el-radio>
-            </el-radio-group>
+            // <el-radio-group v-model={this.formData.venderType}>
+            //   <el-radio disabled={this.formDialogType == 2} label="M">辅材</el-radio>
+            //   <el-radio disabled={this.formDialogType == 2} label="P">配件</el-radio>
+            //   <el-radio disabled={this.formDialogType == 2} label="A">辅材和配件</el-radio>
+            // </el-radio-group>
+			<el-checkbox-group v-model={this.formData.checkList}>
+			    <el-checkbox disabled={this.formDialogType == 2} label="辅材"></el-checkbox>
+			    <el-checkbox disabled={this.formDialogType == 2} label="配件"></el-checkbox>
+			    <el-checkbox disabled={this.formDialogType == 2} label="商品"></el-checkbox>
+			</el-checkbox-group>
           )
         }
       }, {
@@ -386,14 +392,16 @@ export default {
     					this.formDialogType = 1
     					getDetail({ id }).then(res => {
     					  Object.assign(this.formData, res.data, {
-    					    imageUrl: res.data?.imageUrl ? res.data?.imageUrl?.split(",").map(item => ({ url: item })) : []
+    					    imageUrl: res.data?.imageUrl ? res.data?.imageUrl?.split(",").map(item => ({ url: item })) : [],
+							checkList: res.data.venderType.split(',')
     					  })
     					})
     				}else{
     					this.formDialogType = 2
     					getDetail({ id }).then(res => {
     					  Object.assign(this.formData, res.data, {
-    					    imageUrl: res.data?.imageUrl ? res.data?.imageUrl?.split(",").map(item => ({ url: item })) : []
+    					    imageUrl: res.data?.imageUrl ? res.data?.imageUrl?.split(",").map(item => ({ url: item })) : [],
+							checkList: res.data.venderType.split(',')
     					  })
     					})
     				}
@@ -410,6 +418,7 @@ export default {
         if (valid) {
           ([add, edit][this.formDialogType])({
             ...this.formData,
+			venderType: this.formData.checkList.join(','),
             imageUrl: this.formData.imageUrl.map(item => item.url).join(",")
           }).then(res => {
             this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })

+ 3 - 2
src/views/mallManagement/order/order_refund_detail/index.vue

@@ -197,7 +197,7 @@ export default {
     }
   },
   created() {
-    this.orderRefundId = this.$route.query.orderRefundId
+    this.orderRefundId = this.$route.query.orderRefundId || this.$route.query.orderId
     this.getDetail()
   },
   methods: {
@@ -211,7 +211,8 @@ export default {
     goBack() {
       // this.$router.go(-1);
 		this.$router.push({
-			name:"order_list"
+			name:"order_pr",
+			params: {}
 		})
     },
     showRemark() {

+ 11 - 2
src/views/setting/departmentManage/index.vue

@@ -95,6 +95,12 @@
                 <el-radio :label="false">禁用</el-radio>
               </el-radio-group>
             </el-form-item>
+						<el-form-item label="商品出入库" prop="joinCode">
+						  <el-radio-group v-model="mainForm.joinCode">
+						    <el-radio :label="true">关联条码</el-radio>
+						    <el-radio :label="false">不关联条码</el-radio>
+						  </el-radio-group>
+						</el-form-item>
           </el-form>
           <div slot="footer" class="dialog-footer">
             <el-button @click="data.removeTab()">取 消</el-button>
@@ -136,6 +142,7 @@ export default {
         address: '',
         status: true,
         isIncre: true,
+		joinCode: true
       },
       mainFormRules: {
         name: [{ required: true, message: '请填写网点名称', trigger: 'blur' }],
@@ -271,7 +278,8 @@ export default {
                   lng: res.data.lng,
                   address: res.data.address,
                   status: res.data.status,
-                  isIncre: res.data.isIncre
+                  isIncre: res.data.isIncre,
+									joinCode: res.data.joinCode
                 }
               })
             }
@@ -310,7 +318,8 @@ export default {
             lng: this.mainForm.lng,
             address: this.mainForm.address,
             status: this.mainForm.status,
-            isIncre: this.mainForm.isIncre
+            isIncre: this.mainForm.isIncre,
+						joinCode: this.mainForm.joinCode
           }
           if (this.mainFormType == 'edit') {
             params.websitId = this.editId