Преглед изворни кода

Merge branch 'mergeBranch' into redUrgent

qymljy пре 2 година
родитељ
комит
693fac67b3

+ 1 - 1
src/HDrpManagement/ProductGroupMag/modules/addGroupDetail.vue

@@ -59,7 +59,7 @@
         </el-option>
       </el-select>&nbsp;
     </div>
-    <table-new-layout ref="table" :height="list.length > 5 ?'calc(100vh - 340px)':'280px'"  style="margin-top: 10px"    :layout="tablecols" :data="list" :opwidth="200" :custom="true"
+    <table-new-layout ref="table" :height="list.length > 5 ?'calc(100vh - 340px)':'280px'"  style="margin-top: 10px"    :layout="tablecols" :data="list" :opwidth="200" :custom="true" :width="true"
     >
       <template v-slot:customcol="scope">
         <div v-if="scope.column.columnname === 'itemclass'">

+ 1 - 1
src/HDrpManagement/ProductMag/modules/saleClass.vue

@@ -16,7 +16,7 @@
       <slot name="addClass" :data="{checkArr:checkArr,data:data}"></slot>
     </div>
     <div style="margin-top: 15px">
-      <table-new-layout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="false"  :height="tableHieght" fixedName="operation">
+      <table-new-layout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="true"  :height="tableHieght" fixedName="operation">
         <template v-slot:customcol="scope">
           <div v-if="scope.column.columnname == 'price'">
             <el-input size="small" v-if="currentProduct.sa_aftersalesmag_itemsid == scope.column.data.sa_aftersalesmag_itemsid" v-model="scope.column.data.price"></el-input>

+ 14 - 3
src/HDrpManagement/orderManage/details/tabs/changeHistory.vue

@@ -8,12 +8,12 @@
       <el-table-column
         prop="createby"
         label="变更人"
-        width="180">
+        width="80">
       </el-table-column>
       <el-table-column
         prop="createdate"
         label="变更时间"
-        width="90">
+        width="150">
       </el-table-column>
       <el-table-column
         prop="itemno"
@@ -35,6 +35,16 @@
         prop="newvalue"
         label="变更后数量">
       </el-table-column>
+      <el-table-column
+          v-if="siteid === 'HY'"
+          prop="olddeliverydate"
+          label="原交期">
+      </el-table-column>
+      <el-table-column
+          v-if="siteid === 'HY'"
+          prop="newdeliverydate"
+          label="变更后交期">
+      </el-table-column>
       <el-table-column
         prop="remarks"
         label="变更备注">
@@ -72,6 +82,7 @@ export default {
       },
       total:0,
       currentPage:0,
+      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
     }
   },
   methods:{
@@ -106,4 +117,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>

+ 55 - 7
src/HDrpManagement/orderManage/details/tabs/changeOrderMx.vue

@@ -6,6 +6,7 @@
         class="normal-margin"
         :data="listData"
         style="width: 100%"
+        @close="onClose"
         border
         size="small">
         <el-table-column
@@ -38,7 +39,7 @@
           <template slot-scope="scope">
             <p><span>{{scope.row.spec}}</span></p>
           </template>
-         
+
         </el-table-column>
          <el-table-column
           prop="qty"
@@ -64,6 +65,26 @@
             <span>{{scope.row.undeliqty}}</span>
           </template>
         </el-table-column>
+        <el-table-column
+            v-if="siteid === 'HY'"
+            prop="newdeliverydate"
+            label="变更交期"
+            width="175"
+            fixed="right">
+          <template slot-scope="scope">
+            <el-date-picker
+                size="mini"
+                style="width: 150px"
+                v-model="scope.row.newdeliverydate"
+                @focus="DateFocus(scope.row.deliverydate)"
+                format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd"
+                type="date"
+                :picker-options="pickerOptions"
+                placeholder="选择日期">
+            </el-date-picker>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="newvalue"
           label="变更数量"
@@ -80,7 +101,7 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogVisible = false" size="small">取 消</el-button>
+        <el-button @click="onClose" size="small">取 消</el-button>
         <el-button type="primary" @click="submit" size="small">确 定</el-button>
       </div>
     </el-dialog>
@@ -92,23 +113,49 @@
 export default {
   props:['data','tableData'],
   data () {
+    let that = this
     return {
+      pickerOptions:{
+        disabledDate(time){
+          let newDate = new Date(that.deliverydate)
+          newDate = newDate.getFullYear() + '-' + (newDate.getMonth() + 1) + '-' + newDate.getDate()
+          let newTime = time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + time.getDate()
+          if (time < new Date(new Date().getTime() - 24 * 60 * 60 * 1000 ) || newTime === newDate) {
+            return true; // 禁用日期
+          }
+          return false; // 可选日期
+        }
+      },
       formLabelWidth:'80px',
       listData:[],
       dialogVisible:false,
       form:{
         qty:''
-      }
+      },
+      deliverydate:'',
+      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
     }
   },
   methods:{
+    DateFocus(val){
+      this.deliverydate = val
+    },
     onShow () {
       this.listData = this.tableData.map(e=>{
-        e.newvalue = 0
+        e.newvalue = this.siteid === 'HY'?'':0
         return e
       })
       this.dialogVisible = true
-      
+
+    },
+    onClose(){
+      this.form.remarks = ''
+      this.listData = this.tableData.map(e=>{
+        e.newvalue = ''
+        e.newdeliverydate = ''
+        return e
+      })
+      this.dialogVisible = false
     },
     onInput(row,index) {
       this.$set(this.listData,index,row)
@@ -150,7 +197,8 @@ export default {
               return {
                 sa_orderitemsid:e.sa_orderitemsid,
                 itemid:e.itemid,
-                newvalue:e.newvalue
+                newvalue:e.newvalue,
+                newdeliverydate:e.newdeliverydate?e.newdeliverydate:''
               }
             })
           }
@@ -166,4 +214,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>

+ 1 - 1
src/HDrpManagement/prodectFileData/components/fileTable.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="tableHieght">
+    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :width="true" :height="tableHieght">
       <template v-slot:customcol="scope">
         <p >{{scope.column.data[scope.column.columnname]}}</p>
       </template>

+ 1 - 1
src/HDrpManagement/prodectFileData/components/relationList.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <search :placeholder="placeholder" @searchActive="searchActive"></search>
-    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="list.length <= 5?'300px':tableHieght">
+    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :width="true" :height="list.length <= 5?'300px':tableHieght">
       <template v-slot:customcol="scope">
         <div v-if="scope.column.columnname === 'isonsale' ">
           <span v-if="scope.column.data[scope.column.columnname] === 0"

+ 2 - 2
src/HDrpManagement/unit/components/list.vue

@@ -4,7 +4,7 @@
       <el-col :span="12">
         <p class="normal-title normal-margin">计量单位</p>
         <slot name="unitAdd" :data="unitList"/>
-        <table-new-layout v-if="unitList" :layout="tablecols1" :data="unitList" :custom="false" height="calc(100vh - 250px)">
+        <table-new-layout v-if="unitList" :layout="tablecols1" :data="unitList" :custom="false" :width="true" height="calc(100vh - 250px)">
           <template v-slot:opreation="scope">
               <div style="display:flex">
                   <slot name="unitEdit" :data="scope.data" />
@@ -16,7 +16,7 @@
       <el-col :span="12">
         <p class="normal-title normal-margin">计量单位组</p>
         <slot name="unitGroupAdd" :data="unitList"/>
-        <table-new-layout v-if="unitGroupList" :layout="tablecols2" :data="unitGroupList" :custom="false" height="calc(100vh - 250px)">
+        <table-new-layout v-if="unitGroupList" :layout="tablecols2" :data="unitGroupList" :custom="false" :width="true" height="calc(100vh - 250px)">
           <template v-slot:opreation="scope">
               <div style="display:flex">
                   <slot name="unitGroupEdit" :data="{row:scope.data,unitList:unitList}" />

+ 1 - 1
src/HManagement/clueManage/clue_import/detailPage/modules/billBody.vue

@@ -2,7 +2,7 @@
 <template>
   <div>
     <!-- <add :data="list" @onSuccess="getList" :disabled="mainData.status !== '待审核'" v-if="tool.checkAuth($route.name,'update')"/> -->
-    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true"  fixedName="operation">
+    <table-new-layout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :width="true" fixedName="operation">
       <template v-slot:customcol="scope">
         <div v-if="scope.column.columnname === 'province'">
           <span>{{scope.column.data['province']}}-{{scope.column.data['city']}}-{{scope.column.data['county']}}</span>

+ 19 - 2
src/HManagement/department/modules/add_dep.vue

@@ -27,6 +27,18 @@
               <el-input class="item_width-full" v-model="form.sequence" placeholder="请输入部门排序号" autocomplete="off"></el-input>
             </el-form-item>
           </el-col>
+          <el-col  :span="12">
+            <el-form-item label="报备领域" prop="tradefield">
+              <el-select v-model="form.tradefield" style="width:100%" placeholder="请选择报备领域" multiple clearable>
+                <el-option
+                    v-for="item in tradefields"
+                    :key="item.index"
+                    :label="item.value"
+                    :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item label="是否启用">
               <el-checkbox v-model="form.isused" :false-label="0" :true-label="1">是否启用</el-checkbox>
@@ -68,8 +80,10 @@ export default {
         "depno":'',
         "parentid":this.data.departmentid,
         "remarks":"",
-        "sequence":""
-      }
+        "sequence":"",
+        "tradefield":""
+      },
+      tradefields:[]
     }
   },
   computed:{
@@ -80,6 +94,9 @@ export default {
   methods:{
     append () {
       this.dialogDepVisible = true
+      this.$store.dispatch('optiontypeselect','tradefield').then(res=>{
+        this.tradefields = res.data
+      })
     },
     onSubmit () {
       this.$refs['form'].validate(async (valid) => {

+ 4 - 3
src/HManagement/department/modules/dep_list.vue

@@ -44,7 +44,7 @@ export default {
       })
       // 数据格式转换成elementui-tree所需的格式
       this.deplist = this.createMenu(res.data)
-      
+
       this.$store.dispatch('setDeplistData',this.deplist)
       callback?callback():""
     },
@@ -67,9 +67,10 @@ export default {
           createby:node['createby'],
           depno:node['depno'],
           sequence:node['sequence'],
+          tradefield:node['tradefield'],
           children: []
         }
-          
+
         if (node.subdep && node.subdep.length > 0) {
           // 如果存在子节点
           for (var index = 0; index < node.subdep.length; index++) {
@@ -128,4 +129,4 @@ export default {
   background: #FAFAFA;
 }
 
-</style>
+</style>

+ 29 - 11
src/HManagement/department/modules/edit_dep.vue

@@ -20,12 +20,12 @@
               <el-input class="item_width-full" v-model="form.depno" placeholder="请输入部门编号" autocomplete="off"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">  
+          <el-col :span="12">
             <el-form-item class="item_width-full" label="部门描述" prop="remarks">
               <el-input class="item_width-full" v-model="form.remarks" placeholder="请输入部门描述" autocomplete="off"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">  
+          <el-col :span="12">
             <el-form-item class="item_width-full" label="排序">
               <el-input class="item_width-full" v-model="form.sequence" placeholder="请输入部门排序号" autocomplete="off"></el-input>
             </el-form-item>
@@ -33,17 +33,29 @@
           <el-col :span="12">
             <el-form-item label="上级部门">
               <select-area ref="selectArea" @onClick="onClick">
-                <el-input 
-                  type="text" 
-                  size="small" 
-                  v-model="form.parentname" 
-                  slot="input" 
+                <el-input
+                  type="text"
+                  size="small"
+                  v-model="form.parentname"
+                  slot="input"
                   placeholder="请选择上级部门"
                   @focus="$refs.selectArea.dialogDepVisible=true"
                 ></el-input>
               </select-area>
             </el-form-item>
           </el-col>
+          <el-col  :span="12">
+            <el-form-item label="报备领域" prop="tradefield">
+              <el-select v-model="form.tradefield" style="width:100%" placeholder="请选择报备领域" multiple clearable>
+                <el-option
+                    v-for="item in tradefields"
+                    :key="item.index"
+                    :label="item.value"
+                    :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item label="是否启用">
               <el-checkbox v-model="form.isused" :false-label="0" :true-label="1">是否启用</el-checkbox>
@@ -81,15 +93,21 @@ export default {
       form:{
         depname:'',
         parentid:'',
-        parentname:''
-      }
+        parentname:'',
+        tradefield:''
+      },
+      tradefields:[]
     }
   },
   methods:{
     append () {
+      console.log(this.data,'data编辑')
       this.form = Object.assign({},this.form,this.data)
-      this.form.depname = this.form.label 
+      this.form.depname = this.form.label
       this.dialogDepVisible = true
+      this.$store.dispatch('optiontypeselect','tradefield').then(res=>{
+        this.tradefields = res.data
+      })
     },
     onSubmit () {
       this.$refs['form'].validate(async (valid) => {
@@ -124,4 +142,4 @@ export default {
   margin-top:32px;
   text-align: center;
 }
-</style>
+</style>

+ 20 - 2
src/HManagement/siteManage/securityConfig/index.vue

@@ -165,6 +165,20 @@
         <quotedPrice v-if="tool.checkAuth($route.name,'quotedPrice')"  @queryRule="querySite_Parameter" :data="setData"></quotedPrice>
       </div>
     </div>
+    <div class="panel" style="margin-bottom:16px">
+      <div class="flex-align-center flex-between">
+        <div class="flex-align-stretch">
+          <img width="72" height="72" src="../../../assets/icons/projectTradefield.svg" alt="">
+          <div class="text-panel">
+            <p class="explain-title">项目报备跨领域限制</p>
+            <p class="explain-tips">当前设置:
+              <span>{{project_tradefield == 0?'关闭':'开启'}}</span>
+            </p>
+          </div>
+        </div>
+        <ProReportField v-if="tool.checkAuth($route.name,'ProReportField')" @queryRule="querySite_Parameter" :data="setData"></ProReportField>
+      </div>
+    </div>
     <div class="container normal-panel" style="display:flex;justify-content:space-around;border-bottom:none">
       <el-descriptions title="广告位管理"></el-descriptions>
     </div>
@@ -194,6 +208,7 @@ import projectCheckRule from "@/HManagement/siteManage/securityConfig/modules/pr
 import projectReportRule from "@/HManagement/siteManage/securityConfig/modules/projectReportRule";
 import projectTarget from './components/projectTarget/index'
 import quotedPrice from './modules/quotedPrice'
+import ProReportField from './modules/ProReportField'
 import {log} from "@antv/g2plot/lib/utils";
 
 export default {
@@ -210,7 +225,8 @@ export default {
     projectCheckRule,
     projectReportRule,
     projectTarget,
-    quotedPrice
+    quotedPrice,
+    ProReportField
   },
   data () {
     return {
@@ -224,7 +240,8 @@ export default {
       project_occupancy_ratio:[],
       projectprotectionperiod:'',
       setData:'',
-      quotedpricerecheck:''
+      quotedpricerecheck:'',
+      project_tradefield:''
     }
   },
   computed:{
@@ -265,6 +282,7 @@ export default {
       }
       this.project_occupancy_ratio = res.data.project_occupancy_ratio
       this.quotedpricerecheck = res.data.quotedpricerecheck
+      this.project_tradefield = res.data.project_tradefield
       console.log(res.data,'数据2');
       this.setData = res.data
       this.$refs.messageTips.form = Object.assign({},this.$refs.messageTips.form,res.data)

+ 61 - 0
src/HManagement/siteManage/securityConfig/modules/ProReportField.vue

@@ -0,0 +1,61 @@
+<template>
+  <div>
+    <el-button size="small" style="width:120px" type="primary" @click="querySite_Parameter">设 置</el-button>
+    <el-dialog title="报价单特价审批设置" append-to-body :visible.sync="dialogSetVisible" width="860px">
+      <el-row :gutter="16" style="text-align: center">
+        <el-col :span="24" style="margin-top: -20px">
+          <span style="color: #8C8C8C">是否开启项目报备跨领域限制?</span>
+        </el-col>
+        <el-col :span="24" style="margin-top: 20px">
+          <div style="width: 780px;" class="inline-16" >
+            <el-radio-group v-model="project_tradefield">
+              <el-radio :label="1" style="color: #8C8C8C">开启</el-radio>
+              <el-radio :label="0" style="color: #8C8C8C">关闭</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogSetVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning"  class="normal-btn-width btn-warning" @click="onSubmit">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "ProReportField",
+  props:["data"],
+  data() {
+    return {
+      dialogSetVisible:false,
+      project_tradefield:0
+    }
+  },
+  methods:{
+    querySite_Parameter(){
+      console.log(this.data,'data')
+      this.dialogSetVisible = true
+      this.project_tradefield = this.data.project_tradefield
+    },
+    async onSubmit(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.site.site",
+        "method":"updateSite_Parameter",
+        "content": {
+          "project_tradefield":this.project_tradefield
+        }
+      })
+      this.tool.showMessage(res,()=>{
+        this.$emit('queryRule')
+        this.dialogSetVisible = false
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 1
src/SDrpManagement/QuotedPrice/detail/modules/historicalQuotation/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <table-new-layout :layout="tablecols" :data="list" fixedName="" :custom="true" :height="list.length <= 5?'280px':'calc(100vh - 330px)'">
+    <table-new-layout :layout="tablecols" :data="list" fixedName="" :custom="true" :width="true" :height="list.length <= 5?'280px':'calc(100vh - 330px)'">
       <template v-slot:customcol="scope" >
         <div v-if="scope.column.columnname === 'billno'" >
             <el-button type="text" @click="detailGo(scope.column.data)">

+ 94 - 84
src/SDrpManagement/performanceGoals/index.vue

@@ -12,6 +12,7 @@
         type="year"
         value-format="yyyy"
         placeholder="选择年份"
+        :clearable="false"
         size="small"
         @change="listData">
       </el-date-picker>
@@ -20,87 +21,92 @@
           :value="item.tradefield">
         </el-option>
       </el-select>
-      <div v-for="item in perfData" :key="item.index">
-        <el-card class="normal-margin" shadow="none" :body-style="{padding:'10px'}">
-          <div slot="header">{{item.tradefield}}</div>
-          <p class="normal-title mt-10">月度目标</p>
-          <el-table
-            class="normal-margin"
-            :data="item.month"
-            style="width: 100%"
-            size="mini"
-            stripe
-            border>
-            <el-table-column
-              prop="month"
-              label="月份">
-            </el-table-column>
-            <el-table-column
-              prop="a"
-              label="实际完成">
-            </el-table-column>
-            <el-table-column
-              prop="l"
-              label="基本目标">
-            </el-table-column>
-            <el-table-column
-              prop="h"
-              label="挑战目标">
-            </el-table-column>
-            <el-table-column
-              prop="pl"
-              label="基本比">
-              <template slot-scope="scope">
-                {{scope.row.pl}}%
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="ph"
-              label="挑战比">
-               <template slot-scope="scope">
-                {{scope.row.ph}}%
-              </template>
-            </el-table-column>
-          </el-table>
-          <p class="normal-title mt-10">季度目标</p>
-          <el-table
-            :data="item.quarter"
-            style="width: 100%"
-            size="mini"
-            stripe
-            border>
-            <el-table-column
-              prop="quarter"
-              label="季度">
-            </el-table-column>
-            <el-table-column
-              prop="a"
-              label="实际完成">
-            </el-table-column>
-            <el-table-column
-              prop="l"
-              label="基本目标">
-            </el-table-column>
-            <el-table-column
-              prop="h"
-              label="挑战目标">
-            </el-table-column>
-            <el-table-column
-              prop="pl"
-              label="基本比">
-               <template slot-scope="scope">
-                {{scope.row.pl}}%
-              </template>
-            </el-table-column>
-            <el-table-column
-              prop="ph"
-              label="挑战比">
-               <template slot-scope="scope">
-                {{scope.row.ph}}%
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-card>
+      <div v-if="list.length > 0" style="height: calc(100vh - 288px);overflow: auto">
+        <div v-for="item in perfData" :key="item.index">
+          <el-card class="normal-margin" shadow="none" :body-style="{padding:'10px'}">
+            <div slot="header">{{item.tradefield}}</div>
+            <p class="normal-title mt-10">月度目标</p>
+            <el-table
+                class="normal-margin"
+                :data="item.month"
+                style="width: 100%"
+                size="mini"
+                stripe
+                border>
+              <el-table-column
+                  prop="month"
+                  label="月份">
+              </el-table-column>
+              <el-table-column
+                  prop="a"
+                  label="实际完成">
+              </el-table-column>
+              <el-table-column
+                  prop="l"
+                  label="基本目标">
+              </el-table-column>
+              <el-table-column
+                  prop="h"
+                  label="挑战目标">
+              </el-table-column>
+              <el-table-column
+                  prop="pl"
+                  label="基本比">
+                <template slot-scope="scope">
+                  {{scope.row.pl}}%
+                </template>
+              </el-table-column>
+              <el-table-column
+                  prop="ph"
+                  label="挑战比">
+                <template slot-scope="scope">
+                  {{scope.row.ph}}%
+                </template>
+              </el-table-column>
+            </el-table>
+            <p class="normal-title mt-10">季度目标</p>
+            <el-table
+                :data="item.quarter"
+                style="width: 100%"
+                size="mini"
+                stripe
+                border>
+              <el-table-column
+                  prop="quarter"
+                  label="季度">
+              </el-table-column>
+              <el-table-column
+                  prop="a"
+                  label="实际完成">
+              </el-table-column>
+              <el-table-column
+                  prop="l"
+                  label="基本目标">
+              </el-table-column>
+              <el-table-column
+                  prop="h"
+                  label="挑战目标">
+              </el-table-column>
+              <el-table-column
+                  prop="pl"
+                  label="基本比">
+                <template slot-scope="scope">
+                  {{scope.row.pl}}%
+                </template>
+              </el-table-column>
+              <el-table-column
+                  prop="ph"
+                  label="挑战比">
+                <template slot-scope="scope">
+                  {{scope.row.ph}}%
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-card>
+        </div>
+      </div>
+      <div v-else style="height: calc(100vh - 288px);">
+        <el-empty description="暂无数据" style="margin: auto;height: calc(100vh - 288px)"></el-empty>
       </div>
     </div>
   </normalLayout>
@@ -115,12 +121,14 @@ export default {
       quarterData:{},
       tradefield:'',
       value3:String((new Date()).getFullYear()),
-      type:'1'
+      type:'1',
+      list:[]
     }
   },
   methods:{
     async listData () {
       this.perfData = []
+      this.list = []
       const res = await this.$api.requested({
         "id": 20230110151902,
         "content": {
@@ -131,6 +139,8 @@ export default {
             }
         },
       })
+      console.log(res.data,'data数据')
+      this.list = res.data
       res.data.forEach(element => {
         this.createTableData(element)
       });
@@ -172,7 +182,7 @@ export default {
         month:arr,
         quarter:arr_s
       })
-      console.log(this.perfData)
+      console.log(this.perfData,'perfData')
     }
   },
   mounted () {
@@ -183,4 +193,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
src/assets/icons/projectTradefield.svg


+ 79 - 4
src/views/mediaStatistics/modules/salesfunnel.vue

@@ -16,7 +16,7 @@
         </el-option>
       </el-select>
     </div>
-    <div class="inline-16">
+    <div class="inline-16" style="margin-top:0px;margin-bottom: 20px">
       <el-button-group>
         <el-button size="small" :type="dataParam.content.dateType==1?'primary':''" @click="dataChange(1)" >近一年</el-button>
         <el-button size="small" :type="dataParam.content.dateType==2?'primary':''" @click="dataChange(2)">近九个月</el-button>
@@ -24,6 +24,20 @@
         <el-button size="small" :type="dataParam.content.dateType==4?'primary':''" @click="dataChange(4)">近三个月</el-button>
       </el-button-group>
     </div>
+    <div class="inline-16" style="margin-top:0px;margin-bottom: 20px">
+      <el-date-picker
+          size="small"
+          v-model="dateSelect"
+          @change="dateChange"
+          type="daterange"
+          :clearable="false"
+          format="yyyy-MM-dd"
+          value-format="yyyy-MM-dd"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期">
+      </el-date-picker>
+    </div>
     <div>
       <el-row>
         <el-col :xs="15" :sm="15" :md="15" :lg="15" :xl="14">
@@ -203,6 +217,7 @@ export default {
           'dateType':1,
           "where": {
             "begindate": "",
+            "begdate":"",
             "enddate":"",
             "departmentid":""
           }
@@ -216,9 +231,14 @@ export default {
           "type": '',
           "dataid": '',
           "dateType": '',
-          "sa_projstagemagid":''
+          "sa_projstagemagid":'',
+          "where": {
+            "begdate":"",
+            "enddate":"",
+          }
         }
-      }
+      },
+      dateSelect:[]
     }
   },
   methods:{
@@ -303,6 +323,60 @@ export default {
     },
     dataChange(val){
       this.dataParam.content.dateType = val
+      this.projectParam.content.dateType = val
+      if (val == '1'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear() - 1, currentDate.getMonth(), currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '2'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 9, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '3'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 6, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '4'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 3, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }
+      this.getProportionOfFileModel()
+    },
+    dateSet(val){
+      if (val == '1'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear() - 1, currentDate.getMonth(), currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '2'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 9, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '3'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 6, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }else if (val == '4'){
+        let currentDate = new Date(); // 获取当前日期
+        let startDate = new Date(currentDate.getFullYear(), currentDate.getMonth() - 3, currentDate.getDate() + 1); // 计算起始日期
+        let endDate = currentDate; // 结束日期为当前日期
+        this.dateSelect = [startDate.toISOString().split('T')[0],endDate.toISOString().split('T')[0]]
+      }
+    },
+    dateChange(){
+      this.dataParam.content.dateType = 0
+      this.dataParam.content.where.begdate = this.dateSelect[0]
+      this.dataParam.content.where.enddate = this.dateSelect[1]
+      this.projectParam.content.dateType = 0
+      this.projectParam.content.where.begdate = this.dateSelect[0]
+      this.projectParam.content.where.enddate = this.dateSelect[1]
       this.getProportionOfFileModel()
     },
     renderPie() {
@@ -689,7 +763,7 @@ export default {
     async getProjectList(){
       this.projectParam.content.type = this.dataParam.content.type
       this.projectParam.content.dataid = this.dataParam.content.dataid
-      this.projectParam.content.dateType = this.dataParam.content.dateType
+      /*this.projectParam.content.dateType = this.dataParam.content.dateType*/
       this.projectParam.content.sa_projstagemagid = this.sa_projstagemagid
       const res = await this.$api.requested(this.projectParam)
       this.projectList = res.data
@@ -709,6 +783,7 @@ export default {
   mounted () {
    /* this.renderPie()*/
     this.departmentrtment()
+    this.dateSet(1)
   },
   created() {
     this.tablecols = this.tool.tabelCol(this.$route.name).projectTable.tablecols

Неке датотеке нису приказане због велике количине промена