瀏覽代碼

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/icore-pass

liyg 2 年之前
父節點
當前提交
3a223521b1

+ 1 - 1
build/utils.js

@@ -15,7 +15,7 @@ const devPathSrc = path.resolve(__dirname, '../../../src') // node_modules应用
 // ['index','appoint','configManager','homepage',''inward,'queue','RMS','sale','serviceManager','SporadicManage'
 //       统计报表       组织机构/系统管理 采购  仓储
 //  'statisticalReport','systemConfig','TMS','WMS','workFlow','ADMINISTRATORS']
-// let devModules = ['index', 'statisticalReport', 'inward']
+//let devModules = ['index', 'queue', 'statisticalReport','QMS','appoint','sale']
 let devModules = ['all']
 //let devModules=['index']
 if (pathSrc.indexOf('node_modules') > -1) {

+ 3 - 3
config/index.js

@@ -34,7 +34,7 @@ let proxyTable = {
     }
   },
   '/icore-api/v1': {
-    target: 'http://172.16.33.166:8088/api/v1/truckTms', // target: "http://localhost:8080", // target: "http://192.168.1.109:8080",
+    target: 'http://172.16.33.161:8088/api/v1/truckTms', // target: "http://localhost:8080", // target: "http://192.168.1.109:8080",
     ws: true,
     pathRewrite: {
       '^/icore-api/v1': ''
@@ -70,10 +70,10 @@ let proxyTable = {
       '^/icore.icp.web/game/v1': '/v1'
     }
   },
-  // 所有数据的请求域名地址
+  // 所有数据的请求域名地址r
   '/api/v1': {
     target: 'http://172.16.33.166:80',
-    // target: 'http://localhost:8080',
+    //target: 'http://localhost:8080',
     // target: 'http://192.168.1.104:8080',
     ws: true,
     pathRewrite: {

+ 105 - 104
src/components/DilCommonUI/packages/table/src/table.js

@@ -1,4 +1,4 @@
-import Sortablejs from "sortablejs";
+import Sortablejs from 'sortablejs'
 export default {
   data() {
     return {
@@ -21,17 +21,17 @@ export default {
       // 保存表格所有页面所选中的数据
       dataRadioId: [],
       // 保存表格单选的数据 保存数据的id
-      dataRadioId: ""
-    };
+      dataRadioId: ''
+    }
   },
   created() {
     if (this.isHeigth) {
-      window.addEventListener("resize", this.getHeight);
-      this.getHeight();
+      window.addEventListener('resize', this.getHeight)
+      this.getHeight()
     }
-    this.dataCurrentPage = this.currentPage;
-    this.dataPageSize = this.pageSize;
-    this.requestData();
+    this.dataCurrentPage = this.currentPage
+    this.dataPageSize = this.pageSize
+    this.requestData()
   },
   mounted() {
     //行拖拽
@@ -41,37 +41,37 @@ export default {
   },
   methods: {
     getHeight() {
-      this.height = window.innerHeight - this.shiyHeigth;
+      this.height = window.innerHeight - this.shiyHeigth
     },
     // 通过请求获取数据
     requestData(options) {
-      let pageNum = undefined;
-      let pageSize = undefined;
+      let pageNum = undefined
+      let pageSize = undefined
 
       if (options) {
-        pageNum = options.pageNum;
-        pageSize = options.pageSize;
+        pageNum = options.pageNum
+        pageSize = options.pageSize
       }
 
       if (this.requestUrl) {
         // 处理请求地址逻辑
-        let url;
-        if (this.requestUrl.indexOf("//") > -1) {
-          url = this.requestUrl;
+        let url
+        if (this.requestUrl.indexOf('//') > -1) {
+          url = this.requestUrl
         } else {
-          url = this.requestUrl;
+          url = this.requestUrl
         }
         // 判断是否需要在请求体中放入参数
         if (this.requestQuery) {
-          this.dataRequestQuery = this.requestQuery;
+          this.dataRequestQuery = this.requestQuery
         }
-        let data = undefined;
+        let data = undefined
         for (const key in this.dataRequestQuery) {
-          const val = this.dataRequestQuery[key];
+          const val = this.dataRequestQuery[key]
 
           if (val || val == 0) {
-            if (!data) data = {};
-            data[key] = val;
+            if (!data) data = {}
+            data[key] = val
           }
         }
         //判断是否是带分页查询
@@ -86,16 +86,17 @@ export default {
               }
             })
             .then(response => {
-              let d = response.data.data;
-              this.dataTabel = d.list;
-              this.dataTotal = d.total;
+              let d = response.data.data
+              this.dataTabel = d.list
+              this.dataTotal = d.total
               //执行成功的回调
-              this.$emit("func", response.data.data);
-              this.refreshColumnData(d.columnData);
+              this.$emit('func', response.data.data)
+              this.refreshColumnData(d.columnData)
               //this.$refs.mainTable.getTableConfig();
-              this.isShow = true;
-            });
+              this.isShow = true
+            })
         } else {
+          this.dataCurrentPage = 1
           // 发送请求
           this.axios
             .post(url, data, {
@@ -106,27 +107,27 @@ export default {
               }
             })
             .then(response => {
-              let d = response.data.data;
-              this.dataTabel = d.list;
-              this.dataTotal = d.total;
+              let d = response.data.data
+              this.dataTabel = d.list
+              this.dataTotal = d.total
               //执行成功的回调
-              this.$emit("func", response.data.data);
-              this.refreshColumnData(d.columnData);
+              this.$emit('func', response.data.data)
+              this.refreshColumnData(d.columnData)
               //this.$refs.mainTable.getTableConfig();
-              this.isShow = true;
-            });
+              this.isShow = true
+            })
         }
       } else {
-        console.warn("requestUrl 参数不能为 null");
+        console.warn('requestUrl 参数不能为 null')
       }
     },
     // 刷新表头显示数据
     refreshColumnData(columnData) {
       // 如果前端有写表头,则加在后端表头前面
-      const d = this.columnData.concat(columnData);
+      const d = this.columnData.concat(columnData)
       // 把操作列拼接到最后一列
-      this.dataColumnData = d;
-      this.dataDropColumn = [].concat(this.dataColumnData);
+      this.dataColumnData = d
+      this.dataDropColumn = [].concat(this.dataColumnData)
     },
     // 排序回调
     sortChange({ column, prop, order }) {
@@ -151,108 +152,108 @@ export default {
 
       // 后端排序
       let s = {
-        ascending: "asc",
-        descending: "desc"
-      };
+        ascending: 'asc',
+        descending: 'desc'
+      }
 
       let value = {
         orderType: s[order] || undefined,
         orderField: order ? prop : undefined
-      };
+      }
 
-      this.setDataRequestQuery(value);
+      this.setDataRequestQuery(value)
     },
     // 更新请求参数
     setDataRequestQuery(value) {
-      let q = this.dataRequestQuery;
+      let q = this.dataRequestQuery
       for (const key in value) {
-        q[key] = value[key];
+        q[key] = value[key]
       }
-      this.requestData(q);
-      this.$emit("update:requestQuery", q);
-      this.dataRequestQuery = q;
+      this.requestData(q)
+      this.$emit('update:requestQuery', q)
+      this.dataRequestQuery = q
     },
     // 格式化字符串
     getString(str) {
       if (str != null && str != undefined && str.toString) {
-        return str.toString();
+        return str.toString()
       } else {
-        return str || "";
+        return str || ''
       }
     },
     // 当某一行被点击时会触发该事件
     rowClick(row, column, event) {
-      if (this.selectionType == "radio") {
+      if (this.selectionType == 'radio') {
         if (this.dataRadioId == row.ROW_ID) {
-          this.dataRadioId = "";
-          row = {};
+          this.dataRadioId = ''
+          row = {}
         } else {
-          this.dataRadioId = row.ROW_ID;
+          this.dataRadioId = row.ROW_ID
         }
-        this.$emit("radio-change", row);
+        this.$emit('radio-change', row)
       }
     },
     // 多选的选中行改变回调
     selectionChange(selection) {
       // this.dataSelection = selection;
       // 将多选中的数据抛出
-      this.$emit("selection-change", selection);
+      this.$emit('selection-change', selection)
     },
     // 当表格的筛选条件发生变化的时候会触发该事件,
     // 参数的值是一个对象,对象的 key 是 column 的 columnKey,对应的 value 为用户选择的筛选条件的数组。
     filterChange(filters) {
-      let value = {};
+      let value = {}
       for (const key in filters) {
-        value[key] = filters[key].length > 0 ? filters[key] : undefined;
+        value[key] = filters[key].length > 0 ? filters[key] : undefined
       }
       // 每次筛选时,都默认将页面改为第一页,避免数据过少时,显示没有数据
-      this.currentChange(1, false);
-      this.setDataRequestQuery(value);
+      this.currentChange(1, false)
+      this.setDataRequestQuery(value)
     },
     // 行拖拽
     rowDrop() {
-      const tbody = document.querySelector(".el-table__body-wrapper tbody");
-      const _this = this;
+      const tbody = document.querySelector('.el-table__body-wrapper tbody')
+      const _this = this
       Sortablejs.create(tbody, {
         onEnd({ newIndex, oldIndex }) {
-          const currRow = _this.dataTabel.splice(oldIndex, 1)[0];
-          _this.dataTabel.splice(newIndex, 0, currRow);
+          const currRow = _this.dataTabel.splice(oldIndex, 1)[0]
+          _this.dataTabel.splice(newIndex, 0, currRow)
         }
-      });
+      })
     },
     // 列拖拽
     columnDrop() {
-      const wrapperTr = document.querySelector(".el-table__header-wrapper tr");
+      const wrapperTr = document.querySelector('.el-table__header-wrapper tr')
       this.sortablejs = Sortablejs.create(wrapperTr, {
         animation: 180,
         delay: 0,
-        handle: ".allowDrag",
+        handle: '.allowDrag',
         onEnd: evt => {
           // 因为序号列和单多选列不在数组中,所以需要进行偏移计算
-          const offset = this.dragColumnOffset;
-          evt.oldIndex -= offset;
-          evt.newIndex -= offset;
+          const offset = this.dragColumnOffset
+          evt.oldIndex -= offset
+          evt.newIndex -= offset
           // 换列
-          const oldItem = this.dataDropColumn[evt.oldIndex];
-          this.dataDropColumn.splice(evt.oldIndex, 1);
-          this.dataDropColumn.splice(evt.newIndex, 0, oldItem);
+          const oldItem = this.dataDropColumn[evt.oldIndex]
+          this.dataDropColumn.splice(evt.oldIndex, 1)
+          this.dataDropColumn.splice(evt.newIndex, 0, oldItem)
         }
-      });
+      })
     },
     // current-page 改变时会触发
     currentChange(val, isRequest = true) {
       if (isRequest) {
-        this.requestData({ pageNum: val });
+        this.requestData({ pageNum: val })
       }
       // 最后通知父节点页面改变
-      this.dataCurrentPage = val;
-      this.$emit("update:current-page", val);
+      this.dataCurrentPage = val
+      this.$emit('update:current-page', val)
     },
     // pageSize 改变时会触发
     sizeChange(val) {
-      this.dataPageSize = val;
-      this.requestData({});
-      this.$emit("update:size-change", val);
+      this.dataPageSize = val
+      this.requestData({})
+      this.$emit('update:size-change', val)
     }
   },
   computed: {
@@ -260,53 +261,53 @@ export default {
     dataSortable() {
       return function(item) {
         if (item.template) {
-          return false;
+          return false
         } else if (item.sortable) {
-          return item.sortable;
+          return item.sortable
         } else {
-          return this.sortable;
+          return this.sortable
         }
-      };
+      }
     },
     // 计算每列的最小宽度
     dataColumnMinWidth() {
       return function(item) {
-        let mw = 0;
+        let mw = 0
         if (this.dataSortable(item)) {
           // 如果使用排序功能
-          mw += 30;
+          mw += 30
         }
 
         if (item.filters && item.filters.length > 0) {
-          mw += 20;
+          mw += 20
         }
         if (item.label) {
-          mw += item.label.toString().length * 30;
+          mw += item.label.toString().length * 30
         }
-        return mw;
-      };
+        return mw
+      }
     },
     // 计算拖拽列的偏移差
     dragColumnOffset() {
-      let o = 0;
+      let o = 0
       if (this.showIndex) {
-        o++;
+        o++
       }
-      if (this.selectionType != "") {
-        o++;
+      if (this.selectionType != '') {
+        o++
       }
-      return o;
+      return o
     }
   },
   watch: {
     requestQuery: {
       deep: true,
       handler(val, oldVal) {
-        let q = this.dataRequestQuery;
+        let q = this.dataRequestQuery
         for (const key in val) {
-          q[key] = val[key] ? val[key] : undefined;
+          q[key] = val[key] ? val[key] : undefined
         }
-        this.setDataRequestQuery(q);
+        this.setDataRequestQuery(q)
       }
     }
   },
@@ -316,18 +317,18 @@ export default {
     componentProxy: {
       props: {
         html: {
-          default: ""
+          default: ''
         },
         scope: {
           default() {
-            return {};
+            return {}
           }
         }
       },
       template: ``,
       created() {
-        this.$options.template = this.html;
+        this.$options.template = this.html
       }
     }
   }
-};
+}

+ 2 - 1
src/components/main.vue

@@ -946,7 +946,8 @@ export default {
         noticecontent:'ceshi',
         insertusername:'ceshi',
         inserttime:'ceshi'
-      }
+      },
+      allowed: []
     }
   },
   created() {

+ 60 - 0
src/utils/base64ToBlob.js

@@ -0,0 +1,60 @@
+/**
+ * desc: base64对象转blob文件对象
+ * @param urlData  :数据的base64对象
+ * @param type  :类型 png,pdf,doc,mp3等;
+ * @returns {Blob}:Blob文件对象
+ */
+function base64ToBlob(urlData, type) {
+  let arr = urlData.split(',')
+  let array = arr[0].match(/:(.*?);/)
+  let mime = (array && array.length > 1 ? array[1] : type) || type
+  // 去掉url的头,并转化为byte
+  let bytes = window.atob(arr[1])
+  // 处理异常,将ascii码小于0的转换为大于0
+  let ab = new ArrayBuffer(bytes.length)
+  // 生成视图(直接针对内存):8位无符号整数,长度1个字节
+  let ia = new Uint8Array(ab)
+  for (let i = 0; i < bytes.length; i++) {
+    ia[i] = bytes.charCodeAt(i)
+  }
+  return new Blob([ab], {
+    type: mime
+  })
+}
+
+/**
+ * desc: 下载导出文件
+ * @param blob  :返回数据的blob对象或链接
+ * @param fileName  :下载后文件名标记
+ * @param fileType  :文件类 word(docx) excel(xlsx) ppt等
+ */
+function downloadExportFile(blob, fileName, fileType) {
+  let downloadElement = document.createElement('a')
+  let href = blob
+
+  if (typeof blob == 'string') {
+    downloadElement.target = '_blank'
+  } else {
+    href = window.URL.createObjectURL(blob) //创建下载的链接
+  }
+  console.log(href, 'href')
+  downloadElement.href = href
+  downloadElement.download = fileName + '.' + fileType //下载后文件名
+  document.body.appendChild(downloadElement)
+  downloadElement.click() //触发点击下载
+  document.body.removeChild(downloadElement) //下载完成移除元素
+  if (typeof blob != 'string') {
+    window.URL.revokeObjectURL(href) //释放掉blob对象
+  }
+}
+
+/**
+ * desc: base64转文件并下载
+ * @param base64 {String} : base64数据
+ * @param fileType {String} : 要导出的文件类型png,pdf,doc,mp3等
+ * @param fileName {String} : 文件名
+ */
+export function downloadFile(base64, fileName, fileType) {
+  let blob = base64ToBlob(base64, fileType) // 转成blob对象
+  downloadExportFile(blob, fileName, fileType) // 下载文件
+}

+ 1 - 1
src/views/index/components/login.vue

@@ -228,7 +228,7 @@ export default {
                   offset: 300
                 })
                 this.loginBtnLoading = false
-                this.$router.go(0)
+                // this.$router.go(0)
               }
             })
             .catch(() => {

+ 163 - 23
src/views/queue/components/qmsEnFacotory/queueFStart.vue

@@ -123,9 +123,12 @@
               reserve-selection
               :selectable="selectInit"
             ></el-table-column>
-            <el-table-column type="index" width="50"> </el-table-column>
             <el-table-column prop="capacityNumber" label="车牌号" fit>
             </el-table-column>
+            <el-table-column
+              prop="listNodeOrder"
+              label="序号"
+            ></el-table-column>
             <el-table-column prop="resultStartTime" label="排队开始时间">
             </el-table-column>
             <el-table-column prop="consigneeName" label="客户" fit>
@@ -162,10 +165,82 @@
 
             <el-table-column prop="gatepostName" label="进厂门岗">
             </el-table-column>
+            <el-table-column fixed="right" label="操作" width="180">
+              <template slot-scope="scope">
+                <el-button
+                  type="text"
+                  size="mini"
+                  @click="ctrlZQueueAllow(scope)"
+                >
+                  撤销放行
+                </el-button>
+                <el-button type="text" size="mini" @click="updateBill(scope)">
+                  修改提货单
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="两拼车辆排队链表" name="fourth">
+          <el-table
+            :data="tableData2"
+            :span-method="objectSpanMethod"
+            border
+            style="width: 100%; margin-top: 20px"
+            @selection-change="handleSelectionChange"
+            :row-key="getRowKey"
+            max-height="500px"
+            ref="spellData"
+          >
+            <el-table-column
+              type="selection"
+              width="55"
+              reserve-selection
+              :selectable="selectInitSplleing"
+            ></el-table-column>
+            <el-table-column prop="capacityNumber" label="车牌号" fit>
+            </el-table-column>
             <el-table-column
               prop="listNodeOrder"
               label="序号"
             ></el-table-column>
+            <el-table-column prop="resultStartTime" label="排队开始时间">
+            </el-table-column>
+            <el-table-column prop="consigneeName" label="客户" fit>
+            </el-table-column>
+            <el-table-column prop="materialName" label="物资名称">
+            </el-table-column>
+            <el-table-column prop="steelMeter" label="钢材长度">
+            </el-table-column>
+            <el-table-column prop="materialSpecification" label="规格型号">
+            </el-table-column>
+            <el-table-column prop="materialNumber" label="物资件数">
+            </el-table-column>
+            <el-table-column label="装货点" width="100">
+              <template slot-scope="scope">
+                <el-select
+                  size="mini"
+                  v-model="scope.row.id"
+                  @change="changePriority(scope.row)"
+                >
+                  <el-option
+                    v-for="item in option"
+                    :key="item.id"
+                    :label="item.value"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="grid" label="拼数" fit> </el-table-column>
+            <el-table-column prop="driverTel" label="司机电话号码">
+            </el-table-column>
+            <el-table-column prop="gatepostName" label="进厂门岗">
+            </el-table-column>
+            <el-table-column prop="sureTime" label="可进厂确认时间">
+            </el-table-column>
+
             <el-table-column fixed="right" label="操作" width="180">
               <template slot-scope="scope">
                 <el-button
@@ -189,16 +264,22 @@
             border
             style="width: 100%; margin-top: 20px"
             @selection-change="handleSelectionChange"
+            :row-key="getRowKey"
             max-height="500px"
+            ref="spellData"
           >
-            <el-table-column type="selection" width="55"></el-table-column>
             <el-table-column
-              width="80"
-              align="center"
-              prop="Nosort"
+              type="selection"
+              width="55"
+              reserve-selection
+              :selectable="selectInitSplleing"
             ></el-table-column>
             <el-table-column prop="capacityNumber" label="车牌号" fit>
             </el-table-column>
+            <el-table-column
+              prop="listNodeOrder"
+              label="序号"
+            ></el-table-column>
             <el-table-column prop="resultStartTime" label="排队开始时间">
             </el-table-column>
             <el-table-column prop="consigneeName" label="客户" fit>
@@ -229,11 +310,6 @@
               </template>
             </el-table-column>
             <el-table-column prop="grid" label="拼数" fit> </el-table-column>
-
-            <el-table-column
-              prop="listNodeOrder"
-              label="序号"
-            ></el-table-column>
             <el-table-column prop="driverTel" label="司机电话号码">
             </el-table-column>
             <el-table-column prop="gatepostName" label="进厂门岗">
@@ -297,6 +373,7 @@ export default {
       activeName: 'first',
       tableData: [],
       tableData1: [],
+      tableData2:[],
       tableData3: [],
       //存放每一行记录的合并数
       spanArr: [],
@@ -319,7 +396,8 @@ export default {
       i: 0,
       totalQueueNumFirst: null,
       //厂内钢材车辆总数
-      steelOrderNum: 0
+      steelOrderNum: 0,
+      isQueryCapacity: null
     }
   },
   mounted() {
@@ -397,6 +475,7 @@ export default {
       this.redDotNum = null
       this.totalQueueNum = null
       this.totalQueueNumFirst = null
+      this.isQueryCapacity = null
       this.i = 0
       clearInterval(this.timer)
       this.start()
@@ -428,6 +507,25 @@ export default {
         }
       }
     },
+    selectInitSplleing(row) {
+      if (this.maplist.length == 0) {
+        if (row.ROW_ID == 1) {
+          return true
+        } else {
+          return false
+        }
+      } else {
+        if (
+          this.maplist.some(e => {
+            return e.ROW_ID == row.ROW_ID || e.ROW_ID + 1 == row.ROW_ID
+          })
+        ) {
+          return true
+        } else {
+          return false
+        }
+      }
+    },
     rowDbClick(row) {
       this.materialList = []
       this.materialList.push(row)
@@ -471,13 +569,20 @@ export default {
           .then(res => {
             this.tableData1 = res.data.data
           })
-      } else {
+      } else if(this.activeName ==second){
         this.axios
           .post('/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1', map)
           .then(res => {
             this.tableData = res.data.data
             this.getSpanArr(this.tableData)
           })
+      }else if (this.activeName == fourth){
+        this.axios
+          .post('/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=2', map)
+          .then(res => {
+            this.tableData2 = res.data.data
+            this.getSpanArr(this.tableData2)
+          })
       }
       this.table1 = false
     },
@@ -495,26 +600,23 @@ export default {
         if (i === 0) {
           this.spanArr.push(1)
           this.pos = 0
+          data[i].group = i
+          data[i].ROW_ID = i + 1
         } else {
           // 判断当前元素与上一个元素是否相同
           if (data[i].resultTotalId === data[i - 1].resultTotalId) {
             this.spanArr[this.pos] += 1
             this.spanArr.push(0)
+            data[i].group = data[i - 1].group
+            data[i].ROW_ID = data[i - 1].ROW_ID
           } else {
             this.spanArr.push(1)
             this.pos = i
+            data[i].group = data[i - 1].group + 1
+            data[i].ROW_ID = data[i - 1].ROW_ID + 1
           }
         }
       }
-
-      // 表格序号
-      let Nosort = 0
-      for (let n in this.spanArr) {
-        if (this.spanArr[n] > 0) {
-          Nosort += 1
-          this.$set(data[n], 'Nosort', Nosort)
-        }
-      }
     },
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
       if (
@@ -547,6 +649,8 @@ export default {
         this.getNoSpellingArray()
       } else if (this.activeName == 'second') {
         this.getSpellingArray()
+      }else if (this.activeName == 'fourth'){
+        this.getSpellingArrayTwo()
       } else {
         this.getStoreArray()
       }
@@ -556,6 +660,7 @@ export default {
         .post('/api/v1/qms/getQueueListByQueueUp?isSpelling=0&i=' + new Date())
         .then(res => {
           this.tableData1 = res.data.data
+          this.isQueryCapacity = null
           console.log(this.tableData1)
         })
     },
@@ -567,10 +672,24 @@ export default {
         )
         .then(res => {
           this.tableData = res.data.data
+          this.isQueryCapacity = null
           console.log(this.tableData)
           this.getSpanArr(this.tableData)
         })
     },
+    getSpellingArrayTwo() {
+      this.axios
+        .post(
+          '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=2&i=' +
+          new Date()
+        )
+        .then(res => {
+          this.tableData2 = res.data.data
+          this.isQueryCapacity = null
+          console.log(this.tableData2)
+          this.getSpanArr(this.tableData2)
+        })
+    },
     getStoreArray() {
       this.axios.post('/api/v1/qms/getStoreQueueList').then(res => {
         this.tableData3 = res.data.data
@@ -587,10 +706,11 @@ export default {
               this.capacityNo
           )
           .then(res => {
+            this.isQueryCapacity = 1
             this.tableData1 = res.data.data
           })
         console.log('wzxxx')
-      } else {
+      } else if (this.activeName == second){
         this.axios
           .post(
             '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1&i=' +
@@ -599,9 +719,23 @@ export default {
               this.capacityNo
           )
           .then(res => {
+            this.isQueryCapacity = 1
             this.tableData = res.data.data
             this.getSpanArr(this.tableData)
           })
+      }else if (this.activeName ==fourth){
+        this.axios
+          .post(
+            '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=2&i=' +
+            new Date() +
+            '&capacityNumber=' +
+            this.capacityNo
+          )
+          .then(res => {
+            this.isQueryCapacity = 1
+            this.tableData2 = res.data.data
+            this.getSpanArr(this.tableData2)
+          })
       }
     },
     handleSelectionChange(selection) {
@@ -611,6 +745,7 @@ export default {
         if (i + 1 < this.maplist.length) {
           if (this.maplist[i].ROW_ID + 1 != this.maplist[i + 1].ROW_ID) {
             this.$refs.mutiData.clearSelection()
+            this.$refs.spellData.clearSelection()
           }
         }
       }
@@ -621,6 +756,7 @@ export default {
         })
       ) {
         this.$refs.mutiData.clearSelection()
+        this.$refs.spellData.clearSelection()
       }
     },
     updateBill(scope) {
@@ -686,11 +822,14 @@ export default {
       })
       let map = {
         ssoId: getCookie('userId'),
-        mapList: filterArr2
+        mapList: filterArr2,
+        isQueryCapacity: this.isQueryCapacity
       }
       if (this.activeName == 'first') {
         map.mapList = this.maplist
       }
+      console.log("勾选的数据")
+      console.log(map)
       this.axios.post('/api/v1/qms/allowEnFactory', map).then(res => {
         if (res.data.code == '200') {
           this.$message({
@@ -702,6 +841,7 @@ export default {
           })
           this.maplist = []
           this.$refs.mutiData.clearSelection()
+          this.$refs.spellData.clearSelection()
           this.getNoSpellingArray()
           this.getSpellingArray()
           this.getStoreArray()

+ 2 - 1
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelAllReport.vue

@@ -640,7 +640,8 @@ export default {
       src2: '',
       isShow2: false,
       maxHeight: window.innerHeight - 140,
-      input1: null
+      input1: null,
+      saleSteelKey: false
     }
   },
   created() {

+ 48 - 49
src/views/statisticalReport/components/salesLogisticsStatistics/saleSteelReports.vue

@@ -125,7 +125,6 @@
         @row-click="rowClick"
         :cell-style="cellStyle"
         @filter-change="filterChange"
-        :lazy="true"
       >
         <el-table-column
           width="50"
@@ -370,22 +369,18 @@
     </div>
     <div>
       <vxe-modal
-        width="549px"
-        height="731px"
+        width="80%"
+        height="80%"
         v-model="isShow3"
         show-footer
         class="vxeModal"
       >
-          <div
-          class="demo-image__preview"
-          v-for="item in srcList"
-          :key="item.src"
-        >
+        <div class="demo-image__preview" v-for="(item, i) in srcList" :key="i">
           <span>{{ item.title }}</span>
           <el-image
-            style="height:731px;text-align:center"
             :src="item.src"
-            @click="receiveClick(item.src)"
+            fit="fill"
+            @click.prevent.right="receiveClick(item.src, '抵达')"
           >
             <div slot="error" class="image-slot">
               <span>司机未上传图片</span>
@@ -393,17 +388,12 @@
           </el-image>
         </div>
       </vxe-modal>
-      <vxe-modal width="549px" height="731px" v-model="isShow4" show-footer>
-        <div
-          class="demo-image__preview"
-          v-for="item in srcList2"
-          :key="item.src"
-        >
-          <span>{{ item.title }}</span>
+      <vxe-modal width="80%" height="80%" v-model="isShow4">
+        <div class="demo-image__preview" v-for="(item, i) in srcList2" :key="i">
           <el-image
-            style="height:731px;text-align:center"
             :src="item.src"
-            @click="receiveClick(item.src)"
+            fit="fill"
+            @click.prevent.right="receiveClick(item.src, '签收')"
           >
             <div slot="error" class="image-slot">
               <span>司机未上传图片</span>
@@ -771,17 +761,20 @@
           >
             <div class="demo-image__preview">
               <div
-              class="demo-image__preview"
-              v-for="(item, index) in srcList"
-              :key="index"
-            >
-              <span>{{ item.title }}</span>
-              <el-image style="height:731px;text-align:center" :src="item.src">
-                <div slot="error" class="image-slot">
-                  <span>司机未上传抵达图片</span>
-                </div>
-              </el-image>
-            </div>
+                class="demo-image__preview"
+                v-for="(item, index) in srcList"
+                :key="index"
+              >
+                <span>{{ item.title }}</span>
+                <el-image
+                  style="height:731px;text-align:center"
+                  :src="item.src"
+                >
+                  <div slot="error" class="image-slot">
+                    <span>司机未上传抵达图片</span>
+                  </div>
+                </el-image>
+              </div>
             </div>
           </vxe-modal>
           <vxe-modal
@@ -999,7 +992,7 @@
       :visible.sync="arrivalReceiving"
       :before-close="closeUpload"
     >
-      <el-form  style="margin-left:20%">
+      <el-form style="margin-left:20%">
         <el-form-item label="车牌号码">
           <el-input
             v-model="capacityNumber"
@@ -1060,6 +1053,7 @@ import { sjTime, isVehicleNumber } from '@/utils/sharedJsFile'
 import { getCookie } from '@/utils/util.js'
 import PathView from './mapTest.vue'
 import currentLocation from './currentLocation.vue'
+import { downloadFile } from '@/utils/base64ToBlob.js'
 export default {
   components: {
     PathView,
@@ -1268,6 +1262,7 @@ export default {
       originalPriceValue: null,
       originalAddress: null,
       aaadrawer: false,
+      downloadCapacityNo: null,
       ops: {
         vuescroll: {},
         scrollPanel: {},
@@ -1378,9 +1373,10 @@ export default {
   },
   computed: {},
   methods: {
-    receiveClick(src) {
-      this.dialogImageUrl = src
-      this.dialogVisible = true
+    receiveClick(src, title) {
+      // this.dialogImageUrl = src
+      downloadFile(src, `${this.downloadCapacityNo}${title}照片`, '.jpg')
+      // this.dialogVisible = true
     },
     selectAddresClick() {
       if (this.addresText) {
@@ -1542,7 +1538,7 @@ export default {
       this.isLoading = true
       //上传抵达
       let formData = new window.FormData()
-      formData.append('file1', this.fileListArrival[0].raw);
+      formData.append('file1', this.fileListArrival[0].raw)
       formData.append('file2', this.fileListArrival[1].raw)
       formData.append('orderNumber', this.orderNumber)
       formData.append('resultArrivalAddress', this.location)
@@ -1854,12 +1850,12 @@ export default {
         this.tableRowIndex = ''
       }
     },
-    // reset() {
-    //   var that = this
-    //   that.$nextTick(() => {
-    //     that.saleSteelKey = !that.saleSteelKey
-    //   })
-    // },
+    reset() {
+      var that = this
+      that.$nextTick(() => {
+        that.saleSteelKey = !that.saleSteelKey
+      })
+    },
     checkTrans(row) {
       this.isRowClick = 0
       if (Object.values(this.steelMap).length == 0) {
@@ -1895,11 +1891,13 @@ export default {
       console.log(row)
       if (column.property == 'arrivalAddress') {
         if (row.orderNo && row.arrivalAddress) {
+          this.downloadCapacityNo = row.capacityNo
           this.toPhotoClick(row.orderNo, 1)
         }
       }
       if (column.property == 'receiptAddress') {
         if (row.orderNo && row.receiptAddress) {
+          this.downloadCapacityNo = row.capacityNo
           this.receipctPhotoClick(row.orderNo, 1)
         }
       }
@@ -1945,14 +1943,14 @@ export default {
         .post('/api/v1/otms/getArrivalPhoto?orderNumber=' + orderNo)
         .then(res => {
           this.srcList = []
-           this.srcList.push({
-              title: '车头照片',
-              src: res.data[0]
-            });
-            this.srcList.push({
-              title: '满货箱照片',
-              src: res.data[1]
-            });
+          this.srcList.push({
+            title: '车头照片',
+            src: res.data[0]
+          })
+          this.srcList.push({
+            title: '满货箱照片',
+            src: res.data[1]
+          })
           if (num == 1) {
             this.isShow3 = true
           } else {
@@ -2925,6 +2923,7 @@ export default {
       background-color: transparent;
     }
   }
+
   .dialog {
     .steelMapClass {
       .steelMapClass1 {