Browse Source

提交采购申请

caojunjie 4 years ago
parent
commit
953173aef0

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

@@ -8,3 +8,37 @@ export function listQuery(query) {
     params:query
   })
 }
+// 查询单条数据
+export function viewSingle(query) {
+  return request({
+    url: '/anpin/stockControl/'+query,
+    method: 'get',
+  })
+}
+// 查询品名数据
+export function productName(query) {
+  return request({
+    url: '/basicdata/fees/list',
+    method: 'get',
+    params:query
+  })
+}
+//保存详情页面内容
+export function submit(data) {
+  return request({
+    url: '/anpin/stockControl/anPingApply',
+    method: 'post',
+    data:data
+  })
+}
+//保存详情页面内容
+export function deleteQuery(fId,time) {
+  return request({
+    url: '/anpin/stockControl/judge',
+    method: 'post',
+    data: {
+      fId:fId,
+      fDateChanged:time
+    }
+  })
+}

+ 5 - 1
src/combination/formComponent.vue

@@ -62,7 +62,11 @@ export default {
     submitForm(form) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          this.$emit('submitForm')
+          if (form === 'submit'){
+            this.$emit('submitAndSave')
+          }else {
+            this.$emit('submitForm')
+          }
         } else {
           return false;
         }

+ 8 - 7
src/combination/listComponent.vue

@@ -7,6 +7,7 @@
           :type="item.type"
           :size="item.size"
           :icon="item.icon"
+          :plain="item.plain?item.plain:false"
           :disabled="item.disabled"
           @click="buttonList(item)">
           {{ item.name }}
@@ -56,7 +57,7 @@
       style="width: 100%"
       @selection-change="handleSelectionChange"
       :row-class-name="rowClassName"
-      show-summary
+      :show-summary="tatolLabel?true:false"
       :summary-method="listTotal"
     >
       <el-table-column type="selection" width="55" align="center"/>
@@ -67,6 +68,7 @@
         :label="item.name"
         :width="item.width"
         :fixed="item.fixed"
+        :show-overflow-tooltip="item.changeable?false:true"
         align="center"
         sortable
       >
@@ -81,10 +83,10 @@
               <el-button type="text" @click="deleteRow(scope.$index, tableData)" :disabled="item.disabled">移除</el-button>
             </span>
           </span>
-          <span v-else-if="item.changeable">
-            <el-select v-if="item.changeable == 1" :disabled="item.disabled" v-model="scope.row[item.label]" slot="prepend" placeholder="请选择">
+          <span v-else-if="item.changeable && listData">
+            <el-select v-if="item.changeable == 1" filterable :disabled="item.disabled" v-model="scope.row[item.label]" slot="prepend" placeholder="请选择">
               <el-option
-                v-for="(item,index) in item.data"
+                v-for="(item,index) in listData[item.label]"
                 :key="index"
                 :label="item.label"
                 :value="item.value"
@@ -164,11 +166,11 @@ 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'],
+  props: ['tableData', 'listStyle','queryList','customButton','arrow','setRowList','isItHidden','tatolLabel','listData'],
   data() {
     return {
       showSetting: false,
-      allCheck: false
+      allCheck: false,
     }
   },
   watch:{
@@ -209,7 +211,6 @@ export default {
           }
         })
       }
-      console.log(sums[columns])
       return sums
     },
     initData(){

+ 198 - 93
src/views/purchaseRequest/index.vue

@@ -1,68 +1,75 @@
 <template>
-  <div v-if="pageDisplay" class="app-container">
-    <formComponent
-    v-if="searchWhether"
-    :formOption="formOption"
-    :dataList="dataList"
-    :inDex="inDex"
-    ref="avatar"
-    @submitForm="submitForm"
-    @returnToForm="returnToForm"
-    />
-    <listComponent
-      :tableData="tableData"
-      @selectionbox="selectionbox"
-      @see="viewMethod"
-      @modify="modification"
-      @deletion="deletion"
-      @buttonList="buttonList"
-      @showSearch="showSearch"
-      @feedback="feedback"
-      @getList="getList"
-      :isItHidden="isItHidden"
-      :customButton="customButton"
-      :listStyle="listStyle"
-      :queryList="queryList"
-      :setRowList="setRowList"
-    />
-  </div>
-  <div v-else class="app-container">
-    <formComponent
-    v-if="searchWhether"
-    :formOption="contentOption"
-    :dataList="dataList"
-    :inDex="inDex"
-    ref="avatar"
-    @submitForm="submitForm"
-    @returnToForm="returnToForm"
-    />
-    <listComponent
-      :tableData="contentList"
-      @selectionbox="selectionbox"
-      @see="viewMethod"
-      @modify="modification"
-      @deletion="deletion"
-      @buttonList="buttonList"
-      @showSearch="showSearch"
-      @feedback="feedback"
-      @getList="getList"
-      :isItHidden="isItHidden"
-      :customButton="contentButton"
-      :listStyle="listStyle"
-      :queryList="purchaseList"
-      :setRowList="setRowList"
-    />
+  <div>
+    <div v-if="pageDisplay" class="app-container">
+      <formComponent
+        v-if="searchWhether"
+        :formOption="formOption"
+        :dataList="dataList"
+        :inDex="inDex"
+        ref="avatar"
+        @submitForm="submitForm"
+        @returnToForm="returnToForm"
+      />
+      <listComponent
+        :tableData="tableData"
+        @selectionbox="selectionbox"
+        @see="viewMethod"
+        @modify="modification"
+        @deletion="deletion"
+        @buttonList="buttonList"
+        @showSearch="showSearch"
+        @feedback="feedback"
+        @getList="getList"
+        :isItHidden="isItHidden"
+        :customButton="customButton"
+        :listStyle="listStyle"
+        :queryList="queryList"
+        :setRowList="setRowList"
+      />
+    </div>
+    <div v-else class="app-container">
+      <formComponent
+        v-if="searchWhether"
+        :formOption="contentOption"
+        :dataList="dataList"
+        :inDex="inDex"
+        ref="avatar"
+        @submitForm="submitForm"
+        @returnToForm="returnToForm"
+        @submitAndSave="submitAndSave"
+      />
+      <listComponent
+        ref="listComponent"
+        :tableData="contentList"
+        @selectionbox="selectionbox"
+        @see="viewMethod"
+        @modify="modification"
+        @deletion="deletion"
+        @buttonList="buttonList"
+        @showSearch="showSearch"
+        @feedback="feedback"
+        @getList="getList"
+        @deletRows="deletRows"
+        :isItHidden="isItHidden"
+        :customButton="contentButton"
+        :listStyle="listStyle"
+        :queryList="purchaseList"
+        :setRowList="setRowList"
+        :listData="listData"
+      />
+    </div>
   </div>
 </template>
 
 <script>
 import {select} from '@/api/system/set'
-import {listQuery} from '@/api/purchaseRequest/index'
+import {listQuery,submit,viewSingle,deleteQuery,productName} from '@/api/purchaseRequest/index'
 import Cookies from 'js-cookie'
 export default {
   name: 'index',
   data(){
     return{
+      listData:{},
       searchWhether:true,
       pageDisplay:true,
       dataList:{},
@@ -148,95 +155,106 @@ export default {
       contentStyle:[
         {
           surface: "1",
-          label: "fLineNumber",
+          label: "serialNumber",
           name: "序号",
           checked: 0,
           width: 100,
           onabort:''
         },{
           surface: "2",
-          label: "fLineNumber",
+          label: "fFeeid",
           name: "品名",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:1
         },{
           surface: "3",
-          label: "asdaasd",
+          label: "fUnitprice",
           name: "单价",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "4",
-          label: "aadswada",
+          label: "fPurchase",
           name: "采购重量",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "5",
-          label: "fLineNuber",
+          label: "fQty",
           name: "实际重量",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "6",
-          label: "fLine2Nuber",
+          label: "fFeeunitid",
           name: "计量单位",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:1
         },{
           surface: "7",
-          label: "fLineN32uber",
+          label: "fAmount",
           name: "金额",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "8",
-          label: "fLinger",
+          label: "fStltypeid",
           name: "付费方式",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "9",
-          label: "fLineNubr",
+          label: "remark",
           name: "备注",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "10",
-          label: "fLieNuber",
+          label: "createTime",
           name: "申请日期",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:3
         },{
           surface: "11",
-          label: "feNuber",
+          label: "createBy",
           name: "申请人",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:2
         },{
           surface: "12",
-          label: "fLineuber",
+          label: "fReviewDate",
           name: "审核日期",
           checked: 0,
           width: 100,
-          onabort:''
+          onabort:'',
+          changeable:3
         },{
           surface: "13",
-          label: "fMaterialw1",
+          label: "operation",
           name: "操作",
           checked: 0,
           width: 160,
-          operation:'1',
+          operation:'2',
           onabort:''
         }
       ],
@@ -290,6 +308,13 @@ export default {
           name:'录入',
           disabled:false,
         },{
+          type:'primary',
+          size:'mini',
+          icon:'el-icon-plus',
+          name:'保存',
+          plain:true,
+          disabled:false,
+        },{
           type:'success',
           size:'mini',
           icon:'el-icon-edit',
@@ -363,7 +388,7 @@ export default {
       contentOption:[
         {
           span:6,
-          label: 'fNum3ber',
+          label: 'fBillno',
           name:"系统编号",
           inputType:2,
           width:200,
@@ -371,7 +396,7 @@ export default {
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'fGoodsid',
           name:"项目名称",
           inputType:2,
           width:200,
@@ -395,7 +420,7 @@ export default {
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'fCorpid',
           name:"供应商",
           inputType:2,
           width:200,
@@ -403,7 +428,7 @@ export default {
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'fWarehouseid',
           name:"仓库",
           inputType:2,
           width:200,
@@ -411,7 +436,7 @@ export default {
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'fBsdate',
           name:"提货日期",
           inputType:2,
           width:200,
@@ -419,7 +444,7 @@ export default {
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'createBy',
           name:"申请人",
           inputType:2,
           width:200,
@@ -428,23 +453,23 @@ export default {
         },
         {
           span:6,
-          label: 'fNum3ber',
-          name:"学生",
+          label: 'fStudentsWeight',
+          name:"学生人数",
           inputType:2,
           width:200,
           labelSize:'80',
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
-          name:"教",
+          label: 'fTeachersWeight',
+          name:"教师人数",
           inputType:2,
           width:200,
           labelSize:'80',
           rules:[{ required: false, message: ' '}]
         },{
           span:6,
-          label: 'fNum3ber',
+          label: 'remark',
           name:"备注",
           inputType:2,
           width:200,
@@ -453,7 +478,7 @@ export default {
         },
         {
           span:6,
-          label: 'fNum3ber',
+          label: 'fSbu',
           name:"开票公司",
           inputType:2,
           width:200,
@@ -473,6 +498,29 @@ export default {
       fBilltype:'SQ'
     }
     this.query(list)
+    productName().then(res =>{
+      console.log(res)
+      if (res.code === 200){
+        this.listData.fFeeid = []
+        for (let item in res.rows){
+          this.listData.fFeeid.push({
+            label:res.rows[item].fName,
+            value:res.rows[item].fId
+          })
+        }
+        console.log(this.listData)
+      }
+    })
+    this.getDicts("data_unitfees").then(res => {
+      this.listData.fFeeunitid = []
+      console.log(res.data)
+      for (let item in res.data){
+        this.listData.fFeeunitid.push({
+          label:res.data[item].dictLabel,
+          value:JSON.parse(res.data[item].dictValue)
+        })
+      }
+    });
   },
   methods:{
     //查询主页列数据
@@ -511,8 +559,8 @@ export default {
           }else {
             // this.waitFor = true
             this.queryList.columnList = this.listStyle
+            console.log(this.queryList.columnList.fFeeid)
             this.setRowList = this.listStyle
-            console.log(this.queryList.columnList)
           }
           this.pageDisplay = true
           this.isItHidden = true
@@ -526,6 +574,18 @@ export default {
     //查看
     viewMethod(scope){
       console.log(scope)
+      viewSingle(scope.row.fId).then(res =>{
+        if(res.code === 200){
+          let data = {
+            tableName: this.purchaseList.tableName,
+            userId: Cookies.get("userName"),
+          };
+          this.$refs.avatar.form = {}
+          this.getRow(data)
+          this.$refs.avatar.form = res.data.warehouseBills
+          this.contentList = res.data.tWarehousebillsfees
+        }
+      })
     },
     //修改
     modification(scope){
@@ -539,23 +599,57 @@ export default {
     selectionbox(selection){
       console.log(selection)
     },
+    //详情内容保存
+    submitAndSave(){
+      let formData = new window.FormData();
+      formData.append("tWarehousebills", JSON.stringify(this.$refs.avatar.form));
+      formData.append("tWarehousebillsfees", JSON.stringify(this.contentList));
+      formData.append("fBilltype", "SQ");
+      submit(formData).then(res =>{
+        if (res.code == 200){
+          this.$message.success('保存成功');
+        }
+      })
+    },
     //所以按钮
     buttonList(row){
       console.log(row)
       let data
       switch(row.name) {
         case '新增':
+          this.contentList = []
           data = {
             tableName: this.purchaseList.tableName,
             userId: Cookies.get("userName"),
           };
+          this.$refs.avatar.form = {}
           this.getRow(data)
           break;
+        case '保存':
+          this.$refs.avatar.submitForm('submit')
+          break;
+        case '录入':
+          this.contentList.push({
+            fFeeid:'',
+            fUnitprice:'',
+            fPurchase:'',
+            fQty:'',
+            fFeeunitid:'',
+            fAmount:'',
+            fStltypeid:'',
+            remark:'',
+            createTime:'',
+            createBy:'',
+            fReviewDate:'',
+            operation:'',
+          })
+          break
         case '返回列表':
           data = {
             tableName: this.queryList.tableName,
             userId: Cookies.get("userName"),
           };
+          this.$refs.avatar.form = {}
           this.getRow(data)
           break;
         default:
@@ -592,7 +686,18 @@ export default {
     //点击刷新会调用此方法
     getList(){
       console.log('到我了2')
-    }
+    },
+    //详情表内容移出
+    deletRows(index,rows){
+      console.log(index,rows)
+      if (rows[index].fId){
+        deleteQuery(this.$refs.avatar.form.fId,this.$refs.avatar.form.fDateChanged).then(res =>{
+          console.log(res)
+        })
+      }else {
+        rows.splice(index, 1);
+      }
+    },
   }
 }
 </script>