Эх сурвалжийг харах

2023-09-08 顾客退货单作废功能

zhangjin 1 жил өмнө
parent
commit
a5480c2efd

+ 8 - 0
src/api/customerReturn.js

@@ -326,3 +326,11 @@ export function getCustomerWdOrder(params) {
     params
   })
 }
+// 作废退货单
+export function setCustomerRefundVoid(data) {
+  return request({
+    url: '/CustomerReturn/setCustomerRefundVoid',
+    method: 'post',
+    data
+  })
+}

+ 93 - 16
src/pages/customerReturn/index.vue

@@ -76,9 +76,9 @@
         border
         stripe
         :data="table"
+        :cell-style="grayBg"
         :height="tableHeight + 'px'"
         style="width: 100%"
-        :cell-style="{ padding: '10px 0' }"
         @selection-change="handleSelectionChange"
       >
         <!-- <el-table-column
@@ -98,7 +98,20 @@
           align="center"
           prop="apply_number"
           width="170"
-        />
+        >
+          <template slot-scope="{ row }">
+            {{ row.apply_number }}<br>
+            <el-popover
+              placement="bottom"
+              title="作废原因:"
+              width="200"
+              trigger="click"
+              :content="row.void_reason"
+            >
+              <div v-show="row.is_void" slot="reference" class="tag sub-tag">已作废</div>
+            </el-popover>
+          </template>
+        </el-table-column>
         <el-table-column prop="customer_name" label="顾客姓名" width="100" align="center">
           <template slot-scope="{ row }">
             {{ row.customer_name }}
@@ -177,7 +190,7 @@
             <div v-show="!row.fact_log">{{ row.fact_money }}</div>
             <!-- <div v-if="row.apply_status == 3"> -->
             <el-button v-if="row.fact_money_audit === 2 || row.fact_money_audit === 1" type="text" :style="{color: row.fact_money_audit === 1 ? '#E6A23C' : '#67C23A'}" size="mini">{{ row.fact_money_audit === 1 ? '审核中' : '已通过' }}</el-button>
-            <el-button v-if="row.to_refund_id == null && row.fact_money_audit !== 2" v-permit="7" style="color: #999;" :roles-permit="roles" type="text" size="mini" @click="moneyDetail = row, visible.moneyEdit = true">修改</el-button>
+            <el-button v-if="row.to_refund_id == null && row.fact_money_audit !== 2 && !row.is_void" v-permit="7" style="color: #999;" :roles-permit="roles" type="text" size="mini" @click="moneyDetail = row, visible.moneyEdit = true">修改</el-button>
             <!-- </div> -->
           </template>
         </el-table-column>
@@ -205,17 +218,20 @@
         </el-table-column>
         <el-table-column prop="apply_status" label="操作" align="center" width="260">
           <template slot-scope="{ row }">
-            <el-button v-show="row.to_refund_id === null" v-permit="1" :roles-permit="roles" type="text" plain @click="handleEdit(row)">编辑退货单</el-button>
-            <!-- <el-button type="text" @click="GetExpressDia(row)">{{ row.express_num ? '修改':'登记' }}物流</el-button> -->
-            <el-button v-show="!row.sendback_imgList" v-permit="6" :roles-permit="roles" type="text" @click="returnInfoMoney = row.price, showReturn(row, 0)">退款给顾客</el-button>
-            <!-- <el-button v-show="(row.apply_status === 3)" style="margin-bottom:20px" type="text" @click="showCrownReturnInfo(row, 0)">退差价给公司</el-button> -->
-            <el-button v-show="row.to_refund_id === null" v-permit="5" :roles-permit="roles" type="text" plain @click="companyNoRefund(row)">退差价给公司</el-button>
-            <!-- <el-button v-show="row.apply_status === 3 && row.to_refund_id !== null" style="margin-bottom:20px" type="text" plain @click="showcompanyNoRefund(row.to_refund_id)">查看退款给公司</el-button> -->
-            <el-button v-show="row.sendback_imgList" v-permit="6" :roles-permit="roles" type="text" plain @click="returnInfoMoney = row.price, showReturn(row, 1)">修改退款给顾客</el-button>
-            <!-- <el-button v-show="(row.apply_status > 3)" v-permit="1" style="margin-bottom:20px" :roles-permit="roles" type="text" plain @click="showCrownReturnInfo(row, 1)">修改退款给公司</el-button> -->
-            <!-- <el-button v-show="row.audit_status === 0" v-permit="6" style="margin-bottom:20px" :roles-permit="roles" type="primary" size="mini" @click="oneStatus(row.id)">审核</el-button>
-            <el-button v-show="row.audit_status === 1" v-permit="6" style="margin-bottom:20px" :roles-permit="roles" type="primary" size="mini" @click="huitui(row.id)">回退</el-button> -->
-            <el-button v-show="row.apply_status < 3" v-permit="4" :roles-permit="roles" type="text" style="color: #ff4949;" @click="delht(row.id)">删除</el-button>
+            <div v-show="!row.is_void">
+              <el-button v-show="row.to_refund_id === null" v-permit="1" :roles-permit="roles" type="text" plain @click="handleEdit(row)">编辑退货单</el-button>
+              <!-- <el-button type="text" @click="GetExpressDia(row)">{{ row.express_num ? '修改':'登记' }}物流</el-button> -->
+              <el-button v-show="!row.sendback_imgList" v-permit="6" :roles-permit="roles" type="text" @click="returnInfoMoney = row.price, showReturn(row, 0)">退款给顾客</el-button>
+              <!-- <el-button v-show="(row.apply_status === 3)" style="margin-bottom:20px" type="text" @click="showCrownReturnInfo(row, 0)">退差价给公司</el-button> -->
+              <el-button v-show="row.to_refund_id === null" v-permit="5" :roles-permit="roles" type="text" plain @click="companyNoRefund(row)">退差价给公司</el-button>
+              <!-- <el-button v-show="row.apply_status === 3 && row.to_refund_id !== null" style="margin-bottom:20px" type="text" plain @click="showcompanyNoRefund(row.to_refund_id)">查看退款给公司</el-button> -->
+              <el-button v-show="row.sendback_imgList" v-permit="6" :roles-permit="roles" type="text" plain @click="returnInfoMoney = row.price, showReturn(row, 1)">修改退款给顾客</el-button>
+              <!-- <el-button v-show="(row.apply_status > 3)" v-permit="1" style="margin-bottom:20px" :roles-permit="roles" type="text" plain @click="showCrownReturnInfo(row, 1)">修改退款给公司</el-button> -->
+              <!-- <el-button v-show="row.audit_status === 0" v-permit="6" style="margin-bottom:20px" :roles-permit="roles" type="primary" size="mini" @click="oneStatus(row.id)">审核</el-button>
+              <el-button v-show="row.audit_status === 1" v-permit="6" style="margin-bottom:20px" :roles-permit="roles" type="primary" size="mini" @click="huitui(row.id)">回退</el-button> -->
+              <el-button v-show="row.apply_status < 3" v-permit="4" :roles-permit="roles" type="text" style="color: #ff4949;" @click="delht(row.id)">删除</el-button>
+              <el-button v-show="row.sendback_imgList && row.to_refund_id === null && !row.is_void" v-permit="8" :roles-permit="roles" type="text" style="color: #ff4949;" plain @click="zuofei(row.id)">作废</el-button>
+            </div>
           </template>
         </el-table-column>
       </el-table>
@@ -1037,7 +1053,20 @@
             align="center"
             prop="apply_number"
             width="200"
-          />
+          >
+            <template slot-scope="{ row }">
+              {{ row.apply_number }}<br>
+              <el-popover
+                placement="bottom"
+                title="作废原因:"
+                width="200"
+                trigger="click"
+                :content="row.void_reason"
+              >
+                <div v-show="row.is_void" slot="reference" class="tag sub-tag">已作废</div>
+              </el-popover>
+            </template>
+          </el-table-column>
           <el-table-column
             label="顾客姓名"
             align="center"
@@ -1244,7 +1273,7 @@
 <script>
 // api
 import { GetApplyList, uploadstore, UploadReturnInfo, UploadCrownReturnInfo, getOtherInfo, UpadteUploadReturnInfo, getWarList, UploadCustomerInfo, ExpressSearch, ExportApplyLists, UpdateCustomerInfo, GetProblem, AddProblem, AuditApplyList, AuditBackApply, EditExpressInfo, getCrownToCompanyNoRefund, makeCrownRefundOrder,
-  editShouldRefundAmount, getNoAuditEditRefund, auditCustomerReturnPrice, getReturnCrownRefund, deleteCrownRefundOrder, refundCrown, getCrownRefundInfo, deleteApply, getCustomerRefundPictures, getNoRefundCrownNum, manualCrownRefund
+  editShouldRefundAmount, getNoAuditEditRefund, auditCustomerReturnPrice, getReturnCrownRefund, deleteCrownRefundOrder, refundCrown, getCrownRefundInfo, deleteApply, getCustomerRefundPictures, getNoRefundCrownNum, manualCrownRefund, setCustomerRefundVoid
 } from '@/api/customerReturn'
 // 组件
 import MemberInfo from '../team/components/MemberInfo'
@@ -1506,6 +1535,14 @@ export default {
     })
   },
   methods: {
+    grayBg({ row, column, rowIndex, columnIndex }) {
+      // 判断选中的行数作废状态是否为1进行状态显示
+      if (row.is_void) {
+        return {
+          background: '#dcdfe6'
+        }
+      }
+    },
     // 获取列表上方信息
     noRefundCrownNum() {
       getNoRefundCrownNum().then(res => {
@@ -2382,6 +2419,28 @@ export default {
         return true
       }
     },
+    // 作废退货单
+    zuofei(id) {
+      this.$prompt('请填写作废原因', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        inputPattern: /.+/,
+        inputErrorMessage: '作废原因不能为空'
+      }).then(({ value }) => {
+        setCustomerRefundVoid({ id: id, reason: value }).then(res => {
+          this.loadingFull = false
+          if (res.code === 200) {
+            this.$message.success('作废成功')
+            this.getList()
+          } else {
+            this.$message.error(res.message || '作废成功')
+          }
+        })
+          .finally(() => {
+            this.loadingFull = false
+          })
+      }).catch(() => {})
+    },
     // 删除退货单
     delht(id) {
       this.$confirm('确定要删除此退货单吗?', '提示', {
@@ -2796,6 +2855,24 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
+.tag {
+  padding: 2px;
+  margin-right: 2px;
+  font-size: 12px;
+  line-height: 1;
+  border-radius: 2px;
+  font-family: simsun;
+  color: #fff;
+  display: inline;
+  cursor: pointer;
+}
+
+.sub-tag {
+  font-size: 12px;
+  color: #F56C6C;
+  border: 1px solid rgba(224, 30, 23, 0.4);
+}
+
 .topTip {
   font-size: 16px;
   margin: 20px auto 10px;

+ 4 - 0
src/router/auth.js

@@ -903,6 +903,10 @@ export const asyncRoutes = [
                 {
                   name: '修改批发商应退金额',
                   value: 7
+                },
+                {
+                  name: '作废退货单',
+                  value: 8
                 }
               ],
               buttonAuthList: []