yangbifan 2 éve
szülő
commit
dba453f485

+ 247 - 33
src/pages/main/competitor/components/sheet.vue

@@ -9,7 +9,6 @@
   <div class="sheet-container">
     <div>
       <el-button type="primary" v-if="saveStatus" @click="handleResave">保存</el-button>
-        <!-- <el-button type="primary" @click="handleResave">保存</el-button> -->
       <!-- <el-button> <input style="font-size:16px;" type="file" @change="handdaoru(e)" /></el-button> -->
       <el-button type="primary" @click="handleDownload">导出</el-button>
       <el-button type="primary" @click="handleFullscreen()">全屏显示</el-button>
@@ -27,9 +26,6 @@ export default {
     // simpleDialog,
   },
   props: {
-    excel:{
-     type:Array
-    },
     type: {
       type: String,
       default: "view", // view 查看 edit 编辑
@@ -335,7 +331,6 @@ export default {
           },
         },
       ],
-      excelList:'',
       form: {
         charge: [
           {
@@ -478,7 +473,7 @@ export default {
             let hover = time.getHours();
             let day = time.getDay();
             if (day === 4 || day === 5) {
-              if ((day === 4 && hover < 15) || (day === 5 && hover > 15)) {
+              if ((day === 4 && hover <= 15) || (day === 5 && hover >= 15)) {
                 that.$message.error("不在可编辑时间");
               }
             } else {
@@ -560,12 +555,12 @@ export default {
       // }
       window.luckysheet.create(options);
 
-      // let clock = setInterval(() => {
-      //   if (window.luckysheet) {
-      //     window.luckysheet.refresh();
-      //     clearInterval(clock);
-      //   }
-      // }, 1000);
+      let clock = setInterval(() => {
+        if (window.luckysheet) {
+          window.luckysheet.refresh();
+          clearInterval(clock);
+        }
+      }, 1000);
     },
     // async handleChange(response) {
     //   this.handleCreate({ file: response.raw, type: "file" });
@@ -780,6 +775,242 @@ export default {
       }
     },
     // 获取excel数据
+    async getExcelList() {
+      let name = JSON.parse(window.sessionStorage.getItem("userInfo")).cityName;
+
+      this.$http({
+        url: "/market/mkCompetitor/load",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+      }).then((res) => {
+        // console.log(res)
+        // res.data.body[0].data.map((item) =>{
+        //    item.map((items) =>{
+        //        console.log(items)
+        //    })
+        // })
+        if (res.data.body[0].data) {
+          // let data = res.data.body[0].data;
+          // res.data.body[0].data = [];
+          // for (let i = 0; i <= data.length - 1; i++) {
+          //   if (i <= 79) {
+          //     res.data.body[0].data.push(data[i]);
+          //   }
+          // }
+          if (name == null) {
+            for (let y = res.data.body[0].data.length - 1; y >= 0; y--) {
+              console.log( res.data.body[0].data);
+              if (res.data.body[0].data[y][0] === null) {
+                res.data.body[0].data.splice(y, 1);
+              }
+            }
+            this.getSheetList(res.data.body);
+          } else {
+            this.handleCreate(res.data.body);
+          }
+        } else {
+          console.log(123);
+          let titleList = [
+            {
+              name: "哈尔滨",
+              order: 0,
+              index: 0,
+              cloumn: 10,
+              row: 10,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //
+              },
+            },
+            {
+              name: "哈尔滨",
+              order: 1,
+              index: 1,
+              column: 22,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "鸡西",
+              order: 2,
+              index: 2,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+            {
+              name: "友商在售信息",
+              order: 0,
+              index: 0,
+              defaultRowHeight: 50, //自定义行高
+              defaultColWidth: 120, //自定义列宽
+              celldata: [...this.celldata],
+
+              config: {
+                merge: {}, //合并单元格
+                rowlen: { 0: 100 }, //表格行高
+                columnlen: { 1: 200 }, //表格列宽
+                rowhidden: {}, //隐藏行
+                colhidden: {}, //隐藏列
+                borderInfo: {}, //边框
+                authority: {}, //工作表保护
+              },
+            },
+          ];
+          this.handleCreate(titleList);
+        }
+      });
+    },
+    // 判断数组是否有值
+    async getSheetList(data) {
+      let name = JSON.parse(window.sessionStorage.getItem("userInfo")).cityName;
+      if (name) {
+        if (name.length === 5) {
+          name.substring(0, 1);
+        } else if (name.length === 6) {
+          name.substring(0, 2);
+        } else {
+          name.substring(0, 3);
+        }
+      }
+      const form = new FormData();
+      form.append("name", name);
+      await this.$http({
+        url: "/market/mkCompetitor/getSheet",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: form,
+      }).then((res) => {
+        res.data.body.map((item) => {
+          data.push(item[0]);
+        });
+        this.handleCreate(data);
+      });
+    },
 
     handleFullscreen() {
       const element = document.body;
@@ -874,10 +1105,9 @@ export default {
       // }
         let time = new Date()
         let hover = time.getHours()
-        console.log(hover);
         let day = time.getDay()
         if(day === 4 || day === 5){
-            if((day === 4 && hover <15) || (day === 5 &&hover>15)){
+            if((day ===4 && hover <=15) || (day === 5 &&hover>=15)){
                 this.$message.error('不在可编辑时间');
             }else{
                 this.$http({
@@ -892,7 +1122,7 @@ export default {
                         type: "success",
                         message: "保存成功",
                     });
-                    this.$emit("save",true);
+                    this.$emit("save");
                 });
             }
         }else{
@@ -931,30 +1161,14 @@ export default {
     },
   },
   mounted() {
+    this.handleCreate();
     this.handleInit();
     this.handleChargeList();
+    this.getExcelList();
     if (JSON.parse(window.sessionStorage.getItem("userInfo")).cityName) {
       this.saveStatus = true;
-      
     }
   },
-  watch:{
-   excel:{
-    //  immediate:true,
-     handler(val){
-      this.excelList = val
-        
-     }
-   },
-   excelList:{
-     handler(newVal,oldVal){
-       if(oldVal == ''){
-        this.handleCreate(newVal)
-       }
-     
-     }
-   }
-  },
   destroyed() {
     window.luckysheet.destroy();
   },

+ 4 - 252
src/pages/main/competitor/index.vue

@@ -7,6 +7,7 @@
     >
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="友商竞争信息" name="first">
+          
           <div class="container-box">
             <!-- <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList> -->
             <div class="checknum">
@@ -261,15 +262,12 @@
 
         <el-tab-pane label="友商在售信息" name="second">
           <el-dialog
-            style="margin-top: 0"
+            style="margin-top: 0; "
             title="上报excel"
-            :modal="false"
             :visible.sync="dialogTableVisible"
-            :close="clickClose"
-            :destroy-on-close="true"
           >
             <div class="container-box">
-              <simple-sheet @save="save" :excel="excelList" />
+              <simple-sheet />
             </div>
           </el-dialog>
         </el-tab-pane>
@@ -307,7 +305,6 @@ export default {
   },
   data() {
     return {
-      excelList: [],
       dialogTableVisible: false,
       exportType: "1", // 1是违规  2是正常
       activeName: "first",
@@ -394,247 +391,6 @@ export default {
     };
   },
   methods: {
-    save(val) {
-      if (val) {
-        this.getExcelList();
-      }
-    },
-    getExcelList() {
-      let name = JSON.parse(window.sessionStorage.getItem("userInfo")).cityName;
-
-      this.$http({
-        url: "/market/mkCompetitor/load",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-      }).then((res) => {
-        // console.log(res)
-        // res.data.body[0].data.map((item) =>{
-        //    item.map((items) =>{
-        //        console.log(items)
-        //    })
-        // })
-        if (res.data.body[0].data) {
-          // let data = res.data.body[0].data;
-          // res.data.body[0].data = [];
-          // for (let i = 0; i <= data.length - 1; i++) {
-          //   if (i <= 79) {
-          //     res.data.body[0].data.push(data[i]);
-          //   }
-          // }
-          if (name == null) {
-            this.getSheetList(res.data.body);
-            // this.excelList = res.data.body
-          } else {
-            this.excelList = res.data.body;
-          }
-        } else {
-          let titleList = [
-            {
-              name: "哈尔滨",
-              order: 0,
-              index: 0,
-              cloumn: 10,
-              row: 10,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //
-              },
-            },
-            {
-              name: "哈尔滨",
-              order: 1,
-              index: 1,
-              column: 22,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "鸡西",
-              order: 2,
-              index: 2,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-            {
-              name: "友商在售信息",
-              order: 0,
-              index: 0,
-              defaultRowHeight: 50, //自定义行高
-              defaultColWidth: 120, //自定义列宽
-              celldata: [...this.celldata],
-
-              config: {
-                merge: {}, //合并单元格
-                rowlen: { 0: 100 }, //表格行高
-                columnlen: { 1: 200 }, //表格列宽
-                rowhidden: {}, //隐藏行
-                colhidden: {}, //隐藏列
-                borderInfo: {}, //边框
-                authority: {}, //工作表保护
-              },
-            },
-          ];
-          this.excelList = titleList;
-        }
-      });
-    },
-    //判断数组是否有值
-    getSheetList(data) {
-      let name = JSON.parse(window.sessionStorage.getItem("userInfo")).cityName;
-      if (name) {
-        if (name.length === 5) {
-          name.substring(0, 1);
-        } else if (name.length === 6) {
-          name.substring(0, 2);
-        } else {
-          name.substring(0, 3);
-        }
-      }
-      const form = new FormData();
-      form.append("name", name);
-      this.$http({
-        url: "/market/mkCompetitor/getSheet",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: form,
-      }).then((res) => {
-        res.data.body.map((item) => {
-          data.push(item[0]);
-        });
-        for (let y = data[0].data.length - 1; y >= 0; y--) {
-          if (data[0].data[y][0] === null || !data[0].data[y][0].v) {
-            data[0].data.splice(y, 1);
-          }
-        }
-        console.log(this.data);
-        this.excelList = data;
-      });
-    },
     // 接口调用
     getSecondList(v, n) {
       this.pageSize = n;
@@ -660,13 +416,9 @@ export default {
       if (this.activeName == "first") {
         this.getList(this.params, this.pageSize);
       } else {
-        this.dialogTableVisible = true;
-        this.getExcelList();
+        this.dialogTableVisible = true
       }
     },
-    clickClose() {
-      console.log(123);
-    },
     //查询处理
     searchInfo(v) {
       this.params = {};

+ 34 - 70
src/pages/main/competitors/company.vue

@@ -20,7 +20,7 @@
       <el-button type="primary" @click="handleResave" 
         >保存</el-button
       >
-      <!-- <el-upload
+      <el-upload
         class="upload-demo"
         multiple
         ref="upload"
@@ -36,7 +36,7 @@
         <div>
           <el-button>123</el-button>
         </div>
-      </el-upload> -->
+      </el-upload>
       <el-button type="primary" @click="handleDownload">导出</el-button>
       <el-button type="primary" @click="handleFullscreen()">全屏显示</el-button>
     </div>
@@ -78,7 +78,7 @@ export default {
 
   data() {
     return {
-      bednumber: "联通",
+      bednumber: "",
       checkStatus: false,
       unicomList: [], //联通excelList
       telecomList: [], //电信excelList
@@ -503,7 +503,6 @@ export default {
         },
       }).then((res) => {
         // this.handleCreate(res.data.body)
-         res.data.body[0].index= 0
         res.data.body[0].subScript = 0;
         this.a = res.data.body;
       });
@@ -516,7 +515,6 @@ export default {
           "Content-Type": "application/json",
         },
       }).then((res) => {
-         res.data.body[0].index= 1
         res.data.body[0].subScript = 1;
         this.a.push(res.data.body[0]);
       });
@@ -529,7 +527,6 @@ export default {
           "Content-Type": "application/json",
         },
       }).then((res) => {
-         res.data.body[0].index= 0
         res.data.body[0].subScript = 2;
         this.b = res.data.body;
       });
@@ -542,7 +539,6 @@ export default {
           "Content-Type": "application/json",
         },
       }).then((res) => {
-         res.data.body[0].index= 1
         res.data.body[0].subScript = 3;
         this.b.push(res.data.body[0]);
       });
@@ -907,31 +903,31 @@ export default {
         // },
       };
 
-      // switch (data.type) {
-      //   case "file":
-      //     if (data.file) {
-      //       await new Promise((resolve) => {
-      //         luckyexcel.transformExcelToLucky(data.file, (export_json) => {
-      //           options.data = [
-      //             ...export_json.sheets.map((element) => ({
-      //               ...element,
-      //               zoomRatio: 0.75,
-      //             })),
-      //           ];
-      //           options.title = export_json.info.name;
-      //           resolve();
-      //         });
-      //       });
-      //     }
-      //     break;
-      //   case "json":
-      //     console.log(123);
-      //     // if (json) {
-      //     //   options.data = [];
-      //     //   options.title = name;
-      //     // }
-      //     break;
-      // }
+      switch (data.type) {
+        case "file":
+          if (data.file) {
+            await new Promise((resolve) => {
+              luckyexcel.transformExcelToLucky(data.file, (export_json) => {
+                options.data = [
+                  ...export_json.sheets.map((element) => ({
+                    ...element,
+                    zoomRatio: 0.75,
+                  })),
+                ];
+                options.title = export_json.info.name;
+                resolve();
+              });
+            });
+          }
+          break;
+        case "json":
+          console.log(123);
+          // if (json) {
+          //   options.data = [];
+          //   options.title = name;
+          // }
+          break;
+      }
       window.luckysheet.create(options);
 
       let clock = setInterval(() => {
@@ -1369,50 +1365,19 @@ export default {
       //   case 3:
       //     baseUrl = "questionnaireTelecom";
       // }
-         switch (datas.name) {
-        case "联通资费内容":
-        // case "双鸭山联通资费内容":
-        // case "牡丹江联通资费内容":
-        // case "鸡西联通资费内容":
-        // case "齐齐哈尔联通资费内容":
-        // case "鹤岗联通资费内容":
-        // case "伊春联通资费内容":
-        // case "哈尔滨联通资费内容":
-        // case "大庆联通资费内容":
-        // case "绥化联通资费内容":
-        // case "大兴安岭联通资费内容":
-        // case "黑河联通资费内容":
-        // case "佳木斯联通资费内容":
+       switch (datas.name) {
+        case '联通资费内容':
           baseUrl = "expensesUnicom";
-          datas.index = 0;
-          datas.subScript = 0;
           break;
-        case "联通问卷内容":
+        case '联通问卷内容':
           baseUrl = "questionnaireUnicom";
-          datas.index = 1;
-          datas.subScript = 1;
           break;
-        // case "七台河电信资费内容":
-        // case "双鸭山电信资费内容":
-        // case "牡丹江电信资费内容":
-        // case "鸡西电信资费内容":
-        // case "齐齐哈尔电信资费内容":
-        // case "鹤岗电信资费内容":
-        // case "伊春电信资费内容":
-        // case "哈尔滨电信资费内容":
-        // case "大庆电信资费内容":
-        // case "绥化电信资费内容":
-        // case "大兴安岭电信资费内容":
-        // case "黑河电信资费内容":
-        case "电信资费内容":
+        case '电信资费内容':
           baseUrl = "expensesTelecom";
-          datas.index = 0;
-          datas.subScript = 0;
+       
           break;
-        case "电信问卷内容":
+        case '电信问卷内容':
           baseUrl = "questionnaireTelecom";
-          datas.index = 1;
-          datas.subScript = 1;
       }
       const workbook_name = window.luckysheet.getWorkbookName();
       let value = {};
@@ -1490,7 +1455,6 @@ export default {
     },
   },
   mounted() {
-    this.getCheck();
     this.getJurisdiction();
     this.handleInit();
     // this.handleChargeList();

+ 161 - 234
src/pages/main/competitors/home.vue

@@ -17,8 +17,8 @@
           :value="item.value"
         ></el-option>
       </el-select>
-      <el-button type="primary" @click="handleResave" v-if="citystatus">保存</el-button>
-      <!-- <el-upload
+      <el-button type="primary" @click="handleResave">保存</el-button>
+      <el-upload
         class="upload-demo"
         multiple
         ref="upload"
@@ -34,13 +34,10 @@
         <div>
           <el-button>123</el-button>
         </div>
-      </el-upload> -->
-      <el-button type="primary" @click="handleDownload"  v-if="saveStatus">导出</el-button>
+      </el-upload>
+      <el-button type="primary" @click="handleDownload">导出</el-button>
       <!-- <el-button type="primary" @click="handleDownload" v-if="clickOut">导出</el-button> -->
       <el-button type="primary" @click="handleFullscreen()">全屏显示</el-button>
-      <div class="title-tips">
-        <span> 说明:文字结论为必填项</span>
-      </div>
     </div>
 
     <div id="luckysheet" style="width: 75%; height: 70%"></div>
@@ -79,9 +76,7 @@ export default {
 
   data() {
     return {
-       citystatus: false,
-      saveStatus: false,
-      bednumber: "联通",
+      bednumber: "",
       options: [
         {
           value: "电信",
@@ -540,9 +535,8 @@ export default {
         res.data.body[0][0].ch_width = 4971;
         res.data.body[0][0].ch_height = 4971;
         res.data.body[0].push(...data);
-        console.log(res.data.body);
-        for (let y = res.data.body[0][0].data.length - 1; y >= 3; y--) {
-          if (res.data.body[0][0].data[y][0] === null || !res.data.body[0][0].data[y][0].v) {
+        for (let y =  res.data.body[0][0].data.length - 1; y >= 0; y--) {
+          if (res.data.body[0][0].data[y][0] === null) {
             res.data.body[0][0].data.splice(y, 1);
           }
         }
@@ -578,6 +572,7 @@ export default {
       }).then((res) => {
         console.log(res);
         // this.handleCreate(res.data.body)
+        res.data.body[0].subScript = 0;
         this.getUnicomList(res.data.body[0]);
       });
     },
@@ -591,6 +586,7 @@ export default {
         },
       }).then((res) => {
         console.log(res);
+        res.data.body[0].subScript = 1;
         res.data.body.push(data);
         this.handleCreate(res.data.body);
       });
@@ -605,6 +601,7 @@ export default {
         },
       }).then((res) => {
         console.log(res);
+        res.data.body[0].subScript = 2;
         this.getMoveList(res.data.body[0]);
       });
     },
@@ -618,6 +615,7 @@ export default {
         },
       }).then((res) => {
         console.log(res);
+        res.data.body[0].subScript = 3;
         res.data.body.push(data);
         this.handleCreate(res.data.body);
       });
@@ -666,8 +664,8 @@ export default {
         res.data.body[0][0].ch_width = 4971;
         res.data.body[0][0].ch_height = 4971;
         res.data.body[0].push(...data);
-        for (let y = res.data.body[0][0].data.length - 1; y >= 3; y--) {
-          if (res.data.body[0][0].data[y][0] === null || !res.data.body[0][0].data[y][0].v) {
+        for (let y =  res.data.body[0][0].data.length - 1; y >= 0; y--) {
+          if (res.data.body[0][0].data[y][0] === null) {
             res.data.body[0][0].data.splice(y, 1);
           }
         }
@@ -688,6 +686,7 @@ export default {
         let data = [];
         for (let i = 0; i < list.length; i++) {
           data.push(list[i][0]);
+          list[i][0].subScript = 0;
         }
         this.getMoves(data);
       });
@@ -1073,11 +1072,11 @@ export default {
             let day = time.getDay();
             if (day === 4 || day === 5 || day === 6 || day == 7 || day === 1) {
               if ((day === 4 && hover <= 15) || (day === 1 && hover >= 15)) {
-                that.$message.error("可编辑时间:上周四下午三点-本周一下午三点");
+                that.$message.error("上周四下午三点-本周一下午三点");
                 return false;
               }
             } else {
-              that.$message.error("可编辑时间:上周四下午三点-本周一下午三点");
+              that.$message.error("上周四下午三点-本周一下午三点");
               return false;
             }
           },
@@ -1129,31 +1128,31 @@ export default {
         // },
       };
 
-      // switch (data.type) {
-      //   case "file":
-      //     if (data.file) {
-      //       await new Promise((resolve) => {
-      //         luckyexcel.transformExcelToLucky(data.file, (export_json) => {
-      //           options.data = [
-      //             ...export_json.sheets.map((element) => ({
-      //               ...element,
-      //               zoomRatio: 0.75,
-      //             })),
-      //           ];
-      //           options.title = export_json.info.name;
-      //           resolve();
-      //         });
-      //       });
-      //     }
-      //     break;
-      //   case "json":
-      //     console.log(123);
-      //     // if (json) {
-      //     //   options.data = [];
-      //     //   options.title = name;
-      //     // }
-      //     break;
-      // }
+      switch (data.type) {
+        case "file":
+          if (data.file) {
+            await new Promise((resolve) => {
+              luckyexcel.transformExcelToLucky(data.file, (export_json) => {
+                options.data = [
+                  ...export_json.sheets.map((element) => ({
+                    ...element,
+                    zoomRatio: 0.75,
+                  })),
+                ];
+                options.title = export_json.info.name;
+                resolve();
+              });
+            });
+          }
+          break;
+        case "json":
+          console.log(123);
+          // if (json) {
+          //   options.data = [];
+          //   options.title = name;
+          // }
+          break;
+      }
       window.luckysheet.create(options);
       // this.handleCreate(options)
 
@@ -1599,32 +1598,11 @@ export default {
       }
     },
     getTime() {},
-    cityStatus(data) {
-      let cityname = JSON.parse(
-        window.sessionStorage.getItem("userInfo")
-      ).cityName;
-      if (cityname) {
-        let citynames = cityname.substring(0, cityname.length - 3);
-        let datas = [];
-        for (let i = 3; i <= data.data.data.length - 1; i++) {
-          datas.push(data.data.data[i][0]);
-        }
-        let status = datas.every((item) => {
-          console.log(item);
-          if (item && item.v) {
-            return item.v === citynames;
-          } else {
-            return true;
-          }
-        });
-        return status;
-      }
-    },
     handleResave() {
       const sheet_name = window.luckysheet.getSheet().name;
       let baseUrl = "";
       const datas = window.luckysheet.getSheet(sheet_name);
-      // switch (datas.index) {
+      // switch (datas.subScript) {
       //   case 0:
       //     baseUrl = "expensesUnicom";
       //     break;
@@ -1632,7 +1610,7 @@ export default {
       //     baseUrl = "questionnaireUnicom";
       //     break;
       //   case 2:
-      //     baseUrl = "expensesTelecom";
+      //     baseUrl = "expensesTelecom";load
       //
       //     break;
       //   case 3:
@@ -1653,13 +1631,11 @@ export default {
         case "黑河联通资费内容":
         case "佳木斯联通资费内容":
           baseUrl = "expensesUnicom";
-          datas.index = 0;
+          datas.index = 1;
           datas.subScript = 0;
           break;
         case "联通问卷内容":
           baseUrl = "questionnaireUnicom";
-          datas.index = 1;
-          datas.subScript = 1;
           break;
         case "七台河电信资费内容":
         case "双鸭山电信资费内容":
@@ -1675,13 +1651,10 @@ export default {
         case "黑河电信资费内容":
         case "佳木斯电信资费内容":
           baseUrl = "expensesTelecom";
-          datas.index = 0;
-          datas.subScript = 0;
+            datas.index = 4;
           break;
         case "电信问卷内容":
           baseUrl = "questionnaireTelecom";
-          datas.index = 1;
-          datas.subScript = 1;
       }
       const workbook_name = window.luckysheet.getWorkbookName();
       let value = {};
@@ -1706,164 +1679,130 @@ export default {
           data: data, //文件内容
         };
       }
-      //   this.$http({
-      //   // 联通资费内容
-      //   // url: "/market/expensesUnicom/save",
-      //   //联通问卷
-      //   //  url: "/market/questionnaireUnicom/save",
-      //   //电信费用
-      //   // url: "/market/expensesTelecom/save",
-      //   //电信问卷
-      //   //  url: "/market/questionnaireTelecom/save",
-      //   url: "/market/" + baseUrl + "/save",
-      //   method: "post",
-      //   headers: {
-      //     "Content-Type": "application/json",
-      //   },
-      //   data: value,
-      // }).then(() => {
-      //   this.$message({
-      //     type: "success",
-      //     message: "保存成功",
-      //   }); 
-      //   this.getCheck();
-      // });
-
-      //地市公司选择资费时候的 0资费,1问卷
-      let time = new Date();
-      let hover = time.getHours();
-      let day = time.getDay();
-      if (day === 4 || day === 5 || day === 6 || day == 7 || day === 1) {
-        if ((day === 4 && hover <= 15) || (day === 1 && hover >= 15)) {
-          this.$message.error("可编辑时间:上周四下午三点-本周一下午三点");
-          return false;
-        } else {
-          if (datas.subScript === 1) {
-            let status = this.cityStatus(value);
-            if (status) {
-              this.$http({
-                // 联通资费内容
-                // url: "/market/expensesUnicom/save",
-                //联通问卷
-                //  url: "/market/questionnaireUnicom/save",
-                //电信费用
-                // url: "/market/expensesTelecom/save",
-                //电信问卷
-                //  url: "/market/questionnaireTelecom/save",
-                url: "/market/" + baseUrl + "/save",
-                method: "post",
-                headers: {
-                  "Content-Type": "application/json",
-                },
-                data: value,
-              }).then(() => {
-                this.$message({
-                  type: "success",
-                  message: "保存成功",
-                });
-                this.getCheck();
-              });
-            } else {
-              this.$message({
-                type: "error",
-                message: "不能保存当前城市",
-              });
-            }
-          } else {
-            this.$http({
-              // 联通资费内容
-              // url: "/market/expensesUnicom/save",
-              //联通问卷
-              //  url: "/market/questionnaireUnicom/save",
-              //电信费用
-              // url: "/market/expensesTelecom/save",
-              //电信问卷
-              //  url: "/market/questionnaireTelecom/save",
-              url: "/market/" + baseUrl + "/save",
-              method: "post",
-              headers: {
-                "Content-Type": "application/json",
-              },
-              data: value,
-            }).then(() => {
-              this.$message({
-                type: "success",
-                message: "保存成功",
-              });
-              this.getCheck();
+      if (datas.subScript === 1) {
+        let status = this.cityStatus(value);
+        if (status) {
+          this.$http({
+            // 联通资费内容
+            // url: "/market/expensesUnicom/save",
+            //联通问卷
+            //  url: "/market/questionnaireUnicom/save",
+            //电信费用
+            // url: "/market/expensesTelecom/save",
+            //电信问卷
+            //  url: "/market/questionnaireTelecom/save",
+            url: "/market/" + baseUrl + "/save",
+            method: "post",
+            headers: {
+              "Content-Type": "application/json",
+            },
+            data: value,
+          }).then(() => {
+            this.$message({
+              type: "success",
+              message: "保存成功",
             });
-          }
+            this.getCheck();
+          });
+        } else {
+          this.$message({
+            type: "error",
+            message: "不能保存当前城市",
+          });
         }
       } else {
-        this.$message.error("不在可编辑日期");
-        return false;
+        this.$http({
+          // 联通资费内容
+          // url: "/market/expensesUnicom/save",
+          //联通问卷
+          //  url: "/market/questionnaireUnicom/save",
+          //电信费用
+          // url: "/market/expensesTelecom/save",
+          //电信问卷
+          //  url: "/market/questionnaireTelecom/save",
+          url: "/market/" + baseUrl + "/save",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: value,
+        }).then(() => {
+          this.$message({
+            type: "success",
+            message: "保存成功",
+          });
+          this.getCheck();
+        });
       }
-    },
 
-    // let time = new Date();
-    // let hover = time.getHours();
-    // let day = time.getDay();
-    // if (day === 4 || day === 5 || day === 6 || day == 7 || day === 1) {
-    //   if ((day === 4 && hover <= 15) || (day === 1 && hover >= 15)) {
-    //     this.$message.error("不在可编辑时间");
-    //     return false;
-    //   } else {
-    //     this.$http({
-    //       // 联通资费内容
-    //       // url: "/market/expensesUnicom/save",
-    //       //联通问卷
-    //       //  url: "/market/questionnaireUnicom/save",
-    //       //电信费用
-    //       // url: "/market/expensesTelecom/save",
-    //       //电信问卷
-    //       //  url: "/market/questionnaireTelecom/save",
-    //       url: "/market/" + baseUrl + "/save",
-    //       method: "post",
-    //       headers: {
-    //         "Content-Type": "application/json",
-    //       },
-    //       data: value,
-    //     }).then(() => {
-    //       this.$message({
-    //         type: "success",
-    //         message: "保存成功",
-    //       });
-    //       this.getCheck();
-    //     });
-    //   }
-    // } else {
-    //   this.$message.error("不在可编辑日期");
-    //   return false;
-    // }
-  },
-  handleChargeList() {
-    this.$http({
-      url: "/market/techcentergj/queryLeaderList",
-      method: "post",
-      headers: {
-        "Content-Type": "application/json",
-      },
-      data: {},
-    }).then((response) => {
-      this.charge_list = response.data.map((element) => ({
-        label: `${element.ou} ${element.secLeaderName}`,
-        value: `${element.ou}-${element.secLeaderLogin},${element.secLeaderName}`,
-      }));
-    });
+      // let time = new Date();
+      // let hover = time.getHours();
+      // let day = time.getDay();
+      // if (day === 4 || day === 5 || day === 6 || day == 7 || day === 1) {
+      //   if ((day === 4 && hover <= 15) || (day === 1 && hover >= 15)) {
+      //     this.$message.error("不在可编辑时间");
+      //     return false;
+      //   } else {
+      //     this.$http({
+      //       // 联通资费内容
+      //       // url: "/market/expensesUnicom/save",
+      //       //联通问卷
+      //       //  url: "/market/questionnaireUnicom/save",
+      //       //电信费用
+      //       // url: "/market/expensesTelecom/save",
+      //       //电信问卷
+      //       //  url: "/market/questionnaireTelecom/save",
+      //       url: "/market/" + baseUrl + "/save",
+      //       method: "post",
+      //       headers: {
+      //         "Content-Type": "application/json",
+      //       },
+      //       data: value,
+      //     }).then(() => {
+      //       this.$message({
+      //         type: "success",
+      //         message: "保存成功",
+      //       });
+      //       this.getCheck();
+      //     });
+      //   }
+      // } else {
+      //   this.$message.error("不在可编辑日期");
+      //   return false;
+      // }
+    },
+    cityStatus(data) {
+      let cityname = JSON.parse(
+        window.sessionStorage.getItem("userInfo")
+      ).cityName;
+      let citynames = cityname.substring(0, cityname.length - 3);
+      let datas = [];
+      for (let i = 3; i <= data.data.data.length - 1; i++) {
+        datas.push(data.data.data[i][0]);
+      }
+      let status = datas.every((item) => {
+        return item.v === citynames;
+      });
+      return status;
+    },
+    handleChargeList() {
+      this.$http({
+        url: "/market/techcentergj/queryLeaderList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((response) => {
+        this.charge_list = response.data.map((element) => ({
+          label: `${element.ou} ${element.secLeaderName}`,
+          value: `${element.ou}-${element.secLeaderLogin},${element.secLeaderName}`,
+        }));
+      });
+    },
   },
   mounted() {
-      let cityname = JSON.parse(
-      window.sessionStorage.getItem("userInfo")
-    ).cityName;
-    if (cityname) {
-      //地市公司权限
-      this.citystatus = true;
-    } else {
-      //省公司权限
-      this.saveStatus = true;
-    }
     // this.getSheet()
-    this.getCheck()
     this.getJurisdiction();
     this.handleInit();
     // this.handleChargeList();
@@ -1875,18 +1814,6 @@ export default {
 </script>
 
 <style lang="scss" scope>
-.title-tips {
-  color: red;
-  font-size: 24px;
-  /* margin-left: 30px; */
-  position: absolute;
-  top: 110px;
-  z-index: 20;
-  display: flex;
-  width: 75%;
-  flex-direction: row-reverse;
-  // left: calc(100% - 50rem);
-}
 .el-dialog {
   width: 100%;
   height: 100%;

+ 4 - 4
src/pages/main/competitors/index.vue

@@ -31,7 +31,7 @@ export default {
       showList: [],
       routerList: [
         { label: "地市", path: "/competitors", name: "competitors" },
-        // { label: "省公司", path: "/company", name: "company" }
+        { label: "省公司", path: "/company", name: "company" }
       ],
     };
   },
@@ -57,9 +57,9 @@ export default {
     },
   },
   mounted() {
-    if(!JSON.parse(window.sessionStorage.getItem('userInfo')).cityName){
-     this.routerList.push({ label: "省公司", path: "/company", name: "company" })
-    }
+    // if(!JSON.parse(window.sessionStorage.getItem('userInfo')).cityName){
+    //  this.routerList.push({ label: "省公司", path: "/company", name: "company" })
+    // }
     this.activeName = this.$route.path;
   },
   created() {