Browse Source

设计看板

朱鑫波 1 year ago
parent
commit
ac6f3c7aeb

+ 2 - 2
.env.development

@@ -14,12 +14,12 @@ VUE_APP_BASE_SCRIPT_URL = http://192.168.0.195:31013
 
 
 
 
 #素材大盘相关接口
 #素材大盘相关接口
-VUE_APP_BASE_MATERIAL_URL = http://192.168.0.195:9999/material
+VUE_APP_BASE_MATERIAL_URL = http://api.tjyourong.com.cn/material
 # 字安接口 http://192.168.1.43:9999
 # 字安接口 http://192.168.1.43:9999
 # 测试环境 http://192.168.0.195:9999
 # 测试环境 http://192.168.0.195:9999
 # 西安环境 http://192.168.1.59:7006
 # 西安环境 http://192.168.1.59:7006
 
 
 #盯盘相关接口
 #盯盘相关接口
-VUE_APP_BASE_STARE_URL =  http://192.168.0.195:9999/material
+VUE_APP_BASE_STARE_URL = http://api.tjyourong.com.cn/material
 # 字安接口 http://192.168.1.43:9999
 # 字安接口 http://192.168.1.43:9999
 # 测试环境 http://192.168.0.195:9999
 # 测试环境 http://192.168.0.195:9999

+ 5 - 3
src/views/dashboard/Analysis.vue

@@ -81,9 +81,9 @@
     <statistics v-else-if="roleCode == 'kuaishouOperationManager'" /> -->
     <statistics v-else-if="roleCode == 'kuaishouOperationManager'" /> -->
     <statistics v-else-if="roleCode == 'sale'||roleCode=='saleDirector'" />
     <statistics v-else-if="roleCode == 'sale'||roleCode=='saleDirector'" />
 
 
-    <Workbench v-else-if="roleCode == 'clip'" />
-    <Workbench v-else-if="roleCode == 'plane'" />
-
+    <!-- <Workbench v-else-if="roleCode == 'clip'" />
+    <Workbench v-else-if="roleCode == 'plane'" /> -->
+    <Design v-else-if="roleCode == 'designTeamLeader'||roleCode == 'plan'||roleCode == 'shot'||roleCode == 'clip'||userInfo().id == 'e9d527b2b6854a1ea0cc3167fc6a27d0'"/>
     <a-tabs default-active-key="1" v-else-if="roleCode == 'salesSupportManager'||roleCode == 'saleAm'||roleCode == 'saleDirector'||
     <a-tabs default-active-key="1" v-else-if="roleCode == 'salesSupportManager'||roleCode == 'saleAm'||roleCode == 'saleDirector'||
     roleCode == 'sale'" class="only-there">
     roleCode == 'sale'" class="only-there">
       <a-tab-pane key="1" tab="快手">
       <a-tab-pane key="1" tab="快手">
@@ -159,6 +159,7 @@
   import Workbench from '@/views/dashboard/Workbench.vue'
   import Workbench from '@/views/dashboard/Workbench.vue'
   import Statistics from '@/views/modules/Statistics/Statistics.vue'
   import Statistics from '@/views/modules/Statistics/Statistics.vue'
   import onlyOneDashboard from './onlyOneDashboard'
   import onlyOneDashboard from './onlyOneDashboard'
+  import Design from '@/views/modules/Statistics/designerReport/designIndex.vue'
   const rankList = []
   const rankList = []
   for (let i = 0; i < 7; i++) {
   for (let i = 0; i < 7; i++) {
     rankList.push({
     rankList.push({
@@ -189,6 +190,7 @@
       HeadInfo,
       HeadInfo,
       newHome,
       newHome,
       Workbench,
       Workbench,
+      Design,
       Statistics,
       Statistics,
       managerStatistics,
       managerStatistics,
       operateStatistics,
       operateStatistics,

File diff suppressed because it is too large
+ 1493 - 0
src/views/modules/Statistics/designerReport/designIndex.vue


+ 259 - 168
src/views/modules/material/accountCheck.vue

@@ -1,184 +1,275 @@
 <style>
 <style>
-    .checked-account {
-        width: 100%;
-    }
+.checked-account {
+  width: 100%;
+}
 
 
-    .checked-account .ant-checkbox-wrapper {
-        width: 20%;
-        min-width: 300px;
-        white-space: nowrap;
-        text-overflow: ellipsis;
-        overflow: hidden;
-    }
+.checked-account .ant-checkbox-wrapper {
+  width: 20%;
+  min-width: 300px;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  overflow: hidden;
+}
 </style>
 </style>
 <template>
 <template>
-    <div>
-        <a-modal title="账户选择" v-model="showEdit" @ok="handleOk" @cancel="close" width="80%"
-                 :confirm-loading="confirmLoading">
-            <!-- <a-checkbox :indeterminate="indeterminate" @change="onCheckAllChange" :checked="checkAll">全选</a-checkbox>
+  <div>
+    <a-modal
+      title="账户选择"
+      v-model="showEdit"
+      @ok="handleOk"
+      @cancel="close"
+      width="80%"
+      :confirm-loading="confirmLoading"
+    >
+      <!-- <a-checkbox :indeterminate="indeterminate" @change="onCheckAllChange" :checked="checkAll">全选</a-checkbox>
             <br />
             <br />
             <a-checkbox-group :options="showList" v-model="dataValue" class="checked-account" @change="onChange" /> -->
             <a-checkbox-group :options="showList" v-model="dataValue" class="checked-account" @change="onChange" /> -->
 
 
-            <a-input-search style="margin-bottom: 8px;width: 180px" @search="onSearch" allow-clear/>
-            <a-tree
-                v-model="checkedKeys"
-                checkable
-                :expanded-keys="expandedKeys"
-                :auto-expand-parent="autoExpandParent"
-                :selected-keys="selectedKeys"
-                :tree-data="treeData"
-                @expand="onExpand"
-                @select="onSelect"
-            />
-        </a-modal>
-    </div>
+      <a-input-search
+        style="margin-bottom: 8px; width: 180px"
+        allow-clear
+        v-model="searchVal"
+        @search="onSearch"
+      />
+      <a-tree
+        v-model="checkedKeys"
+        checkable
+        :expanded-keys="expandedKeys"
+        :auto-expand-parent="autoExpandParent"
+        :selected-keys="selectedKeys"
+        :tree-data="treeData"
+        @expand="onExpand"
+        @select="onSelect"
+      />
+    </a-modal>
+  </div>
 </template>
 </template>
 
 
 <script>
 <script>
-    import {deleteAction, getAction} from '@/api/manage'
-    // import lifting from './components/lifting'
+import { deleteAction, getAction } from "@/api/manage";
+// import lifting from './components/lifting'
 
 
-    export default {
-        name: 'modules',
-        components: {},
+export default {
+  name: "modules",
+  components: {},
 
 
-        data: function () {
-            return {
-                checkedKeys: [],
-                showEdit: false,
-                dataList: [],
-                showList: null,
-                dataValue: [],
-                indeterminate: false,
-                checkAll: false,
-                expandedKeys: [],
-                autoExpandParent: true,
-                selectedKeys: [],
-                treeData: [],
-                confirmLoading: false,
-                bytedanceUrl: null,
-                bytedanceItem: null,
-            }
-        },
-        watch: {
-            checkedKeys(val) {
-                console.log('onCheck', val)
-            },
-        },
-        methods: {
-            onSearch(e) {
-                this.bytedanceItem.authName = undefined
-                this.treeData = []
-                if (e != '') {
-                    this.bytedanceItem.authName = e
-                }
-                this.confirmLoading = false
-                this.showEdit = true
-                this.dataList = []
-                this.showList = null
-                this.dataValue = []
-                this.checkedKeys = []
-                this.indeterminate = false
-                this.checkAll = false
-                getAction(this.bytedanceUrl, this.bytedanceItem).then((res) => {
-                    if (res.success) {
-                        let arrList = []
-                        this.treeData = res.result.map(item => {
-                                return {
-                                    title: item.projectName,
-                                    key: item.projectId + '-',
-                                    children: item.userAllocationList.map(i => {
-                                        return {
-                                            title: i.authName + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + (i.userName ? i.userName : '管理员'),
-                                            key: i.accountId
-                                        }
-                                    })
-                                }
-                            }
-                        )
-
-                    }
-                    console.log(res)
-                })
-            },
+  data: function () {
+    return {
+      checkedKeys: [],
+      showEdit: false,
+      dataList: [],
+      showList: null,
+      dataValue: [],
+      indeterminate: false,
+      checkAll: false,
+      expandedKeys: [],
+      autoExpandParent: true,
+      selectedKeys: [],
+      treeData: [],
+      confirmLoading: false,
+      bytedanceUrl: null,
+      bytedanceItem: null,
 
 
+      defaultData:[],
+      backupsExpandedKeys: [],
+      searchVal: "",
+      searchValue: "",
+    };
+  },
+  watch: {
+    checkedKeys(val) {
+      console.log("onCheck", val);
+    },
+  },
+  methods: {
+    onSearch1(e) {
+      this.bytedanceItem.authName = undefined;
+      this.treeData = [];
+      if (e != "") {
+        this.bytedanceItem.authName = e;
+      }
+      this.confirmLoading = false;
+      this.showEdit = true;
+      this.dataList = [];
+      this.showList = null;
+      this.dataValue = [];
+      this.checkedKeys = [];
+      this.indeterminate = false;
+      this.checkAll = false;
+      getAction(this.bytedanceUrl, this.bytedanceItem).then((res) => {
+        if (res.success) {
+          let arrList = [];
+          this.treeData = res.result.map((item) => {
+            return {
+              title: item.projectName,
+              key: item.projectId + "-",
+              children: item.userAllocationList.map((i) => {
+                return {
+                  title:
+                    i.authName +
+                    "\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0" +
+                    (i.userName ? i.userName : "管理员"),
+                  key: i.accountId,
+                };
+              }),
+            };
+          });
+        }
+        console.log(res);
+      });
+    },
 
 
-            onExpand(expandedKeys) {
-                console.log('onExpand', expandedKeys)
-                // if not set autoExpandParent to false, if children expanded, parent can not collapse.
-                // or, you can remove all expanded children keys.
-                this.expandedKeys = expandedKeys
-                this.autoExpandParent = false
-            },
-            onCheck(checkedKeys) {
-                this.checkedKeys = checkedKeys
-            },
-            onSelect(selectedKeys, info) {
-                this.selectedKeys = selectedKeys
-            },
-            handleOk(e) {
-                this.confirmLoading = true
-                let defaultData = this.checkedKeys.filter(item => item.toString().indexOf('-') === -1);
-                this.showEdit = false
-                this.$emit('synchro', defaultData)
-            },
-            close() {
-                this.showEdit = false
-                this.dataList = []
-                this.showList = null
-                this.dataValue = []
-                this.indeterminate = false
-                this.checkAll = false
-            },
-            onCheckAllChange(e) {
-                Object.assign(this, {
-                    dataValue: e.target.checked
-                        ? this.showList.map((item) => {
-                            return item.value
-                        })
-                        : [],
-                    indeterminate: false,
-                    checkAll: e.target.checked,
-                })
-            },
-            onChange(checkedList) {
-                this.indeterminate = !!this.dataValue.length && this.dataValue.length < this.showList.length
-                this.checkAll = this.dataValue.length === this.showList.length
-            },
-            getData(url, item) {
-                this.bytedanceUrl = url,
-                this.bytedanceItem = item,
-                this.confirmLoading = false
-                this.showEdit = true
-                this.dataList = []
-                this.showList = null
-                this.dataValue = []
-                this.checkedKeys = []
-                this.indeterminate = false
-                this.checkAll = false
-                console.log(url, item)
-                getAction(url, item).then((res) => {
-                    if (res.success) {
-                        let arrList = []
-                        this.treeData = res.result.map(item => {
-                                return {
-                                    title: item.projectName,
-                                    key: item.projectId + '-',
-                                    children: item.userAllocationList.map(i => {
-                                        return {
-                                            title: i.authName + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' + (i.userName ? i.userName : '管理员'),
-                                            key: i.accountId
-                                        }
-                                    })
-                                }
-                            }
-                        )
+    onExpand(expandedKeys) {
+      console.log("onExpand", expandedKeys);
+      // if not set autoExpandParent to false, if children expanded, parent can not collapse.
+      // or, you can remove all expanded children keys.
+      this.expandedKeys = expandedKeys;
+      this.autoExpandParent = false;
+    },
+    onCheck(checkedKeys) {
+      this.checkedKeys = checkedKeys;
+    },
+    onSelect(selectedKeys, info) {
+      this.selectedKeys = selectedKeys;
+    },
+    handleOk(e) {
+      this.confirmLoading = true;
+      let defaultData = this.checkedKeys.filter(
+        (item) => item.toString().indexOf("-") === -1
+      );
+      this.showEdit = false;
+      this.$emit("synchro", defaultData);
+    },
+    close() {
+      this.showEdit = false;
+      this.dataList = [];
+      this.showList = null;
+      this.dataValue = [];
+      this.indeterminate = false;
+      this.checkAll = false;
+    },
+    onCheckAllChange(e) {
+      Object.assign(this, {
+        dataValue: e.target.checked
+          ? this.showList.map((item) => {
+              return item.value;
+            })
+          : [],
+        indeterminate: false,
+        checkAll: e.target.checked,
+      });
+    },
+    onChange(checkedList) {
+      this.indeterminate =
+        !!this.dataValue.length && this.dataValue.length < this.showList.length;
+      this.checkAll = this.dataValue.length === this.showList.length;
+    },
+    getData(url, item) {
+      (this.bytedanceUrl = url),
+        (this.bytedanceItem = item),
+        (this.confirmLoading = false);
+      this.showEdit = true;
+      this.dataList = [];
+      this.showList = null;
+      this.dataValue = [];
+      this.checkedKeys = [];
+      this.indeterminate = false;
+      this.checkAll = false;
+      console.log(url, item);
+      getAction(url, item).then((res) => {
+        if (res.success) {
+          let arrList = [];
+          this.treeData = res.result.map((item) => {
+            return {
+              title: item.projectName,
+              key: item.projectId + "-",
+              children: item.userAllocationList.map((i) => {
+                return {
+                  title:
+                    i.authName +
+                    "\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0" +
+                    (i.userName ? i.userName : "管理员"),
+                  key: i.accountId,
+                };
+              }),
+            };
+          });
+          this.defaultData = JSON.parse(JSON.stringify(this.treeData))
+        }
+        console.log(res);
+      });
+    },
+    // 点击搜索进行模糊筛选
+    onSearch() {
+      const _this = this;
+      _this.searchValue = _this.searchVal;
+      if (_this.searchValue === "") {
+        // _this.expandedKeys = [];
+        this.treeData = JSON.parse(JSON.stringify(this.defaultData))
+      } else {
+        _this.expandedKeys = [];
+        _this.backupsExpandedKeys = [];
+        let candidateKeysList = _this.getkeyList(_this.searchValue, _this.treeData, []);
+        console.log(candidateKeysList)
+        this.treeData = JSON.parse(JSON.stringify(candidateKeysList))
+        // candidateKeysList.map((item) => {
+        //   let key = _this.getParentKey(item, this.treeData);
+        //   if (key && !_this.backupsExpandedKeys.some((item) => item === key)) {
+        //     _this.backupsExpandedKeys.push(key);
+        //   }
+        // });
+        // console.log(this.backupsExpandedKeys)
+        // let length = this.backupsExpandedKeys.length;
+        // for (let i = 0; i < length; i++) {
+        //   _this.getAllParentKey(_this.backupsExpandedKeys[i], _this.treeData);
+        // }
+        // _this.expandedKeys = _this.backupsExpandedKeys.slice();
+        // _this.autoExpandParent = true;
+      }
+    },
+    // 获取节点中含有value的所有key集合
+    getkeyList(value, tree, keyList) {
+      for (let i = 0; i < tree.length; i++) {
+        let node = tree[i];
+        if (node.title.indexOf(value) > -1) {
+          keyList.push(node);
+        }
+        if (node.children) {
+          this.getkeyList(value, node.children, keyList);
+        }
+      }
+      return keyList;
+    },
 
 
-                    }
-                    console.log(res)
-                })
-            },
-        },
-        computed: {},
-    }
+    // 该递归主要用于获取key的父亲节点的key值
+    getParentKey(key, tree) {
+      let parentKey;
+      for (let i = 0; i < tree.length; i++) {
+        const node = tree[i];
+        if (node.children) {
+          if (node.children.some((item) => item.key === key)) {
+            parentKey = node.key;
+          } else if (this.getParentKey(key, node.children)) {
+            parentKey = this.getParentKey(key, node.children);
+          }
+        }
+      }
+      return parentKey;
+    },
+    // 获取该节点的所有祖先节点
+    getAllParentKey(key, tree) {
+      let parentKey;
+      if (key) {
+        parentKey = this.getParentKey(key, tree);
+        if (parentKey) {
+          if (!this.backupsExpandedKeys.some((item) => item === parentKey)) {
+            this.backupsExpandedKeys.push(parentKey);
+          }
+          this.getAllParentKey(parentKey, tree);
+        }
+      }
+    },
+  },
+  computed: {},
+};
 </script>
 </script>

+ 4 - 4
src/views/modules/policy-management/appPoolList.vue

@@ -1805,8 +1805,8 @@
                         this.queryByIdList.accountList[index],
                         this.queryByIdList.accountList[index],
                         "cashAmount",
                         "cashAmount",
                         this.rebateData.rebateType == 1
                         this.rebateData.rebateType == 1
-                            ? (value / (1 + this.rebateData.rebateRate / 100)).toFixed(2)
-                            : (value * (1 - this.rebateData.rebateRate / 100)).toFixed(2)
+                            ? Math.floor((value / (1 + this.rebateData.rebateRate / 100))*100)/100
+                            : Math.floor((value * (1 - this.rebateData.rebateRate / 100))*100)/100
                     );
                     );
                 } else if (
                 } else if (
                     type == 2 &&
                     type == 2 &&
@@ -1817,8 +1817,8 @@
                         this.queryByIdList.accountList[index],
                         this.queryByIdList.accountList[index],
                         "receivedAmount",
                         "receivedAmount",
                         this.rebateData.rebateType == 1
                         this.rebateData.rebateType == 1
-                            ? (value * (1 + this.rebateData.rebateRate / 100)).toFixed(2)
-                            : (value / (1 - this.rebateData.rebateRate / 100)).toFixed(2)
+                            ? Math.floor((value * (1 + this.rebateData.rebateRate / 100))*100)/100
+                            : Math.floor((value / (1 - this.rebateData.rebateRate / 100))*100)/100
                     );
                     );
                 } else {
                 } else {
                     this.$message.error("暂未返点比例");
                     this.$message.error("暂未返点比例");

File diff suppressed because it is too large
+ 2091 - 1983
src/views/modules/policy-management/appRecharge.vue


+ 8 - 1
src/views/modules/stockWatch/modules/new-keepManage/group-keepManage.vue

@@ -621,6 +621,13 @@ export default {
         },
         },
     },
     },
     mounted() {
     mounted() {
+
+        if(this.userInfo().id == ''||this.userInfo().roleName == '头条运营经理'){
+            this.mediaId= '1'
+            this.mediaIdGroup= '1'
+            this.mediaIdAccount= '1'
+            this.mediaIdDetail= '1'
+        }
         this.getQueryNewlyData()
         this.getQueryNewlyData()
         // this.showColumn()
         // this.showColumn()
         this.getOperationGroupData()
         this.getOperationGroupData()
@@ -691,7 +698,7 @@ export default {
             }
             }
             this.getAction(
             this.getAction(
                 process.env.VUE_APP_BASE_STARE_URL +
                 process.env.VUE_APP_BASE_STARE_URL +
-                    '/kuaiShouOpreate/kuaiShouMaterialStareController/getKuaiShouOperateProjectInfo',
+                    '/kuaiShouOpreate/kuaiShouMaterialStareController/getKuaiShouOperateProjectInfo2',
                 params
                 params
             ).then((res) => {
             ).then((res) => {
                 this.echartsLoading = false
                 this.echartsLoading = false