mushencc 3 年 前
コミット
f9db50162c

BIN
dist (2).zip


BIN
dist.zip


+ 11 - 3
src/views/BidSystem/TotalBoard/detail.vue

@@ -124,7 +124,7 @@
                     top:((item.measure.split('*')[1]-__item[1][1])/item.measure.split('*')[0])*30+'vw',
                     width:(Math.abs(__item[3][0]-__item[0][0])/item.measure.split('*')[0])*30+'vw',
                     height:(Math.abs(__item[2][1]-__item[0][1])/item.measure.split('*')[0]*30)+'vw'
-                    }"></div>
+                    }">{{`(${Math.abs(__item[3][0]-__item[0][0])},${(Math.abs(__item[2][1]-__item[0][1]))})`}}</div>
                 </div>
                 </div>
                 </div>
@@ -460,8 +460,16 @@ export default {
         position:relative;
         .sheet_part{
             position: absolute;
-            border: 1px solid black;
-          
+            border: 1px dotted black;
+            // text-align: center;
+            font-size: .2em;
+            line-height: 1;
+            word-break:break-all;
+            padding: 0;
+            margin: 0;
+            display: flex;
+            justify-content: center;
+            align-items: center;
         }
     }
     }

+ 6 - 0
src/views/OrderMannage/BusinessOrderlist/confirmNew.vue

@@ -4234,6 +4234,12 @@ export default {
           //     }
           //   });
           //因为是复制,插件id为_XID会相同导致bug,置空后会自动生成
+          console.log(obj);
+          obj.measure.forEach(v=>{
+            v.value='';//长宽高不保留
+            obj[v.e_title]='';
+          })
+          obj.position='';//位置不保留
           obj._XID = "";
           this.tableData.splice(index + 1, 0, obj);
           this.handleCalcCount();

+ 4 - 0
src/views/PackagingStatistics/confirm.vue

@@ -113,6 +113,7 @@ export default {
               },
                initData(row){
                    this.axios.post('/api/finance_pack_year',{...this.$route.query,state:'',...row}).then(res=>{
+                    if(res.code==200){
                        this.otherColumns=[];
                        this.employeeList = res.data.employee;
                        this.projectList = res.data.order_list;
@@ -163,6 +164,9 @@ export default {
                       
                           this.tableData.push(totalData);
                      this.tableData.push(totalSure);
+                     }else{
+                        this.tableData = [];
+                     }
                    });
                }
           }    

+ 4 - 0
src/views/PackagingStatistics/detail.vue

@@ -141,6 +141,7 @@ export default {
               },
                initData(row){
                    this.axios.post('/api/finance_pack_year',{...this.$route.query,state:'month',...row}).then(res=>{
+                    if(res.code==200){
                        this.otherColumns = [];
                        this.employeeList = res.data.employee;
                        this.projectList = res.data.order_list;
@@ -186,6 +187,9 @@ export default {
                       
                           this.tableData.push(totalData);
                      this.tableData.push(totalSure);
+                    }else{
+                        this.tableData=[];
+                    }
                    });
                }
           }    

+ 5 - 0
src/views/PackagingStatistics/list.vue

@@ -149,6 +149,7 @@ export default {
               },
                initData(row){
                    this.axios.post('/api/finance_pack_year',{...row,state:'year'}).then(res=>{
+                    if(res.code==200){
                        this.otherColumns=[];
                        this.projectList = res.data.order_list;
                        this.employeeList = res.data.employee;
@@ -199,6 +200,10 @@ export default {
                       
                           this.tableData.push(totalData);
                      this.tableData.push(totalSure);
+                   }else{
+                    // this.$Message.warning(res.data);
+                    this.tableData = [];
+                   }
                    });
                }
           }    

+ 20 - 29
src/views/ProductValue/detail.vue

@@ -31,8 +31,8 @@
                 <Button type="primary" @click="initData(searchData)">搜索</Button>
             </FormItem>
         </Form>
-           <!-- <Table :data='tableData' :columns='SetTableColumns' border max-height='550'></Table> -->
-        <u-table
+           <Table :data='tableData' :columns='SetTableColumns' border max-height='550'></Table>
+        <!-- <u-table
     :data="tableData"
     :max-height='height'
     border
@@ -62,26 +62,14 @@
           align='center'
           minWidth="100">
         </u-table-column>
-        <u-table-column
-          prop="num"
-          label="数量"
-          align='center'
-          minWidth="100">
-        </u-table-column>
+      
         <u-table-column
           prop="price"
-          label="单价"
-          align='center'
-          minWidth="100">
-        </u-table-column>
-        <u-table-column
-          prop="total_price"
           label="金额"
           align='center'
-         minWidth="100"
-         >
-
+          minWidth="100">
         </u-table-column>
+     
       <u-table-column
           prop="technology"
           label="工艺"
@@ -95,16 +83,15 @@
           :key="item.key"
          >
            <u-table-column 
-           v-show="item.children" v-for="_item in item.children" :key="_item.id"
+            v-for="_item in item.children" :key="_item.id"
            :label='_item.title'
            :prop='_item.key'
            align='center'
            minWidth='100'
            >
-
-           </u-table-column>
+            </u-table-column>
         </u-table-column>
-  </u-table>
+  </u-table> -->
            </div>
     </div>
 </template>
@@ -131,12 +118,12 @@ export default {
                {title:'图号',align:'center',minWidth:100,key:'url_number'},
                {title:'区域',align:'center',minWidth:100,key:'layer'},
                {title:'产品名称',align:'center',minWidth:100,key:'title'},
-               {title:'数量',align:'center',minWidth:100,key:'num'},
-               {title:'单价',align:'center',minWidth:100,key:'price'},
-               {title:'金额',align:'center',minWidth:100,key:'total_price',render:(h,params)=>{
-                   const {row} = params;
-                   return h('span',{},row.num*1*row.price)
-               }},
+            //    {title:'数量',align:'center',minWidth:100,key:'num'},
+               {title:'金额',align:'center',minWidth:100,key:'price'},
+            //    {title:'金额',align:'center',minWidth:100,key:'total_price',render:(h,params)=>{
+            //        const {row} = params;
+            //        return h('span',{},row.num*1*row.price)
+            //    }},
                {title:'工艺',align:'center',minWidth:100,key:'technology'},
            ],
            setColumns:[
@@ -203,19 +190,22 @@ export default {
                               })
                         });
                     this.setColumns = arr;
+                  
                     res.data.list.forEach(v=>{
                         if(v.procedure_list){
                               if(v.procedure_list.length==0){
                            
                         }else{
                             let key = Object.keys(v.procedure_list);
-                            console.log(key);
+                            
                             key.forEach(ele=>{
                               let k = Object.keys(v.procedure_list[ele]);
+                              let sum=0;
                               k.forEach(e=>{
                                   v[ele+'_'+e]=(v.procedure_list[ele][e].time).toString();
-                                  v[ele+'_time'] = v.procedure_list[ele][e].value;
+                                 sum+= v.procedure_list[ele][e].value||0;
                               })
+                               v[ele+'_time'] =((sum*100)/100).toFixed(2);
                             })
                         }
                         }else{
@@ -223,6 +213,7 @@ export default {
                         }
                     })
                     this.tableData = res.data.list;
+                
                     this.tableData.forEach(v=>{
                         v.total_price = (v.num*1*v.price).toFixed(2);
                     })

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

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

+ 42 - 11
src/views/stack/confirm.vue

@@ -5,28 +5,44 @@
         </Toptitle>
         <Form :label-width='100' class="form_content">
             <FormItem label='楼幢:'>
-                <Select class="form_item" filterable clearable v-model="searchData.house"></Select>
+                <Select class="form_item" filterable clearable v-model="searchData.house">
+                    <Option v-for="(item,index) in house" :key="index" :value="item" :label="item"></Option>
+                </Select>
             </FormItem>
             <FormItem label='单元:'>
-               <Select class="form_item" filterable clearable v-model="searchData.unit"></Select>
+               <Select class="form_item" filterable clearable v-model="searchData.unit">
+               <Option v-for="(item,index) in unit" :key="index" :value="item" :label="item"></Option>
+               </Select>
             </FormItem>
             <FormItem label='楼层:'>
-               <Select class="form_item" filterable clearable v-model="searchData.layer"></Select>
+               <Select class="form_item" filterable clearable v-model="searchData.layer">
+                <Option v-for="(item,index) in layer" :key="index" :value="item" :label="item"></Option>
+               </Select>
             </FormItem>
             <FormItem label='房号:'>
-                <Select class="form_item" filterable clearable v-model="searchData.house_number"></Select>
+                <Select class="form_item" filterable clearable v-model="searchData.number">
+                    <Option v-for="(item,index) in number" :key="index" :value="item" :label="item"></Option>
+                </Select>
             </FormItem>
             <FormItem label='产品:'>
-               <Select class="form_item" filterable clearable v-model="searchData.product_title"></Select>
+               <Select class="form_item" filterable clearable v-model="searchData.product_title">
+                <Option v-for="(item,index) in productTitle" :key="index" :value="item" :label="item"></Option>
+               </Select>
             </FormItem>
             <FormItem label='图号:'>
-               <Select class="form_item" filterable clearable v-model="searchData.url_number"></Select>
+               <Select class="form_item" filterable clearable v-model="searchData.url_number">
+                <Option v-for="(item,index) in urlNumber" :key="index" :value="item" :label="item"></Option>
+               </Select>
             </FormItem>
             <FormItem label='组合名称:'>
-               <Select class="form_item" filterable clearable v-model="searchData.compose_name"></Select>
+               <Select class="form_item" filterable clearable v-model="searchData.compose_name">
+                <Option v-for="(item,index) in composeName" :key="index" :value="item" :label="item"></Option>
+               </Select>
             </FormItem>
             <FormItem label='部件:'>
-                <Select class="form_item" filterable clearable v-model="searchData.part_title"></Select>
+                <Select class="form_item" filterable clearable v-model="searchData.part_title">
+                    <Option v-for="(item,index) in partTitle" :key="index" :value="item" :label="item"></Option>
+                </Select>
             </FormItem>
             <!-- <FormItem label='精裁尺寸:'>
                <div style="display:flex">
@@ -41,8 +57,7 @@
             <FormItem label='发货指令状态'>
                    <Select clearable v-model="searchData.state" class="form_item">
                        <Option :value="0">未下指令</Option>
-                       <Option :value="1">部分未下发货指令</Option>
-                       <Option :value="2">已下指令</Option>
+                       <Option :value="1">已下指令</Option>
                    </Select>
             </FormItem>
             <FormItem>
@@ -57,11 +72,19 @@
 export default {
     data(){
         return{
+            composeName:[],
+            house:[],
+            layer:[],
+            number:[],
+            partTitle:[],
+            productTitle:[],
+            urlNumber:[],
+            unit:[],
             searchData:{
                     house:'',
                     unit:'',
                     layer:'',
-                    house_number:'',
+                    number:'',
                     product_title:'',
                     url_number:'',
                     compose_name:'',
@@ -108,6 +131,14 @@ export default {
          this.axios.post('/api/buttress_part_detail',{order_no:this.$route.query.order_no,buttress_no:this.$route.query.buttress_no,page_index:this.pageIndex,page_size:this.pageSize,...row}).then(res=>{
                 this.total = res.data.total;
                 this.tableData = res.data.data;
+               this.unit = res.data.search.unit;
+               this.house = res.data.search.house;
+               this.layer = res.data.search.layer;
+               this.partTitle = res.data.search.part_title;
+               this.productTitle = res.data.search.product_title;
+               this.number = res.data.search.number;
+               this.urlNumber = res.data.search.url_number;
+               this.composeName = res.data.search.compose_name;
          })
         },
         change(e){

+ 39 - 2
src/views/stack/detail.vue

@@ -2,6 +2,7 @@
     <div>
         <Toptitle title="垛码单详情">
         <Button type="primary" style="margin-right:10px" @click="handleOut">发货指令</Button>
+       <Button type="primary" style="margin-right:10px" @click="handleCancelOut(selectData)">批量撤销发货指令</Button>
         <Button @click="$router.go(-1)">返回</Button>
         </Toptitle> 
         <Form :label-width='140' class="form_content">
@@ -25,7 +26,8 @@
         </Form>
         <Table :data='tableData' :columns='tableColumns' border max-height='550' @on-selection-change='handleSelect'>
             <template slot="set" slot-scope="{row}">
-                <a style="margin-right:10px" @click="handleTableOut(row)">发货指令</a>
+                <a style="margin-right:10px" @click="handleTableOut(row)" v-show="row.state!=2">发货指令</a>
+                <a style="margin-right:10px" @click="handleCancelOut(row)" v-show="row.state!=0">撤销发货指令</a>
                 <a @click="goPage(row)">详情</a>
             </template>
         </Table>
@@ -116,7 +118,39 @@ export default {
         })
     },
     methods:{
+        handleCancelOut(row){
+            let buttress_nos = [];
+            if(row instanceof Array){
+                if(row.length==0){
+                    return this.$Message.warning('请先选择数据!')
+                }
+                if(!row.every(v=>(v.state!=0))){
+                    return this.$Message.warning('存在不能撤销发货指令的数据!')
+                }
+                row.forEach(v=>{
+                    buttress_nos.push(v.buttress_no);
+                })
+            }else{
+                buttress_nos.push(row.buttress_no);
+            }
+            this.confirmDelete({
+                title:'撤销发货指令',
+                content:'是否确认撤销发货指令?',
+                then:()=>{
+                     this.axios.post('/api/return_send_instrcuct',{order_no:this.$route.query.order_no,buttress_nos}).then(res=>{
+        if(res.code==200){
+            this.$Message.success(res.msg);
+            this.initData(this.proxyData);
+        }
+      })
+                }
+            })
+     
+        },
         outPost(){
+            if(!this.time||!this.modalData.nickname){
+               return this.$Message.warning('请选择人员和出库日期!')
+            }
              if (this.time) {
         this.modalData.start_time = new Date(this.time)
           .toLocaleDateString()
@@ -126,7 +160,7 @@ export default {
           .replace(/\//g, "-");
       }
    
-      this.axios.post("/api/orders_out", {order_in_no:this.$route.query.order_no,buttress_nos:this.buttress_nos,...this.modalData}).then((res) => {
+      this.axios.post("/api/orders_out", {order_no:this.$route.query.order_no,buttress_nos:this.buttress_nos,...this.modalData}).then((res) => {
         if (res.code == 200) {
           this.$Message.success(res.msg);
           this.initData(this.proxyData);
@@ -158,6 +192,9 @@ export default {
             if(this.selectData.length==0){
                 return this.$Message.warning('请先选择数据!')
             }
+            if(!this.selectData.every(v=>(v.state!=2))){
+                 return this.$Message.warning('存在不能发货指令的数据!')
+            }
             this.buttress_nos = [];
             this.selectData.forEach(v=>{
                 this.buttress_nos.push(v.buttress_no);

+ 2 - 2
vue.config.js

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