zhouhao vor 2 Jahren
Ursprung
Commit
85fc5f8df7

+ 1 - 1
src/api/sales.js

@@ -129,7 +129,7 @@ export function detailRefund(params) {
 export function signIn(params) {
   return request({
     url: '/customer/frontOrder/signIn',
-    method: 'get',
+    method: 'post',
     params
   })
 }

+ 10 - 3
src/components/SalesDialog/SalesDialog.vue

@@ -32,7 +32,8 @@ export default {
   props: {
     dialogVisible: false,
     func: Function,
-    customerNumber:String
+    customerNumber:String,
+    returnId:String
   },
   data() {
     return {
@@ -156,13 +157,19 @@ export default {
     },
     selectable(row,index){
       if (this.customerNumber){
-        console.log(row.customerNumber == this.customerNumber,row.disabled)
         if (row.customerNumber == this.customerNumber && row.disabled){
           return true
         }else{
           return  false
         }
-      }else {
+      }else if(this.returnId){
+        if (row.id == this.returnId && row.disabled){
+          return true
+        }else{
+          return  false
+        }
+      }
+      else {
         return  true
       }
 

+ 12 - 12
src/components/SalesHeader/SalesHeader.vue

@@ -127,40 +127,40 @@ export default {
       },
       rules: {
         // id: [
-        //   { required: true, message: '请输入销售订单号', trigger: 'blur' },
+        //   { required: true, message: '请输入销售订单号', trigger: 'change' },
         //
         // ],
         cityId: [{
-          required: true, message: '请输入市', trigger: 'blur'
+          required: true, message: '请输入市', trigger: 'change'
         }],
         areaId: [{
-          required: true, message: '请输入区', trigger: 'blur'
+          required: true, message: '请输入区', trigger: 'change'
         }],
         provinceId: [{
-          required: true, message: '请输入省', trigger: 'blur'
+          required: true, message: '请输入省', trigger: 'change'
         }],
         streetId: [{
-          required: true, message: '请输入街道', trigger: 'blur'
+          required: true, message: '请输入街道', trigger: 'change'
         }],
-        // customerNumber: [          { required: true, message: '请输入商家编号', trigger: 'blur' },
+        // customerNumber: [          { required: true, message: '请输入商家编号', trigger: 'change' },
         // ],
         // customerName: [{
-        //   required: true, message: '请输入商家名称', trigger: 'blur'
+        //   required: true, message: '请输入商家名称', trigger: 'change'
         // }],
         pickTime: [{
-          required: true, message: '请输入配送日期', trigger: 'blur'
+          required: true, message: '请输入配送日期', trigger: 'change'
         }],
         stockType: [{
-          required: true, message: '请输入发货仓库名称', trigger: 'blur'
+          required: true, message: '请输入发货仓库名称', trigger: 'change'
         }],
         userName: [{
-          required: true, message: '请输入用户名称', trigger: 'blur'
+          required: true, message: '请输入用户名称', trigger: 'change'
         }],
         phone: [{
-          required: true, message: '请输入用户电话', trigger: 'blur'
+          required: true, message: '请输入用户电话', trigger: 'change'
         }],
         receAddress: [{
-          required: true, message: '请输入送货地址', trigger: 'blur'
+          required: true, message: '请输入送货地址', trigger: 'change'
         }]
       },
       provinceList: [],

+ 7 - 10
src/views/sales_control/components/WarehouseForm.vue

@@ -115,19 +115,16 @@ export default {
     },
     confirm(selected) {
       // console.log(selected)
-      for (let i = 0; i < this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length; i++) {
-        for (let j = 0; j < selected.length; j++) {
-          if (this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == selected[j].id) {
-            // k.disabled = true
-            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', false)
-          } else {
-            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
-
+      this.dataList = [...this.dataList, ...JSON.parse(JSON.stringify(selected))]
+      for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
+        for (let j = 0; j < this.dataList.length; j++) {
+          if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.dataList[j].id || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
+            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',false)
+          }else{
+            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
           }
         }
       }
-
-      this.dataList = [...this.dataList, ...JSON.parse(JSON.stringify(selected))]
       this.$refs.header.screenForm.customerName = this.dataList[0].customerName
       this.$refs.header.screenForm.customerNumber = this.dataList[0].customerNumber
       this.customerNumber = this.dataList[0].customerNumber

+ 18 - 21
src/views/sales_control/sales_management/components/customer_sales_details.vue

@@ -5,24 +5,22 @@
     <sales-table :dataList="dataList" :column="column" @handleSelection="handleSelection">
 
       <template #events>
-
-          <el-button v-if="details.status==1" type="primary" size="mini" @click="handleInform(2)">通知发货</el-button>
-
-          <el-button v-if="details.status==2" size="mini">撤销发货 {{details.status}}{{isFront}}</el-button>
-
-          <el-button v-if="isFront===false && details.status==2" type="primary" size="mini" @click="handleSignIn(4)">签收</el-button>
-
+        <el-button v-if="details.status==1" type="primary" size="mini" @click="handleInform(2)">通知发货</el-button>
+        <el-button v-if="details.status==2 && isFront!==false" size="mini">撤销发货</el-button>
+        <el-button v-if="isFront===false && details.status==2" type="primary" size="mini" @click="handleSignIn(4)">
+          签收
+        </el-button>
       </template>
 
-<!--      <template v-slot:operation="{item:{row,$index}}">-->
-<!--        <el-popconfirm-->
-<!--          style="margin-left: 10px"-->
-<!--          title="删除?"-->
-<!--          @onConfirm="handleDel(row,$index)"-->
-<!--        >-->
-<!--          <el-button slot="reference" type="text" size="mini">删除</el-button>-->
-<!--        </el-popconfirm>-->
-<!--      </template>-->
+      <!--      <template v-slot:operation="{item:{row,$index}}">-->
+      <!--        <el-popconfirm-->
+      <!--          style="margin-left: 10px"-->
+      <!--          title="删除?"-->
+      <!--          @onConfirm="handleDel(row,$index)"-->
+      <!--        >-->
+      <!--          <el-button slot="reference" type="text" size="mini">删除</el-button>-->
+      <!--        </el-popconfirm>-->
+      <!--      </template>-->
       <!--      <div>-->
       <!--        <h5>物流信息</h5>-->
       <!--        <div class="diy-table-1">-->
@@ -128,8 +126,7 @@ export default {
         // },
         {
           prop: 'notes',
-          label: '备注',
-
+          label: '备注'
 
         }
       ],
@@ -144,7 +141,7 @@ export default {
         content: '创建成功',
         timestamp: '2018-04-11'
       }],
-      isFront:null,
+      isFront: null
 
     }
   },
@@ -229,8 +226,8 @@ export default {
 
       })
     },
-    handleSignIn(status){
-      signIn({id: this.$refs.header.screenForm.id, status }).then(res=>{
+    handleSignIn(status) {
+      signIn({ id: this.$refs.header.screenForm.id, status }).then(res => {
         this.$successMsg('签收')
         this.$parent.pageType = 0
 

+ 6 - 11
src/views/sales_control/sales_management/components/customer_sales_form.vue

@@ -24,7 +24,7 @@
           <el-button size="mini" @click="onReset" v-if="dis"
           >重置
           </el-button>
-          <el-button size="mini" :disabled="dis" @click="handleInform(2)">通知发货</el-button>
+          <el-button size="mini" v-if="isFront!==false"  :disabled="dis" @click="handleInform(2)">通知发货</el-button>
         </div>
         <div v-else>
           <el-button type="primary" size="mini" @click="handelSubmit(2)">保存</el-button>
@@ -165,8 +165,6 @@ export default {
 
           }
         ]
-
-
     }
   },
   methods: {
@@ -182,20 +180,17 @@ export default {
       return func(...p)
     },
     confirm(selected) {
-      console.log(selected,'222')
+      this.dataList = [...this.dataList, ...selected]
       for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
-        for (let j = 0; j < selected.length; j++) {
-          if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == selected[j].id){
-            // k.disabled = true
+        for (let j = 0; j < this.dataList.length; j++) {
+          if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.dataList[j].id || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
             this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',false)
-          }else {
+          }else{
             this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
           }
-
         }
       }
-      this.dataList = [...this.dataList, ...selected]
-      console.log(selected, this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData)
+      console.log(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData)
       if (!this.detailsId) {
         this.$refs.header.screenForm.customerName = this.dataList[0].customerName
         this.$refs.header.screenForm.customerNumber = this.dataList[0].customerNumber

+ 55 - 121
src/views/sales_control/sales_management/components/return_sales_form.vue

@@ -3,12 +3,10 @@
     <el-page-header @back="$parent.pageType=0" :content="detailsId?'编辑':'新增'" style=" padding: 20px 20px 0 20px;"
     ></el-page-header>
     <return-sales-header ref="header" :details="details" />
-    <sales-table :dataList="dataList" :column="column" :isOperation="detailsId?false:true" isSelection
-                 @handleSelection="handleSelection"
-    >
+    <sales-table :dataList="dataList" :column="column" :isOperation="detailsId?false:true" isSelection @handleSelection="handleSelection">
       <template #bts>
         <div v-if="!detailsId">
-          <el-button type="primary" v-if="dis" size="mini" @click="dialogVisible=true">添加</el-button>
+          <el-button  type="primary" v-if="dis" size="mini" @click="dialogVisible=true">添加</el-button>
           <el-button type="danger" v-if="dis" size="mini" @click="delChange">删除</el-button>
         </div>
       </template>
@@ -16,7 +14,7 @@
         <div v-if="!detailsId">
           <el-button type="primary" :disabled="!dis" size="mini" @click="handelSubmit(1)">提交</el-button>
           <el-button size="mini" @click="onReset" v-if="dis">重置</el-button>
-          <el-button size="mini" :disabled="dis" @click="handleInform(2)">退货通知</el-button>
+          <el-button size="mini" v-if="isFront!==false" :disabled="dis" @click="handleInform(2)">退货通知</el-button>
         </div>
         <div v-else>
           <el-button type="primary" size="mini" @click="handelSubmit(2)">保存</el-button>
@@ -27,7 +25,10 @@
       <template v-slot:custom="{item:{row,$index}}">
         <div>{{ diffQty(row) }}</div>
       </template>
-
+      <template v-slot:custom="{item:{row,$index}}">
+        <el-radio label="1" v-model="row.flag">增加</el-radio>
+        <el-radio label="-1" v-model="row.flag">减少</el-radio>
+      </template>
       <template v-slot:operation="{item:{row,$index}}">
         <el-popconfirm
           v-if="dis"
@@ -39,7 +40,7 @@
         </el-popconfirm>
       </template>
     </sales-table>
-    <sales-dialog ref="dia" :dialogVisible="dialogVisible" :customerNumber="customerNumber" :func="getDialogList"
+    <sales-dialog ref="dia" :dialogVisible="dialogVisible" :returnId="returnId" :func="getDialogList"
                   @confirm="confirm"
     />
   </div>
@@ -71,74 +72,13 @@ export default {
   data() {
     return {
       dialogVisible: false,
-      customerNumber: '',
+      returnId: '',
       dataList: [],
       selection: [],
       flag: 1,
       dis: true,
       details: {},
-      column: [],
-      isFront: JSON.parse(localStorage.getItem('supply_user')).isFront,
-      salesId: ''
-    }
-  },
-  computed: {
-    diffQty() {
-      return (row) => {
-        return Number(row.qty) - Number(row.refundQty)
-      }
-    }
-  },
-  created() {
-    if (this.detailsId) {
-      this.column = [
-        {
-          prop: 'materialName',
-          label: '产品名称',
-          width: '180'
-        },
-        {
-          prop: 'materialCode',
-          label: '物料编码',
-          width: '180'
-        },
-        {
-          prop: 'specification',
-          label: '规格型号',
-          width: '300'
-        },
-
-        {
-          prop: 'refundQty',
-          align: 'left',
-          label: '退货数量',
-          width: '180',
-          isInput: true
-        },
-        {
-          prop: 'notes',
-          label: '备注',
-          width: '180',
-          isInput: true,
-          type: 'text'
-        }
-      ]
-
-      detailRefund({ id: this.detailsId }).then(res => {
-        this.dataList = res.data.orders
-        this.details = res.data
-        this.dataList.forEach(k => {
-
-          k.refundQty = k.qty
-          k.diffQty = Number(k.qty) - Number(k.refundQty || 0)
-
-        })
-        this.details.customerOrderNo = res.data.customerOrderNo
-        this.customerNumber = res.data.materialId
-      })
-    } else {
-      Object.assign(this.$data, this.$options.data())
-      this.column = [
+      column: [
         {
           prop: 'materialName',
           label: '产品名称',
@@ -191,7 +131,34 @@ export default {
           isInput: true,
           type: 'text'
         }
-      ]
+      ],
+      isFront: JSON.parse(localStorage.getItem('supply_user')).isFront,
+      salesId: ''
+    }
+  },
+  computed: {
+    diffQty() {
+      return (row) => {
+        return Number(row.qty) - Number(row.refundQty)
+      }
+    }
+  },
+  created() {
+    if (this.detailsId) {
+      detailRefund({ id: this.detailsId }).then(res => {
+        this.dataList = res.data.orders
+        this.details = res.data
+        this.dataList.forEach(k => {
+
+          k.refundQty=k.qty
+          k.diffQty = Number(k.qty) - Number(k.refundQty||0)
+
+        })
+        this.details.customerOrderNo =  res.data.customerOrderNo
+        this.returnId = res.data.id
+      })
+    } else {
+      Object.assign(this.$data, this.$options.data())
     }
   },
 
@@ -208,43 +175,41 @@ export default {
     },
     confirm(selected) {
       // console.log(selected)
-      for (let i = 0; i < this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length; i++) {
-        for (let j = 0; j < selected.length; j++) {
-          if (this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == selected[j].id) {
-            // k.disabled = true
-            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', false)
-          } else {
-            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
-
+      this.dataList = [...this.dataList, ...selected]
+      for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
+        for (let j = 0; j < this.dataList.length; j++) {
+          if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.dataList[j].id || this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].disabled ===false){
+            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',false)
+          }else{
+            this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
           }
         }
       }
       selected.forEach(k => {
         k.diffQty = Number(k.qty) - Number(k.refundQty)
       })
-      this.dataList = [...this.dataList, ...selected]
       if (!this.detailsId) {
         this.details = this.dataList[0]
         this.details.customerOrderNo = this.dataList[0].id
       }
       this.detailsId = this.detailsId
-      this.customerNumber = this.dataList[0].customerNumber
+      this.returnId = this.dataList[0].id
       this.dialogVisible = false
       this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.$refs.tableView.clearSelection()
 
     },
     handleDel(item, index) {
       this.dataList.splice(index, 1)
-      this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.find(k => {
-        if (k.id == item.id) {
-          this.$set(k, 'disabled', true)
+      this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.find(k=>{
+        if (k.id==item.id){
+          this.$set(k,'disabled',true)
           return
         }
       })
       // if (!this.dataList.length){
       //   this.$nextTick(()=>{
       //     this.details = {}
-      //     this.customerNumber = ''
+      //     this.returnId = ''
       //   })
       // }
     },
@@ -255,17 +220,17 @@ export default {
     delChange() {
       if (this.dataList.length) {
         this.dataList = this.resArr(this.dataList, this.selection)
-        for (let i = 0; i < this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length; i++) {
+        for (let i = 0; i <this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData.length ; i++) {
           for (let j = 0; j < this.selected.length; j++) {
-            if (this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.selected[j].id) {
+            if ( this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i].id == this.selected[j].id){
               // k.disabled = true
-              this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i], 'disabled', true)
+              this.$set(this.$refs.dia.$refs.pageRef.$refs.zjpage.$refs.tableEl.tableData[i],'disabled',true)
             }
 
           }
         }
         if (!this.dataList.length) {
-          this.customerNumber = ''
+          this.returnId = ''
         }
       }
 
@@ -283,11 +248,11 @@ export default {
       for (let i = 0; i < this.dataList.length; i++) {
         this.dataList[i].id = ''
         this.dataList[i].directFlag = this.dataList[i].flag
-        this.dataList[i].qty = this.dataList[i].refundQty
         if (Number(this.dataList[i].refundQty) < 0 || !this.dataList[i].refundQty) {
           this.$errorMsg(`第${i + 1}产品退货数量有误`)
           return
         }
+        this.dataList[i].qty = this.dataList[i].refundQty
       }
 
       const params = {
@@ -304,37 +269,6 @@ export default {
 
           // this.$parent.pageType = 0
           this.dis = false
-          this.column = [
-            {
-              prop: 'materialName',
-              label: '产品名称',
-              width: '180'
-            },
-            {
-              prop: 'materialCode',
-              label: '物料编码',
-              width: '180'
-            },
-            {
-              prop: 'specification',
-              label: '规格型号',
-              width: '300'
-            },
-            {
-              prop: 'refundQty',
-              align: 'left',
-              label: '退货数量',
-              width: '180',
-              isInput: true
-            },
-            {
-              prop: 'notes',
-              label: '备注',
-              width: '180',
-              isInput: true,
-              type: 'text'
-            }
-          ]
           this.$forceUpdate()
         })