瀏覽代碼

Merge branch 'master' of http://git.echepei.com/wengyuwen/anpinjingyuan-ui

wengyuwen 4 年之前
父節點
當前提交
8bb8c77452

+ 18 - 0
src/api/purchaseRequest/index.js

@@ -88,6 +88,24 @@ export function deleteQuery(fId,time) {
     }
   })
 }
+//审批撤销
+export function revoke(data) {
+  return request({
+    url: '/warehouse/paths/revoke',
+    method: 'post',
+    data: data
+  })
+}
+//采购审批撤销
+export function withdrawBy(fId) {
+  return request({
+    url: '/anpin/stockControl/withdrawById',
+    method: 'post',
+    data: {
+      fId:fId
+    }
+  })
+}
 //删除详情单条列表
 export function listDelete(fId) {
   return request({

+ 1 - 1
src/combination/formComponent.vue

@@ -27,7 +27,7 @@
         <div style="width: 100%;display:flex;" v-if="item.inputType == 5">
           <el-input v-model="number" :onkeyup="item.onabort" :style="{ width: item.width + 'px' }" placeholder="请输入内容" :disabled="item.disabled" @input="spellNumbers(item.label)"></el-input>
           <span style="padding-left: 10px;padding-right: 10px">至</span>
-          <el-input v-model="numBer" :onkeyup="item.onabort" placeholder="请输入内容" :disabled="item.disabled" @input="spellNumbers(item.label)"></el-input>
+          <el-input v-model="numBer" :onkeyup="item.onabort" :style="{ width: item.width + 'px' }" placeholder="请输入内容" :disabled="item.disabled" @input="spellNumbers(item.label)"></el-input>
         </div>
         <el-date-picker
           v-if="item.inputType == 6"

+ 7 - 5
src/combination/listComponent.vue

@@ -3,12 +3,14 @@
     <div style="width: 100%;height: 40px;">
       <div style="margin: 10px 12px;float: left;">
         <el-button
-          v-for="item in customButton"
+          v-for="(item,index) in customButton"
+          :key="index"
           :type="item.type"
           :size="item.size"
           :icon="item.icon"
           :plain="item.plain?item.plain:false"
           :disabled="item.disabled"
+          :v-hasPermi="item.hasPermi"
           @click="buttonList(item)">
           {{ item.name }}
         </el-button>
@@ -28,7 +30,7 @@
           @queryTable="getList"
         ></right-toolbar>
       </div>
-      <div style="margin:10px 10px 0px 0px;float: right;" v-if="isItHidden">
+      <div style="margin:10px 10px 0 0;float: right;" v-if="isItHidden">
         <el-button
           type="success"
           plain
@@ -75,9 +77,9 @@
         <template slot-scope="scope">
           <span v-if="item.name === '操作'">
             <span v-if="item.operation == 1">
-              <el-button type="text" @click="viewMethod(scope)">查看</el-button>
+              <el-button type="text" @click="viewMethod(scope)" :v-hasPermi="hasPermi.lookup">查看</el-button>
 <!--              <el-button type="text" @click="modification(scope)">修改</el-button>-->
-              <el-button type="text" @click="deletion(scope)" v-if="scope.row.fBillstatus > 3">删除</el-button>
+              <el-button type="text" @click="deletion(scope)" v-if="scope.row.fBillstatus < 4" :v-hasPermi="hasPermi.disappear">删除</el-button>
             </span>
             <span v-if="item.operation == 2">
               <el-button type="text" @click="deleteRow(scope.$index, tableData)" :disabled="item.disabled">移除</el-button>
@@ -169,7 +171,7 @@ import { addSet, resetModule } from "@/api/system/set";
 import Cookies from "js-cookie";
 export default {
   name: 'listComponent',
-  props: ['tableData', 'listStyle','queryList','customButton','arrow','setRowList','isItHidden','tatolLabel','listData'],
+  props: ['tableData', 'listStyle','queryList','customButton','arrow','setRowList','isItHidden','tatolLabel','listData','hasPermi'],
   data() {
     return {
       showSetting: false,

+ 3 - 0
src/views/index.vue

@@ -179,6 +179,9 @@
                   <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
                   <span v-else-if="item.refno2 === 'KHDD'">凯合订单</span>
                   <span v-else-if="item.refno2 === 'SE'">下单配船</span>
+                  <span v-else-if="item.refno2 === 'SQ'">采购申请</span>
+                  <span v-else-if="item.refno2 === 'XS'">销售出库</span>
+                  <span v-else-if="item.refno2 === 'XMGL'">项目管理</span>
                 </div>
                 <div class="home_stock_table" @click="approval(item)">
                   查看详情

+ 113 - 12
src/views/purchaseRequest/index.vue

@@ -20,6 +20,7 @@
         @showSearch="showSearch"
         @feedback="feedback"
         @getList="getList"
+        :hasPermi="hasPermi"
         :isItHidden="isItHidden"
         :customButton="customButton"
         :listStyle="listStyle"
@@ -64,6 +65,7 @@
         @deletRows="deletRows"
         @totalAmount="totalAmount"
         @change="change"
+        :hasPermi="hasPermi"
         :tatolLabel="tatolLabel"
         :isItHidden="isItHidden"
         :customButton="contentButton"
@@ -107,16 +109,16 @@
           <tr>
             <td class="column" style="width: 15%;border-top: none;">品名</td>
             <td class="column" style="width: 15%;border-top: none;">单价</td>
-            <td class="column" style="width: 15%;border-top: none;">采购计划(斤)</td>
-            <td class="column" style="width: 15%;border-top: none;">实际重量(斤)</td>
+            <td class="column" style="width: 15%;border-top: none;">采购计划</td>
+            <td class="column" style="width: 15%;border-top: none;">实际重量</td>
             <td class="column" style="width: 15%;border-top: none;">金额</td>
             <td class="column" style="width: 20%;border-top: none;">备注</td>
           </tr>
-          <tr v-for="(item,index) in this.contentList" :key="index">
+          <tr v-for="(item,index) in contentList" :key="index">
             <td class="column">{{item.feeName}}</td>
             <td class="column">{{item.fUnitprice}}</td>
-            <td class="column">{{item.fPurchase}}</td>
-            <td class="column">{{item.fQty}}</td>
+            <td class="column">{{item.fPurchase}}({{item.fFeeunitName}})</td>
+            <td class="column">{{item.fQty}}({{item.fFeeunitName}})</td>
             <td class="column">{{item.fAmount}}</td>
             <td class="column">{{item.remark}}</td>
           </tr>
@@ -166,7 +168,9 @@ import {
   tableDeleteQuery,
   confirmDeletion,
   pleaseCheck,
-  copyNew
+  copyNew,
+  revoke,
+  withdrawBy
 } from '@/api/purchaseRequest/index'
 import Cookies from 'js-cookie'
 
@@ -191,6 +195,10 @@ export default {
         fFeeunitid: [],
         fStltypeid: []
       },
+      hasPermi:{
+        lookup:['anpin:stockControl:query'],
+        disappear:['anpin:stockControl:remove']
+      },
       setTimeout:'',
       searchWhether: true,
       pageDisplay: true,
@@ -282,6 +290,7 @@ export default {
           name: '操作',
           checked: 0,
           width: 160,
+          fixed:'right',
           operation: '1',
           onabort: ''
         }
@@ -398,6 +407,7 @@ export default {
           checked: 0,
           disabled: false,
           width: 160,
+          fixed:'right',
           operation: '2',
           onabort: ''
         }
@@ -417,7 +427,8 @@ export default {
           size: 'mini',
           icon: 'el-icon-edit',
           name: '新增',
-          disabled: false
+          disabled: false,
+          hasPermi:['anpin:stockControl:anPingApply']
         },
         // {
         //   type:'warning',
@@ -431,13 +442,15 @@ export default {
           size: 'mini',
           icon: 'el-icon-upload2',
           name: '导出',
-          disabled: false
+          disabled: false,
+          hasPermi:['anpin:stockControl:export']
         }, {
           type: 'success',
           size: 'mini',
           icon: 'el-icon-c-scale-to-original',
           name: '复制新增',
-          disabled: false
+          disabled: false,
+          hasPermi:['anpin:stockControl:generateReceipts']
         }
       ],
       contentButton: [
@@ -550,7 +563,7 @@ export default {
           label: 'cLoadDate',
           name: '申请日期',
           inputType: 3,
-          width: 200,
+          width: 300,
           labelSize: '80',
           rules: [{ required: false, message: ' ' }]
         }
@@ -909,6 +922,31 @@ export default {
         if (list){
           this.$refs.avatar.form = list.warehouseBills
           this.contentList = list.tWarehousebillsfees
+          this.contentButton = this.$options.data().contentButton
+          if (this.$refs.avatar.form.fBillstatus === 6){
+            this.contentButton.push({
+              type: 'danger',
+              size: 'mini',
+              icon: 'el-icon-edit-outline',
+              name: '撤销采购',
+              disabled: false
+            })
+          }else if(this.$refs.avatar.form.fBillstatus === 4){
+            this.contentButton.push({
+              type: 'danger',
+              size: 'mini',
+              icon: 'el-icon-edit-outline',
+              name: '撤销审批',
+              disabled: false
+            })
+          }
+          this.contentButton.forEach(item =>{
+            if (item.name == '返回列表' || item.name == '修改' || item.name == '打印'){
+              item.disabled = false
+            }else {
+              item.disabled = true
+            }
+          })
         }
       })
     },
@@ -939,6 +977,7 @@ export default {
           }
           this.$refs.avatar.form = {}
           this.getRow(data,list)
+
         }
       })
     },
@@ -1057,17 +1096,34 @@ export default {
           this.$refs.avatar.submitForm('submit')
           break
         case '打印':
+          console.log(this.listData.fFeeid,this.contentList)
+          for (let item in this.contentList){
+            for (let li in this.listData.fFeeid){
+              if (this.contentList[item].fFeeid == this.listData.fFeeid[li].value){
+                this.contentList[item].feeName = this.listData.fFeeid[li].label
+              }
+            }
+            for(let i in this.listData.fFeeunitid){
+              if (this.contentList[item].fFeeunitid == this.listData.fFeeunitid[i].value){
+                this.contentList[item].fFeeunitName = this.listData.fFeeunitid[i].label
+              }
+            }
+          }
           if (!this.$refs.avatar.form.fId){
             this.$message.error('未保存,不允许打印');
+          }else if (this.$refs.avatar.form.fBillstatus >= 4){
+            this.formList = this.$refs.avatar.form
+            this.dialogVisible = true
           }else {
             this.formList = this.$refs.avatar.form
+            console.log(this.$refs.avatar.form.fBillstatus)
             this.submitAndSave(1)
           }
           break
         case '修改':
           this.contentButton.forEach(item =>{
             if (this.$refs.avatar.form.fBillstatus >= 4){
-              if (item.name === '返回列表' || item.name === '修改' || item.name === '生成入库单' || item.name === '生成销售单' || item.name === '查看审批' || item.name === '审批'){
+              if (item.name === '返回列表' || item.name == '打印' || item.name === '修改' || item.name === '生成入库单' || item.name === '生成销售单' || item.name === '查看审批' || item.name === '审批' || item.name === '撤销采购' || item.name === '撤销审批'){
                 item.disabled = false
               }else {
                 item.disabled = true
@@ -1187,6 +1243,51 @@ export default {
             this.$message.warning('未选择列表,请选择后再点击');
           }
           break
+        case '撤销审批':
+          let date = new Date()
+          let y = date.getFullYear()
+          let m = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+          let d = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate())
+          data = {
+            actId:520,
+            id:this.$refs.avatar.form.fId,
+            billId:this.$refs.avatar.form.fId,
+            auditItem:y + '-' + m + '-' + d
+          }
+          console.log(data)
+          revoke(data).then(res=>{
+            if (res.code === 200){
+              this.$message({
+                showClose: true,
+                message: '撤销成功',
+                type: 'success'
+              })
+              data = {
+                tableName: this.queryList.tableName,
+                userId: Cookies.get('userName')
+              }
+              this.getRow(data)
+              this.query(this.formDataList)
+            }
+          })
+          break
+        case '撤销采购':
+          withdrawBy(this.$refs.avatar.form.fId).then(res=>{
+            if (res.code === 200){
+              this.$message({
+                showClose: true,
+                message: '撤销成功',
+                type: 'success'
+              })
+              data = {
+                tableName: this.queryList.tableName,
+                userId: Cookies.get('userName')
+              }
+              this.getRow(data)
+              this.query(this.formDataList)
+            }
+          })
+          break
         default:
           this.$message.error('该按钮暂无功能')
       }
@@ -1238,11 +1339,11 @@ export default {
         this.$refs.avatar.submitForm()
       } else if (res == '重置') {
         this.$refs.avatar.form = {}
+        this.$refs.avatar.submitForm()
       }
     },
     //表单验证通过执行搜索
     submitForm() {
-      console.log('111')
       let list = this.formDataList
       console.log(this.$refs.avatar.form)
       this.formDataList = this.$refs.avatar.form

+ 4 - 4
src/views/startApproval.vue

@@ -96,10 +96,10 @@ import Global from '@/layout/components/global'
         this.$set(this.dataForm, 'auditItem', Date.parse(new Date()))
       },
       getTime(){
-        var date = new Date(this.dataForm.auditItem)
-        var y = date.getFullYear()
-        var m = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
-        var d = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate())
+        let date = new Date(this.dataForm.auditItem)
+        let y = date.getFullYear()
+        let m = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
+        let d = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate())
         this.$set(this.dataForm, 'auditItem', y + '-' + m + '-' + d)
       },
       approved () {

+ 2 - 2
vue.config.js

@@ -34,9 +34,9 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        // target: `http://192.168.1.143:9020`,
+        target: `http://192.168.1.143:9020`,
         // target: `http://localhost:8080`,
-        target: `https://ap.tubaosoft.com/prod-api/`,
+        // target: `https://ap.tubaosoft.com/prod-api/`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''