Browse Source

国内贸易修改

lichao 3 years ago
parent
commit
00934780b6

+ 4 - 7
src/views/businessManagement/deliveryNotice/configuration/commodity.json

@@ -7,7 +7,9 @@
   "searchShow": true,
   "searchShowBtn": false,
   "menu": false,
-  "searchMenuSpan": 6,
+  "searchSpan": 8,
+  "searchMenuSpan": 8,
+  "searchMenuPosition": "right",
   "border": true,
   "index": true,
   "selection": true,
@@ -42,15 +44,10 @@
     },
     {
       "label": "商品类别",
-      "prop": "goodsTypeId",
-      "dicData": [],
-      "type": "tree",
+      "prop": "goodsTypeName",
       "hide": true,
       "addDisabled": false,
       "multiple": true,
-      "props": {
-        "label": "title"
-      },
       "rules": [{
         "required": true,
         "message": " ",

+ 48 - 0
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -51,6 +51,9 @@
                 <!--                ></avue-input-tree>-->
                 <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 || detailData.seeDisabled"/>
+                <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
+                                size="small" type="date" placeholder="选择日期"
+                                :disabled="detailData.seeDisabled"/>
                 <selectComponent v-else-if="item.prop === 'corpId' || item.prop === 'salesCompany'" v-model="form[item.prop]"
                                  :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>
                 <el-select v-else-if="item.prop === 'deliveryStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="item.disabled || detailData.seeDisabled">
@@ -265,6 +268,7 @@
                        @refresh-change="refreshChange"
                        @selection-change="selectionChange"
                        :page.sync="page"
+                       @search-change="goodsSearch"
                        @on-load="onLoad"></avue-crud>
           </basic-container>
         </el-col>
@@ -492,6 +496,7 @@ export default {
           }, {
             label: '客户名称',
             prop: 'corpId',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -513,6 +518,7 @@ export default {
           }, {
             label: '所属公司',
             prop: 'salesCompany', //salesCompany
+            span: 16,
             rules: [
               {
                 required: true,
@@ -533,6 +539,7 @@ export default {
           }, {
             label: '仓库名称',
             prop: 'storageId',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -605,6 +612,36 @@ export default {
                 trigger: 'blur'
               }
             ]
+          },{
+            label: '收货地址',
+            prop: 'arrivalAddress',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '收货人',
+            prop: 'arrivalContact',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '收货电话',
+            prop: 'arrivalTel',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
           }, {
             label: "备注",
             span: 24,
@@ -1045,6 +1082,10 @@ export default {
     rowUpdateProject(row, index, done, loading) {
       done(row);
     },
+    goodsSearch(params, done) {
+      this.onLoad(this.page, params);
+      done()
+    },
     //商品列表查询
     onLoad(page, params = {}) {
       this.loading = true;
@@ -1386,4 +1427,11 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-form-item__content{
+  line-height: 32px;
+}
 </style>

+ 137 - 128
src/views/businessManagement/inventoryAccount/configuration/mainList.json

@@ -1,130 +1,139 @@
 {
-    "lazy": true,
-    "tip": false,
-    "searchMenuPosition": "right",
-    "simplePage": true,
-    "searchShow": true,
-    "dialogWidth": "60%",
-    "addBtn": false,
-    "tree": true,
-    "border": true,
-    "index": true,
-    "selection": true,
-    "viewBtn": false,
-    "editBtn": false,
-    "delBtn": false,
-    "menuWidth": 300,
-    "dialogClickModal": false,
-    "searchLabelWidth": 120,
-    "column":[
-        {
-            "label": "大字(规格编码)",
-            "prop": "code",
-            "search": true,
-            "index": 1,
-            "width":120
-        },
-        {
-            "label": "名称",
-            "prop": "cname",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "花纹",
-            "prop": "brandItem",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "产地",
-            "prop": "placeProduction",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "规格",
-            "prop": "typeno",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "规格1",
-            "prop": "typenoOne",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "品牌",
-            "prop": "brand",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "总库存",
-            "prop": "balanceQuantity",
-            "search": false,
-            "index": 1,
-            "width":100,
-            "cell": true
-        },
-        {
-            "label": "内贸锁定",
-            "prop": "lockingQuantity",
-            "search": false,
-            "index": 1,
-            "width":100,
-            "cell": true
-        },
-        {
-            "label": "可用库存",
-            "prop": "surplusRouteQuantity",
-            "search": false,
-            "index": 1,
-            "width":100,
-            "cell": true
-        },
-        {
-            "label": "供应商",
-            "prop": "corpName",
-            "search": false,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "创建日期",
-            "prop": "createTime",
-            "type": "date",
-            "search": true,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "创建人",
-            "prop": "createUserName",
-            "search": false,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "更新日期",
-            "prop": "updateTime",
-            "search": false,
-            "index": 1,
-            "width":100
-        },
-        {
-            "label": "更新人",
-            "prop": "updateUserName",
-            "search": false,
-            "index": 1,
-            "width":100
-        }
-    ]
+  "lazy": true,
+  "tip": false,
+  "searchMenuPosition": "right",
+  "simplePage": true,
+  "searchShow": true,
+  "dialogWidth": "60%",
+  "addBtn": false,
+  "tree": true,
+  "border": true,
+  "index": true,
+  "selection": true,
+  "viewBtn": false,
+  "editBtn": false,
+  "delBtn": false,
+  "menuWidth": 300,
+  "dialogClickModal": false,
+  "searchLabelWidth": 120,
+  "searchIcon": true,
+  "searchIndex": 2,
+  "searchSpan": 8,
+  "column": [
+    {
+      "label": "大字(规格编码)",
+      "prop": "code",
+      "search": true,
+      "index": 1,
+      "width": 120
+    },
+    {
+      "label": "名称",
+      "prop": "cname",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "花纹",
+      "prop": "brandItem",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "产地",
+      "prop": "placeProduction",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "规格",
+      "prop": "typeno",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "规格1",
+      "prop": "typenoOne",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "品牌",
+      "prop": "brand",
+      "search": true,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "总库存",
+      "prop": "balanceQuantity",
+      "search": false,
+      "index": 1,
+      "width": 100,
+      "cell": true
+    },
+    {
+      "label": "内贸锁定",
+      "prop": "lockingQuantity",
+      "search": false,
+      "index": 1,
+      "width": 100,
+      "cell": true
+    },
+    {
+      "label": "可用库存",
+      "prop": "surplusRouteQuantity",
+      "search": false,
+      "index": 1,
+      "width": 100,
+      "cell": true
+    },
+    {
+      "label": "供应商",
+      "prop": "corpName",
+      "search": false,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "创建日期",
+      "type": "date",
+      "unlinkPanels": true,
+      "searchRange": true,
+      "prop": "createTime",
+      "search": true,
+      "index": 1,
+      "width": 100,
+      "format": "yyyy-MM-dd",
+      "valueFormat": "yyyy-MM-dd",
+      "overHidden": true,
+      "pickerOptions": {}
+    },
+    {
+      "label": "创建人",
+      "prop": "createUserName",
+      "search": false,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "更新日期",
+      "prop": "updateTime",
+      "search": false,
+      "index": 1,
+      "width": 100
+    },
+    {
+      "label": "更新人",
+      "prop": "updateUserName",
+      "search": false,
+      "index": 1,
+      "width": 100
+    }
+  ]
 }

+ 30 - 1
src/views/businessManagement/inventoryAccount/index.vue

@@ -6,6 +6,7 @@
         :data="data"
         :page.sync="page"
         @search-change="searchChange"
+        :search.sync="search"
         @on-load="onLoad"
         @row-update="rowUpdate">
       <template slot-scope="{row,index}" slot="menu">
@@ -57,10 +58,13 @@
 import option from "./configuration/mainList.json"
 import {deleteTemplate,customerList,typeSave} from "@/api/basicData/inventoryAccount"
 import {getToken} from "@/util/auth";
+import { defaultDate } from "@/util/date";
+
 export default {
   data() {
     return {
       data: [],
+      search:{},
       excelForm: {},
       excelOption: {
         submitBtn: false,
@@ -90,6 +94,19 @@ export default {
       }
     }
   },
+  created() {
+    this.search.createTime = defaultDate(1)
+    console.log(this.search)
+    let i = 0;
+    this.option.column.forEach(item => {
+      if (item.search) i++
+    })
+    if (i % 3 !== 0){
+      const num = 3 - Number(i % 3)
+      this.option.searchMenuSpan = num * 8;
+      this.option.searchMenuPosition = "right";
+    }
+  },
   methods: {
     derivation() {
       this.$confirm("是否下载模板?", "提示", {
@@ -131,12 +148,24 @@ export default {
     },
     //点击搜索按钮触发
     searchChange(params, done) {
-      console.log(params)
+      if (params.createTime) {
+        params.createStartTime = params.createTime[0]+ " " + "00:00:00"
+        params.createEndTime = params.createTime[1]+ " " + "23:59:59"
+        delete params.createTime;
+      }
       this.page.currentPage = 1;
       this.onLoad(this.page, params);
       done()
     },
     onLoad(page, params = {}) {
+      if (this.search.createTime && this.search.createTime.length > 0) {
+        params = {
+          ...params,
+          createStartTime: this.search.createTime[0]+ " " + "00:00:00",
+          createEndTime: this.search.createTime[1]+ " " + "23:59:59",
+        }
+        delete params.createTime;
+      }
       let queryParams = Object.assign({}, params, {
         size: page.pageSize,
         current: page.currentPage,

+ 4 - 7
src/views/businessManagement/purchaseOrder/configuration/commodity.json

@@ -7,7 +7,9 @@
   "searchShow": true,
   "searchShowBtn": false,
   "menu": false,
-  "searchMenuSpan": 6,
+  "searchSpan": 8,
+  "searchMenuSpan": 8,
+  "searchMenuPosition": "right",
   "border": true,
   "index": true,
   "selection": true,
@@ -42,15 +44,10 @@
     },
     {
       "label": "商品类别",
-      "prop": "goodsTypeId",
-      "dicData": [],
-      "type": "tree",
+      "prop": "goodsTypeName",
       "hide": true,
       "addDisabled": false,
       "multiple": true,
-      "props": {
-        "label": "title"
-      },
       "rules": [{
         "required": true,
         "message": " ",

+ 16 - 0
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -34,6 +34,9 @@
                 <!--                ></avue-input-tree>-->
                 <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="detailData.seeDisabled"/>
+                <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
+                                size="small" type="date" placeholder="选择日期"
+                                :disabled="detailData.seeDisabled"/>
                 <el-select v-else-if="item.prop === 'paymentType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
                   <el-option v-for="(item,index) in paymentOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
@@ -258,6 +261,7 @@
                        @refresh-change="refreshChange"
                        @selection-change="selectionChange"
                        :page.sync="page"
+                       @search-change="goodsSearch"
                        @on-load="onLoad"></avue-crud>
           </basic-container>
         </el-col>
@@ -475,6 +479,7 @@ export default {
           }, {
             label: '供应商',
             prop: 'corpId',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -932,6 +937,10 @@ export default {
     rowUpdateProject(row, index, done, loading) {
       done(row);
     },
+    goodsSearch(params, done) {
+      this.onLoad(this.page, params);
+      done()
+    },
     //商品列表查询
     onLoad(page, params = {}) {
       this.loading = true;
@@ -1228,4 +1237,11 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-form-item__content{
+  line-height: 32px;
+}
 </style>

+ 4 - 7
src/views/businessManagement/receipt/configuration/commodity.json

@@ -7,7 +7,9 @@
   "searchShow": true,
   "searchShowBtn": false,
   "menu": false,
-  "searchMenuSpan": 6,
+  "searchSpan": 8,
+  "searchMenuSpan": 8,
+  "searchMenuPosition": "right",
   "border": true,
   "index": true,
   "selection": true,
@@ -42,15 +44,10 @@
     },
     {
       "label": "商品类别",
-      "prop": "goodsTypeId",
-      "dicData": [],
-      "type": "tree",
+      "prop": "goodsTypeName",
       "hide": true,
       "addDisabled": false,
       "multiple": true,
-      "props": {
-        "label": "title"
-      },
       "rules": [{
         "required": true,
         "message": " ",

+ 24 - 0
src/views/businessManagement/receipt/configuration/mainList.json

@@ -124,6 +124,30 @@
       "overHidden": true
     },
     {
+      "label": "发货地址",
+      "prop": "arrivalAddress",
+      "search": true,
+      "index": 14,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "发货人",
+      "prop": "arrivalContact",
+      "search": true,
+      "index": 14,
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "发货电话",
+      "prop": "arrivalTel",
+      "search": true,
+      "index": 14,
+      "width": 100,
+      "overHidden": true
+    },
+    {
       "type": "select",
       "dicUrl": "/api/blade-user/client/gainUser",
       "props": {

+ 55 - 13
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -51,6 +51,9 @@
                 <!--                ></avue-input-tree>-->
                 <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="detailData.seeDisabled"/>
+                <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
+                                size="small" type="date" placeholder="选择日期"
+                                :disabled="detailData.seeDisabled"/>
                 <selectComponent v-else-if="item.prop === 'corpId' || item.prop === 'salesCompany'" v-model="form[item.prop]"
                                  :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>
                 <el-select v-else-if="item.prop === 'purchaseMode'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
@@ -258,6 +261,7 @@
                        @refresh-change="refreshChange"
                        @selection-change="selectionChange"
                        :page.sync="page"
+                       @search-change="goodsSearch"
                        @on-load="onLoad"></avue-crud>
           </basic-container>
         </el-col>
@@ -461,8 +465,9 @@ export default {
               }
             ]
           }, {
-            label: '采购方式',
-            prop: 'purchaseMode',
+            label: '供应商',
+            prop: 'corpId',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -470,9 +475,9 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '供应商',
-            prop: 'corpId',
+          },{
+            label: '采购方式',
+            prop: 'purchaseMode',
             rules: [
               {
                 required: true,
@@ -480,9 +485,10 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
+          },  {
             label: '所属公司',
             prop: 'salesCompany',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -503,6 +509,7 @@ export default {
           }, {
             label: '仓库名称',
             prop: 'storageId',
+            span: 16,
             rules: [
               {
                 required: true,
@@ -575,6 +582,36 @@ export default {
               }
             ]
           }, {
+            label: '发货地址',
+            prop: 'arrivalAddress',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '发货人',
+            prop: 'arrivalContact',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }, {
+            label: '发货电话',
+            prop: 'arrivalTel',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },{
             label: "入库单备注",
             span: 24,
             type: 'textarea',
@@ -751,7 +788,6 @@ export default {
         this.oldForm = Object.assign({}, this.form)
         this.oldFeesList = this.oldFeesList.concat(this.advantageProjectData)
         this.oldUploadList = this.oldUploadList.concat(this.bankOfDepositData)
-        this.oldGoodsList = this.oldGoodsList.concat(this.contactsData)
         if (isCopy) {
           delete this.form.id
           delete this.form.sysNo
@@ -769,6 +805,7 @@ export default {
           })
           this.form.deliveryStatus == '录入'
         }
+        this.oldGoodsList = this.oldGoodsList.concat(this.contactsData)
       }).finally(() => {
         this.saveLoading = false
       });
@@ -1004,6 +1041,10 @@ export default {
     rowUpdateProject(row, index, done, loading) {
       done(row);
     },
+    goodsSearch(params, done) {
+      this.onLoad(this.page, params);
+      done()
+    },
     //商品列表查询
     onLoad(page, params = {}) {
       this.loading = true;
@@ -1200,12 +1241,6 @@ export default {
     },
     //返回列表
     backToList() {
-      console.log(this.contactsData)
-      console.log(this.oldGoodsList)
-      // console.log(contrastObj(this.form, this.oldForm))
-      // console.log(contrastList(this.contactsData, this.oldGoodsList))
-      // console.log(contrastList(this.advantageProjectData, this.oldFeesList))
-      // console.log(contrastList(this.bankOfDepositData, this.oldUploadList))
       if (contrastObj(this.form, this.oldForm) ||
         contrastList(this.contactsData, this.oldGoodsList) ||
         contrastList(this.advantageProjectData, this.oldFeesList) ||
@@ -1346,4 +1381,11 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-form-item__content{
+  line-height: 32px;
+}
 </style>

+ 5 - 8
src/views/businessManagement/salesOrder/configuration/commodity.json

@@ -7,7 +7,9 @@
   "searchShow": true,
   "searchShowBtn": false,
   "menu": false,
-  "searchMenuSpan": 6,
+  "searchSpan": 8,
+  "searchMenuSpan": 8,
+  "searchMenuPosition": "right",
   "border": true,
   "index": true,
   "selection": true,
@@ -43,15 +45,10 @@
     },
     {
       "label": "商品类别",
-      "prop": "goodsTypeId",
-      "dicData": [],
-      "type": "tree",
-      "hide": false,
+      "prop": "goodsTypeName",
+      "hide": true,
       "addDisabled": false,
       "multiple": true,
-      "props": {
-        "label": "title"
-      },
       "rules": [{
         "required": true,
         "message": " ",

+ 1 - 1
src/views/businessManagement/salesOrder/configuration/mainList.json

@@ -278,10 +278,10 @@
     },
     {
       "label": "制单日期",
+      "prop": "createTime",
       "type": "date",
       "unlinkPanels": true,
       "searchRange": true,
-      "prop": "createTime",
       "search": true,
       "index": 25,
       "width": 100,

+ 67 - 26
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -40,6 +40,9 @@
               <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="detailData.seeDisabled"/>
+                <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
+                                size="small" type="date" placeholder="选择日期"
+                                :disabled="detailData.seeDisabled"/>
                 <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"
                                  :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>
                 <el-select v-else-if="item.prop === 'paymentType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
@@ -57,8 +60,17 @@
             <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 || detailData.seeDisabled"/>
+                <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
+                                size="small" type="date" placeholder="选择日期"
+                                :disabled="detailData.seeDisabled"/>
                 <selectComponent v-else-if="item.prop === 'belongToCorpId'" v-model="form[item.prop]" :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>
-                <el-input v-else-if="(item.prop === 'advancePayment') || (item.prop === 'settlmentAmount')" v-model="form[item.prop]" size="small" autocomplete="off" @change="computedCost" :disabled="detailData.seeDisabled"></el-input>
+                <el-input
+                  v-else-if="(item.prop === 'advancePayment') || (item.prop === 'settlmentAmount') || (item.prop === 'overPayment')"
+                  v-model="form[item.prop]" size="small" autocomplete="off"
+                  @change="computedCost"
+                  :disabled="detailData.seeDisabled"
+                  v-input-limit="2"
+                ></el-input>
                 <el-select v-else-if="item.prop === 'orderStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
                   <el-option v-for="(item,index) in statusOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
@@ -277,6 +289,7 @@
                        ref="crud"
                        @refresh-change="refreshChange"
                        @selection-change="selectionChange"
+                       @search-change="goodsSearch"
                        :page.sync="page"
                        @on-load="onLoad"></avue-crud>
           </basic-container>
@@ -624,9 +637,21 @@ export default {
                 trigger: 'blur'
               }
             ]
-          }, {
-            label: '应收预付款',
-            prop: 'advancePayment',
+          },
+          // {
+          //   label: '应收预付款',
+          //   prop: 'advancePayment',
+          //   rules: [
+          //     {
+          //       required: false,
+          //       message: ' ',
+          //       trigger: 'blur'
+          //     }
+          //   ]
+          // },
+          {
+            label: '保证金',
+            prop: 'deposit',
             rules: [
               {
                 required: false,
@@ -635,8 +660,8 @@ export default {
               }
             ]
           }, {
-            label: '保证金',
-            prop: 'deposit',
+            label: '逾期账款',
+            prop: 'overDueAccounts',
             rules: [
               {
                 required: false,
@@ -645,8 +670,9 @@ export default {
               }
             ]
           }, {
-            label: '逾期账款',
-            prop: 'overDueAccounts',
+            label: '实际发货日期',
+            prop: 'actualDeliveryDate',
+            type: 'datetime',
             rules: [
               {
                 required: false,
@@ -668,7 +694,7 @@ export default {
           }, {
             label: '合同日期',
             prop: 'businesDate',
-            type: 'datetime',
+            type: 'date',
             rules: [
               {
                 required: false,
@@ -677,17 +703,6 @@ export default {
               }
             ]
           }, {
-            label: '实际发货日期',
-            prop: 'actualDeliveryDate',
-            type: 'datetime',
-            rules: [
-              {
-                required: false,
-                message: ' ',
-                trigger: 'blur'
-              }
-            ]
-          },  {
             label: '毛利率',
             prop: 'grossProfitRate',
             rules: [
@@ -895,7 +910,7 @@ export default {
           }, {
             label: '要求发货日期',
             prop: 'requiredDeliveryDate',
-            type: 'datetime',
+            type: 'date',
             rules: [
               {
                 required: true,
@@ -906,7 +921,7 @@ export default {
           }, {
             label: '要求到货日期',
             prop: 'requiredArrivalDate',
-            type: 'datetime',
+            type: 'date',
             rules: [
               {
                 required: true,
@@ -959,6 +974,7 @@ export default {
       this.statusOption = res.data.data
     })
     this.$set(this.form, 'orderStatus', '录入')
+    this.$set(this.form, 'overPayment', 0)
     if (this.detailData.id) {
       this.queryData(this.detailData.id)
     }
@@ -977,7 +993,6 @@ export default {
   methods: {
     queryData(id, isCopy = false){
       detail(id).then(res => {
-        console.log(res.data.data)
         this.form = res.data.data;
         this.contactsData = this.form.orderItemsList
         this.advantageProjectData = this.form.orderFeesList
@@ -1369,6 +1384,7 @@ export default {
         this.$set(list[item], 'priceType', this.policyForm.cname)
         this.$set(list[item], 'cname', list[item].productCategory)
         this.$set(list[item], 'sort', this.maxGoodsNum + 1)
+        this.$set(list[item], 'purchaseAmount', list[item].purchasePrice)
         this.maxGoodsNum++
         this.$refs.crudContact.rowCellAdd(list[item]);
         this.$refs.crudContact.rowCell(list[item], this.contactsData.length - 1)
@@ -1436,8 +1452,14 @@ export default {
         this.contactsDataBuyFree = res.data.data.presentItemList
       })
     },
+    //
+    goodsSearch(params, done) {
+      this.onLoad(this.page, params);
+      done()
+    },
     //商品列表查询
     onLoad(page, params = {}) {
+      console.log(params)
       this.loading = true;
       getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
         console.log(res)
@@ -1543,10 +1565,17 @@ export default {
           // 计算毛利额
           this.$set(this.form, 'grossProfit', 0)
           this.$set(this.form, 'orderAmount', 0)
+          // 成本价
+          let purchaseAmount = 0
+          // 计算销售金额
           this.contactsData.forEach(item => {
-            this.form.grossProfit += Number(item.amount)
-            this.form.orderAmount += Number(item.amount)
+            if (item.purchaseAmount) {
+              purchaseAmount += (Number(item.purchaseAmount) * Number(item.orderQuantity)).toFixed(2)
+            }
+            // this.form.grossProfit += Number(item.amount)
+            this.form.orderAmount += Number(item.amount).toFixed(2)
           })
+          this.form.grossProfit = (Number(this.form.orderAmount) - Number(purchaseAmount)).toFixed(2)
           if (this.form.orderAmount && this.form.overPayment) {
             this.form.debitAmount = Number(this.form.orderAmount) - Number(this.form.overPayment)
           }
@@ -1591,13 +1620,18 @@ export default {
       let orderAmount = 0;
       // 已收款
       let settlmentAmount = 0;
+      // 溢付款
+      let overPayment = 0
       if (this.form.orderAmount) {
         orderAmount = this.form.orderAmount
       }
       if (this.form.settlmentAmount) {
         settlmentAmount = this.form.settlmentAmount
       }
-      this.$set(this.form, "balanceAmount", (Number(orderAmount) - Number(settlmentAmount)).toFixed(2));
+      if (this.form.overPayment) {
+        overPayment = this.form.overPayment
+      }
+      this.$set(this.form, "balanceAmount", (Number(orderAmount) - Number(overPayment) - Number(settlmentAmount)).toFixed(2));
     },
     quantityChange(row) {
       if (!row.orderQuantity) {
@@ -1756,4 +1790,11 @@ export default {
   padding: 10.5px 0 10.5px 30px;
   //border: 1px solid #000;
 }
+::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-form-item__content{
+  line-height: 32px;
+}
 </style>

+ 15 - 0
src/views/businessManagement/salesOrder/index.vue

@@ -22,6 +22,7 @@
                  @refresh-change="refreshChange"
                  @on-load="onLoad"
                  @tree-load="treeLoad"
+                 :cell-style="tableRowClassName"
       >
         <template slot="corpIdSearch">
           <select-component
@@ -161,6 +162,20 @@ export default {
     })
   },
   methods: {
+    tableRowClassName({row, column, rowIndex, columnIndex}) {
+      if (row.orderStatus == '录入' && columnIndex == 21){
+        return {
+          background: '#eceb3c'
+        }
+      } else if (row.orderStatus == '成交') {
+        return 'success-row'
+      } else if (row.orderStatus == '已报价') {
+        return 'quote-row'
+      } else if (row.orderStatus == '未成交') {
+        return 'warning-row'
+      }
+      return '';
+    },
     //删除列表后面的删除按钮触发触发(row, index, done)
     rowDel(row, index, done) {
       this.$confirm("确定将选择数据删除?", {