浏览代码

Merge branch 'master' of git.echepei.com:zhujiawei/Warehouse_management_ui into master

qukaidi 4 年之前
父节点
当前提交
a95dfbde13

+ 1 - 1
src/api/warehouseBusiness/goodsTransfer.js

@@ -100,7 +100,7 @@ export function RevocationApproval(data){
 // 撤销请核
 export function backFee(fId) {
   return request({
-    url: '/warehouseBusiness/inStock/withdrawById/' + fId,
+    url: '/warehouseBusiness/goodsTransfer/withdrawById/' + fId,
     method: 'get',
   })
 }

+ 184 - 181
src/utils/dialog.js

@@ -1,187 +1,187 @@
 
 import Vue from 'vue'
-Vue.directive('dialogDrag', {
-  bind(el, binding, vnode, oldVnode) {
-    // 弹框可拉伸最小宽高
-    const minWidth = 400
-    const minHeight = 300
-    // 初始非全屏
-    let isFullScreen = false
-    // 当前顶部高度
-    let nowMarginTop = 0
-    // 获取弹框头部(这部分可双击全屏)
-    const dialogHeaderEl = el.querySelector('.el-dialog__header')
-    // 弹窗
-    const dragDom = el.querySelector('.el-dialog')
-    // 给弹窗加上overflow auto;不然缩小时框内的标签可能超出dialog;
-    dragDom.style.overflow = 'auto'
-    // 清除选择头部文字效果
-    // dialogHeaderEl.onselectstart = new Function("return false");
-    // 头部加上可拖动cursor
-    dialogHeaderEl.style.cursor = 'move'
-    // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
-    const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
-    const moveDown = e => {
-      // 鼠标按下,计算当前元素距离可视区的距离
-      const disX = e.clientX - dialogHeaderEl.offsetLeft
-      const disY = e.clientY - dialogHeaderEl.offsetTop
-      // 获取到的值带px 正则匹配替换
-      let styL, styT
-      // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
-      if (sty.left.includes('%')) {
-        styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
-        styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
-      } else {
-        styL = +sty.left.replace(/\px/g, '')
-        styT = +sty.top.replace(/\px/g, '')
-      }
-      document.onmousemove = function(e) {
-        // 通过事件委托,计算移动的距离
-        const l = e.clientX - disX
-        const t = e.clientY - disY
-        // 移动当前元素
-        dragDom.style.left = `${l + styL}px`
-        dragDom.style.top = `${t + styT}px`
-        // 将此时的位置传出去
-        // binding.value({x:e.pageX,y:e.pageY})
-      }
-      document.onmouseup = function(e) {
-        document.onmousemove = null
-        document.onmouseup = null
-      }
-    }
-    dialogHeaderEl.onmousedown = moveDown
-    // 当前宽高
-    let nowWidth = 0
-    // let nowHight = 0
-    // 双击头部全屏效果
-    dialogHeaderEl.ondblclick = e => {
-      if (isFullScreen === false) {
-        // nowHight = dragDom.clientHeight
-        nowWidth = dragDom.clientWidth
-        nowMarginTop = dragDom.style.marginTop
-        dragDom.style.left = 0
-        dragDom.style.top = 0
-        dragDom.style.height = '100VH'
-        dragDom.style.width = '100VW'
-        dragDom.style.marginTop = 0
-        isFullScreen = true
-        dialogHeaderEl.style.cursor = 'initial'
-        dialogHeaderEl.onmousedown = null
-      } else {
-        dragDom.style.height = 'auto'
-        dragDom.style.width = nowWidth + 'px'
-        dragDom.style.marginTop = nowMarginTop
-        isFullScreen = false
-        dialogHeaderEl.style.cursor = 'move'
-        dialogHeaderEl.onmousedown = moveDown
-      }
-    }
-    dragDom.onmousemove = function(e) {
-      // let moveE = e
-      if (
-        e.clientX > dragDom.offsetLeft + dragDom.clientWidth - 10 ||
-        dragDom.offsetLeft + 10 > e.clientX
-      ) {
-        dragDom.style.cursor = 'w-resize'
-      } else if (
-        el.scrollTop + e.clientY >
-        dragDom.offsetTop + dragDom.clientHeight - 10
-      ) {
-        dragDom.style.cursor = 's-resize'
-      } else {
-        dragDom.style.cursor = 'default'
-
-        dragDom.onmousedown = null
-      }
-      dragDom.onmousedown = e => {
-        const clientX = e.clientX
-        const clientY = e.clientY
-        const elW = dragDom.clientWidth
-        const elH = dragDom.clientHeight
-        const EloffsetLeft = dragDom.offsetLeft
-        const EloffsetTop = dragDom.offsetTop
-        dragDom.style.userSelect = 'none'
-        const ELscrollTop = el.scrollTop
-        // 判断点击的位置是不是为头部
-        if (
-          clientX > EloffsetLeft &&
-          clientX < EloffsetLeft + elW &&
-          clientY > EloffsetTop &&
-          clientY < EloffsetTop + 100
-        ) {
-          // 如果是头部在此就不做任何动作,以上有绑定dialogHeaderEl.onmousedown = moveDown;
-        } else {
-          document.onmousemove = function(e) {
-            // 移动时禁用默认事件
-            e.preventDefault()
-            // 左侧鼠标拖拽位置
-            if (clientX > EloffsetLeft && clientX < EloffsetLeft + 10) {
-              // 往左拖拽
-              if (clientX > e.clientX) {
-                dragDom.style.width = elW + (clientX - e.clientX) * 2 + 'px'
-              }
-              // 往右拖拽
-              if (clientX < e.clientX) {
-                if (dragDom.clientWidth < minWidth) {
-                  console.log()
-                } else {
-                  dragDom.style.width = elW - (e.clientX - clientX) * 2 + 'px'
-                }
-              }
-            }
-            // 右侧鼠标拖拽位置
-            if (
-              clientX > EloffsetLeft + elW - 10 &&
-              clientX < EloffsetLeft + elW
-            ) {
-              // 往左拖拽
-              if (clientX > e.clientX) {
-                if (dragDom.clientWidth < minWidth) {
-                  console.log()
-                } else {
-                  dragDom.style.width = elW - (clientX - e.clientX) * 2 + 'px'
-                }
-              }
-              // 往右拖拽
-              if (clientX < e.clientX) {
-                dragDom.style.width = elW + (e.clientX - clientX) * 2 + 'px'
-              }
-            }
-            // 底部鼠标拖拽位置
-            if (
-              ELscrollTop + clientY > EloffsetTop + elH - 20 &&
-              ELscrollTop + clientY < EloffsetTop + elH
-            ) {
-              // 往上拖拽
-              if (clientY > e.clientY) {
-                if (dragDom.clientHeight < minHeight) {
-                  console.log()
-                } else {
-                  dragDom.style.height = elH - (clientY - e.clientY) * 2 + 'px'
-                }
-              }
-              // 往下拖拽
-              if (clientY < e.clientY) {
-                dragDom.style.height = elH + (e.clientY - clientY) * 2 + 'px'
-              }
-            }
-          }
-          // 拉伸结束
-          document.onmouseup = function(e) {
-            document.onmousemove = null
-
-            document.onmouseup = null
-          }
-        }
-      }
-    }
-  }
-})
+// Vue.directive('dialogDrag', {
+//   bind(el, binding, vnode, oldVnode) {
+//     // 弹框可拉伸最小宽高
+//     const minWidth = 400
+//     const minHeight = 300
+//     // 初始非全屏
+//     let isFullScreen = false
+//     // 当前顶部高度
+//     let nowMarginTop = 0
+//     // 获取弹框头部(这部分可双击全屏)
+//     const dialogHeaderEl = el.querySelector('.el-dialog__header')
+//     // 弹窗
+//     const dragDom = el.querySelector('.el-dialog')
+//     // 给弹窗加上overflow auto;不然缩小时框内的标签可能超出dialog;
+//     dragDom.style.overflow = 'auto'
+//     // 清除选择头部文字效果
+//     // dialogHeaderEl.onselectstart = new Function("return false");
+//     // 头部加上可拖动cursor
+//     dialogHeaderEl.style.cursor = 'move'
+//     // 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
+//     const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
+//     const moveDown = e => {
+//       // 鼠标按下,计算当前元素距离可视区的距离
+//       const disX = e.clientX - dialogHeaderEl.offsetLeft
+//       const disY = e.clientY - dialogHeaderEl.offsetTop
+//       // 获取到的值带px 正则匹配替换
+//       let styL, styT
+//       // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
+//       if (sty.left.includes('%')) {
+//         styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
+//         styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
+//       } else {
+//         styL = +sty.left.replace(/\px/g, '')
+//         styT = +sty.top.replace(/\px/g, '')
+//       }
+//       document.onmousemove = function(e) {
+//         // 通过事件委托,计算移动的距离
+//         const l = e.clientX - disX
+//         const t = e.clientY - disY
+//         // 移动当前元素
+//         dragDom.style.left = `${l + styL}px`
+//         dragDom.style.top = `${t + styT}px`
+//         // 将此时的位置传出去
+//         // binding.value({x:e.pageX,y:e.pageY})
+//       }
+//       document.onmouseup = function(e) {
+//         document.onmousemove = null
+//         document.onmouseup = null
+//       }
+//     }
+//     dialogHeaderEl.onmousedown = moveDown
+//     // 当前宽高
+//     let nowWidth = 0
+//     // let nowHight = 0
+//     // 双击头部全屏效果
+//     dialogHeaderEl.ondblclick = e => {
+//       if (isFullScreen === false) {
+//         // nowHight = dragDom.clientHeight
+//         nowWidth = dragDom.clientWidth
+//         nowMarginTop = dragDom.style.marginTop
+//         dragDom.style.left = 0
+//         dragDom.style.top = 0
+//         dragDom.style.height = '100VH'
+//         dragDom.style.width = '100VW'
+//         dragDom.style.marginTop = 0
+//         isFullScreen = true
+//         dialogHeaderEl.style.cursor = 'initial'
+//         dialogHeaderEl.onmousedown = null
+//       } else {
+//         dragDom.style.height = 'auto'
+//         dragDom.style.width = nowWidth + 'px'
+//         dragDom.style.marginTop = nowMarginTop
+//         isFullScreen = false
+//         dialogHeaderEl.style.cursor = 'move'
+//         dialogHeaderEl.onmousedown = moveDown
+//       }
+//     }
+//     dragDom.onmousemove = function(e) {
+//       // let moveE = e
+//       if (
+//         e.clientX > dragDom.offsetLeft + dragDom.clientWidth - 10 ||
+//         dragDom.offsetLeft + 10 > e.clientX
+//       ) {
+//         dragDom.style.cursor = 'w-resize'
+//       } else if (
+//         el.scrollTop + e.clientY >
+//         dragDom.offsetTop + dragDom.clientHeight - 10
+//       ) {
+//         dragDom.style.cursor = 's-resize'
+//       } else {
+//         dragDom.style.cursor = 'default'
+//
+//         dragDom.onmousedown = null
+//       }
+//       dragDom.onmousedown = e => {
+//         const clientX = e.clientX
+//         const clientY = e.clientY
+//         const elW = dragDom.clientWidth
+//         const elH = dragDom.clientHeight
+//         const EloffsetLeft = dragDom.offsetLeft
+//         const EloffsetTop = dragDom.offsetTop
+//         dragDom.style.userSelect = 'none'
+//         const ELscrollTop = el.scrollTop
+//         // 判断点击的位置是不是为头部
+//         if (
+//           clientX > EloffsetLeft &&
+//           clientX < EloffsetLeft + elW &&
+//           clientY > EloffsetTop &&
+//           clientY < EloffsetTop + 100
+//         ) {
+//           // 如果是头部在此就不做任何动作,以上有绑定dialogHeaderEl.onmousedown = moveDown;
+//         } else {
+//           document.onmousemove = function(e) {
+//             // 移动时禁用默认事件
+//             e.preventDefault()
+//             // 左侧鼠标拖拽位置
+//             if (clientX > EloffsetLeft && clientX < EloffsetLeft + 10) {
+//               // 往左拖拽
+//               if (clientX > e.clientX) {
+//                 dragDom.style.width = elW + (clientX - e.clientX) * 2 + 'px'
+//               }
+//               // 往右拖拽
+//               if (clientX < e.clientX) {
+//                 if (dragDom.clientWidth < minWidth) {
+//                   console.log()
+//                 } else {
+//                   dragDom.style.width = elW - (e.clientX - clientX) * 2 + 'px'
+//                 }
+//               }
+//             }
+//             // 右侧鼠标拖拽位置
+//             if (
+//               clientX > EloffsetLeft + elW - 10 &&
+//               clientX < EloffsetLeft + elW
+//             ) {
+//               // 往左拖拽
+//               if (clientX > e.clientX) {
+//                 if (dragDom.clientWidth < minWidth) {
+//                   console.log()
+//                 } else {
+//                   dragDom.style.width = elW - (clientX - e.clientX) * 2 + 'px'
+//                 }
+//               }
+//               // 往右拖拽
+//               if (clientX < e.clientX) {
+//                 dragDom.style.width = elW + (e.clientX - clientX) * 2 + 'px'
+//               }
+//             }
+//             // 底部鼠标拖拽位置
+//             if (
+//               ELscrollTop + clientY > EloffsetTop + elH - 20 &&
+//               ELscrollTop + clientY < EloffsetTop + elH
+//             ) {
+//               // 往上拖拽
+//               if (clientY > e.clientY) {
+//                 if (dragDom.clientHeight < minHeight) {
+//                   console.log()
+//                 } else {
+//                   dragDom.style.height = elH - (clientY - e.clientY) * 2 + 'px'
+//                 }
+//               }
+//               // 往下拖拽
+//               if (clientY < e.clientY) {
+//                 dragDom.style.height = elH + (e.clientY - clientY) * 2 + 'px'
+//               }
+//             }
+//           }
+//           // 拉伸结束
+//           document.onmouseup = function(e) {
+//             document.onmousemove = null
+//
+//             document.onmouseup = null
+//           }
+//         }
+//       }
+//     }
+//   }
+// })
 
-// v-dialogDrag: 弹窗拖拽
 // Vue.directive('dialogDrag', {
 //   bind(el, binding, vnode, oldVnode) {
+//     console.log(el)
 //     const dialogHeaderEl = el.querySelector('.el-dialog__header')
 //     const dragDom = el.querySelector('.el-dialog')
 //     dialogHeaderEl.style.cursor = 'move'
@@ -212,9 +212,12 @@ Vue.directive('dialogDrag', {
 //         const t = e.clientY - disY
 //
 //         // 移动当前元素
-//         dragDom.style.left = `${l + styL}px`
-//         dragDom.style.top = `${t + styT}px`
 //
+//         console.log(t + styT)
+//         if ((t + styT) >= 0){
+//           dragDom.style.top = `${t + styT}px`
+//         }
+//         dragDom.style.left = `${l + styL}px`
 //         // 将此时的位置传出去
 //         // binding.value({x:e.pageX,y:e.pageY})
 //       }

+ 1 - 1
src/views/agreement/agreementTask/index.vue

@@ -194,7 +194,7 @@
           <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  min-width="250px">
         <template slot-scope="scope">
           <el-button
             size="mini"

+ 1 - 7
src/views/basicdata/corps/index.vue

@@ -720,18 +720,14 @@
           if (valid) {
             if (this.form.fId != null) {
               let formDate= new FormData()
-              console.log(this.fTypeidOptions)
             for (let index in this.fTypeidOptions){
               for (let item in this.form.fTypeid){
-                console.log(this.form.fTypeid)
                 if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
                   this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
                 }
               }
             }
-              console.log(this.form.fTypename)
               this.form.fTypename = this.form.fTypename.substring(0,this.form.fTypename.length-1)
-            console.log(this.form)
               formDate.append('corps',JSON.stringify(this.form));
               formDate.append('customerContacts',JSON.stringify(this.contactList));
               addCorps(formDate).then(response => {
@@ -744,9 +740,7 @@
               for (let index in this.fTypeidOptions){
                 for (let item in this.form.fTypeid){
                   if (this.fTypeidOptions[index].dictValue == this.form.fTypeid[item]){
-                    console.log(this.form.fTypename)
-                    console.log(this.fTypeidOptions[index].dictValue,this.form.fTypeid[item])
-                    this.form.fTypename += this.fTypeidOptions[item].dictLabel + ','
+                    this.form.fTypename += this.fTypeidOptions[index].dictLabel + ','
                   }
                 }
               }

+ 2 - 2
src/views/finance/charge/index.vue

@@ -107,7 +107,7 @@
     </el-row>
 
     <el-table v-loading="loading" :data="chargeList" @selection-change="handleSelectionChange" show-summary :summary-method="listTotal">
-      <el-table-column type="selection" width="60" align="center"/>
+      <el-table-column type="selection" width="100" align="center"/>
       <el-table-column label="序号" type="index" width="55" align="center"/>
       <el-table-column label="系统编号" :show-overflow-tooltip="true" align="center" prop="fBillno" width="120"/>
       <el-table-column label="货权方" sortable :show-overflow-tooltip="true" align="center" prop="fCtrlcorpid" width="220"/>
@@ -134,7 +134,7 @@
           <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180">
         <template slot-scope="scope">
           <el-button
             size="mini"

+ 2 - 2
src/views/finance/contrast/index.vue

@@ -127,7 +127,7 @@
       show-summary
       :summary-method="listTotal"
     >
-      <el-table-column width="60" align="center" type="selection"/>
+      <el-table-column width="100" align="center" type="selection"/>
       <!-- <el-table-column label="制单部门" align="center" prop="fId" /> -->
       <el-table-column label="行号" align="center" type="index"/>
       <el-table-column label="系统编号" align="center" prop="fBillno" show-overflow-tooltip width="120"/>
@@ -159,7 +159,7 @@
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
-
+        min-width="180"
       >
         <template slot-scope="scope">
           <el-button

+ 2 - 2
src/views/finance/payment/index.vue

@@ -107,7 +107,7 @@
     </el-row>
 
     <el-table v-loading="loading" :data="chargeList" @selection-change="handleSelectionChange" show-summary :summary-method="listTotal">
-      <el-table-column type="selection" width="60" align="center"/>
+      <el-table-column type="selection" width="100" align="center"/>
       <el-table-column label="序号" type="index" width="55" align="center"/>
       <el-table-column label="系统编号" :show-overflow-tooltip="true" align="center" prop="fBillno" width="120"/>
       <el-table-column label="货权方" :show-overflow-tooltip="true" sortable align="center" prop="fCtrlcorpid" width="220"/>
@@ -134,7 +134,7 @@
           <span v-else-if="scope.row.fBillstatus == '6'">审核完成</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180">
         <template slot-scope="scope">
           <el-button
             size="mini"

+ 3 - 3
src/views/reportManagement/Statistics/index.vue

@@ -133,7 +133,7 @@
 
     <el-table v-loading="loading" :data="whgenlegList" show-summary :summary-method="getSum">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <el-table-column type="index" label="行号" align="center" />
+      <el-table-column type="index" label="行号" align="center" width="100"/>
       <el-table-column label="客户" sortable align="center" prop="fName" width="220"/>
       <el-table-column label="入库日期" sortable align="center" prop="fBsdate" width="120">
         <template slot-scope="scope">
@@ -377,7 +377,7 @@ export default {
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '总计'
-        } else if (index ===9 || index ===10 || index ===11 ) {
+        } else if (index ===12 || index ===10 || index ===11 ) {
           const values = data.map(item => Number(item[column.property]))
           if (!values.every(value => isNaN(value))) {
             sums[index] = values.reduce((prev, curr) => {
@@ -388,7 +388,7 @@ export default {
                 return prev
               }
             }, 0)
-            if(index ===10 || index ===11){
+            if(index ===12 || index ===11){
               sums[index] = (sums[index]/1000).toFixed(2) + '(吨)'
             }
           }

+ 1 - 1
src/views/reportManagement/generalLedgerCr/index.vue

@@ -134,7 +134,7 @@
 
     <el-table v-loading="loading" :data="payableList" show-summary :summary-method="getSum">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <el-table-column type="index" label="行号" align="center" />
+      <el-table-column type="index" label="行号" align="center" width="100"/>
       <el-table-column label="货权方" sortable align="center" prop="fName" width="220"/>
       <el-table-column label="结算单位" sortable align="center" prop="fFeesName" width="220"/>
       <el-table-column label="提单号" sortable align="center" prop="fMblno" show-overflow-tooltip width="216"/>

+ 1 - 1
src/views/reportManagement/generalLedgerDr/index.vue

@@ -133,7 +133,7 @@
 
     <el-table v-loading="loading" :data="receivableList" show-summary :summary-method="getSum">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <el-table-column type="index" label="行号" align="center" />
+      <el-table-column type="index" label="行号" align="center" width="100"/>
       <el-table-column label="货权方" sortable align="center" prop="fName" width="220"/>
       <el-table-column label="结算单位" sortable align="center" prop="fFeesName" width="220" />
       <el-table-column label="提单号" sortable align="center" prop="fMblno" width="216" show-overflow-tooltip />

+ 1 - 1
src/views/reportManagement/profitGeneralLedger/index.vue

@@ -133,7 +133,7 @@
 
     <el-table v-loading="loading" :data="receivableList" show-summary :summary-method="getSum">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <el-table-column type="index" label="行号" align="center" />
+      <el-table-column type="index" label="行号" align="center" width="100"/>
       <el-table-column label="货权方" sortable align="center" prop="fName" width="220"/>
       <el-table-column label="结算单位" sortable align="center" prop="fFeesName" width="220" />
       <el-table-column label="提单号" sortable align="center" prop="fMblno" width="216" show-overflow-tooltip />

+ 2 - 2
src/views/warehouseBusiness/goodsTransfer/index.vue

@@ -322,7 +322,7 @@
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
-        width="100"
+        min-width="180"
       >
         <template slot-scope="scope">
           <el-button
@@ -2585,7 +2585,7 @@
       // 多选框选中数据
       handleSelectionChange(selection) {
         this.ids = selection.map((item) => item.fId)
-        this.single = selection.length !== 1
+        this.single = selection.length !== 1 || selection.map((item) => item.fBillstatus) == 6
         this.multiple = !selection.length
       },
       /** 新增按钮操作 */

文件差异内容过多而无法显示
+ 613 - 97
src/views/warehouseBusiness/inStock/index.vue


+ 436 - 53
src/views/warehouseBusiness/outStock/index.vue

@@ -244,11 +244,73 @@
           >导入
         </el-button>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <div class="tabSetting">
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+        <div style="margin: 0 12px">
+          <el-button
+            icon="el-icon-setting"
+            size="mini"
+            circle
+            @click="showSetting = !showSetting"
+          ></el-button>
+        </div>
+      </div>
     </el-row>
+    <el-dialog title="提示" :visible.sync="showSetting" width="700px">
+      <div>配置排序列数据(拖动调整顺序)</div>
+      <div style="margin-left: 17px">
+        <el-checkbox
+          v-model="allCheck"
+          label="全选"
+          @change="allChecked"
+        ></el-checkbox>
+      </div>
+      <div style="padding: 4px; display: flex; justify-content: center">
+        <draggable
+          v-model="setRowList"
+          group="site"
+          animation="300"
+          @start="onStart"
+          @end="onEnd"
+          handle=".indraggable"
+        >
+          <transition-group>
+            <div
+              v-for="item in setRowList"
+              :key="item.surface"
+              class="listStyle"
+            >
+              <div style="width: 500px" class="indraggable">
+                <div class="progress" :style="{ width: item.width + 'px' }">
+                  <el-checkbox
+                    :label="item.name"
+                    v-model="item.checked"
+                    :true-label="0"
+                    :false-label="1"
+                  >{{ item.name }}
+                  </el-checkbox>
+                </div>
+              </div>
+              <el-input-number
+                v-model.number="item.width"
+                controls-position="right"
+                :min="1"
+                :max="500"
+                size="mini"
+              ></el-input-number>
+            </div>
+          </transition-group>
+        </draggable>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="showSetting = false">取 消</el-button>
+        <el-button type="primary" @click="save()">确 定</el-button>
+      </span>
+    </el-dialog>
+
     <el-table
       v-loading="loading"
       :data="warehousebillsList"
@@ -258,14 +320,7 @@
       <el-table-column type="selection" width="60" fixed align="center" />
       <el-table-column type="index" label="行号" fixed align="center" />
       <el-table-column  label="制单人" align="center" prop="createBy" fixed/>
-      <el-table-column
-        width="100"
-        label="出库状态"
-        fixed
-        sortable
-        align="center"
-        prop="fItemsStatus"
-      >
+      <el-table-column width="100" label="出库状态" fixed sortable align="center" prop="fItemsStatus">
         <template slot-scope="scope">
           <span v-if="scope.row.fItemsStatus === 1">计划</span>
           <span v-if="scope.row.fItemsStatus === 2">卸货中</span>
@@ -273,28 +328,22 @@
           <span v-if="scope.row.fItemsStatus === 4">已出库</span>
         </template>
       </el-table-column>
+<!--      <el-table-column-->
+<!--        v-for="(item, index) in getRowList"-->
+<!--        :key="index"-->
+<!--        :label="item.name"-->
+<!--        :width="item.width"-->
+<!--        :prop="item.label"-->
+<!--        align="center"-->
+<!--        :fixed="item.fixed"-->
+<!--      />-->
 
-      <el-table-column
-        width="220"
-        label="货权方"
-        fixed
-        sortable
-        align="center"
-        prop="fCorpid"
-      />
+      <el-table-column width="220" label="货权方" fixed sortable align="center" prop="fCorpid"/>
       <el-table-column label="提单号" sortable width="216" align="center" prop="fMblno" fixed show-overflow-tooltip/>
       <el-table-column label="品名" :show-overflow-tooltip="true" fixed align="ceter" prop="fProductName" />
       <el-table-column label="品牌" align="center" fixed prop="fMarks" />
-      <el-table-column
-        label="出库日期"
-        align="center"
-        fixed
-        sortable
-        prop="createTime"
-        style="width: 60%"
-        width="100"
-        show-overflow-tooltip
-      ><template slot-scope="scope">
+      <el-table-column label="出库日期" align="center" fixed sortable prop="createTime" style="width: 60%" width="100" show-overflow-tooltip>
+        <template slot-scope="scope">
         <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>
       </template>
       </el-table-column>
@@ -308,12 +357,7 @@
       <el-table-column label="司机电话" align="center" prop="fDriverTel" width="120" show-overflow-tooltip/>
       <el-table-column label="司机身份证" align="center" prop="fDriverIdCar" width="180" show-overflow-tooltip/>
       <el-table-column label="业务类别" align="center" prop="fBusinessType" :formatter="fBusinessTypeFormat"/>
-      <el-table-column
-        width="100"
-        label="费用状态"
-        align="center"
-        prop="fBillstatus"
-      >
+      <el-table-column width="100" label="费用状态" align="center" prop="fBillstatus">
         <template slot-scope="scope">
           <span v-if="scope.row.fBillstatus === 1">录入</span>
           <span v-if="scope.row.fBillstatus === 2">录入</span>
@@ -327,7 +371,7 @@
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
-        width="180"
+        min-width="180"
       >
         <template slot-scope="scope">
           <el-button
@@ -2206,7 +2250,7 @@
         >请核</el-button
         >
         <el-button type="danger" v-if="form.fBillstatus === 6" @click="revoke">撤销请核</el-button>
-        <el-button type="danger" v-if="form.fBillstatus === 4 && current === before" :disabled="doNot" @click="revokeTwo">撤销请核</el-button>
+        <el-button type="danger" v-if="form.fBillstatus === 4 && current === before" :disabled="doNot" @click="revokeTwo">撤销审批</el-button>
         <el-button @click="cancelTwo" v-if="approVal === true">取 消</el-button>
         <el-button @click="cancel" v-else>取 消</el-button>
       </div>
@@ -2819,33 +2863,288 @@ import { listCorps } from "@/api/basicdata/corps";
 import { listFees, getFees } from "@/api/basicdata/fees";
 
 import { listWarehouse, listWarehousesss, treeselect } from '@/api/basicdata/warehouse'
-
 import { listArea } from "@/api/basicdata/area";
-
 import { listGoods } from "@/api/basicdata/goods";
-
 import { listUser, queryUserVal } from "@/api/system/user";
-
-import UploadFile from "@/components/Uploadfile";
-
 import { listWhgenleg } from "@/api/reportManagement/whgenleg";
 import Global from '@/layout/components/global'
-import AddOrUpdate from "@/views/viewApproval";
 import ApprovalComments from '@/views/startApproval'
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { getToken } from '@/utils/auth'
-
+import Cookies from 'js-cookie'
+import { addSet, select } from '@/api/system/set'
+import draggable from "vuedraggable";
 export default {
   name: "Warehousebills",
   components: {
-    UploadFile,
-    AddOrUpdate,
+    draggable,
     ApprovalComments,
     Treeselect
   },
   data() {
     return {
+      drag: false,
+      setRowList: [
+        // {
+        //   surface: "1",
+        //   label: "createBy",
+        //   name: "制单人",
+        //   checked: 0,
+        //   width: null,
+        // },
+        // {
+        //   surface: "2",
+        //   label: "fItemsStatus",
+        //   name: "出库状态",
+        //   checked: 0,
+        //   width: null,
+        // },
+        {
+          surface: "3",
+          label: "fCorpid",
+          name: "货权方",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "4",
+          label: "fMblno",
+          name: "提单号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "5",
+          label: "fProductName",
+          name: "品名",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "6",
+          label: "fMarks",
+          name: "品牌",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "7",
+          label: "fBsdate",
+          name: "出库日期",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fWarehouseid",
+          name: "仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "9",
+          label: "fPlanqty",
+          name: "计划件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "10",
+          label: "fQty",
+          name: "出库件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "11",
+          label: "fGrossweight",
+          name: "出库毛重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "12",
+          label: "fNetweight",
+          name: "出库净重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "13",
+          label: "fTruckno",
+          name: "车号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "14",
+          label: "fDriverName",
+          name: "司机名称",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "15",
+          label: "fDriverTel",
+          name: "司机电话",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "16",
+          label: "fDriverIdCar",
+          name: "司机身份证",
+          checked: 0,
+          width: null,
+        },
+        // {
+        //   surface: "17",
+        //   label: "fBusinessType",
+        //   name: "业务类别",
+        //   checked: 0,
+        //   width: null,
+        // },
+        // {
+        //   surface: "18",
+        //   label: "fBillstatus",
+        //   name: "费用状态",
+        //   checked: 0,
+        //   width: null,
+        // },
+      ],
+      getRowList: [
+        // {
+        //   surface: "1",
+        //   label: "createBy",
+        //   name: "制单人",
+        //   checked: 0,
+        //   fixed:'fixed',
+        //   width: null,
+        // },
+        // {
+        //   surface: "2",
+        //   label: "fItemsStatus",
+        //   name: "出库状态",
+        //   checked: 0,
+        //   width: null,
+        // },
+        {
+          surface: "3",
+          label: "fCorpid",
+          name: "货权方",
+          checked: 0,
+          fixed:'fixed',
+          width: null,
+        },
+        {
+          surface: "4",
+          label: "fMblno",
+          name: "提单号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "5",
+          label: "fProductName",
+          name: "品名",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "6",
+          label: "fMarks",
+          name: "品牌",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "7",
+          label: "fBsdate",
+          name: "出库日期",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fWarehouseid",
+          name: "仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "9",
+          label: "fPlanqty",
+          name: "计划件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "10",
+          label: "fQty",
+          name: "出库件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "11",
+          label: "fGrossweight",
+          name: "出库毛重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "12",
+          label: "fNetweight",
+          name: "出库净重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "13",
+          label: "fTruckno",
+          name: "车号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "14",
+          label: "fDriverName",
+          name: "司机名称",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "15",
+          label: "fDriverTel",
+          name: "司机电话",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "16",
+          label: "fDriverIdCar",
+          name: "司机身份证",
+          checked: 0,
+          width: null,
+        },
+        // {
+        //   surface: "17",
+        //   label: "fBusinessType",
+        //   name: "业务类别",
+        //   checked: 0,
+        //   width: null,
+        // },
+        // {
+        //   surface: "18",
+        //   label: "fBillstatus",
+        //   name: "费用状态",
+        //   checked: 0,
+        //   width: null,
+        // },
+      ],
+      allCheck: false,
+      showSetting:false,
       headers: {
         Authorization: 'Bearer ' + getToken()
       },
@@ -3150,7 +3449,6 @@ export default {
       this.jFeetunitOptions = response.data;
     });
     this.getDicts("st_out_type").then((response) => {
-      console.log(response)
       this.businessTypeOption = response.data;
     });
     this.getDicts("sys_car_type").then((response) => {
@@ -3167,28 +3465,95 @@ export default {
     })
     this.warehousesssMethod()
     this.company = localStorage.getItem('companyName')
+    this.getRow();
   },
   activated() {
     this.adoPt()
   },
   methods: {
+    //列设置全选
+    allChecked() {
+      if (this.allCheck == true) {
+        this.setRowList.map((e) => {
+          return (e.checked = 0);
+        });
+      } else {
+        this.setRowList.map((e) => {
+          return (e.checked = 1);
+        });
+      }
+    },
+    //查询列数据
+    getRow() {
+      let that = this;
+      this.data = {
+        tableName: "计划下达",
+        userId: Cookies.get("userName"),
+      };
+      select(this.data).then((res) => {
+        if (res.data.length != 0) {
+          this.getRowList = res.data.filter((e) => e.checked == 0);
+          this.setRowList = res.data;
+          this.setRowList = this.setRowList.reduce((res, item) => {
+            res.push({
+              surface: item.surface,
+              label: item.label,
+              name: item.name,
+              checked: item.checked,
+              width: item.width,
+            });
+            return res;
+          }, []);
+        }
+      });
+    },
+    //保存列设置
+    save() {
+      this.showSetting = false;
+      this.data = {
+        tableName: "计划下达",
+        userId: Cookies.get("userName"),
+        sysTableSetList: this.setRowList,
+      };
+      addSet(this.data).then((res) => {
+        this.getRowList = this.setRowList.filter((e) => e.checked == 0);
+      });
+    },
+    //开始拖拽事件
+    onStart() {
+      this.drag = true;
+    },
+    //拖拽结束事件
+    onEnd() {
+      this.drag = false;
+    },
+
+    //附件删除
     deleteFile(scope){
       this.relevantAttachments[scope.$index].fName = ''
       this.relevantAttachments[scope.$index].fUrl = ''
+      if(this.relevantAttachments[scope.$index].fUrl === ''){
+        this.$message.success("删除成功")
+      }else{
+        this.$message.error("未知错误,删除失败")
+      }
     },
+    //附件查看
     checkFile(scope){
-
       if(this.relevantAttachments[scope.$index].fUrl){
         window.open(this.relevantAttachments[scope.$index].fUrl)
       }else{
         this.$message.error("请上传附件")
       }
     },
+    //附件上传
     handleSucces(scope,res,file){
       this.relevantAttachments[scope.$index].fName = res.fileName
       this.relevantAttachments[scope.$index].fUrl = res.url
       if(this.relevantAttachments[scope.$index].fUrl === ''){
         this.$message.error('上传失败')
+      }else{
+        this.$message.success("上传成功")
       }
     },
     //合计
@@ -3913,7 +4278,6 @@ export default {
         }, 200);
         if(!this.dataListSelection[0].fSerialNumber){
           serialNumber().then(response =>{
-            console.log(response)
             this.fSerialNumber = response.data.fSerialNumber
           })
         }else{
@@ -4079,7 +4443,6 @@ export default {
       this.whgenlegParams.fWarehouseid = this.form.fWarehouseid;
       this.whgenlegParams.fTrademodeid = this.form.fTrademodeid;
       listWhgenleg(this.whgenlegParams).then((response) => {
-        console.log(response)
         this.whgenlegList = response.rows;
         this.whgenlegTotal = response.total;
       });
@@ -4220,7 +4583,7 @@ export default {
     handleSelectionChange(selection) {
       this.ids = selection;
       // this.ids = selection.map((item) => item.fId);
-      this.single = selection.length !== 1;
+      this.single = selection.length !== 1 || selection.map((item) => item.fBillstatus) == 6;
       this.multiple = !selection.length;
     },
     // 库存总账多选框
@@ -5358,4 +5721,24 @@ export default {
     z-index: 2;
   }
 }
+.tabSetting {
+  display: flex;
+  justify-content: flex-end;
+}
+.listStyle {
+  display: flex;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-right: 1px solid #dcdfe6;
+}
+.listStyle:last-child {
+  border-bottom: 1px solid #dcdfe6;
+}
+.progress {
+  display: flex;
+  align-items: center;
+  padding: 2px;
+  background-color: rgba(0, 0, 0, 0.05);
+  height: 100%;
+}
 </style>

+ 409 - 83
src/views/warehouseBusiness/stockTransfer/index.vue

@@ -245,11 +245,73 @@
           >导入
         </el-button>
       </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <div class="tabSetting">
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+        <div style="margin: 0 12px">
+          <el-button
+            icon="el-icon-setting"
+            size="mini"
+            circle
+            @click="showSetting = !showSetting"
+          ></el-button>
+        </div>
+      </div>
     </el-row>
+    <el-dialog title="提示" :visible.sync="showSetting" width="700px">
+      <div>配置排序列数据(拖动调整顺序)</div>
+      <div style="margin-left: 17px">
+        <el-checkbox
+          v-model="allCheck"
+          label="全选"
+          @change="allChecked"
+        ></el-checkbox>
+      </div>
+      <div style="padding: 4px; display: flex; justify-content: center">
+        <draggable
+          v-model="setRowList"
+          group="site"
+          animation="300"
+          @start="onStart"
+          @end="onEnd"
+          handle=".indraggable"
+        >
+          <transition-group>
+            <div
+              v-for="item in setRowList"
+              :key="item.surface"
+              class="listStyle"
+            >
+              <div style="width: 500px" class="indraggable">
+                <div class="progress" :style="{ width: item.width + 'px' }">
+                  <el-checkbox
+                    :label="item.name"
+                    v-model="item.checked"
+                    :true-label="0"
+                    :false-label="1"
+                  >{{ item.name }}
+                  </el-checkbox>
+                </div>
+              </div>
+              <el-input-number
+                v-model.number="item.width"
+                controls-position="right"
+                :min="1"
+                :max="500"
+                size="mini"
+              ></el-input-number>
+            </div>
+          </transition-group>
+        </draggable>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="showSetting = false">取 消</el-button>
+        <el-button type="primary" @click="save()">确 定</el-button>
+      </span>
+    </el-dialog>
+
     <el-table
       v-loading="loading"
       :data="warehousebillsList"
@@ -258,74 +320,51 @@
     >
       <el-table-column type="selection" width="60" fixed align="center" />
       <el-table-column type="index" label="行号" fixed align="center" />
-      <el-table-column  label="制单人" align="center" prop="createBy" fixed/>
-      <el-table-column
-        width="100"
-        fixed
-        sortable
-        label="调拨状态"
-        align="center"
-        prop="fItemsStatus"
-      >
-        <template slot-scope="scope">
-          <span v-if="scope.row.fItemsStatus === 1">计划</span>
-          <span v-if="scope.row.fItemsStatus === 2">待调拨</span>
-          <span v-if="scope.row.fItemsStatus === 3">调拨中</span>
-          <span v-if="scope.row.fItemsStatus === 4">已调拨</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column
-        width="220"
-        label="货权方"
-        fixed
-        sortable
-        align="center"
-        prop="fCorpid"
-      />
-      <el-table-column label="提单号" sortable fixed width="216" align="center" prop="fMblno" show-overflow-tooltip/>
-      <el-table-column label="品名" fixed :show-overflow-tooltip="true" align="ceter" prop="fProductName" />
-      <el-table-column label="品牌" fixed align="center" prop="fMarks" />
-      <el-table-column
-        label="调拨日期"
-        align="center"
-        fixed
-        sortable
-        prop="createTime"
-        width="100"
-        ><template slot-scope="scope">
-          <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>
-        </template>
-      </el-table-column>
-      <el-table-column label="调入仓库" sortable fixed align="center" prop="fWarehouseid" width="100"/>
-      <el-table-column label="调出仓库" sortable fixed align="center" prop="fInwarehouseid" width="100"/>
-      <el-table-column label="计划调拨件数" align="center" prop="fPlanqty" width="100"/>
-      <el-table-column label="调拨件数" align="center" prop="fQty" />
-      <el-table-column label="调拨毛重(kg)" align="center" prop="fGrossweight" width="100"/>
-      <el-table-column label="调拨净重(kg)" align="center" prop="fNetweight" width="100"/>
-      <el-table-column label="业务类别" align="center" prop="fBusinessType" :formatter="fBusinessTypeFormat"/>
-
-      <el-table-column
-        width="100"
-        label="费用状态"
-        align="center"
-        prop="fBillstatus"
-      >
-        <template slot-scope="scope">
-          <span v-if="scope.row.fBillstatus === 1">录入</span>
-          <span v-if="scope.row.fBillstatus === 2">暂存</span>
-          <span v-if="scope.row.fBillstatus === 3">驳回</span>
-          <span v-if="scope.row.fBillstatus === 4">请核</span>
-          <span v-if="scope.row.fBillstatus === 5">审核中</span>
-          <span v-if="scope.row.fBillstatus === 6">全部入账</span>
-        </template>
-      </el-table-column>
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-        width="180"
-      >
+            <el-table-column
+              v-for="(item, index) in getRowList"
+              :key="index"
+              :label="item.name"
+              :width="item.width"
+              :prop="item.label"
+              align="center"
+              :fixed="item.fixed"
+            />
+<!--      <el-table-column  label="制单人" align="center" prop="createBy" fixed/>-->
+<!--      <el-table-column width="100" fixed sortable label="调拨状态" align="center" prop="fItemsStatus">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span v-if="scope.row.fItemsStatus === 1">计划</span>-->
+<!--          <span v-if="scope.row.fItemsStatus === 2">待调拨</span>-->
+<!--          <span v-if="scope.row.fItemsStatus === 3">调拨中</span>-->
+<!--          <span v-if="scope.row.fItemsStatus === 4">已调拨</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column width="220" label="货权方" fixed sortable align="center" prop="fCorpid"/>-->
+<!--      <el-table-column label="提单号" sortable fixed width="216" align="center" prop="fMblno" show-overflow-tooltip/>-->
+<!--      <el-table-column label="品名" fixed :show-overflow-tooltip="true" align="ceter" prop="fProductName" />-->
+<!--      <el-table-column label="品牌" fixed align="center" prop="fMarks" />-->
+<!--      <el-table-column label="调拨日期" align="center" fixed sortable prop="createTime" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span>{{ parseTime(scope.row.fBsdate, "{y}-{m}-{d}") }}</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+<!--      <el-table-column label="调入仓库" sortable fixed align="center" prop="fWarehouseid" width="100"/>-->
+<!--      <el-table-column label="调出仓库" sortable fixed align="center" prop="fInwarehouseid" width="100"/>-->
+<!--      <el-table-column label="计划调拨件数" align="center" prop="fPlanqty" width="100"/>-->
+<!--      <el-table-column label="调拨件数" align="center" prop="fQty" />-->
+<!--      <el-table-column label="调拨毛重(kg)" align="center" prop="fGrossweight" width="100"/>-->
+<!--      <el-table-column label="调拨净重(kg)" align="center" prop="fNetweight" width="100"/>-->
+<!--      <el-table-column label="业务类别" align="center" prop="fBusinessType" :formatter="fBusinessTypeFormat"/>-->
+<!--      <el-table-column width="100" label="费用状态" align="center" prop="fBillstatus">-->
+<!--        <template slot-scope="scope">-->
+<!--          <span v-if="scope.row.fBillstatus === 1">录入</span>-->
+<!--          <span v-if="scope.row.fBillstatus === 2">暂存</span>-->
+<!--          <span v-if="scope.row.fBillstatus === 3">驳回</span>-->
+<!--          <span v-if="scope.row.fBillstatus === 4">请核</span>-->
+<!--          <span v-if="scope.row.fBillstatus === 5">审核中</span>-->
+<!--          <span v-if="scope.row.fBillstatus === 6">全部入账</span>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="180">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -2588,7 +2627,7 @@
         <tr>
           <td width="100">{{ form.fMblno }}</td>
           <td width="100">{{ form.fProductName }}</td>
-          <td width="100">{{ dataList.fCntrtype }}</td>
+          <td width="100">{{ fCntrtype }}</td>
           <td width="100">{{ form.fMarks }}</td>
           <td width="100">包</td>
           <td width="100">吨</td>
@@ -2713,6 +2752,8 @@ import ApprovalComments from '@/views/startApproval'
 import Treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { getToken } from '@/utils/auth'
+import Cookies from 'js-cookie'
+import { addSet, select } from '@/api/system/set'
 
 export default {
   name: "Warehousebills",
@@ -2724,6 +2765,227 @@ export default {
   },
   data() {
     return {
+      drag: false,
+      setRowList: [
+        {
+          surface: "1",
+          label: "createBy",
+          name: "制单人",
+          checked: 0,
+          fixed:'fixed',
+          width: null,
+        },
+        {
+          surface: "2",
+          label: "fItemsStatus",
+          name: "调拨状态",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "3",
+          label: "fCorpid",
+          name: "货权方",
+          checked: 0,
+          fixed:'fixed',
+          width: null,
+        },
+        {
+          surface: "4",
+          label: "fMblno",
+          name: "提单号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "5",
+          label: "fProductName",
+          name: "品名",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "6",
+          label: "fMarks",
+          name: "品牌",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "7",
+          label: "createTime",
+          name: "调拨日期",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fWarehouseid",
+          name: "调入仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fInwarehouseid",
+          name: "调出仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "9",
+          label: "fPlanqty",
+          name: "计划件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "10",
+          label: "fQty",
+          name: "出库件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "11",
+          label: "fGrossweight",
+          name: "调拨毛重(KG)",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "12",
+          label: "fNetweight(KG)",
+          name: "出库净重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "17",
+          label: "fBusinessType",
+          name: "业务类别",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "18",
+          label: "fBillstatus",
+          name: "费用状态",
+          checked: 0,
+          width: null,
+        },
+      ],
+      getRowList: [
+        {
+          surface: "1",
+          label: "createBy",
+          name: "制单人",
+          checked: 0,
+          fixed:'fixed',
+          width: null,
+        },
+        {
+          surface: "2",
+          label: "fItemsStatus",
+          name: "调拨状态",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "3",
+          label: "fCorpid",
+          name: "货权方",
+          checked: 0,
+          fixed:'fixed',
+          width: null,
+        },
+        {
+          surface: "4",
+          label: "fMblno",
+          name: "提单号",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "5",
+          label: "fProductName",
+          name: "品名",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "6",
+          label: "fMarks",
+          name: "品牌",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "7",
+          label: "createTime",
+          name: "调拨日期",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fWarehouseid",
+          name: "调入仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "8",
+          label: "fInwarehouseid",
+          name: "调出仓库",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "9",
+          label: "fPlanqty",
+          name: "计划件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "10",
+          label: "fQty",
+          name: "出库件数",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "11",
+          label: "fGrossweight",
+          name: "调拨毛重(KG)",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "12",
+          label: "fNetweight(KG)",
+          name: "出库净重",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "17",
+          label: "fBusinessType",
+          name: "业务类别",
+          checked: 0,
+          width: null,
+        },
+        {
+          surface: "18",
+          label: "fBillstatus",
+          name: "费用状态",
+          checked: 0,
+          width: null,
+        },
+      ],
+      allCheck: false,
+      showSetting:false,
       headers: {
         Authorization: 'Bearer ' + getToken()
       },
@@ -3027,28 +3289,94 @@ export default {
     this.warehousesssMethod()
     this.register()
     this.company = localStorage.getItem('companyName')
+    this.getRow();
   },
   activated(){
     this.Jump()
   },
   methods: {
+    //列设置全选
+    allChecked() {
+      if (this.allCheck == true) {
+        this.setRowList.map((e) => {
+          return (e.checked = 0);
+        });
+      } else {
+        this.setRowList.map((e) => {
+          return (e.checked = 1);
+        });
+      }
+    },
+    //查询列数据
+    getRow() {
+      let that = this;
+      this.data = {
+        tableName: "调拨",
+        userId: Cookies.get("userName"),
+      };
+      select(this.data).then((res) => {
+        if (res.data.length != 0) {
+          this.getRowList = res.data.filter((e) => e.checked == 0);
+          this.setRowList = res.data;
+          this.setRowList = this.setRowList.reduce((res, item) => {
+            res.push({
+              surface: item.surface,
+              label: item.label,
+              name: item.name,
+              checked: item.checked,
+              width: item.width,
+            });
+            return res;
+          }, []);
+        }
+      });
+    },
+    //保存列设置
+    save() {
+      this.showSetting = false;
+      this.data = {
+        tableName: "调拨",
+        userId: Cookies.get("userName"),
+        sysTableSetList: this.setRowList,
+      };
+      addSet(this.data).then((res) => {
+        this.getRowList = this.setRowList.filter((e) => e.checked == 0);
+      });
+    },
+    //开始拖拽事件
+    onStart() {
+      this.drag = true;
+    },
+    //拖拽结束事件
+    onEnd() {
+      this.drag = false;
+    },
+    //附件删除
     deleteFile(scope){
       this.relevantAttachments[scope.$index].fName = ''
       this.relevantAttachments[scope.$index].fUrl = ''
+      if(this.relevantAttachments[scope.$index].fUrl === ''){
+        this.$message.success("删除成功")
+      }else{
+        this.$message.error("未知错误,删除失败")
+      }
     },
+    //附件查看
     checkFile(scope){
-
       if(this.relevantAttachments[scope.$index].fUrl){
         window.open(this.relevantAttachments[scope.$index].fUrl)
       }else{
         this.$message.error("请上传附件")
       }
     },
+    //上传附件
     handleSucces(scope,res,file){
       this.relevantAttachments[scope.$index].fName = res.fileName
       this.relevantAttachments[scope.$index].fUrl = res.url
       if(this.relevantAttachments[scope.$index].fUrl === ''){
         this.$message.error('上传失败')
+      }{
+        this.$message.success("上传成功")
       }
     },
     //合计
@@ -3105,6 +3433,7 @@ export default {
             (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
           this.$set(this.printinglist[aorp], "fBsdate", Y + M + D);
         }
+        this.fCntrtype = this.printinglist[0].fCntrtype
         this.$set(this.form , 'sumFNetweight', parseFloat(Number(sumFNetweight) / 1000).toFixed(2))
         this.$set(this.form , 'sumFGrossweight', parseFloat(Number(sumFGrossweight) / 1000).toFixed(2))
         for (let corp in this.fMblnoOptions) {
@@ -3821,7 +4150,6 @@ export default {
       }, 200);
       if(!this.dataListSelection[0].fSerialNumber){
         serialNumber().then(response =>{
-          console.log(response)
           this.fSerialNumber = response.data.fSerialNumber
         })
       }else{
@@ -4064,7 +4392,8 @@ export default {
     handleSelectionChange(selection) {
       this.ids = selection;
       // this.ids = selection.map((item) => item.fId);
-      this.single = selection.length !== 1;
+
+      this.single = selection.length !== 1 || selection.map((item) => item.fBillstatus) == 6;
       this.multiple = !selection.length;
     },
     // 库存总账多选框
@@ -4108,7 +4437,6 @@ export default {
       this.detailsHidden = false;
       let data = row || this.ids;
       getStockTransfer(data.fId).then((response) => {
-        console.log(response)
         this.Operator = response.data.corps[0].createBy
         if (response.data.warehousebills) {
           this.form = response.data.warehousebills;
@@ -4202,7 +4530,6 @@ export default {
       this.detailsHidden = false;
       let data = row || this.ids;
       getStockTransfer(data.fId).then((response) => {
-        console.log(response)
         this.Operator = response.data.corps[0].createBy
         if (response.data.warehousebills) {
           this.form = response.data.warehousebills;
@@ -4673,10 +5000,10 @@ export default {
                   this.$set(this.warehouseCrList[cr], "fFeeunitid", this.warehouseCrList[cr].fFeeunitid + '');
                 }
               }
-              if (response.data.sysUser) {
-                // this.userVal = response.data.sysUser
-                this.userOptions = response.data.sysUser;
-              }
+              // if (response.data.sysUser) {
+              //   // this.userVal = response.data.sysUser
+              //   this.userOptions = response.data.sysUser;
+              // }
               if (response.data.dept) {
                 this.deptOptions = []
                 this.deptOptions.push(response.data.dept)
@@ -4758,7 +5085,6 @@ export default {
             formData.append("warehousebillsitems", JSON.stringify(dataList));
             formData.append("warehousebillsfeesCr", JSON.stringify(this.warehouseCrList));
             formData.append("warehousebillsfeesDr", JSON.stringify(this.warehouseDrList));
-            console.log(dataList)
             for(let index in dataList){
               if(dataList[index].fBillstatus < 20) {
 

+ 2 - 2
src/views/warehouseBusiness/storageFeeCalculation/index.vue

@@ -240,7 +240,7 @@
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
-        width="180"
+        min-width="180"
       >
         <template slot-scope="scope">
           <el-button
@@ -1411,7 +1411,7 @@
       handleSelectionChange(selection) {
         this.ids = selection;
         // this.ids = selection.map((item) => item.fId);
-        this.single = selection.length !== 1;
+        this.single = selection.length !== 1 || selection.map((item) => item.fBillstatus) == 6;
         this.multiple = !selection.length;
       },
       /** 新增按钮操作 */

部分文件因为文件数量过多而无法显示