소스 검색

fix:供货商查询

zhangjingyuan 3 년 전
부모
커밋
63f3c5757b
1개의 변경된 파일86개의 추가작업 그리고 80개의 파일을 삭제
  1. 86 80
      src/views/sample/goodsSelect.vue

+ 86 - 80
src/views/sample/goodsSelect.vue

@@ -5,6 +5,7 @@
       <span class="t-span">供应商:</span>
       <el-select v-model="quyu" placeholder="请选择" filterable clearable style="width:300px;">
         <el-option
+          style="width:300px"
           v-for="item in options"
           :key="item.id_"
           :label="item.gong_ying_shang_m"
@@ -12,6 +13,22 @@
         >
         </el-option>
       </el-select>
+      <span class="t-span">物料名称:</span>
+      <el-input
+        style="width:300px"
+        maxlength=300
+        placeholder="请输入内容"
+        v-model="wlmc"
+        clearable>
+      </el-input>
+      <span class="t-span">物料编码:</span>
+      <el-input
+        style="width:300px"
+        maxlength=300
+        placeholder="请输入内容"
+        v-model="wlbm"
+        clearable>
+      </el-input>
       <el-date-picker
       v-model="value2"
       type="daterange"
@@ -110,10 +127,12 @@ export default {
     return {
       tableData: [],
       quyu: "",
+      wlmc:'',
+      wlbm:'',
       riqi: "",
       currentPage4: 0,
       currentPage: 1,
-      limit: "10",
+      limit: "1,10",
       numtotal: "",
       currentSql: "",
       countSql: "",
@@ -146,7 +165,25 @@ export default {
               start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
               picker.$emit('pick', [start, end]);
             }
-          }]
+          }, {
+            text: '最近一年',
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 365);
+              picker.$emit('pick', [start, end]);
+            }
+          }, {
+            text: '最近三年',
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 1095);
+              picker.$emit('pick', [start, end]);
+            }
+          }
+        ]
+          
         },
         value1: '',
         value2: ''
@@ -156,11 +193,10 @@ export default {
   created() {
     let this_ = this;
     let sql = cgSql + jsSql + this.limit;
-    this.currentSql = sql;
+
     this.loadData(sql);
     this.allLength();
-    let gysSql =
-      "select id_,gong_ying_shang_m FROM t_gysml where gong_ying_shang_l ='设备、物料供应商'";
+    let gysSql ="select id_,gong_ying_shang_m FROM t_gysml where gong_ying_shang_l ='设备、物料供应商'";
     curdPost("sql", gysSql).then((res) => {
       let data = res.variables.data;
       this_.options = data;
@@ -168,6 +204,7 @@ export default {
   },
   filters: {
     gysfilter: function (value, arr) {
+      // console.log(value, arr)
       for (let i = 0; i < arr.length; i++) {
         if (arr[i].wu_liao_bian_ma_ == value) {
           return arr[i].gong_ying_shang_m;
@@ -210,15 +247,14 @@ export default {
   methods: {
     allLength() {
       let this_ = this;
-      let sql1 =
-        "select COUNT(*) AS COUNT FROM t_cgysjlb UNION ALL SELECT COUNT(*) AS COUNT FROM t_wljsysjlb ";
+      let sql1 ="select COUNT(*) AS COUNT FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((SELECT id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' ))AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '1998-01-01' AND '2500-12-29' UNION ALL SELECT COUNT(*) AS COUNT FROM t_wljsysjlb WHERE  DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '1998-01-01' AND '2500-12-29' ";
       curdPost("sql", sql1).then((res) => {
         let data = res.variables.data;
         this_.numtotal = data[0].COUNT + data[1].COUNT;
       });
     },
-    async loadData(sql) {
-      // 请求表格数据函数
+    async loadData(sql) {      // 请求表格数据函数    
+      this.currentSql = sql;
       let this_ = this;
       let data = [];
       let obj = {};
@@ -229,17 +265,21 @@ export default {
         this_.tableData = res.variables.data;
         data = this_.tableData;
       });
+      console.log(data)
       for (let i = 0; i < data.length; i++) {
         obj = {};
         obj1={};
-        if (data[i].gong_ying_shang_m) {
-          let sql1 = `select  gong_ying_shang_m FROM t_gysml where id_= '${data[i].gong_ying_shang_m}'`;
+        console.log(data[i].gong_ying_shang_A)
+        if (data[i].gong_ying_shang_A) {
+          let sql1 = `select  gong_ying_shang_m FROM t_gysml where id_= '${data[i].gong_ying_shang_A}'`;
+          console.log(sql1)
           await curdPost("sql", sql1).then((res) => {
             let data1 = res.variables.data;
             if (data1.length > 0) {
               obj.wu_liao_bian_ma_ = data[i].wu_liao_bian_ma_;
               obj.gong_ying_shang_m = data1[0].gong_ying_shang_m || 0;
               this_.gysList.push(obj);
+              obj={}
             }
           });
         } else {
@@ -250,6 +290,7 @@ export default {
               obj.wu_liao_bian_ma_ = data[i].wu_liao_bian_ma_;
               obj.gong_ying_shang_m = data2[0].gong_ying_shang_m || 0;
               this_.gysList.push(obj);
+              obj={}
             }
           });
           let sql3 = `select dao_huo_ri_qi_ FROM t_yszb where id_='${data[i].wai_jian_}'`;
@@ -284,77 +325,41 @@ export default {
         time2=this.time(this.value2[1]);
       }else{
         time1 = '1998-01-01';
-        time2 = '2023-12-29';
+        time2 = '2060-12-29';
+      }
+   
+      let fujia = `(ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${this.quyu}')) AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' AND a.wu_liao_bian_ma_ ='${this.wlbm||99}'AND a.wu_liao_ming_chen ='${this.wlmc||99}' `
+      let fujia2 = `gong_ying_shang_ ='${quyu}' and DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' AND wu_liao_dai_ma_ ='${this.wlbm||99}' AND wu_liao_ming_chen ='${this.wlmc||99}'`
+      if(!quyu){
+        fujia=fujia.replace("AND gong_ying_shang_ =''","");
+        fujia2 = fujia2.replace("gong_ying_shang_ ='' and","");
+      }
+      if(!this.wlbm){
+        fujia=fujia.replace("AND a.wu_liao_bian_ma_ ='99'","");
+        fujia2 = fujia2.replace("AND wu_liao_dai_ma_ ='99'","");
+      }
+      if(!this.wlmc){
+        fujia=fujia.replace("AND a.wu_liao_ming_chen ='99'","");
+        fujia2 = fujia2.replace("AND wu_liao_ming_chen ='99'","");
       }
-      let sql1 = `select a.wu_liao_ming_chen,a.wu_liao_bian_ma_,a.gong_ying_shang_A,a.pi_hao_,a.huo_hao_,a.gui_ge_xing_hao_,a.shu_liang_,a.wai_jian_,a.create_time_,c.dao_huo_ri_qi_  FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ asgong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_,dao_ku_ri_qi_ AS dao_huo_ri_qi_ FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' ORDER BY create_time_ DESC`;
+      let sql1 = `select a.wu_liao_ming_chen,a.wu_liao_bian_ma_,a.gong_ying_shang_A,a.pi_hao_,a.huo_hao_,a.gui_ge_xing_hao_,a.shu_liang_,a.wai_jian_,a.create_time_,c.dao_huo_ri_qi_  FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND
+       gong_ying_shang_ ='${quyu}')) UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ asgong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_,dao_ku_ri_qi_ AS dao_huo_ri_qi_ 
+       FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' ORDER BY create_time_ DESC`;
       let sql2 = `select COUNT(*) AS COUNT FROM t_cgysjlb WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select COUNT(*) AS COUNT FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' and bian_zhi_shi_jian`;
-      if (quyu) { //供应商有
-        if(this.value2){ //时间有
-          sql =  `select a.wu_liao_ming_chen,a.wu_liao_bian_ma_,a.gong_ying_shang_A,a.pi_hao_,a.huo_hao_,a.gui_ge_xing_hao_,a.shu_liang_,a.wai_jian_,a.create_time_,c.dao_huo_ri_qi_  FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ asgong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_,dao_ku_ri_qi_ AS dao_huo_ri_qi_ FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' and DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' ORDER BY create_time_ DESC`;
-          sql2 = `select COUNT(*) AS COUNT FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规'  OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' UNION ALL select COUNT(*) AS COUNT FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' and DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}'`;
+      // if (quyu) { //供应商有
+      //   if(this.value2){ //时间有
+          sql =  `select a.wu_liao_ming_chen,a.wu_liao_bian_ma_,a.gong_ying_shang_A,a.pi_hao_,a.huo_hao_,a.gui_ge_xing_hao_,a.shu_liang_,a.wai_jian_,a.create_time_,c.dao_huo_ri_qi_  FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_
+           WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE ` + fujia +
+          `UNION ALL 
+           select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ asgong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_,dao_ku_ri_qi_ AS dao_huo_ri_qi_ FROM t_wljsysjlb WHERE `+fujia2+`
+           ORDER BY create_time_ DESC LIMIT 0,10`;
+          sql2 = `select COUNT(*) AS COUNT FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE ` + fujia +` UNION ALL select COUNT(*) AS COUNT FROM t_wljsysjlb WHERE `+fujia2;
           curdPost("sql", sql2).then((res) => {
             let data = res.variables.data;
             this_.numtotal = data[0].COUNT + data[1].COUNT;
           });
-        }else{//时间无
-          sql = sql1;
-          curdPost("sql", sql2).then((res) => {
-            let data = res.variables.data;
-            this_.numtotal = data[0].COUNT + data[1].COUNT;
-          });
-        }
-      } else {  //供应商无
-        if(this.value2){ //时间有
-          sql =  `select a.wu_liao_ming_chen,a.wu_liao_bian_ma_,a.gong_ying_shang_A,a.pi_hao_,a.huo_hao_,a.gui_ge_xing_hao_,a.shu_liang_,a.wai_jian_,a.create_time_,c.dao_huo_ri_qi_  FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1')) AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ asgong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_,dao_ku_ri_qi_ AS dao_huo_ri_qi_ FROM t_wljsysjlb WHERE  DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' ORDER BY create_time_ DESC`;
-          sql2 = `select COUNT(*) AS COUNT FROM t_cgysjlb AS a INNER JOIN t_yszb AS c ON a.wai_jian_ = c.id_ WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1')) AND DATE_FORMAT(c.dao_huo_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}' UNION ALL select COUNT(*) AS COUNT FROM t_wljsysjlb WHERE  DATE_FORMAT(dao_ku_ri_qi_, '%Y-%m-%d') BETWEEN '${time1}' AND '${time2}'`;
-          curdPost("sql", sql2).then((res) => {
-            let data = res.variables.data;
-            this_.numtotal = data[0].COUNT + data[1].COUNT;
-          });
-        }else{//时间无
-          this_.allLength();
-          sql = cgSql + jsSql + this.limit;
-        }
-
-      }
       return sql;
     },
-
-    // filter() {
-    //   debugger
-    //   let time1,time2;
-    //   if(this.value2){
-    //     time1=this.time(this.value2[0]);
-    //     time2=this.time(this.value2[1]);
-    //   }else{
-    //     time1 = '1998-01-01';
-    //     time2 = '2023-12-29';
-    //   }
-    //   let quyu = this.quyu;
-    //   let sql = "";
-    //   let this_ = this;
-    //   let sql1 = `select wu_liao_ming_chen,wu_liao_bian_ma_,gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_xing_hao_,shu_liang_,wai_jian_,create_time_ FROM t_cgysjlb WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ as gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_ FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' and DATE_FORMAT(gong_ying_shang_A,"%Y-%m-%d") BETWEEN '${time1}' AND '${time2}' ORDER BY create_time_ DESC`;
-    //   let sql2 = `select COUNT(*) AS COUNT FROM t_cgysjlb WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select COUNT(*) AS COUNT FROM t_wljsysjlb WHERE gong_ying_shang_ ='${quyu}' and bian_zhi_shi_jian`;
-    //   if (quyu && !this.value2) { //供应商有
-    //     sql = sql1;
-    //     curdPost("sql", sql2).then((res) => {
-    //       let data = res.variables.data;
-    //       this_.numtotal = data[0].COUNT + data[1].COUNT;
-    //     });
-    //   } else if(!this.value2&&!quyu) { //两个没有
-    //     this_.allLength();
-    //     sql = cgSql + jsSql + this.limit;
-    //   }else if(quyu&&!this.value2){//供应商有
-    //     let sql1 = `select wu_liao_ming_chen,wu_liao_bian_ma_,gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_xing_hao_,shu_liang_,wai_jian_,create_time_ FROM t_cgysjlb WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ as gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_ FROM t_wljsysjlb WHERE DATE_FORMAT(gong_ying_shang_A,"%Y-%m-%d") BETWEEN '${time1}' AND '${time2}' ORDER BY create_time_ DESC`;
-    //     sql = sql1;
-    //   }else if(this.value2&&!quyu){//时间有供应商没有
-    //     let sql1 = `select wu_liao_ming_chen,wu_liao_bian_ma_,gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_xing_hao_,shu_liang_,wai_jian_,create_time_ FROM t_cgysjlb WHERE wai_jian_ IN ((select id_ FROM t_yszb WHERE (ding_dan_lei_xing !='换货单/常规' OR ding_dan_lei_xing !='换货单/技术') AND shi_fou_guo_shen_='1' AND gong_ying_shang_ ='${quyu}')) UNION ALL select wu_liao_ming_chen,wu_liao_dai_ma_ AS wu_liao_bian_ma_,gong_ying_shang_ as gong_ying_shang_A,pi_hao_,huo_hao_,gui_ge_ AS gui_ge_xing_hao_,dao_huo_shu_liang AS shu_liang_,id_ AS wai_jian_,create_time_ FROM t_wljsysjlb WHERE DATE_FORMAT(gong_ying_shang_A,"%Y-%m-%d") BETWEEN '${time1}' AND '${time2}' ORDER BY create_time_ DESC`;
-    //     sql = sql1;
-    //   }
-    //   return sql;
-    // },
-
-
     time(date) {
       var y = date.getFullYear()
       var m = date.getMonth() + 1
@@ -371,23 +376,24 @@ export default {
     },
     query() {
       let sql = this.filter();
-      console.log(sql)
-      //   this.currentSql = sql;
+        this.currentSql = sql;
       this.loadData(sql);
     },
     handleSizeChange(val) {
       this.limit = val;
       let splitone = this.currentSql.split("LIMIT");
-      console.log(this.currentPage,val)
       let sql = cgSql + jsSql + this.currentPage + "," + val;
       this.currentSql = splitone[0] + "LIMIT " + val;
+     
       this.loadData(sql);
     },
     handleCurrentChange(val) {
       this.currentPage = parseInt(val);
-      let splitone = this.currentSql.split("LIMIT");
-      console.log(splitone[1],val)
-      let sql = cgSql + jsSql + ((val-1)*splitone[1]) + "," + splitone[1];
+      let splitone = this.currentSql.split("LIMIT")[1].split(",");
+      let indexOf = this.currentSql.indexOf("LIMIT");
+      let newsql = this.currentSql.slice(0,indexOf+5)
+      
+      let sql = newsql +" "+ ((val-1)*splitone[1]) + "," + splitone[1];
       this.loadData(sql);
     },
   },