mushencc 3 роки тому
батько
коміт
fc29683178

+ 3 - 0
src/routerMap/index.js

@@ -1388,6 +1388,7 @@ const routerMap = [
     name: "RoomList", //房间列表
     meta: {
       index: 3,
+      keepAlive:true
     },
     component: (resolve) =>
       require(["@/views/leadMatch/roomList/list"], resolve),
@@ -1406,6 +1407,7 @@ const routerMap = [
     name: "WeightMemo", //码单列表
     meta: {
       index: 3,
+      keepAlive:true
     },
     component: (resolve) =>
       require(["@/views/leadMatch/weightMemo/list"], resolve),
@@ -1424,6 +1426,7 @@ const routerMap = [
     name: "matchList", //匹配列表-->列表
     meta: {
       index: 3,
+      keepAlive:true
     },
     component: (resolve) =>
       require(["@/views/leadMatch/MatchList/matchList"], resolve),

+ 4 - 0
src/views/Dispatching/Dispatching.vue

@@ -533,6 +533,9 @@ export default {
           element.end_time = this.dispatchInfo.end_time;
           element.work_type = this.dispatchInfo.work_type;
           element.user_salary = this.dispatchInfo.user_salary || "";
+          // element.order_no = this.searchData.order_no;
+          // element.url_number = this.searchData.url_number;
+          // element.residential_name = this.searchData.residential_name;
         });
         console.log(target);
         this.axios({
@@ -540,6 +543,7 @@ export default {
           url,
           data: {
             ...target,
+            ...this.searchData
           },
         })
           .then((res) => {

+ 25 - 0
src/views/ProcessLine/index.vue

@@ -98,6 +98,7 @@
             v-model="selectTags"
             class="SortableList"
             @input="getChangeLists"
+           v-if="!this.isCheck"
           >
             <SlickItem
               style="z-index: 9999"
@@ -125,6 +126,30 @@
               </Tooltip>
             </SlickItem>
           </SlickList>
+          <div  class="SortableList" v-else>
+            <div  
+             v-for="(item, key) of selectTags"
+              :key="key"
+              class="SortableItem">
+                <Tooltip>
+                <div slot="content">
+                  <p>工时:{{ item.time }}</p>
+                  <p>工价:{{ item.wages }}</p>
+                  <p>产能:{{ item.capacity }}</p>
+                </div>
+                <div class="tag-modal">
+                  <div class="before">{{ key + 1 }}</div>
+                  <Tag
+                    @on-close="closeTag(key, selectTags, item)"
+                    color="primary"
+                    type="border"
+                    closable
+                    >{{ item.title }}</Tag
+                  >
+                </div>
+              </Tooltip>
+            </div>
+          </div>
           <div class="total_price">
              <div>工时合计:{{worktime_total}}</div>
            <div>工价合计:{{workprice_total}}</div>

+ 6 - 4
src/views/ProductMannage/edit.vue

@@ -521,7 +521,7 @@ export default {
         unit: "", //单位
         img: [], //图片列表
         part: [], //部件,
-        remark: [{ content: [{}] }], //自定义属性列表
+        remark: [], //自定义属性列表
         lock: 0,
         lucy_type: 0,
         id: "",
@@ -656,10 +656,12 @@ export default {
     },
     addCustom() {
       //添加自定义属性
-      if (!this.info.remark) {
-        this.info.remark = [{ content: "" }];
+      if (this.info.remark.length == 0) {
+        this.info.remark = [{title:'',content:'',type:1}];
+      }else{
+        this.info.remark.push({ title: "", content: "", type: 1 });
       }
-      this.info.remark.push({ title: "", content: "", type: 1 });
+      
     },
     postImg(file, row) {
       let formData = new FormData();

+ 33 - 0
src/views/ProductionOrderList/Dispatchlist/details.vue

@@ -19,6 +19,7 @@
       <div slot="titleButton">
         <Button @click="back" style="margin-right:10px;">返回</Button>
         <Button
+        v-if="export_state"
           @click="leadingOut"
           type="primary"
           style="margin-right:10px;"
@@ -60,6 +61,13 @@
             @click="workoveragain(row, 1)"
             >返工</a
           >
+          <a
+           class="map-margin"
+        v-if="NC_state"
+            @click="download"
+          >
+            NC下载
+          </a>
         </div>
       </template>
       <div slot="text-list" class="nickname">
@@ -255,6 +263,8 @@ export default {
       ],
       nickname_list: "",
       username_list: [],
+      export_state:false,
+      NC_state:false,
       tableData: [],
       pageIndex: 1,
       pageSize: 10,
@@ -284,6 +294,21 @@ export default {
       ], //部件时候贴标签
     };
   },
+  created(){
+        this.axios.get('/api/basics_config_list').then(res=>{
+           res.data.forEach(element => {
+             if(element.id == 3){
+               element.content.forEach(v=>{
+                 if(v.title === '详情导出'){
+                         this.export_state = v.state;
+                 }else if(v.title === 'NC下载'){
+                          this.NC_state = v.state;
+                 }
+               })
+             }
+           });
+        })
+  },
   computed: {
     list() {
       const array = [
@@ -434,6 +459,14 @@ export default {
     });
   },
   methods: {
+    download(){
+      this.axios.get('/api/nc_export').then(res=>{
+           if (res.code == 200) {
+        let url = `${this.$store.state.ip}/${res.data.file}`;
+        location.href = url;
+      }
+      })
+    },
     leadingOut(){
          this.axios.get('/api/dispatch_produce_export',{params:{...this.$route.query}}).then(res=>{
            if (res.code == 200) {

+ 38 - 40
src/views/ProductionOrderList/InboundForm/details.vue

@@ -227,10 +227,8 @@ export default {
           placeholder: "入库状态",
           value: "",
           option: [
-            { label: "未指派", value: 0 },
-            { label: "可以派工", value: 1 },
-            { label: "已派工", value: 2 },
-            { label: "已完成", value: 3 },
+            { label: "未入库", value: 2 },
+            { label: "已入库", value: 3 },
           ],
         },
         {
@@ -443,42 +441,42 @@ export default {
       this.getData(row);
     },
     getOptions() {
-      // this.axios("/api/orders_list_detail", {
-      //   params: { order_no: this.$route.query.order_no ,type:this.$route.query.type},
-      // }).then((res) => {
-      //   res.data.house.map((v) => {
-      //     v.value = v.house;
-      //     v.label = v.house;
-      //   });
-      //   res.data.unit.map((v) => {
-      //     v.value = v.unit;
-      //     v.label = v.unit;
-      //   });
-      //   res.data.layer.map((v) => {
-      //     v.value = v.layer;
-      //     v.label = v.layer;
-      //   });
-      //   res.data.number_detail.map((v) => {
-      //     v.value = v.number;
-      //     v.label = v.number;
-      //   });
-      //   res.data.product_title.map((v) => {
-      //     (v.value = v.title), (v.label = v.title);
-      //   });
-      //   res.data.part_title.map((v) => {
-      //     (v.value = v.title), (v.label = v.title);
-      //   });
-      //   res.data.url_number.map(v=>{
-      //     (v.value=v.url_number),(v.label = v.url_number);
-      //   })
-      //   this.list[0].option = res.data.house;
-      //   this.list[1].option = res.data.unit;
-      //   this.list[2].option = res.data.layer;
-      //   this.list[3].option = res.data.number_detail;
-      //   this.list[4].option = res.data.product_title;
-      //   this.list[5].option = res.data.url_number;
-      //   this.list[6].option = res.data.part_title;
-      // });
+      this.axios("/api/orders_list_detail", {
+        params: { order_no: this.$route.query.order_no ,type:this.$route.query.type},
+      }).then((res) => {
+        res.data.house.map((v) => {
+          v.value = v.house;
+          v.label = v.house;
+        });
+        res.data.unit.map((v) => {
+          v.value = v.unit;
+          v.label = v.unit;
+        });
+        res.data.layer.map((v) => {
+          v.value = v.layer;
+          v.label = v.layer;
+        });
+        res.data.number_detail.map((v) => {
+          v.value = v.number;
+          v.label = v.number;
+        });
+        res.data.product_title.map((v) => {
+          (v.value = v.title), (v.label = v.title);
+        });
+        res.data.part_title.map((v) => {
+          (v.value = v.title), (v.label = v.title);
+        });
+        res.data.url_number.map(v=>{
+          (v.value=v.url_number),(v.label = v.url_number);
+        })
+        this.list[0].option = res.data.house;
+        this.list[1].option = res.data.unit;
+        this.list[2].option = res.data.layer;
+        this.list[3].option = res.data.number_detail;
+        this.list[4].option = res.data.product_title;
+        this.list[5].option = res.data.url_number;
+        this.list[6].option = res.data.part_title;
+      });
     },
     getData(row) {
       this.loading = true;

+ 40 - 52
src/views/leadMatch/MatchList/matchPage.vue

@@ -789,7 +789,7 @@ export default {
         {
           title: "选择",
           align: "center",
-          minWidth: 60,
+          resizable: true,width: 60,
           render: (h, params) => {
             let id = params.row.id;
             let flag = false;
@@ -815,10 +815,10 @@ export default {
             ]);
           },
         },
-        { title: "序号", align: "center", type: "index", minWidth: 60 },
-        { title: "部件名称", align: "center", key: "part_name", minWidth: 100 },
-        { title: "行号", align: "center", key: "line", minWidth: 70 },
-        { title: "木皮1", align: "center", key: "skin1", minWidth: 60 },
+        { title: "序号", align: "center", type: "index", resizable: true,width: 60 },
+        { title: "部件名称", align: "center", key: "part_name", resizable: true,width: 100 },
+        { title: "行号", align: "center", key: "line", resizable: true,width: 70 },
+        { title: "木皮1", align: "center", key: "skin1", resizable: true,width: 60 },
         {
           title: "原材料",
           align: "center",
@@ -827,89 +827,76 @@ export default {
             return h("span", {}, params.row.board1 + ";" + params.row.board2);
           },
         },
-        { title: "木皮2", align: "center", key: "skin2", minWidth: 60 },
-        { title: "毛料尺寸", align: "center", key: "wool_size", minWidth: 80 },
+        { title: "木皮2", align: "center", key: "skin2", resizable: true,width: 60 },
+        { title: "毛料尺寸", align: "center", key: "wool_size", resizable: true,width: 80 },
         {
           title: "原料数量",
           align: "center",
           key: "wool_number",
-          minWidth: 80,
+          resizable: true,width: 80,
         },
-        { title: "精裁尺寸", align: "center", key: "cut_size", minWidth: 80 },
+        { title: "精裁尺寸", align: "center", key: "cut_size", resizable: true,width: 80 },
         {
           title: "零部件数量",
           align: "center",
           key: "cut_number",
-          minWidth: 90,
+         resizable: true,width: 90,
         },
         {
           title: "未匹配数量",
           align: "center",
           key: "unbind_number",
-          minWidth: 90,
+         resizable: true,width: 90,
         },
-        { title: "贴皮面积", align: "center", key: "stick", minWidth: 80 },
-        { title: "精裁面积", align: "center", key: "cut", minWidth: 80 },
-        { title: "工艺要求", align: "center", key: "remark", minWidth: 80 },
+        { title: "贴皮面积", align: "center", key: "stick", resizable: true,width: 80 },
+        { title: "精裁面积", align: "center", key: "cut",resizable: true,width: 80 },
+        { title: "工艺要求", align: "center", key: "remark", resizable: true,width: 80 },
       ], //未匹配码单表头
       unmatchedRoomTableColumns: [
-        { title: "全选", align: "center", minWidth: 60, type: "selection" },
-        { title: "序号", align: "center", type: "index", minWidth: 60 },
-        { title: "区域", align: "center", key: "region", minWidth: 60 },
-        { title: "楼栋", align: "center", key: "house", minWidth: 60 },
-        { title: "单元", align: "center", key: "unit", minWidth: 60 },
-        { title: "楼层", align: "center", key: "layer", minWidth: 60 },
+        { title: "全选", align: "center", resizable: true,width: 60, type: "selection" },
+        { title: "序号", align: "center", type: "index", resizable: true,width: 60 },
+        { title: "区域", align: "center", key: "region", resizable: true,width: 60 },
+        { title: "楼栋", align: "center", key: "house", resizable: true,width: 60 },
+        { title: "单元", align: "center", key: "unit", resizable: true,width: 60 },
+        { title: "楼层", align: "center", key: "layer", resizable: true,width: 60 },
         { title: "房号", align: "center", key: "number", minWidth: 60 },
       ], //未匹配房间表头
       unmatchedRoomTableColumnsUsed: [],
+      copy_unmatchedRoomTableColumnsUsed:[],
       matchedSheetTableColumns: [
         // { title: "全选", align: "center", minWidth: 60, type: "selection" },
-        { title: "序号", align: "center", type: "index",  resizable: true,
-                        width: 60 },
-        { title: "区域名称", align: "center", key: "region",  resizable: true,
-                        width: 100 },
-        { title: "房号", align: "center", key: "house_number",  resizable: true,
-                        width: 100},
-        { title: "部件名称", align: "center", key: "part_name",  resizable: true,
-                        width: 100 },
-        { title: "行号", align: "center", key: "line",  resizable: true,
-                        width: 80 },
-        { title: "木皮1", align: "center", key: "skin1",  resizable: true,
-                        width: 100 },
+        { title: "序号", align: "center", type: "index",  minWidth: 60 },
+        { title: "区域名称", align: "center", key: "region", minWidth: 100 },
+        { title: "房号", align: "center", key: "house_number", minWidth: 100},
+        { title: "部件名称", align: "center", key: "part_name", minWidth: 100 },
+        { title: "行号", align: "center", key: "line", minWidth: 80 },
+        { title: "木皮1", align: "center", key: "skin1", minWidth: 100 },
         {
           title: "原材料",
           align: "center",
-          resizable: true,
-                        width: 100,
+          minWidth: 100,
           render: (h, params) => {
             return h("span", {}, params.row.board1 + ";" + params.row.board2);
           },
         },
-        { title: "木皮2", align: "center", key: "skin2",  resizable: true,
-                        width: 100 },
-        { title: "毛料尺寸", align: "center", key: "wool_size",  resizable: true,
-                        width: 100 },
+        { title: "木皮2", align: "center", key: "skin2",  minWidth: 100 },
+        { title: "毛料尺寸", align: "center", key: "wool_size", minWidth: 100 },
         {
           title: "原料数量",
           align: "center",
           key: "wool_number",
-          resizable: true,
-                        width: 80,
+          minWidth: 80,
         },
-        { title: "精裁尺寸", align: "center", key: "cut_size",  resizable: true,
-                        width: 100 },
+        { title: "精裁尺寸", align: "center", key: "cut_size", minWidth: 100 },
         {
           title: "零部件数量",
           align: "center",
           key: "num",
-          resizable: true,
-                        width: 80
+         minWidth: 80
         },
-        { title: "贴皮面积", align: "center", key: "stick", resizable: true,
-                        width: 100 },
-        { title: "精裁面积", align: "center", key: "cut",  resizable: true,
-                        width: 100 },
-        { title: "工艺要求", align: "center", key: "remark", minWidth: 120 },
+        { title: "贴皮面积", align: "center", key: "stick", minWidth: 100 },
+        { title: "精裁面积", align: "center", key: "cut", minWidth: 100 },
+        { title: "工艺要求", align: "center", key: "remark",minWidth:60}
         // {
         //   title: "操作",
         //   align: "center",
@@ -1039,10 +1026,11 @@ export default {
                 this.unmatchedRoomList.house_list = res.data.house_list;
                 this.unmatchedRoomTableColumnsUsed = this.unmatchedRoomTableColumns.concat(
                   res.data.head_word.map((v) => {
-                    return { title: v, align: "center", key: v, minWidth: 60 };
+                    return { title: v, align: "center", key: v, resizable: true,width: 60 };
                   })
                 );
-                this.unmatchedRoomTableColumnsModal = this.unmatchedRoomTableColumnsUsed.concat(
+                this.copy_unmatchedRoomTableColumnsUsed = JSON.parse(JSON.stringify(this.unmatchedRoomTableColumnsUsed));
+                this.unmatchedRoomTableColumnsModal = this.copy_unmatchedRoomTableColumnsUsed.concat(
                   {
                     title: "匹配数量",
                     align: "center",
@@ -1084,7 +1072,7 @@ export default {
                 this.unmatchedRoomList.house_list = res.data.house_list;
                 this.unmatchedRoomTableColumnsUsed = this.unmatchedRoomTableColumns.concat(
                   res.data.head_word.map((v) => {
-                    return { title: v, align: "center", key: v, minWidth: 60 };
+                    return { title: v, align: "center", key: v,resizable: true,width: 60 };
                   })
                 );
                 this.unmatchedRoomTableColumnsModal = this.unmatchedRoomTableColumnsUsed.concat(

+ 1 - 1
vue.config.js

@@ -1,6 +1,6 @@
 const axios_default_ip =
   process.env.NODE_ENV == "dev"
-    ? "http://124.71.176.88:882"
+    ? "http://121.41.102.225:82"
     : process.env.NODE_ENV == "test-prd"
     ? "http://121.41.102.225:82" //测试服
     : process.env.NODE_ENV == "prd_other"