Sfoglia il codice sorgente

Merge branch 'hw' of 121.41.102.225:Nidong/jiufang

mushencc 3 anni fa
parent
commit
10f440505e

+ 20 - 0
src/routerMap/index.js

@@ -1926,6 +1926,26 @@ const routerMap = [
       require(["@/views/ChipPrintScreen/ChipPrintScreenEquipment"], resolve),
   },
   {
+    path: "/cms/BidSystem/TotalBoard/list",
+    name: "TotalBoardList", //报表中心-->板材统计表
+    meta: {
+      index: 3,
+      // keepAlive: true,
+    },
+    component: (resolve) =>
+      require(["@/views/BidSystem/TotalBoard/list"], resolve),
+  },
+  {
+    path: "/cms/BidSystem/TotalBoard/detail",
+    name: "TotalBoardDetail", //报表中心-->板材统计表详情
+    meta: {
+      index: 3,
+      // keepAlive: true,
+    },
+    component: (resolve) =>
+      require(["@/views/BidSystem/TotalBoard/detail"], resolve),
+  },
+  {
     path: "/cms/BidSystem/CompletionStatistics",
     name: "CompletionStatistics", //业务报表-->完工统计表
     meta: {

+ 15 - 0
src/untils/until.js

@@ -79,6 +79,21 @@ export default {
             return null;
         }
     },
+    //文字时间转y-m-d;
+    timestampToTime(timestamp) {
+
+      // var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
+      let Y,M,D
+       let date = new Date(timestamp);
+      Y = date.getFullYear() + '-';
+
+      M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
+
+      D = (date.getDate()<10?"0"+(date.getDate()):date.getDate()) + ' ';
+
+      return Y+M+D;
+
+  },
     //时间转换
     setDate(time) {
         let data = '';

+ 331 - 0
src/views/BidSystem/TotalBoard/detail.vue

@@ -0,0 +1,331 @@
+<template>
+    <div>
+        <Toptitle title="板材统计表详情">
+            <Button type="primary" style="margin-right: 10px" @click="checkTotal">查看合计</Button>
+            <Button @click="AllSelect" style="margin-right: 10px" type="primary">{{state?'取消全选':'全选'}}</Button>
+            <Button type="primary" ghost  @click='exportData()' style="margin-right: 10px">导出</Button>
+            <Button type="primary" @click="$router.go(-1)">返回</Button>
+        </Toptitle>
+        <Form :label-width='80' style="display:flex;flex-wrap:wrap;margin-top:15px">
+            <FormItem label='图号'>
+                <Select filterable multiple v-model="searchData.url_number" style="width:200px">
+                    <Option v-for="(item,index) in urlNumber_list" :key="index" :value="item" :label="item"></Option>
+                </Select>
+            </FormItem>
+            <FormItem label='产品名称'>
+                <Select filterable multiple v-model="searchData.product_id" style="width:200px">
+                    <Option v-for="(item,index) in product_list" :key="index" :value="item" :label="item"/>
+                </Select>
+            </FormItem>
+            <FormItem label='派工时间'>
+               <DatePicker type="date" placeholder="年/月/日" style="width: 200px" v-model="searchData.start_time"></DatePicker>~
+                <DatePicker type="date" placeholder="年/月/日" style="width: 200px" v-model="searchData.end_time"></DatePicker>
+            </FormItem>
+            <FormItem><Button type="primary" @click="initData(searchData)">搜索</Button></FormItem>
+        </Form>
+        <div style="height:80%;overflow:auto">
+            <Card v-for="(item,index) in infoNumber" :key="index">
+          <div class="table_header">
+            <div class="table_header_left">
+            <Checkbox v-model="item.is_select" @on-change='itemSelect($event,item,index)'></Checkbox>
+              <span>图号:{{item.url_number}}</span>
+              <span>产品名称:{{item.product_title}}</span>
+              <span>派工时间:{{item.crt_time?func.replaceDateNoHMS(item.crt_time):''}}</span>
+            </div>
+            <div class="table_header_right">
+              <div @click="show(item,index)" style="cursor: pointer;"><span style="font-size:16px;">{{item.showType?'收缩':'展开'}}</span><Icon type="md-arrow-dropright"  ref="ico" class="ico"/></div>
+              <span>总计{{item.total}}条数据</span>
+            </div>
+          </div>
+          <div v-if="item.showType">
+          <div>
+           <Form style="display:flex;" :label-width='80'>
+             <FormItem label='物料分类:'>
+                 <Select v-model="underFormData.type_id" filterable multiple style="width:250px">
+                     <Option v-for="item in material_typeList" :key="item.id" :value="item.id" :label="item.title"/>
+                 </Select>
+             </FormItem>
+             <FormItem label='物料名称:'>
+                 <Select v-model="underFormData.material_title" filterable multiple style="width:250px">
+                     <Option v-for="val in materialList" :key="val.id" :value="val.title" :label="val.title"/>
+                 </Select>
+             </FormItem>
+             <FormItem><Button type="primary" @click="initUnderData(underFormData)">搜索</Button></FormItem>
+           </Form>
+          </div>
+              <Table :columns="tableColumns" border :data="tableData" max-height="450">
+              </Table>
+        </div>
+      </Card>
+           
+        </div>
+        <Modal title="详情" width='50' v-model="show_total">
+         <Form :label-width='100' class="modal_form">
+             <FormItem label='物料分类:'>
+                   <Input placeholder="请输入物料分类" v-model="modalData.type_title" size="small" class="modal_item" clearable/>
+             </FormItem>
+             <FormItem label='物料名称:'>
+                  <Input placeholder="请输入物料名称" v-model="modalData.material_title" size="small" class="modal_item" clearable/>
+             </FormItem>
+             <FormItem :label-width='50'>
+                 <Button type="primary" size='small' @click="checkTotal(modalData)">搜索</Button>
+             </FormItem>
+         </Form>
+         <Table :data='modalTableData' :columns='modalTableColumns' border max-height='550'>
+             
+         </Table>
+         <div style="text-align:center;margin-top:20px">
+          <Page :page-size-opts="[10, 20, 30, 40,100]"
+                @on-page-size-change='changeSize'
+                @on-change='changePage'
+                :current='pageIndex'
+                show-total
+                :total="total"
+                show-sizer
+                :page-size='pageSize' />
+        </div>
+        <div slot="footer" style="text-align:center">
+            <Button type="primary" @click="modalBack" style="width:200px">返回</Button>
+        </div>
+        </Modal>
+    </div>
+</template>
+<script>
+export default {
+    data(){
+        return{
+            proxyData:{},
+            total:0,
+            pageSize:10,
+            pageIndex:1,
+            modalTableData:[],
+            modalTableColumns:[
+                {type:'index',title:'序号',align:'center',minWidth:80},
+                {title:'物料分类',key:'type_title',minWidth:100,align:'center'},
+                 {title:'物料名称',key:'material_title',minWidth:100,align:'center'},
+                  {title:'计量单位',key:'unit',minWidth:100,align:'center'},
+                   {title:'数量',key:'num',minWidth:100,align:'center'},
+            ],
+            modalData:{
+              type_title:'',
+              material_title:''
+            },
+            show_total:false,
+            tableColumns:[
+                {title:'序号',type:'index',align:'center',minWidth:60},
+               {title:'物料分类',align:'center',minWidth:100,key:'type_title'},
+                 {title:'物料名称',align:'center',minWidth:150,key:'material_title'},
+                //    {title:'规格型号',align:'center',minWidth:150,key:'measure',render:(h,params)=>{
+                //        const {row} = params;
+                //        const text = `${row.long?row.long:0}*${row.wide?row.wide:0}*${row.thick?row.thick:0}`
+                //        return h('span',{},text)
+                //    }},
+                {title:'原料尺寸',align:'center',minWidth:150,key:'storage_size'},
+                     {title:'计量单位',align:'center',minWidth:80,key:'unit'},
+                     {title:'精裁面积',align:'center',minWidth:150,key:'cut_area'},
+                       {title:'数量',align:'center',minWidth:80,key:'num'},
+            ],
+            tableData:[],
+            selectData:[],
+            infoNumber:[],
+            underFormData:{
+                type_id:[],
+                material_title:[],
+            },
+            searchData:{
+                url_number:[],
+                product_id:[],
+                start_time:'',
+                end_time:''
+            },
+            material_typeList:[],
+            materialList:[],
+            urlNumber_list:[],
+            product_list:[],
+            url_number:'',
+            state:false,
+        }
+    },
+    created(){
+        //获取物料分类
+         this.axios.get('/api/basics_material_index').then(res => {
+      this.material_typeList = res.data.data;
+         }
+         );
+        //获取物料名称
+           this.axios.get('/api/material').then(res=>{
+                        this.materialList = res.data.data;
+               })
+    },
+    mounted(){
+            this.initData();
+    },
+    methods:{
+        modalBack(){
+              this.show_total = false;
+              this.modalData.type_title = '';
+              this.modalData.material_title = '';
+        },
+        changePage(e){
+             this.pageIndex = e;
+        },
+        changeSize(e){
+             this.pageSize = e;
+             this.pageIndex = 1;
+        },
+        checkTotal(data){
+          if(this.selectData.length==0){
+                return this.$Message.warning('请先选择图号!')
+            }
+            let url_number = [];
+            this.selectData.forEach(v=>{
+                url_number.push(v.url_number);
+            })
+            this.axios.post('/api/finance_quota_detail_material_total',{url_number,order_no:this.$route.query.order_no,...data}).then(res=>{
+                if(res.code == 200){
+                    this.modalTableData = res.data.data;
+                    this.total = res.data.total;
+                    this.show_total = true;
+                }
+                 
+            })
+           
+        },
+        itemSelect(e,item,index){
+           console.log(e);
+           if(e){
+               this.selectData.push(item);
+               this.infoNumber[index].is_select = true;
+               let arr = this.infoNumber.filter(v=>{
+                     return v.is_select == false;
+               })
+               if(arr.length == 0){
+                   this.state = true;
+               }
+           }else{
+                this.state = false;
+                  this.infoNumber[index].is_select = false;
+               this.selectData.forEach((v,idx)=>{
+                   if(v.index == item.index){
+                       this.selectData.splice(idx,1)
+                   }
+               })
+           }
+        },
+        AllSelect(){
+            if(this.state){
+                    this.infoNumber.forEach(v=>{
+                v.is_select = false;
+            this.state = false;
+           
+            })
+             this.selectData = [];
+            }else{
+            this.infoNumber.forEach(v=>{
+                v.is_select = true;
+            this.state = true;
+            })
+            this.selectData = JSON.parse(JSON.stringify(this.infoNumber))
+            }
+        },
+        async exportData(){
+            // console.log(this.selectData);
+            if(this.selectData.length==0){
+                return this.$Message.warning('请先选择图号!')
+            }
+            let url_number = [];
+            this.selectData.forEach(v=>{
+                 url_number.push(v.url_number);
+            })
+            const res = await this.axios.post('/api/finance_quota_export',{order_no:this.$route.query.order_no,url_number})
+           if(res.code == 200){
+                let url = `${this.$store.state.ip}/api/storage/${res.data.file}`
+                location.href = url
+            }
+        },
+        initUnderData(row){
+  this.axios.post('/api/finance_quota_detail_material',{order_no:this.$route.query.order_no,
+	url_number:this.url_number,...row}).then(res=>{
+                  this.tableData = res.data.data;
+    })
+        },
+        show(item,index){
+            item.showType = !item.showType;
+            this.infoNumber.forEach((v,indx)=>{
+                if(indx!=index){
+                     v.showType = false;
+                      document.getElementsByClassName('ico')[index].style.transform = 'rotate(0deg)'
+                }
+            })
+           if(item.showType){
+                document.getElementsByClassName('ico')[index].style.transform = 'rotate(90deg)';
+                this.url_number = item.url_number;
+                  this.underFormData={
+                type_id:[],
+                material_title:[],
+            };
+                this.initUnderData();
+           }
+           
+        },
+        initData(row){
+            this.proxyData=row;
+            let data = [];
+            if(row){
+                data = JSON.parse(JSON.stringify(row));
+                data.end_time = row.end_time?Date.parse(row.end_time).toString().slice(0,10):'';
+                data.start_time = row.start_time?Date.parse(row.start_time).toString().slice(0,10):'';
+            }
+            
+            this.axios.post('/api/finance_quota_detail',{order_no:this.$route.query.order_no,...data}).then(res=>{
+                res.data.data.forEach((v,index) => {
+                     v.showType = false;
+                     v.is_select=false;
+                     v.index = index;
+                });
+                this.infoNumber = res.data.data;
+                this.urlNumber_list = res.data.url_number;
+                this.product_list = res.data.product_title;
+            })
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.table_header {
+  display: flex;
+  justify-content: space-between;
+  .table_header_left{
+      span{
+          margin: 0 20px;
+      }
+  }
+  .table_header_right {
+      width: 240px;
+    display: flex;
+    justify-content: space-around;
+  }
+}
+/deep/ .ivu-card{
+    border-radius: 15px;
+    margin: 15px 0;
+    background: rgb(236, 236, 236);
+}
+.mate_info{
+    display: flex;
+    justify-content: space-between;
+    margin: 20px 0;
+}
+.ico{
+   height:14px;
+   transition: all 0.4s;
+   vertical-align: middle;
+}
+.modal_form{
+    display: flex;
+    flex-wrap: wrap;
+    .modal_item{
+        width: 150px;
+    }
+}
+</style>

+ 99 - 0
src/views/BidSystem/TotalBoard/list.vue

@@ -0,0 +1,99 @@
+<template>
+    <div>
+         <Toptitle title="板材统计表"></Toptitle>
+         <div style="height:85%;overflow:auto">
+         <Form :label-width='80' style="display:flex;margin-top:15px">
+             <FormItem label='项目编码' style="width:300px">
+                 <Select v-model="searchData.order_no" filterable multiple>
+                     <Option v-for="(item,index) in order" :key="index" :value="item" :label="item"/>
+                 </Select>
+             </FormItem>
+             <FormItem label='项目名称' style="width:300px">
+                 <Select v-model="searchData.residential_name" filterable multiple>
+               <Option v-for="(item,index) in residential_name" :key="index" :value="item" :label="item"/>
+                 </Select>
+             </FormItem>
+             <FormItem label='项目简称' style="width:300px">
+                 <Select v-model="searchData.abbreviation" filterable multiple>
+                      <Option v-for="(item,index) in abbreviation" :key="index" :value="item" :label="item"/>
+                 </Select>
+             </FormItem>
+             <FormItem>
+                 <Button type="primary" @click="initData(searchData)">搜索</Button>
+            </FormItem>
+         </Form>
+         <Table :data='tableData' :columns='tableColumns' border>
+                  <template slot="set" slot-scope="{row}">
+                      <a @click="goPageDetail(row)">详情</a>
+                  </template>
+         </Table>
+         </div>
+          <div style="text-align:center">
+          <Page :page-size-opts="[10, 20, 30, 40,100]"
+                @on-page-size-change='changeSize'
+                @on-change='changePage'
+                :current='pageIndex'
+                show-total
+                :total="total"
+                show-sizer
+                :page-size='pageSize' />
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data(){
+        return{
+            abbreviation:[],
+            order:[],
+            residential_name:[],
+            proxyData:{},
+            pageSize:10,
+            pageIndex:1,
+            total:0,
+            tableData:[],
+            tableColumns:[
+                {title:'项目编码',align:'center',key:'order_no'},
+                {title:'项目名称',align:'center',key:'residential_name'},
+                {title:'项目简称',align:'center',key:'abbreviation'},
+                {title:'操作',align:'center',key:'',slot:'set'}
+            ],
+            searchData:{
+              order_no:'',
+	         residential_name:'',
+	         abbreviation:''
+            }
+        }
+    },
+    mounted(){
+      this.initData();
+    },
+    methods:{
+        changeSize(e){
+            this.pageIndex = 1;
+            this.pageSize = e;
+            this.initData(this.proxyData)
+        },
+        changePage(e){
+          this.pageIndex = e;
+          this.initData(this.proxyData)
+        },
+        goPageDetail(row){
+            this.$router.push({path:'/cms/BidSystem/QuotaRequisitionDetail',query:{order_no:row.order_no}});
+        },
+        initData(row){
+            this.proxyData = row;
+              this.axios.post('/api/finance_quota_list',{page_index:this.pageIndex,page_size:this.pageSize,...row}).then(res=>{
+                  this.tableData = res.data.data;
+                  this.total = res.data.total;
+                  this.abbreviation = res.data.abbreviation;
+                  this.order = res.data.order;
+                  this.residential_name = res.data.residential_name;
+              })
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+
+</style>

+ 20 - 0
src/views/ChipPrintScreen/ChipPrintScreen.vue

@@ -4,6 +4,7 @@
       <div slot="header">
         <span style="font-size: 0.5rem">工位屏</span>
         <div class="fullscreen-title-btn">
+          <Button type="primary" size='large' style="margin-right:1rem" @click="handleCancelPrint">撤销打印</Button>
           <Button
             @click="handleWideScreenClick"
             size="large"
@@ -855,6 +856,25 @@ export default {
     })  
   },
   methods: {
+    handleCancelPrint(){
+          if(this.saveData.length==0){
+            return this.$Message.warning('请选择数据!')
+          }
+         if(!this.selectedObj.isChoosed){
+           return this.$Message.warning('撤销打印只能单选!')
+         }
+         this.axios.post('/api/station_cancer_print',{
+           order_no: this.selectedInfo.order_no,
+            product_id: this.selectedInfo.product_id,
+            rows: this.selectedInfo.rows,
+            num: this.selectedObj.print_num,
+            id: this.selectedObj.id,
+         }).then(res=>{
+              if(res.code==200){
+                this.$Message.success(res.msg)
+              }
+         })
+    },
     selectOk(){
       this.selectTrue = false;
        this.selectedAll = !this.selectedAll;

+ 2 - 2
src/views/ChipPrintScreen/ChipPrintScreenEquipment.vue

@@ -21,14 +21,14 @@
         >
           搜索芯片
         </Button>
-          <Button
+          <!-- <Button
           @click="totalChoose"
           size="large"
           type="primary"
           style="margin-right: 1rem"
         >
           全选
-        </Button>
+        </Button> -->
         <Button
           @click="handlePrint"
           size="large"

+ 178 - 8
src/views/PayrollRequisition/edit.vue

@@ -142,7 +142,7 @@
                multiple
               :headers="headers"
               :show-upload-list="false"
-              :on-success="handleSuccess"
+              :on-success="(res,file)=>handleSuccess(res,file,formData)"
              :action="$store.state.ip+'/api/upload_file'">
            <div class="upd_file">
                <Icon type="ios-cloud-upload-outline" class="ico" size='50'/>
@@ -152,7 +152,24 @@
         </Col>
     </Row>
     <br>
-    <Row class="row_item" v-if="type==3">
+     <Row class="row_item" v-if="state==2||state==1">
+        <Col span="24" class="item">
+        <div>
+          <div style='display:flex'>
+        <label style="margin-left:0px;width:112px">付款记录:</label><Button type="primary" size='small' @click="addPayRecord">添加付款记录</Button>
+        </div>
+         <Table :data='payTableData' :columns='payTableColumns' width='800' border style="margin-left:5.8vw">
+         <template slot="set" slot-scope="{row,index}">
+             <a style="margin-right:10px" @click="handleFile(row,1,index)">查看附件</a>
+             <a style="margin-right:10px" @click="handleFile(row,2,index)">编辑附件</a>
+             <a @click="handleDel(index)">删除</a>
+         </template>
+         </Table>
+       </div>
+        </Col>
+    </Row>
+    <br>
+    <Row class="row_item" v-if="type==3||state==1||state==2">
          <Col span="6" class="item">
         <label>制单人:</label><span>{{formData.crt_name}}</span> 
         </Col>
@@ -166,7 +183,7 @@
         </Col>
     </Row>
     <br>
-    <Row class="row_item" v-if="type==3">
+    <Row class="row_item" v-if="type==3||state==2||state==1">
         <Col span="24" class="item">
         <label style="margin-left:0px;width:112px">审批记录:</label>
          <Table :data='tableData' :columns='tableColumns' width='420' border></Table>
@@ -228,12 +245,99 @@
               </FormItem>
           </Form>
       </Modal>
+      <Modal width='30' v-model="show_pay" title="添加付款记录" :mask-closable='false' :closable='false'>
+        <div slot="footer" style="text-align:center">
+          <Button @click="show_pay=false" style="width:4vw">取消</Button>
+          <Button type="primary" style="width:4vw" @click="modalAddData">添加</Button>
+        </div>
+    <Form :label-width='100'>
+      <FormItem label='付款时间:'>
+        <DatePicker type='date' v-model="modalData.pay_time" style="width:50%"></DatePicker>
+      </FormItem>
+      <FormItem label='付款金额:'>
+        <Input v-model="modalData.price" style="width:50%" type="number" @on-blur='checkPayPrice'/>
+      </FormItem>
+      <FormItem label='附件:'>
+              <div class="total_img" style="max-height:400px;overflow:auto">
+              <div v-for="(_item,_index) in modalData.url" :key="_index" class="img_item">
+              <img @click="looks(_item.url,_item.is_pic)" :src="_item.is_pic?$store.state.ip + _item.url:require('./../../assets/imgs/file.jpg')" alt="" class="img_content"/>
+              <Icon
+              size="20"
+              @click="delItems(_index, modalData.url)"
+              class="delete-img"
+              type="ios-close-circle"
+            />
+              <div class="img_title"><a @click="exportData(`${$store.state.ip}${_item.url}`,_item.is_pic,_item.name)">{{_item.name}}</a></div>
+              </div>
+              <Upload
+               multiple
+              :headers="headers"
+              :show-upload-list="false"
+              :on-success="(res,file)=>handleSuccess(res,file,modalData)"
+             :action="$store.state.ip+'/api/upload_file'">
+           <div class="upd_file">
+               <Icon type="ios-cloud-upload-outline" class="ico" size='50'/>
+           </div>
+             </Upload>
+             </div>
+      </FormItem>
+    </Form>
+      </Modal>
+      <Modal v-model="show_tableFile" width='35' :mask-closable='false' :closable='false'>
+          <div slot="header" style="text-align:center">
+            {{tableState==1?'查看附件':'编辑附件'}}
+          </div>
+           <div slot="footer" style="text-align:center">
+          <Button @click="show_tableFile=false" style="width:4vw">取消</Button>
+          <Button type="primary" style="width:4vw" @click="editTableData" v-show="tableState==2">更改</Button>
+        </div>
+          <div class="total_img" style="max-height:400px;overflow:auto">
+              <div v-for="(_item,_index) in tableUrl" :key="_index" class="img_item">
+              <img @click="looks(_item.url,_item.is_pic)" :src="_item.is_pic?$store.state.ip + _item.url:require('./../../assets/imgs/file.jpg')" alt="" class="img_content"/>
+              <Icon
+              size="20"
+              @click="delItems(_index, tableUrl)"
+              class="delete-img"
+              type="ios-close-circle"
+            />
+              <div class="img_title"><a @click="exportData(`${$store.state.ip}${_item.url}`,_item.is_pic,_item.name)">{{_item.name}}</a></div>
+              </div>
+              <Upload
+              v-show="tableState==2"
+               multiple
+              :headers="headers"
+              :show-upload-list="false"
+              :on-success="(res,file)=>handleSuccess(res,file,tableUrl,true)"
+             :action="$store.state.ip+'/api/upload_file'">
+           <div class="upd_file">
+               <Icon type="ios-cloud-upload-outline" class="ico" size='50'/>
+           </div>
+             </Upload>
+             </div>
+      </Modal>
     </div>
 </template>
 <script>
 export default {
     data(){
          return{ 
+           tableState:'',
+           tableIndex:'',
+           tableUrl:[],
+           modalData:{
+           url:[],
+           pay_time:'',
+           price:'',
+           },
+           show_pay:false,
+           payTableData:[],
+           payTableColumns:[
+             {title:'序号',type:'index',align:'center',minWidth:80},
+             {title:'付款时间',key:'pay_time',minWidth:120,align:'center'},
+             {title:'付款金额',key:'price',minWidth:120,align:'center'},
+             {title:'未付金额',key:'un_price',minWidth:120,align:'center'},
+             {title:'操作',key:'set',minWidth:200,align:'center',slot:'set'},
+           ],
                 headers: { 'Authorization': localStorage.getItem('token') },
              show_submit:false,
              check_id:'',
@@ -345,7 +449,8 @@ export default {
                 invoice_state:'',//发票状态
                 invoice_time:'',//回票时间
                 remark:''//备注
-             }
+             },
+             show_tableFile:false
          }
     },
     created(){
@@ -373,7 +478,60 @@ export default {
       
     },
     methods:{
-         handleSuccess(res,file){
+      editTableData(){
+             this.payTableData[this.tableIndex].url = this.tableUrl;
+             this.show_tableFile = false;
+      },
+      handleFile(row,type,index){
+            //type 1 check 2edit
+            if(type==1&&row.url.length==0){
+             return this.$Message.warning('无附件,请添加!')
+            }
+            this.tableState = type;
+            this.tableUrl = row.url;
+            this.tableIndex = index;
+            this.show_tableFile = true;
+            
+      },
+      handleDel(index){
+        console.log(this.tableData)
+        
+        if(this.payTableData.length!=1||index!=this.payTableData.length-1){
+         this.payTableData[index+1].un_price = (this.payTableData[index-1].un_price*1-this.payTableData[index+1].price*1).toFixed(2);
+        }
+        this.payTableData.splice(index,1);
+      },
+      modalAddData(){
+          if(!this.modalData.pay_time||!this.modalData.price){
+                     return this.$Message.warning('请输入完整的信息')
+          }
+          let obj = JSON.parse(JSON.stringify(this.modalData));
+          obj.pay_time = this.func.timestampToTime(obj.pay_time);
+          if(this.payTableData.length==0){
+            obj.un_price = (this.formData.apply_price*1-obj.price*1).toFixed(2);
+          }else{
+            obj.un_price = (this.payTableData[this.payTableData.length-1].un_price*1-obj.price*1).toFixed(2);
+          }
+          this.payTableData.push(obj);
+          this.show_pay=false;
+      },
+      checkPayPrice(){
+           if(this.modalData.price<0){
+               this.modalData.price='0.00';
+           }else{
+             this.modalData.price = (this.modalData.price*1).toFixed(2);
+           }
+      },
+      addPayRecord(){
+          this.show_pay = true;
+          this.modalData={
+            url:[],
+             pay_time:'',
+           price:'',
+          }
+      },
+         handleSuccess(res,file,content,type){
+           console.log(content);
             if(res.code==200){
                 let obj = {};
                 obj.url = res.data.url;
@@ -385,8 +543,11 @@ export default {
                     obj.is_pic = false;
                 }
                 obj.name=file.name;
-                  this.formData.url.push(obj);
-                
+                if(type){
+                  content.push(obj);
+                }else{
+                   content.url.push(obj);
+                }  
             }
         
         },
@@ -409,8 +570,17 @@ export default {
        
         // window.open(url)
         if(type){
+          this.$Message.loading({
+            content:'正在下载图片请稍后...',
+            duration:2
+          })
             this.downloadIamge(url,name)
+            console.log(11);
         }else{
+           this.$Message.loading({
+            content:'正在下载文件请稍后...',
+            duration:1
+          })
              location.href = url;
         }
         
@@ -433,7 +603,7 @@ export default {
         a.href = url // 将生成的URL设置为a.href属性
         a.dispatchEvent(event) // 触发a的单击事件
       }
-      image.src = imgsrc
+      image.src = imgsrc;
     },
         showSubmit(){
         if(this.state==0||this.state==2){

+ 2 - 1
src/views/PayrollRequisition/list.vue

@@ -452,6 +452,7 @@ export default {
                page_index:this.page_index,
                page_size:this.page_size,
                obj:this.proxyData,
+               searchData:this.searchData
           }; 
            localStorage.setItem("requisitionData", JSON.stringify(requisitionData));   
       }
@@ -464,7 +465,7 @@ export default {
 
                   vm.page_index = requisitionData.page_index;
                   vm.page_size = requisitionData.page_size;
-                  vm.searchData = requisitionData.obj;
+                  vm.searchData = requisitionData.searchData;
                   vm.proxyData = requisitionData.obj;
                   vm.keep = true;
                   localStorage.removeItem('requisitionData')

+ 1 - 0
src/views/ProductionOrderList/InboundForm/details.vue

@@ -408,6 +408,7 @@ export default {
               key: "transport_no",
             },
         { title: "单位", align: "center", minWidth: 100, key: "unit" },
+        {title:'完工班组',align:'center',minWidth:120,key:'employee'},
         {
           title: "包装完成状态",
           align: "center",

+ 1 - 1
vue.config.js

@@ -2,7 +2,7 @@ const axios_default_ip =
   process.env.NODE_ENV == "dev"
     ? "http://121.41.102.225:82"
     : process.env.NODE_ENV == "test-prd"
-    ? "http://121.41.102.225:82" //
+    ? "http://121.41.102.225:999" //
     : process.env.NODE_ENV == "prd_other"
     ? "http://121.37.173.82:82" //贝斯特
     : "http://124.71.176.88:882";