浏览代码

新加无库存商品模块 高德地图

Qukatie 7 月之前
父节点
当前提交
4f4c3150d2

+ 5 - 0
package-lock.json

@@ -4,6 +4,11 @@
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "@amap/amap-jsapi-loader": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz",
+      "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw=="
+    },
     "@babel/code-frame": {
       "version": "7.14.5",
       "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz",

+ 1 - 0
package.json

@@ -11,6 +11,7 @@
     "test:e2e": "vue-cli-service test:e2e"
   },
   "dependencies": {
+    "@amap/amap-jsapi-loader": "^1.0.1",
     "avue-plugin-ueditor": "^0.1.7",
     "axios": "^0.18.0",
     "babel-polyfill": "^6.26.0",

+ 2 - 1
public/index.html

@@ -27,7 +27,8 @@
     }
   </script>
 <!--    导入高德地图-->
-  <script src="https://webapi.amap.com/maps?v=1.4.15&key=41a0c8e6cc45f8c76306900bf45a1431&plugin=AMap.PlaceSearch"></script>
+  <script src="https://webapi.amap.com/maps?v=1.4.15&key=41a0c8e6cc45f8c76306900bf45a1431&plugin=AMap.PlaceSearch,AMap.Autocomplete,AMap.DistrictSearch,AMap.Geocoder,AMap.CitySearch"></script>
+  <script src="https://webapi.amap.com/ui/1.1/main.js?v=1.0.11"></script>
 <!--    导入腾旭地图-->
 <!--    <script src="https://map.qq.com/api/gljs?v=1.exp&key=CB2BZ-T3IWN-UPWFO-SR2Y6-4YBXQ-SGBKT"></script>-->
 <!--    <script src="https://mapapi.qq.com/web/mapComponents/geoLocation/v/geolocation.min.js"></script>-->

+ 8 - 0
src/api/tirePartsMall/salesManagement/saleOrder.js

@@ -347,4 +347,12 @@ export const cancelShipment = (data) => {
     method: 'POST',
     data: data
   })
+}
+
+export const getGoodAllList = (params) => {
+  return request({
+    url: '/api/blade-sales-part/goodsDesc/list',
+    method: 'get',
+    params: params
+  })
 }

+ 122 - 0
src/components/amap/main.vue

@@ -0,0 +1,122 @@
+<template>
+  <div>
+    <div class="dropdown">
+      <el-input @clear="clear" @input="searchByKeyword" v-model="formattedAddress" clearable
+        placeholder="输入关键字选取地点"></el-input>
+      <div class="dropdown-content" v-if="searchResult.length">
+        <div class="" v-for="item of searchResult" :key="item.id">
+          <div>
+            {{ item.name }}
+          </div>
+        </div>
+      </div>
+
+    </div>
+    <div id="container"></div>
+  </div>
+
+</template>
+<script>
+import AMapLoader from "@amap/amap-jsapi-loader";
+import { status } from "nprogress";
+export default {
+  name: "map-view",
+  data() {
+    return {
+      map: null,
+      formattedAddress: null,
+      address: '',
+      poi: {},
+      marker: null,
+      box: false,
+      searchResult: []
+    };
+  },
+  mounted() {
+    this.initAMap();
+  },
+  // unmounted() {
+  //   this.map?.destroy();
+  // },
+  methods: {
+    clear() {
+      this.poi = {};
+      this.clearMarker();
+    },
+    searchByKeyword(val) {
+      console.log(val)
+      setTimeout(() => {
+        this.autocomplete.search(val, (status, result) => {
+          console.log(status, result)
+          if (status == 'complete' && result.info == 'OK') {
+            this.searchResult = result.tips
+          }
+
+        })
+      }, 500)
+
+    },
+    clearMarker() {
+      if (this.marker) {
+        this.marker.setMap(null);
+        this.marker = null;
+      }
+    },
+    initAMap() {
+      window._AMapSecurityConfig = {
+        securityJsCode: "3d1fa066dcbd64ac5460f63c189f0634",
+      };
+      AMapLoader.load({
+        key: "41a0c8e6cc45f8c76306900bf45a1431", // 申请好的Web端开发者Key,首次调用 load 时必填
+        version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
+        plugins: ["AMap.ToolBar", "AMap.Scale", "AMap.PlaceSearch", "AMap.AutoComplete"], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
+        AMapUI: {
+          version: "1.1", // AMapUI 版本
+        },
+      })
+        .then((AMap) => {
+          this.map = new AMap.Map("container", {
+            // 设置地图容器id
+            viewMode: "2D", // 是否为3D地图模式
+            zoom: 13, // 初始化地图级别
+            center: [116.397428, 39.90923], // 初始化地图中心点位置,
+          });
+          const toolbar = new AMap.ToolBar()
+          this.map.addControl(toolbar)
+          const Scale = new AMap.Scale()
+          this.map.addControl(Scale)
+          var autoOptions = {
+            input: "tipinput"
+          };
+          this.autocomplete = new AMap.AutoComplete(autoOptions);
+          this.placeSearch = new AMap.PlaceSearch({
+            map: this.map
+          });
+        })
+        .catch((e) => {
+          console.log(e);
+        });
+    },
+  },
+};
+</script>
+<style scoped>
+#container {
+  width: 80%;
+  height: 600px;
+}
+
+.dropdown {
+  position: relative;
+  display: inline-block;
+}
+
+.dropdown-content {
+  display: none;
+  position: absolute;
+  background-color: #f9f9f9;
+  min-width: 160px;
+  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
+  z-index: 1;
+}
+</style>

+ 24 - 5
src/components/dicSelect/main.vue

@@ -2,14 +2,21 @@
     <!-- 中文下拉 -->
     <div>
         <div style="display: flex;">
-            <el-select style="width:100%" v-model="value" @input="$emit('selectedValue', value)"
+            <el-select ref="mySelect" style="width:100%" v-model="value" @input="$emit('selectedValue', value)"
                 :placeholder="'请输入 ' + placeholder" @change="selectChange" @clear="clear" :clearable="clearable"
                 :multiple="multiple" :filterable="filterable" :remote="remote" :remote-method="remoteMethod"
                 :loading="loading" :size="size" :disabled="disabled" :collapse-tags="collapseTags">
                 <el-option v-for="item in options" :key="item[key]" :label="item[label]"
                     :value="item[keyValue ? keyValue : label]">
                     <span v-if="slotRight" style="float: left">{{ item[label] }}</span>
-                    <span v-if="slotRight" style="float: right; color: #8492a6; font-size: 13px">{{ item[rightLabel]
+                    <span v-if="slotRight"
+                        style="float: right; color: #8492a6; font-size: 13px; max-width: 200px; white-space: nowrap; overflow: hidden;text-overflow: ellipsis;">{{
+                            item[rightLabel]
+                        }}</span>
+                    <span v-if="diySlot"
+                        style="float: left;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
+                        :style="{ 'max-width': (selectWidth - 30) + 'px' }">{{
+                            item[label]
                         }}</span>
                 </el-option>
             </el-select>
@@ -165,7 +172,8 @@ export default {
                     children: "children"
                 }
             },
-            treeData: []
+            treeData: [],
+            selectWidth: 0
         }
     },
     props: {
@@ -177,6 +185,10 @@ export default {
             type: Boolean,
             default: false
         },
+        diySlot: {
+            type: Boolean,
+            default: false
+        },
         key: {
             type: [String, Number],
             default: null
@@ -271,6 +283,14 @@ export default {
             this.options = this.mockData
         }
     },
+    mounted() {
+        if (this.diySlot) {
+            this.$nextTick(() => {
+                this.selectWidth = this.$refs.mySelect.$el.offsetWidth;
+                this.$refs.mySelect.$el.querySelector('.el-select-dropdown').style.width = `${this.selectWidth}px`;
+            });
+        }
+    },
     methods: {
         open() {
             this.dialogVisible = true
@@ -305,7 +325,6 @@ export default {
             }
         },
         getDicData() {
-        
             if (this.url) {
                 this.loading = true
                 getDicinit(this.method, this.url, this.data).then(res => {
@@ -317,7 +336,7 @@ export default {
                 }).finally(() => {
                     this.loading = false;
                 })
-            }else{
+            } else {
                 console.log(this.mockData)
                 this.options = this.mockData
             }

+ 3 - 0
src/enums/column-name.js

@@ -1923,6 +1923,9 @@ const columnName = [{
   },{
     code: 427,
     name: '轮胎商城-积分商城-选择产品(L)'
+  },{
+    code: 428,
+    name: '货运代理-基础资料-危险品包装(F)'
   }
 ]
 export const getColumnName = (key) => {

+ 1 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue

@@ -540,7 +540,7 @@
                                     label="dictKey" keyValue="dictKey"
                                     url="/blade-system/dict-biz/dictionary?code=dg_imdg_code" :filterable="true"
                                     :disabled="detailData.seeDisabled" rightLabel="dictValue"
-                                    :slotRight="true"></dic-select>
+                                    :diySlot="true"></dic-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="12">

+ 70 - 61
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/PackingBusiness.vue

@@ -119,20 +119,19 @@
                             res="records" dataName="hsCode" @selectChange="dicChange('hscode', $event)"></dic-select>
                     </template>
                     <tempalte slot-scope="{type,disabled}" slot="packingLevelForm">
-                        <dic-select v-model="Detailform.packingLevel" placeholder="包装等级" key="dictKey"
-                            label="dictValue" url="/blade-system/dict-biz/dictionary?code=hazard_Level"
-                            :filterable="true"></dic-select>
+                        <dic-select v-model="Detailform.packingLevel" placeholder="包装等级" key="dictKey" label="dictValue"
+                            url="/blade-system/dict-biz/dictionary?code=hazard_Level" :filterable="true"></dic-select>
                     </tempalte>
                     <template slot-scope="{type,disabled}" slot="packingUnitForm">
                         <dic-select style="width: 100%;" v-model="Detailform.packingUnit" placeholder="包装单位" key="id"
-                            label="cnName" url="/blade-los/bpackages/list" :filterable="true" :remote="true"
+                            label="cnName" url="/blade-los/bpackages/list?whetherDg=0" :filterable="true" :remote="true"
                             res="records" dataName="cnName"
                             @selectChange="dicChange('packingUnit', $event)"></dic-select>
                     </template>
                     <tempalte slot-scope="{type,disabled}" slot="dgPackingUnitForm">
-                        <dic-select v-model="Detailform.dgPackingUnit" placeholder="危险品包装单位" key="dictKey"
-                            label="dictValue" url="/blade-system/dict-biz/dictionary?code=hazardous_Units"
-                            :filterable="true"></dic-select>
+                        <dic-select style="width: 100%;" v-model="Detailform.dgPackingUnit" placeholder="危险品包装" key="id"
+                            label="cnName" url="/blade-los/bpackages/list?whetherDg=1" :filterable="true" :remote="true"
+                            res="records" dataName="cnName" @selectChange="dicChange('dgPackingUnit', $event)"></dic-select>
                     </tempalte>
                     <tempalte slot-scope="{type,disabled}" slot="dgPackingLevelForm">
                         <dic-select v-model="Detailform.dgPackingLevel" placeholder="危险品包装等级" key="dictKey"
@@ -293,13 +292,13 @@ export default {
                         label: "单据编号",
                         prop: "billNo",
                         display: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         overHidden: true,
                     },
                     {
                         label: "商品HS-CODE",
                         prop: "hscode",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         // cell:true,
@@ -319,7 +318,7 @@ export default {
                     {
                         label: "商品简称",
                         prop: "commodityShName",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         display: false,
                         overHidden: true,
@@ -327,7 +326,7 @@ export default {
                     {
                         label: "商品中文名称",
                         prop: "commodityCnName",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         // display: false,
                         overHidden: true,
@@ -335,7 +334,7 @@ export default {
                     {
                         label: "商品英文名称",
                         prop: "commodityEnName",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         display: false,
                         overHidden: true,
@@ -343,7 +342,7 @@ export default {
                     {
                         label: "货物短描",
                         prop: "commodityShortDescr",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -351,7 +350,7 @@ export default {
                     {
                         label: "包装等级",
                         prop: "packingLevel",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -359,7 +358,7 @@ export default {
                     {
                         label: "货物描述",
                         prop: "commodityDescr",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -367,15 +366,25 @@ export default {
                     {
                         label: "唛头",
                         prop: "marks",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
                     },
                     {
+                        label: "装箱件数",
+                        prop: "quantity",
+                        labelWidth: 130,
+                        width: "120",
+                        type: 'number',
+                        controls: false,
+                        overHidden: true,
+                        cell: true,
+                    },
+                    {
                         label: "包装单位",
                         prop: "packingUnit",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -386,25 +395,15 @@ export default {
                             value: "cnName"
                         },
                         remote: true,
-                        dicUrl: '/api/blade-los/bunits/list?cnName={{key}}',
+                        dicUrl: '/api/blade-los/bunits/list?cnName={{key}}&whetherDg=0',
                         dicFormatter: (res => {
                             return res.data.records
                         }),
                     },
                     {
-                        label: "装箱件数",
-                        prop: "quantity",
-                        labelWidth: 100,
-                        width: "120",
-                        type: 'number',
-                        controls: false,
-                        overHidden: true,
-                        cell: true,
-                    },
-                    {
                         label: "装箱毛重(KGM)",
                         prop: "grossWeight",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         type: 'number',
                         controls: false,
@@ -414,7 +413,7 @@ export default {
                     {
                         label: "装箱净重(KGM)",
                         prop: "netWeight",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         type: 'number',
                         controls: false,
@@ -424,7 +423,7 @@ export default {
                     {
                         label: "装箱体积(CBM)",
                         prop: "measurement",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         type: 'number',
                         controls: false,
@@ -434,7 +433,7 @@ export default {
                     {
                         label: "是否危险品",
                         prop: "isDangerous",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         type: "select",
@@ -446,18 +445,18 @@ export default {
                         cell: true,
                     },
                     {
-                        label: "危险品分类代码(IMDG CODE)",
+                        label: "DG CLASS",
                         prop: "dgImdgCode",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "200",
                         overHidden: true,
                         display: false,
                         cell: true,
                     },
                     {
-                        label: "危险品分类代码名称",
+                        label: "DG CLASS NAME",
                         prop: "dgImdgName",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "140",
                         overHidden: true,
                         display: false,
@@ -466,7 +465,7 @@ export default {
                     {
                         label: "危险品国际代码",
                         prop: "dgUnCode",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
@@ -475,16 +474,16 @@ export default {
                     {
                         label: "危险品名称",
                         prop: "dgCommodityName",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
                         cell: true,
                     },
                     {
-                        label: "危险品包装单位",
+                        label: "危险品包装",
                         prop: "dgPackingUnit",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
@@ -499,7 +498,7 @@ export default {
                     {
                         label: "危险品包装等级",
                         prop: "dgPackingLevel",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
@@ -508,7 +507,7 @@ export default {
                     {
                         label: "易燃易爆品闪点",
                         prop: "dgFlashPoint",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         type: 'number',
                         controls: false,
@@ -519,7 +518,7 @@ export default {
                     {
                         label: "易燃易爆品闪点单位",
                         prop: "dgFlashPointUnit",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "140",
                         overHidden: true,
                         display: false,
@@ -528,7 +527,7 @@ export default {
                     {
                         label: "危险品联系人",
                         prop: "dgContacts",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
@@ -537,7 +536,7 @@ export default {
                     {
                         label: "危险品联系人电话",
                         prop: "dgTel",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         display: false,
@@ -546,7 +545,7 @@ export default {
                     {
                         label: "是否海洋污染物",
                         prop: "dgIsMarinePollutant",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         type: "select",
@@ -560,7 +559,7 @@ export default {
                     {
                         label: "是否申报数量",
                         prop: "dgIsDeclareQuantity",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         type: "select",
@@ -574,7 +573,7 @@ export default {
                     {
                         label: "CAS NO",
                         prop: "dgCasNo",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -582,7 +581,7 @@ export default {
                     {
                         label: "CAA INFO",
                         prop: "dgCaaInfo",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -590,7 +589,7 @@ export default {
                     {
                         label: "DC Weight",
                         prop: "dgDcWeight",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         type: 'number',
                         controls: false,
@@ -602,7 +601,7 @@ export default {
                         prop: "dgEmerTemperature",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -610,7 +609,7 @@ export default {
                     {
                         label: "Emergency温度单位",
                         prop: "dgEmerTemperatureUnit",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "140",
                         overHidden: true,
                         cell: true,
@@ -620,7 +619,7 @@ export default {
                         prop: "dgCtrlTemperature",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -628,7 +627,7 @@ export default {
                     {
                         label: "Control温度单位",
                         prop: "dgCtrlTemperatureUnit",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -638,7 +637,7 @@ export default {
                         prop: "overLeft",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -648,7 +647,7 @@ export default {
                         prop: "overRight",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -658,7 +657,7 @@ export default {
                         prop: "overFront",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -668,7 +667,7 @@ export default {
                         prop: "overBack",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -678,7 +677,7 @@ export default {
                         prop: "overTop",
                         type: 'number',
                         controls: false,
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -686,7 +685,7 @@ export default {
                     {
                         label: "CUS CODE",
                         prop: "cusCode",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -694,7 +693,7 @@ export default {
                     {
                         label: "NCM",
                         prop: "ncm",
-                        labelWidth: 100,
+                        labelWidth: 130,
                         width: "120",
                         overHidden: true,
                         cell: true,
@@ -819,6 +818,16 @@ export default {
                     this.$set(this.Detailform, 'packingUnit', null)
                 }
             }
+            if (name == 'dgPackingUnit') {
+                if (row) {
+                    // this.$set(this.Detailform, 'dgPackingUnitId', row.id)
+                    this.$set(this.Detailform, 'dgPackingUnit', row.cnName)
+                } else {
+                    // this.$set(this.Detailform, 'dgPackingUnitId', null)
+                    this.$set(this.Detailform, 'dgPackingUnit', null)
+                }
+            }
+            
         },
         // 行编辑保存
         addUpdateDetail(row, index, done, loading) {

+ 1 - 2
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -780,8 +780,7 @@
                                 <dic-select v-model="assemblyForm.dgImdgCode" placeholder="危险品类别" key="dictKey"
                                     label="dictKey" keyValue="dictKey"
                                     url="/blade-system/dict-biz/dictionary?code=dg_imdg_code" :filterable="true"
-                                    :disabled="detailData.seeDisabled" rightLabel="dictValue"
-                                    :slotRight="true"></dic-select>
+                                    :disabled="detailData.seeDisabled" :diySlot="true"></dic-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="12">

+ 5 - 2
src/views/iosBasicData/bpackages/index.vue

@@ -141,7 +141,7 @@ export default {
               res: "data"
             },
             tip: "请上传 .xls,.xlsx 标准格式文件",
-            action: "/api/blade-los/bpackages/importBPackages"
+            action: "/api/blade-los/bpackages/importBPackages?whetherDg=0"
           }
         ]
       },
@@ -381,7 +381,7 @@ export default {
         type: 'warning'
       }).then(() => {
         window.open(
-          `/api/blade-los/bpackages/exportBPackages?${this.website.tokenHeader
+          `/api/blade-los/bpackages/exportBPackages?whetherDg=0&${this.website.tokenHeader
           }=${getToken()}${condition}`
         );
       }).catch(() => {
@@ -482,6 +482,7 @@ export default {
 
       row.extendedData = JSON.stringify(row.extendedDataArr)
       delete row.extendedDataArr
+      row.whetherDg=0
       bpackagesSubmit(row).then(() => {
         this.onLoad(this.page);
         this.$message({
@@ -502,6 +503,7 @@ export default {
       }
       row.extendedData = JSON.stringify(row.extendedDataArr)
       delete row.extendedDataArr
+      row.whetherDg=0
       bpackagesSubmit(row).then(() => {
         this.onLoad(this.page);
         this.$message({
@@ -627,6 +629,7 @@ export default {
     },
     onLoad(page, params = {}) {
       this.loading = true;
+      params.whetherDg=0
       bpackagesList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
         const data = res.data.data;
         this.page.total = data.total;

+ 694 - 0
src/views/iosBasicData/dangerousPackaging/index.vue

@@ -0,0 +1,694 @@
+<!-- 危险品包装 -->
+<template>
+  <basic-container>
+    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
+      id="out-table" :header-cell-class-name="headerClassName" :before-open="beforeOpen" :search.sync="search"
+      v-model="form" ref="crud" @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel"
+      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+      @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 428)"
+      @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 428)" @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">新建危险品包装
+        </el-button>
+        <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">删 除
+        </el-button>
+        <el-button type="warning" size="small" icon="el-icon-printer" @click="excelBox = true">导入
+        </el-button>
+        <el-button type="success" size="small" @click="handleExport" icon="el-icon-printer">导出</el-button>
+      </template>
+      <template slot-scope="scope" slot="extendedDataArr">
+        <span style="color: #1e9fff" @click="extendedDataview(scope.row)">
+          {{ scope.row.extendedDataArr.length }}
+        </span>
+      </template>
+      <template slot-scope="{type,disabled,row}" slot="extendedDataArrForm">
+        <el-button type="primary" size="small" @click="dialogVisible = true">EDI CODE
+        </el-button>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <!--<el-button type="text" icon="el-icon-view" size="small" @click.stop="rowViewfun(scope.row, scope.index)">查看-->
+        <!--</el-button>-->
+        <el-button type="text" icon="el-icon-edit" size="small" @click.stop="rowEditfun(scope.row, scope.index)">编辑
+        </el-button>
+        <el-button type="text" icon="el-icon-delete" size="small" @click.stop="rowDel(scope.row, scope.index)">删除
+        </el-button>
+        <el-button v-if="scope.row.status == 1" type="text" icon="el-icon-turn-off" style="color: #85e967" size="small"
+          @click.stop="statusfun(scope.row.id, 0)">
+          启用
+        </el-button>
+        <el-button v-if="scope.row.status == 0" type="text" icon="el-icon-turn-off" style="color: #e83c3a" size="small"
+          @click.stop="statusfun(scope.row.id, 1)">
+          停用
+        </el-button>
+      </template>
+
+    </avue-crud>
+
+    <el-dialog title="EDI CODE" :visible.sync="dialogVisible" width="50%" append-to-body :destroy-on-close="true"
+      :modal-append-to-body="false" :before-close="handleClose">
+      <div>
+        <el-button type="primary" size="small" :disabled="extendedDisabled" @click="extendedDataAdd">新增
+        </el-button>
+        <el-table stripe :data="form.extendedDataArr" id="out-table" :header-cell-class-name="headerClassName"
+          style="width: 100%">
+          <el-table-column prop="name" label="名称">
+            <template slot-scope="{row}">
+              <el-input v-if="row.edit" size="mini" v-model="row.name" placeholder="请输入名称"></el-input>
+              <span v-else>{{ row.name }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="value" label="键值">
+            <template slot-scope="{row}">
+              <el-input v-if="row.edit" size="mini" v-model="row.value" placeholder="请输入键值"></el-input>
+              <span v-else>{{ row.value }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作">
+            <template slot-scope="scope">
+              <el-button type="text" size="mini" :disabled="extendedDisabled"
+                @click.stop="extendedDataEdit(scope.$index, scope.row)">{{ scope.row.edit ? '保存' : '编辑' }}</el-button>
+              <el-button size="mini" type="text" :disabled="extendedDisabled"
+                @click.stop="extendedDataDelete(scope.$index, scope.row)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false; extendedDisabled = false">取 消</el-button>
+        <el-button type="primary" @click="extendedDatafun">确 定</el-button>
+      </span>
+    </el-dialog>
+
+
+    <el-dialog title="导入危险品包装" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false"
+      v-dialog-drag>
+      <avue-form :option="excelOption" v-model="excelForm" :table-loading="excelLoading" :upload-before="uploadBefore"
+        :upload-after="onSuccess">
+        <template slot="excelTemplate">
+          <el-button type="primary" @click="handleGet">
+            点击下载<i class="el-icon-download el-icon--right"></i>
+          </el-button>
+        </template>
+      </avue-form>
+      <p style="text-align: center;color: #DC0505">
+        温馨提示 第一次导入时请先下载模板
+      </p>
+    </el-dialog>
+
+  </basic-container>
+</template>
+
+<script>
+import { bpackagesList, bpackagesDetail, bpackagesSubmit, bpackagesRemove } from "@/api/iosBasicData/bpackages";
+import { mapGetters } from "vuex";
+
+import { getToken } from "@/util/auth";
+
+export default {
+  data() {
+    return {
+      // 扩展数据弹窗
+      dialogVisible: false,
+
+      form: {
+        extendedDataArr: []
+      },
+      query: {},
+      loading: true,
+      excelBox: false,
+      search: {},
+      excelForm: {},
+      excelLoading: false,
+      excelOption: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "模板下载",
+            prop: "excelTemplate",
+            formslot: true,
+            span: 24
+          },
+          {
+            label: "模板上传",
+            prop: "excelFile",
+            type: "upload",
+            drag: true,
+            loadText: "模板上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data"
+            },
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/blade-los/bpackages/importBPackages?whetherDg=1"
+          }
+        ]
+      },
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+        pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
+      },
+      selectionList: [],
+      option: {
+        dialogDrag: true,
+      },
+      optionBack: {
+        dialogDrag: true,
+        addBtnText: '新建危险品包装',
+        addTitle: '新建危险品包装',
+        editBtnText: '编辑危险品包装',
+        editTitle: '编辑危险品包装',
+        viewBtnText: '查看危险品包装',
+        viewTitle: '查看危险品包装',
+        height: 'auto',
+        stripe: true,
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 24,
+        border: true,
+        index: true,
+        viewBtn: false,
+        selection: true,
+        dialogClickModal: false,
+        menuWidth: 260,
+        column: [
+          {
+            label: "编码",
+            prop: "code",
+            width: "180",
+            search: true,
+            rules: [{
+              required: true,
+              message: "请输入编码",
+              trigger: "blur"
+            }],
+            overHidden: true,
+          },
+          {
+            label: "中文名称",
+            prop: "cnName",
+            width: "180",
+            search: true,
+            rules: [{
+              required: true,
+              message: "请输入中文名称",
+              trigger: "blur"
+            }],
+            overHidden: true,
+          },
+          {
+            label: "英文名称",
+            prop: "enName",
+            width: "180",
+            search: true,
+            rules: [{
+              required: true,
+              message: "请输入英文名称",
+              trigger: "blur"
+            }],
+            overHidden: true,
+          },
+          {
+            label: "标准编码",
+            prop: "standardCode",
+            overHidden: true,
+            // rules: [{
+            //   required: true,
+            //   message: "请输入标准编码",
+            //   trigger: "blur"
+            // }]
+          },
+          {
+            label: "换算率%",
+            prop: "exrate",
+            rules: [{
+              pattern: /[1-9]\d*.\d*|0\.\d*[1-9]\d*/,
+              message: "请输入数字",
+              trigger: 'blur'
+            }],
+            overHidden: true,
+          },
+          {
+            label: "状态",
+            prop: "status",
+            type: 'select',
+            search: true,
+            dicData: [{
+              label: '启用',
+              value: 0
+            }, {
+              label: '停用',
+              value: 1
+            }],
+            overHidden: true,
+          },
+          {
+            label: "EDI CODE",
+            prop: "extendedDataArr",
+            type: 'tree',
+            formslot: true,
+            dicData: [],
+            overHidden: true,
+            // rules: [{
+            //     required: true,
+            //     message: "请输入EDI CODE",
+            //     trigger: "blur"
+            // }]
+          },
+          {
+            label: "创建人",
+            prop: "createUserName",
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "创建部门",
+            prop: "createDeptName",
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "创建时间",
+            prop: "createTime",
+            width: 160,
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "修改人",
+            prop: "updateUserName",
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "修改时间",
+            prop: "updateTime",
+            width: 160,
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "是否已删除(0 否 1是)",
+            prop: "isDeleted",
+            hide: true,
+            display: false,
+            overHidden: true,
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            type: 'textarea',
+            width: "180",
+            slot: true,
+            span: 24,
+            minRows: 3,
+            overHidden: true,
+
+          },
+        ]
+      },
+      data: [],
+      // 扩展数据的是否禁用
+      extendedDisabled: false,
+      // 扩展数据弹窗是查看弹窗还是点击弹窗
+      viewDisabled: false,
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.bpackages_add, false),
+        viewBtn: this.vaildData(this.permission.bpackages_view, false),
+        delBtn: this.vaildData(this.permission.bpackages_delete, false),
+        editBtn: this.vaildData(this.permission.bpackages_edit, false)
+      };
+    },
+    ids() {
+      let ids = [];
+      this.selectionList.forEach(ele => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    }
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(428), this.optionBack);
+    if (this.$route.query.type == 'new') {
+      setTimeout(() => {
+        this.addbtnfun()
+      }, 200);
+    }
+  },
+  methods: {
+    // 禁用启用按钮
+    statusfun(id, status) {
+      this.$confirm("确定将选择数据更改状态?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        bpackagesDetail(id).then(res => {
+          let obj = res.data.data;
+          obj.status = status
+          bpackagesSubmit(obj).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+          })
+        })
+      })
+    },
+    // 导出
+    handleExport() {
+      var condition = ''
+      for (const key in this.search) {
+        var value = this.search[key]
+        if (value) {
+          condition += `&${key}=${this.search[key]}`
+        }
+      }
+
+      this.$confirm('是否导出危险品包装?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        window.open(
+          `/api/blade-los/bpackages/exportBPackages??whetherDg=1&${this.website.tokenHeader
+          }=${getToken()}${condition}`
+        );
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消' //
+        });
+      })
+    },
+    uploadBefore(file, done, loading) {
+      done();
+      loading = true;
+    },
+    // 上传成功
+    onSuccess(res, done, loading, column) {
+      this.excelBox = false;
+      this.$message.success("导入成功!");
+      loading = false;
+      this.onLoad(this.page);
+      done();
+    },
+    // 下载模板
+    handleGet() {
+      window.open(
+        `/api/blade-los/bpackages/exportBPackages/template?${this.website.tokenHeader
+        }=${getToken()}`
+      );
+    },
+    // 扩展数据详情的---------------------------------------
+    // 扩展数据添加
+    extendedDataAdd() {
+      // console.log(this.form.extendedDataArr, 'this.form.extendedDataArr')
+      // this.form.extendedDataArr.map(item => {
+      //   item.edit = false
+      // })
+      this.form.extendedDataArr.push({
+        edit: true
+      })
+    },
+    // 扩展数据编辑
+    extendedDataEdit(index, row) {
+      this.$set(row, 'edit', !row.edit)
+      // row.edit = !row.edit
+    },
+    // 扩展数据删除
+    extendedDataDelete(index, row) {
+      this.form.extendedDataArr.splice(index, 1)
+    },
+    // 扩展数据表格点击查询详情
+    extendedDataview(row) {
+      this.form = row
+      this.extendedDisabled = true
+      this.dialogVisible = true
+    },
+    // 扩展数据弹窗关闭
+    handleClose(done) {
+      done();
+      // this.$confirm('确认关闭?')
+      //   .then(_ => {
+      //     done();
+      //   })
+      //   .catch(_ => { });
+    },
+    // 扩展数据的确认
+    extendedDatafun() {
+      for (let item of this.form.extendedDataArr) {
+        if (!item.name) {
+          this.$message({
+            type: "warning",
+            message: "请填写名称!"
+          });
+          return
+        }
+        if (!item.value) {
+          this.$message({
+            type: "warning",
+            message: "请填写键值!"
+          });
+          return;
+        }
+      }
+      this.dialogVisible = false;
+      this.extendedDisabled = false
+      if (this.form.extendedDataArr && this.form.extendedDataArr.length) {
+        this.form.extendedDataArr.map(item => {
+          item.edit = false
+        })
+      }
+
+    },
+    // 表格操作------------------------------------------------------------
+    rowSave(row, done, loading) {
+      if (row.extendedDataArr && row.extendedDataArr.length) {
+        row.extendedDataArr.map(item => {
+          delete item.edit
+        })
+      }
+
+      row.extendedData = JSON.stringify(row.extendedDataArr)
+      delete row.extendedDataArr
+      row.whetherDg=1
+      bpackagesSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        window.console.log(error);
+      });
+    },
+    rowUpdate(row, index, done, loading) {
+      if (row.extendedDataArr && row.extendedDataArr.length) {
+        row.extendedDataArr.map(item => {
+          delete item.edit
+        })
+      }
+      row.extendedData = JSON.stringify(row.extendedDataArr)
+      delete row.extendedDataArr
+      row.whetherDg=1
+      bpackagesSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        console.log(error);
+      });
+    },
+    // 新增
+    addbtnfun() {
+      this.form.status = 0
+      this.$refs.crud.rowAdd()
+    },
+    // 查看
+    rowViewfun(row, index) {
+      this.extendedDisabled = true
+      this.$refs.crud.rowView(row, index)
+    },
+    // 编辑
+    rowEditfun(row, index) {
+      bpackagesDetail(row.id).then(res => {
+        this.form = res.data.data;
+        if (this.form.extendedDataArr && this.form.extendedDataArr.length) {
+          this.form.extendedDataArr.map(item => {
+            item.edit = false
+          })
+        }
+        this.$refs.crud.rowEdit(row, index)
+      });
+    },
+    // 数据删除
+    rowDel(row) {
+      if (row.status === 1) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            return bpackagesRemove(row.id);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+          });
+      } else {
+        this.$message({
+          message: '非禁用状态无法删除',
+          type: 'warning'
+        });
+      }
+    },
+    // 多选删除
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+
+      for (const selection of this.selectionList) {
+        if (selection.status == 0) {
+          this.$message.warning("选中的数据中有启用数据,启用数据不可删除!");
+          return;
+        }
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return bpackagesRemove(this.ids);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$refs.crud.toggleSelection();
+        });
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        bpackagesDetail(this.form.id).then(res => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      params.whetherDg=1
+      bpackagesList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
+    //自定义列保存
+    async saveColumnTwo(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumnTwo(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    // 更改表格颜色
+    headerClassName(tab) {
+      //颜色间隔
+      let back = ""
+      if (tab.columnIndex >= 0 && tab.column.level === 1) {
+        if (tab.columnIndex % 2 === 0) {
+          back = "back-one"
+        } else if (tab.columnIndex % 2 === 1) {
+          back = "back-two"
+        }
+      }
+      return back;
+    },
+
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep#out-table .back-one {
+  background: #ecf5ff !important;
+}
+
+::v-deep#out-table .back-two {
+  background: #ecf5ff !important;
+}
+
+/deep/ .el-col-md-8 {
+  width: 24.33333%;
+}
+</style>

+ 9 - 2
src/views/tirePartsMall/basicData/warehouse/index.vue

@@ -1,5 +1,6 @@
 <template>
   <basic-container class="page-crad" v-if="flag">
+    <!-- <a-map></a-map> -->
     <avue-crud :option="option" :data="dataList" ref="crud" v-model="form" :page.sync="page" @row-del="rowDel"
       @row-update="rowUpdate" :before-open="beforeOpen" :before-close="beforeClose" @row-save="rowSave"
       @search-change="searchChange" @search-reset="searchReset" @on-load="onLoad"
@@ -28,12 +29,17 @@ import {
   customerListAll
 } from "@/api/tirePartsMall/basicData/warehouse";
 import { getUser } from "@/api/system/user";
+import aMap from "@/components/amap/main";
 export default {
+  components: {
+    aMap
+  },
   name: "customerInformation",
   data() {
     return {
       params: {
-        zoom: 10,
+        zoom: 14,
+        dialogClickModal: true,
         // zoomEnable: false,
         // dragEnable: false,
       },
@@ -61,6 +67,7 @@ export default {
         selection: true,
         viewBtn: false,
         menuWidth: 140,
+        dialogClickModal: false,
         column: [{
           label: "仓库编码",
           prop: "code",
@@ -315,7 +322,7 @@ export default {
         this.form.salesCompanyName = res.data.data.deptName
         this.form.salesCompanyId = res.data.data.deptId
       })
-      this.form.positioner=[]
+      this.form.positioner = []
       this.$refs.crud.rowAdd();
     },
     //新增子项和新增触发查询所有

+ 49 - 36
src/views/tirePartsMall/salesManagement/saleOrder/detailsPage.vue

@@ -90,7 +90,7 @@
                             @saveColumn="saveColumnTwo('formContacts', 'optionContacts', 'optionContactsBack', 269.1)">
                             <template slot-scope="{scope,row}" slot="menuLeft">
                                 <el-button type="primary" icon="el-icon-plus" size="small" :disabled="isAddBtn"
-                                    @click="rowAdd(row)">添加商品</el-button>
+                                    @click="rowAdd(row,1)">添加商品</el-button>
                                 <el-button type="success" size="small" :disabled="isAddBtn" icon="el-icon-bottom"
                                     @click="excelDialogfun('名称')">按名称导入
                                 </el-button>
@@ -107,8 +107,9 @@
                                     <el-button type="primary" plain size="small" slot="reference" @click="viewInventory"
                                         :disabled="selectionMultilist.length != 1">查看库存</el-button>
                                 </el-popover>
-                                <!-- <el-button type="primary" plain size="small" 
-                                    :disabled="selectionMultilist.length != 1">查看库存</el-button> -->
+                                <el-button type="primary" icon="el-icon-plus" size="small" :disabled="isAddBtn"
+                                @click="rowAdd(row,2)">无库存商品</el-button>
+                                <el-button type="primary" plain size="small">同步库存</el-button>
                             </template>
                             <template slot="goodsId" slot-scope="{ row }">
                                 {{ row.goodsName }}
@@ -293,8 +294,9 @@
                                 </el-button>
                             </template>
                             <template slot="inventory" slot-scope="scope">
-                                <span style="color: #489fef">{{ scope.row.inventory.slice(0,
-                                    scope.row.inventory.indexOf('.')) }}</span>
+                                <span style="color: #489fef">
+                                    {{ Number(scope.row.inventory)}}
+                                </span>
                             </template>
                         </avue-crud>
                     </basic-container>
@@ -309,8 +311,6 @@
                 <!--           :disabled="tableData.length !== 1">导入</el-button>-->
             </span>
         </el-dialog>
-
-
     </div>
 </template>
 
@@ -327,7 +327,9 @@ import {
     confirmRefund,
     revokeCheckOrder,
     goodsListXs,
-    revokeGenerateShipTask, goodsPageXs,
+    revokeGenerateShipTask, 
+    goodsPageXs,
+    getGoodAllList,
     generateReturns,
     whetherExistenceFinancing,
     checkOrderRW,
@@ -360,6 +362,7 @@ export default {
 
     data() {
         return {
+            goodsType:1,
             inventoryOption: {
                 header: false,
                 menu: false,
@@ -1564,6 +1567,7 @@ export default {
             this.treeDataGoods = [];
             this.treeDeptId = "";
             this.activeNameTabs = "searchList";
+            this.goodsType=1
         },
         //刷新触发
         refreshChange() {
@@ -1662,11 +1666,14 @@ export default {
                     // 价格
                     pricetype: false,
                 }
-                for (let ite of item.goodsFilesList) {
+                if(item.goodsFilesList&&item.goodsFilesList.length){
+                   for (let ite of item.goodsFilesList) {
                     if (ite.version == '0') {
                         obj.url = ite.url
                     }
+                   }
                 }
+
                 this.form.orderItemsList.push(obj)
             }
             this.dialogVisible = false
@@ -1690,9 +1697,10 @@ export default {
         },
         //导入商品弹窗列表查询
         onLoadfun(page, params = { artsVision: this.form.belongToCorpId }) {
-            console.log(params)
+            this.goodsListShow=[]
             this.loading = true;
-            goodsPageXs({
+            if(this.goodsType==1){
+                goodsPageXs({
                 current: page.currentPage,
                 size: page.pageSize,
                 customId: this.form.customerId,
@@ -1711,21 +1719,32 @@ export default {
                 for (let item of this.goodsListShow) {
                     item.goodsNum = item.goodsNum ? item.goodsNum : 0
                 }
-                // // 获取单价数据
-                // for(let item of this.goodsListShow) {
-                //     let page = {}
-                //     if (this.form.storageId) {
-                //         page.storageId = this.form.storageId
-                //     }
-                //     page.goodsId = item.goodsId
-                //     dotList(page).then(res=>{
-                //         // console.log(res.data.data[0].inventoryCostPrice)
-                //         item.price = res.data.data[0].inventoryCostPrice
-                //         // console.log(item)
-                //     })
-                // }
                 this.loading = false;
             })
+            }
+            if(this.goodsType==2){
+            getGoodAllList({
+                current: page.currentPage,
+                size: page.pageSize,
+                customId: this.form.customerId,
+                stock: this.form.storageId,
+                enableOrNot: 1,
+                goodsTypeId: this.treeDeptId,
+                ...Object.assign(params, this.SelectSearch),
+                whetherIntegral: '0'
+                }).then(res => {
+                res.data.data.records.forEach(item=>{
+                    item.goodsNum = item.goodsNum ? item.goodsNum : 0
+                    item.inventory= item.inventory ? item.inventory : 0
+                })
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.pageList.total = data.total
+                this.data = data.records;
+                this.goodsListShow = data.records;
+                this.loading = false;
+             })
+            }
         },
         // 采购明细行编辑
         hangeditBtn(row, index) {
@@ -2324,8 +2343,9 @@ export default {
                             // }
                         }
                         if (this.form.orderItemsList[i].goodsNum <= 0) {
-                            this.$message.warning(`销售明细序号${Number(i) + 1}的数量不能为零`);
+                            return this.$message.warning(`销售明细序号${Number(i) + 1}的数量不能为零`);
                             picihao = true
+                            
                         }
                     }
                     this.mingxibaocun = true
@@ -2863,13 +2883,13 @@ export default {
             done(form)
         },
         // 新增商品
-        rowAdd(row) {
+        rowAdd(row,type) {
             if (!this.form.customerId) {
                 this.$message.error('请选择客户')
                 return
             }
             this.findObject(this.optionContactsBack.column, 'goodsId').dicUrl = `/api/blade-sales-part/goodsDesc/goodsListXs?cname={{key}}&customId=${this.dicUrlWithCustomId}&enableOrNot=1&stock=${this.form.storageId}`
-
+            this.goodsType=type
             this.optionContactsBack.column.forEach(its => {
                 if (its.prop == 'goodsId' || its.prop == 'goodsNum' || its.prop == 'price' || its.prop == 'dot' || its.prop == 'remarks') {
                     its.disabled = false
@@ -2877,20 +2897,13 @@ export default {
                     its.disabled = true
                 }
             })
-            console.log('新增了', row);
-            // console.log(this.form.storageId,2038)
-            // if (this.form.storageId) {
-            //     this.page.billType = 0
-            // }else {
-            //     this.page.billType = 1
-            // }
             this.getAllWorkDicts()
-            this.refreshChange()
+          
             this.goodsListSave = []
             setTimeout(res => {
+                this.refreshChange()
                 this.dialogVisible = true
             }, 300)
-
             // this.$refs.formContacts.rowAdd()
         },
         //打印