Browse Source

国内贸易完善

lichao 3 years ago
parent
commit
2a5d17d8c2

+ 1 - 0
src/views/businessManagement/deliveryNotice/configuration/bankOfDeposit.json

@@ -1,5 +1,6 @@
 {
   "lazy": true,
+  "addBtnText": "录入明细",
   "tip": false,
   "simplePage": true,
   "searchShow": true,

+ 2 - 2
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -85,7 +85,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="commoditySelection"
-              >新增
+              >录入明细
               </el-button>
               <el-button type="info" :size="size" icon="el-icon-printer">报 表</el-button>
             </template>
@@ -126,7 +126,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="costIncrease"
-              >新增
+              >录入明细
               </el-button>
             </template>
           </avue-crud>

+ 1 - 0
src/views/businessManagement/purchaseOrder/configuration/bankOfDeposit.json

@@ -1,5 +1,6 @@
 {
   "lazy": true,
+  "addBtnText": "录入明细",
   "tip": false,
   "simplePage": true,
   "searchShow": true,

+ 50 - 4
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -35,7 +35,7 @@
                   <el-option v-for="(item,index) in paymentOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
                 <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"
-                                 :configuration="configuration"/>
+                                 :configuration="configuration" style="width: 100%"/>
                 <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled"></el-input>
               </el-form-item>
             </el-col>
@@ -52,6 +52,7 @@
               @row-click="handleRowClick"
               @row-update="rowUpdate"
               @row-del="rowDel"
+              @selection-change="productSelection"
           >
             <template slot="orderQuantity" slot-scope="{ row }">
               <el-input
@@ -88,7 +89,13 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="commoditySelection"
-              >新增
+              >录入明细
+              </el-button>
+              <el-button type="warning"
+                         icon="el-icon-plus"
+                         size="small"
+                         :disabled="selection.length < 1"
+                         @click="generateShipmentC">生成发货单
               </el-button>
               <el-button type="info" :size="size" icon="el-icon-printer">报 表</el-button>
             </template>
@@ -129,7 +136,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="costIncrease"
-              >新增
+              >录入明细
               </el-button>
             </template>
           </avue-crud>
@@ -373,7 +380,8 @@ import {
   corpsitem,
   getList,
   getDeptLazyTreeS,
-  getSysNo
+  getSysNo,
+  generateShipment
 } from "@/api/basicData/purchaseOrder"
 import customerContact from "./configuration/customerContact.json"
 import advantageProject from "./configuration/advantageProject.json"
@@ -593,6 +601,7 @@ export default {
       paymentOption: [],
       maxFeeNum: 0,
       maxGoodsNum: 0,
+      selection: [],
     }
   },
   //初始化查询
@@ -697,6 +706,39 @@ export default {
     copyOrder() {
       this.queryData(this.form.id, true)
     },
+    //生成收货单
+    generateShipmentC() {
+      let lsit = []
+      for (let item in this.selection) {
+        if (!this.selection[item].id) {
+          return this.$confirm('商品信息有未保存数据, 是否立即保存?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          }).then(() => {
+            this.editCustomer(false)
+          }).catch(() => {
+            this.$message({
+              type: 'info',
+              message: '已取消'
+            });
+          });
+        } else {
+          lsit.push(this.selection[item].id)
+        }
+      }
+      let data = {
+        id: this.form.id,
+        orderItemIds: lsit
+      }
+      generateShipment(data).then(res => {
+        console.log(res.data.data)
+        this.$router.push({
+          path: "/businessManagement/receipt/index",
+          query: {form: JSON.stringify(res.data.data)},
+        });
+      })
+    },
     //点击行可编辑
     handleRowClick(row, event, column) {
       console.log(row.$index)
@@ -711,6 +753,10 @@ export default {
       console.log(row)
       this.$refs.crudProject.rowCell(row, index)
     },
+    //商品选中触发
+    productSelection(selection) {
+      this.selection = selection
+    },
     //费用新增触发
     costIncrease() {
       this.dialogCost = !this.dialogCost

+ 1 - 0
src/views/businessManagement/receipt/configuration/bankOfDeposit.json

@@ -1,5 +1,6 @@
 {
   "lazy": true,
+  "addBtnText": "录入明细",
   "tip": false,
   "simplePage": true,
   "searchShow": true,

+ 19 - 2
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -85,7 +85,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="commoditySelection"
-              >新增
+              >录入明细
               </el-button>
               <el-button type="info" :size="size" icon="el-icon-printer">报 表</el-button>
             </template>
@@ -126,7 +126,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="costIncrease"
-              >新增
+              >录入明细
               </el-button>
             </template>
           </avue-crud>
@@ -665,9 +665,26 @@ export default {
     if (this.detailData.id) {
       this.queryData(this.detailData.id)
     }else if (this.detailData.form){
+      console.log(this.detailData.form)
       this.form = JSON.parse(this.detailData.form);
+      delete this.form.createTime
+      delete this.form.id
+      delete this.form.sysNo
       this.contactsData = this.form.orderItemsList
       delete this.form.orderItemsList
+      this.configuration.dicData = this.form.corpName
+      delete this.form.corpName
+      this.$set(this.form, 'deliveryStatus', '录入')
+      if (this.form.belongToCorpList) {
+        this.$set(this.form, 'salesCompany', this.form.belongToCorpId)
+        delete this.form.belongToCorpId
+        this.configuration.dicData = this.configuration.dicData.concat(this.form.belongToCorpList)
+      }
+      delete this.form.belongToCorpList
+      this.contactsData.forEach(item => {
+        delete item.id
+        delete item.pid
+      })
     } else if (this.detailData.copyId) {
       this.queryData(this.detailData.copyId, true)
     }

+ 7 - 0
src/views/businessManagement/receipt/index.vue

@@ -90,6 +90,13 @@ export default {
   },
   created() {
     // this.onLoad()
+    if (this.$route.query.form) {
+      console.log(this.$route.query.form)
+      this.detailData = {
+        form: this.$route.query.form,
+      };
+      this.isShow = false;
+    }
   },
   methods: {
     //删除列表后面的删除按钮触发触发(row, index, done)

+ 3 - 3
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -30,7 +30,7 @@
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]"
                                 size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                 <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"
-                                 :configuration="configuration"/>
+                                 :configuration="configuration" style="width: 100%"/>
                 <el-select v-else-if="item.prop === 'paymentType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small">
                   <el-option v-for="(item,index) in paymentOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
@@ -46,7 +46,7 @@
             <el-col v-for="(item,index) in contactInformation.column" :key="index" :span="item.span?item.span:8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled"/>
-                <selectComponent v-else-if="item.prop === 'belongToCorpId'" v-model="form[item.prop]" :configuration="configuration"/>
+                <selectComponent v-else-if="item.prop === 'belongToCorpId'" v-model="form[item.prop]" :configuration="configuration" style="width: 100%"/>
                 <el-input v-else-if="(item.prop === 'advancePayment') || (item.prop === 'settlmentAmount')" v-model="form[item.prop]" size="small" autocomplete="off" @change="computedCost"></el-input>
                 <el-select v-else-if="item.prop === 'orderStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small">
                   <el-option v-for="(item,index) in statusOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
@@ -1131,7 +1131,7 @@ export default {
             cancelButtonText: '取消',
             type: 'warning'
           }).then(() => {
-            this.editCustomer()
+            this.editCustomer(false)
           }).catch(() => {
             this.$message({
               type: 'info',