Переглянути джерело

Merge branch 'dev' into purchaseDev

002637 1 рік тому
батько
коміт
b025cdc62a

+ 33 - 5
src/views/business/spd/fillin/dailysale_quantity_assess/detail.vue

@@ -26,6 +26,7 @@
           <el-col :span="1.5">
             <el-form-item label="月份" prop="month">
               <el-date-picker
+                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
                 v-model="form.month"
                 value-format="yyyy-MM"
                 type="month"
@@ -37,6 +38,7 @@
           <el-col :span="1.5">
             <el-form-item label="客户" prop="customer">
               <dr-popover-select
+                :readonly="this.openMode == 'edit' || this.openMode == 'see'"
                 size="mini"
                 v-model="form.customerName"
                 title="客户选择"
@@ -652,6 +654,20 @@
                     />
                   </template>
                 </el-table-column>
+                <el-table-column
+                  show-overflow-tooltip
+                  label="合计数量"
+                  align="center"
+                  width="100"
+                  prop="amount"
+                />
+                <el-table-column
+                  show-overflow-tooltip
+                  label="合计金额"
+                  align="center"
+                  width="100"
+                  prop="money"
+                />
               </el-table-column>
               <el-table-column
                 fixed="right"
@@ -727,11 +743,8 @@ export default {
   watch: {
     'form.month': {
       handler(newVal) {
-          console.log('newVal',newVal);
           let arr = newVal.split('-');
-          console.log('arr.[1]',arr[1]);
           this.numDay = this.getDays(arr[0],arr[1]);
-          console.log('this.numDay',this.numDay);
       },
       immediate:true,
     }
@@ -752,9 +765,12 @@ export default {
         break;
       case "edit":
         await this.fetchAssess(this.row.id);
+        this.total();
+        console.log('this.form.items',this.form.items);
         break;
       case "see":
         await this.fetchAssess(this.row.id);
+        this.total();
         break;
     }
   },
@@ -827,8 +843,6 @@ export default {
     },
     //删行
     async useRowRemove(index, row) {
-      console.log("index", index);
-      console.log("row", row);
       if (row.id) {
         this.form.items.forEach((e) => {
           if (e.id == row.id) {
@@ -876,6 +890,20 @@ export default {
       } else {
           return i;
       }
+    },
+    //计算合计
+    total(){
+      let num = ["first","second","third","fourth","fifth","sixth","seventh","eighth","ninth","tenth","eleventh","twelfth","thirteenth","fourteenth","fifteenth"
+				,"twentyFirst","seventeenth","eighteenth","nineteenth","twentieth","twentyFirst","twentySecond","twentyThird","twentyFourth","twentyFifth","twentySixth","twentySeventh","twentyEighth","twentyNinth","thirtieth","thirtyFirst"];
+      for(let i in this.form.items){
+        let c = 0;
+        for(let j in num){
+          c = (this.form.items[i][num[j]] || 0) - 0 + c;
+        }
+        console.log('c',c);
+        this.form.items[i].amount = c;
+        this.form.items[i].money = c * (this.form.items[i].price || 0);
+      }
     }
   },
 };

+ 1 - 1
src/views/business/spd/fillin/dailysale_quantity_assess/index.vue

@@ -18,7 +18,7 @@
                 <el-date-picker
                   v-model="queryParams.month"
                   type="month"
-                  format="yyyy-MM-dd"
+                  value-format="yyyy-MM"
                   clearable
                   >
                 </el-date-picker>

+ 30 - 1
src/views/business/spd/target/targetMk/index.vue

@@ -40,6 +40,30 @@
                 />
               </el-form-item>
             </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="单据日期">
+                <el-date-picker
+                  size="mini"
+                  v-model="dateRange"
+                  style="width: 240px"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="-"
+                  start-placeholder="开始"
+                  end-placeholder="结束"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="1.5">
+              <el-form-item label="模板" prop="template">
+                <dr-popover-select size="mini" v-model="queryParams.templateName" title="模板" type="MK_TARGET_TEMPLATE_PARAM" :dataMapping="{
+                    template: 'id',
+                    templateName: 'name',
+                  }" :source.sync="queryParams"
+                >
+                </dr-popover-select>
+              </el-form-item>
+            </el-col>
             <!-- <el-col :span="1.5">
               <el-form-item label="模板">
                 <el-input
@@ -194,10 +218,13 @@ export default {
         code: '',
         name: '',
         template:'',
+        templateName:'',
         year:'',
         pageNum: 1,
         pageSize: 10
       },
+      // 查询日期范围
+      dateRange: [],
       //总条数
       total: 0,
       //列表数据
@@ -278,10 +305,12 @@ export default {
     },
     //重置
     useReset(){
+      this.dateRange = [];
       this.queryParams = {
         code: '',
         name: '',
         template:'',
+        templateName:'',
         year:'',
         pageNum: 1,
         pageSize: 10
@@ -290,7 +319,7 @@ export default {
     },
     //查询列表
     getList(params){
-      listTarget(params).then(res => {
+      listTarget(this.addDateRange(params, this.dateRange)).then(res => {
         if (res.code === 200) {
           this.tableList = res.rows
           this.total = res.total

+ 2 - 2
src/views/business/spd/target/targetMk/item.vue

@@ -91,8 +91,8 @@ export default {
   methods: {
     //增行
     useAdd(){
-      this.items.push(this.itemTemplate);
-      console.log('this.itemTemplate',this.itemTemplate);
+      let obj = JSON.parse(JSON.stringify(this.itemTemplate))
+      this.items.push(obj);
       console.log('this.items',this.items);
     },
     //删行

+ 34 - 40
src/views/business/spd/target/targetTemplate/detail.vue

@@ -96,7 +96,7 @@
                             </el-table-column>
                             <el-table-column fixed="right" label="操作" align="center" width="150">
                                 <template slot-scope="scope">
-                                    <el-button type="text" size="mini" @click="useRowRemove(scope.row)">删行</el-button>
+                                    <el-button type="text" size="mini" @click="useRowRemove(scope.$index,scope.row)">删行</el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
@@ -118,7 +118,7 @@
                             </el-table-column>
                             <el-table-column fixed="right" label="操作" align="center" width="150">
                                 <template slot-scope="scope">
-                                <el-button type="text" size="mini" @click="useRowRemove(scope.row)">删行</el-button>
+                                <el-button type="text" size="mini" @click="useRowRemove(scope.$index,scope.row)">删行</el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
@@ -264,6 +264,7 @@ export default {
                     }
                     this.loading = true;
                     let res = null;
+                    console.log("1111",1111);
                     if (this.openMode === "add") {
                         res = await addTargetTemplate(this.form);
                     }
@@ -293,7 +294,6 @@ export default {
                 return false;
             }
             arr = arr.filter(item => !item.target);
-            console.log("arr",arr);
             if(arr.length > 0){
                 this.$modal.msgError("指标页签不能存在空数据!");
                 return false;
@@ -327,6 +327,7 @@ export default {
             this.$modal.msgError("周期页签不能为空!");
             return false;
         }
+        return true;
     },
     //查询详情
     async fetchTemplate(id) {
@@ -369,7 +370,7 @@ export default {
         console.log("this.form[this.activeName]",this.form[this.activeName]);
     },
     //删行
-    async useRowRemove(row) {
+    async useRowRemove(index,row) {
       if (row.id) {
         this.form[this.activeName].forEach(e => {
           if(e.id == row.id){
@@ -377,7 +378,7 @@ export default {
           }
         });
       }else{
-        this.form[this.activeName] = form[this.activeName].filter(item => item.$index != row.$index);
+        this.form[this.activeName].splice(index, 1);
       }
       console.log("this.form[this.activeName]",this.form[this.activeName]);
     },
@@ -409,58 +410,48 @@ export default {
       if(this.form.cycle == 'period'){
         cycles.push({
           name:'目标期间',
-          startTime:start,
-          deadlineTime:deadline,
+          startTime:this.formatDateTime(start, 'yyyy-MM-dd'),
+          deadlineTime:this.formatDateTime(deadline, 'yyyy-MM-dd'),
         });
       }else{
         while(deadline >= start){
-          console.log(start);
           if(this.form.cycle == 'day'){
             var cy = {
               name:this.formatDateTime(start, 'yyyy-MM-dd'),
-              startTime:start,
-              deadlineTime:start,
+              startTime:this.formatDateTime(start, 'yyyy-MM-dd'),
+              deadlineTime:this.formatDateTime(start, 'yyyy-MM-dd'),
             }
-            console.log(cy);
             cycles.push(cy);
-            start = start.setDate(start.getDate()+1);
-            start = new Date(start);
+            start.setDate(start.getDate()+1);
           }
           if(this.form.cycle == 'week'){
-            var de = start;
-            var cy = {
-              name:this.formatDateTime(start, 'yyyy-MM-dd'),
-              startTime:start,
-              deadlineTime:de.setDate(de.getDate()+7),
-            }
-            console.log(cy);
+            var cy = {};
+            cy.name = this.formatDateTime(start, 'yyyy-MM-dd');
+            cy.startTime = this.formatDateTime(start, 'yyyy-MM-dd');
+            start.setDate(start.getDate()+6);
+            cy.deadlineTime = this.formatDateTime(start, 'yyyy-MM-dd');
             cycles.push(cy);
-            start = start.setDate(start.getDate()+7);
-            start = new Date(start);
+            start.setDate(start.getDate()+1);
           }
           if(this.form.cycle == 'month'){
-            var de = start;
-            var cy = {
-              name:this.formatDateTime(start, 'yyyy-MM-dd'),
-              startTime:start,
-              deadlineTime:de.setDate(de.getDate()+30),
-            }
-            console.log(cy);
+            var cy = {};
+            cy.name = this.formatDateTime(start, 'yyyy-MM');
+            cy.startTime = this.formatDateTime(start, 'yyyy-MM-dd');
+            let arr = cy.startTime.split('-');
+            start = this.getLastDay(arr[0],arr[1]);
+            console.log('start',start);
+            cy.deadlineTime = this.formatDateTime(start, 'yyyy-MM-dd');
             cycles.push(cy);
-            start = start.setDate(start.getDate()+30);
-            start = new Date(start);
+            start.setDate(start.getDate()+1);
           }
           if(this.form.cycle == 'season'){
-            var de = start;
-            var cy = {
-              name:this.formatDateTime(start, 'yyyy-MM-dd'),
-              startTime:start,
-              deadlineTime:de.setDate(de.getDate()+90),
-            }
-            console.log(cy);
+            var cy = {};
+            cy.name = this.formatDateTime(start, 'yyyy-MM');
+            cy.startTime = this.formatDateTime(start, 'yyyy-MM-dd');
+            start.setDate(start.getDate()+90);
+            cy.deadlineTime = this.formatDateTime(start, 'yyyy-MM-dd');
             cycles.push(cy);
-            start = start.setDate(start.getDate()+90);
-            start = new Date(start);
+            start.setDate(start.getDate()+1);
           }
         }
       }
@@ -493,6 +484,9 @@ export default {
         }
       }
       return format;
+    },
+    getLastDay(year, month) {
+      return new Date(new Date(`${month<12?year:++year}-${month==12?1:++month} 00:00`).getTime() - 1);
     }
   },
 };

+ 1 - 1
src/views/business/spd/target/targetTemplate/index.vue

@@ -187,7 +187,7 @@ export default {
         return;
       }
       this.$modal.confirm('确认删除选择数据').then(() => {
-        delTarget(row.id).then(res => {
+        delTargetTemplate(row.id).then(res => {
           if (res.code === 200) {
             this.$modal.msgSuccess("删除成功");
             this.getList(this.queryParams)