Browse Source

代码整理

hbchen 1 year ago
parent
commit
e798009bf2
43 changed files with 59 additions and 1474 deletions
  1. 12 12
      src/api/crm.js
  2. 0 21
      src/api/financialMana.js
  3. 0 4
      src/components/SvgIcon/index.vue
  4. 4 7
      src/components/dropdown-text/index.vue
  5. 2 5
      src/components/echart/index.vue
  6. 0 2
      src/components/scrollable-select/index.vue
  7. 0 2
      src/directives/modules/overflow-tooltip.js
  8. 0 4
      src/layout/headerBar/index.vue
  9. 2 4
      src/layout/index.vue
  10. 0 3
      src/layout/sideBar/index.vue
  11. 0 3
      src/layout/sideBar/sidebarItem.vue
  12. 2 2
      src/main.js
  13. 3 3
      src/permission.js
  14. 0 5
      src/store/modules/router.js
  15. 0 7
      src/styles/main.scss
  16. 2 2
      src/utils/request.js
  17. 0 2
      src/views/ChangePassword.vue
  18. 1 4
      src/views/Login.vue
  19. 0 1
      src/views/dashboard/index.vue
  20. 1 4
      src/views/financialManagement/components/permissionDia.vue
  21. 1 13
      src/views/financialManagement/components/permissionQyDia.vue
  22. 0 668
      src/views/financialManagement/components/serviceVarietyDia.vue
  23. 0 13
      src/views/financialManagement/composition/IandPList.js
  24. 1 9
      src/views/financialManagement/composition/serivceCascader.js
  25. 3 5
      src/views/financialManagement/contractProgress-component/Compliance.vue
  26. 0 6
      src/views/financialManagement/contractProgress-component/InvoiceAndPayment.vue
  27. 0 2
      src/views/financialManagement/contractProgress.vue
  28. 1 32
      src/views/financialManagement/financialList.vue
  29. 2 12
      src/views/financialManagement/invoice/invoiceList.vue
  30. 1 13
      src/views/financialManagement/placement/placementList.vue
  31. 0 383
      src/views/financialManagement/placementPre.vue
  32. 1 8
      src/views/financialManagement/registrationPre.vue
  33. 1 2
      src/views/financialStatistics/businessIncome.vue
  34. 7 108
      src/views/financialStatistics/commodityPayment.vue
  35. 1 8
      src/views/financialStatistics/salesStatistics.vue
  36. 1 3
      src/views/financialStatistics/waitInvoice.vue
  37. 1 4
      src/views/financialStatistics/waitPayment.vue
  38. 1 4
      src/views/systemManagement/departmentM.vue
  39. 1 10
      src/views/systemManagement/menuM.vue
  40. 2 2
      src/views/systemManagement/roleM.vue
  41. 2 42
      src/views/systemManagement/rolePermission.vue
  42. 1 6
      src/views/systemManagement/userM.vue
  43. 2 24
      vite.config.js

+ 12 - 12
src/api/crm.js

@@ -28,18 +28,18 @@ export function getSellerList() {
       method:'get'
   })
 }
-// 获取销售列表 - 无分组
- /**
-  * @param {
- * } data 
- * @returns 
- */
-export function getSellerListNoG() {
- return request({
-     url:'/crm/company_seller/all_list',
-     method:'get'
- })
-}
+// // 获取销售列表 - 无分组
+//  /**
+//   * @param {
+//  * } data 
+//  * @returns 
+//  */
+// export function getSellerListNoG() {
+//  return request({
+//      url:'/crm/company_seller/all_list',
+//      method:'get'
+//  })
+// }
 // 获取详细的销售列表(包含小组以及禁用的小组)
  /**
   * @param {

+ 0 - 21
src/api/financialMana.js

@@ -195,27 +195,6 @@ export function getIandPList(data) {
     responseType:data.is_export==1?'blob':'text'
  })
 }
-//导出excel  --- 已废弃
-//  /**
-//   * 
-//   * @param {
-//  * contract_code - 关键词-合同编号 - 非必填
-//  * start_date - 开始日期:格式2022-11-22 - 非必填
-//  * end_date - 结束日期:格式2022-11-22 - 非必填
-//  * min_amount - 开票金额区间-最小值 - 非必填
-//  * max_amount - 开票金额区间-最大值 - 非必填
-//  * invoice_type - 类型: 1-开票登记; 2-到款登记 - 必填
-//  * } data 
-//  * @returns 
-//  */
-// export function exportIandPList(data) {
-//  return request({
-//      url:'/contract/register/invoice_export',
-//      method:'get',
-//      responseType:'blob',
-//      params:data
-//  })
-// }
 
 // 合规登记-导入
  /**

+ 0 - 4
src/components/SvgIcon/index.vue

@@ -2,10 +2,6 @@
 <script setup>
 import { computed } from 'vue'
 const props = defineProps({
-  // prefix: {
-  //   type: String,
-  //   default: 'icon'
-  // },
   name: {
     type: String,
     required: true

+ 4 - 7
src/components/dropdown-text/index.vue

@@ -4,13 +4,10 @@
 
 <template>
   <div class="dropdown-text-box">
-    <!-- <el-button type="primary" 
-    > -->
-      <div class="dropdown-text">
-        <slot></slot>
-      </div>
-      <el-icon style="margin-left: 13px;"><arrow-down /></el-icon>
-    <!-- </el-button> -->
+    <div class="dropdown-text">
+      <slot></slot>
+    </div>
+    <el-icon style="margin-left: 13px;"><arrow-down /></el-icon>
   </div>
 </template>
   

+ 2 - 5
src/components/echart/index.vue

@@ -56,14 +56,11 @@
   }
 
   const chartDraw=(option)=>{
-    // nextTick(()=>{
-      barChart.clear()
-      barChart.setOption(option)
-    // })
+    barChart.clear()
+    barChart.setOption(option)
   }
 
   watch(()=>chartProp.options,(newVal)=>{
-    // console.log(newVal,'newVal');
     if(!newVal.series) return 
     chartDraw(newVal)
   },{deep:true})

+ 0 - 2
src/components/scrollable-select/index.vue

@@ -24,11 +24,9 @@
   })
   const emits=defineEmits(['change'])
 
-  // -------method
   const selectMethod=(value)=>{
     emits('change',value)
   }
-  // console.log(props);
 </script>
 <template>
   <el-select v-optionsLoadMore="loadMoreMethod" filterable remote :remote-method="searchMethod"

+ 0 - 2
src/directives/modules/overflow-tooltip.js

@@ -26,13 +26,11 @@ export const overflowTooltip={
       if(!value){
         throw new Error('请设置长度溢出的元素的css选择器')
       }
-      // console.log(tooltipNode);
       if(!tooltipNode){
         throw new Error('找不到el-tooltip组件')
       }
     } catch (error) {
       ElMessage.error(error.message)
-      // console.log(error.message);
     }
   },
   updated() {

+ 0 - 4
src/layout/headerBar/index.vue

@@ -105,10 +105,6 @@
         align-items: center;
         outline: none;
         .userinfo-inner-circle{
-          // width: 40px;
-          // height: 40px;
-          // border-radius: 20px;
-          // background-color: #D9D9D9;
           margin: 0 10px 0 60px;
         }
         &:hover{

+ 2 - 4
src/layout/index.vue

@@ -26,8 +26,8 @@
     newPsd:{required:true,message:"新密码不能为空",trigger:"blur"},
     confirmPsd:{required:true,message:"确认新密码不能为空",trigger:"blur"}
   }
-  //----------method
-    // 提交
+
+  // 提交
   const submit=()=>{
     changePsdFormEl.value.validate((valid)=>{
       if(valid){
@@ -40,7 +40,6 @@
           new_pwd:newPassword,
           confirm_pwd:newPassword
         }
-        // console.log(params);
         changePsdFirst(params).then(res=>{
           ElMessage.success('修改密码成功,请重新登录')
           localStorage.removeItem('fsms_token')
@@ -125,7 +124,6 @@
       transition: all 0.3s ease-in-out;
       #app-main{
         padding: 30px;
-        // min-height: 100%;
         height: 100%;
         background-color: #F2F6FA;
         box-sizing: border-box;

+ 0 - 3
src/layout/sideBar/index.vue

@@ -2,7 +2,6 @@
   import sidebarItem from './sidebarItem.vue';
   import {useRoute} from 'vue-router'
   import {useStore} from 'vuex'
-  import {routes} from '@/router/index'
 
   const route = useRoute()
   const store = useStore()
@@ -21,8 +20,6 @@
   },{immediate:true})
 
   const navlists = store.getters.routes
-  // console.log(route);
-//  -------------------------------method
 
 </script>
 

+ 0 - 3
src/layout/sideBar/sidebarItem.vue

@@ -79,9 +79,6 @@ const resolvePath=(path)=>{
           :index="basePath">
           <a :href="basePath" 
           :style="`display: block;color:${basePath===active ? '#fff ' : '#666'}`" @click="(e) => e.preventDefault() ">
-          <!-- <el-icon size="24px" style="margin-right: 10px;">
-            <component :is="item.meta.icon_path"/>
-          </el-icon> -->
             <span>{{item.meta.title}}</span>
           </a>
         </el-menu-item>

+ 2 - 2
src/main.js

@@ -10,14 +10,14 @@ import '@/styles/main.scss'
 import './permission'
 // 引入图标库
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
-console.log(router.getRoutes());
+
 const app = createApp(App)
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
   app.component(key, component)
 }
 // 注册全局指令
 import * as directives from '@/directives'
-console.log(directives,'directives');
+
 Object.keys(directives).forEach(key =>{
   app.directive(key,directives[key])
 })

+ 3 - 3
src/permission.js

@@ -32,17 +32,17 @@ router.beforeEach(async (to,from,next)=>{
         return 
       }
     }
-    console.log(to);
+    // console.log(to);
     if(store.getters.permissionButtons.length == 0){
       // 获取权限按钮
       await store.dispatch('router/getPermissionButtons') 
     }
     if(store.getters.routes.length && to.name){
-      console.log('放行');
+      // console.log('放行');
       next()  
       NProgress.done()
     }else{
-      console.log('拦截');
+      // console.log('拦截');
       await store.dispatch('router/setRoutes')
       // 特殊的重定向
       if(to.path == '/redirctPage'){

+ 0 - 5
src/store/modules/router.js

@@ -6,7 +6,6 @@ import Layout from "@/layout/index.vue"
 const hiddenArray=[false,true]
 // 动态引入views中所有的组件
 const routeAllPathToCompMap = import.meta.glob(`@/views/**/*.vue`)
-// console.log(routeAllPathToCompMap);
 
 let count=0
 
@@ -54,7 +53,6 @@ export default {
     setRoutes({commit}){
       return new Promise((resolve,reject)=>{
         let asyncRoutes = []
-        // console.log(router.getRoutes(),'router.getRoutes()');
         getAsyncRoutes().then(res=>{
           let routesData = res.data.list || []
           routesData.map(item=>{
@@ -62,7 +60,6 @@ export default {
             if(item.hidden_layout==0){
               count=0
               let afterHandle = routeHandle(Object.assign({},item))
-              // console.log(afterHandle);
               // 判断 afterHandle 是不是数组
               let flag=true
               if(!Array.isArray(afterHandle)){
@@ -101,7 +98,6 @@ export default {
           asyncRoutes.map(item =>{
             router.addRoute(item)
           })
-          // console.log(router.getRoutes(),'router.getRoutes()');
           commit('SET_ROUTES',[...routes ,...asyncRoutes])
           resolve('设置路由成功')
         })
@@ -112,7 +108,6 @@ export default {
       return new Promise((resolve,reject)=>{
         getPermissionButtons().then(res=>{
           commit('GET_PERMISSION_BUTTONS',res.data.list || [])
-          // console.log(res);
           resolve('获取权限按钮成功')
         })
       })

+ 0 - 7
src/styles/main.scss

@@ -1,4 +1,3 @@
-// @import './theme.scss';
 /**
 * $themeColor 主题颜色
 */
@@ -239,7 +238,6 @@ div::-webkit-scrollbar-corner {
   }
   span{
     font-size: 18px;
-    // font-family: PingFang SC-Regular, PingFang SC;
     font-weight: 400;
     color: #333333;
   }
@@ -270,12 +268,7 @@ div::-webkit-scrollbar-corner {
     height: 36px;
     width: 120px;
     font-size: 16px;
-    // font-family: PingFang SC-Medium, PingFang SC;
     font-weight: 500;
-    // &:first-child{
-    //   border: 1px solid $themeColor;
-    //   color: $themeColor;
-    // }
   }
   .el-button + .el-button{
     margin-left: 20px;

+ 2 - 2
src/utils/request.js

@@ -16,7 +16,7 @@ const postRequestList=new Set()
 let lastGetRequestList=new Map()
 // 取消方法
 const removePreRequest=(Url,fun)=>{
-  console.log(lastGetRequestList);
+  // console.log(lastGetRequestList);
   if(lastGetRequestList.has(Url)){
     // 取消上一次请求
     lastGetRequestList.get(Url)(`${Url}---重复请求被中断`)
@@ -57,7 +57,7 @@ request.interceptors.response.use(
   res=>{
     postRequestList.delete(`${res.config.url}`)
     lastGetRequestList.delete(`${res.config.url}`)
-    if(res.request.responseType==='blob' || res.request.responseType==='Blob'){
+    if(res.request.responseType.toLowerCase()==='blob'){
        // 字节流
        if(res.status === 200){
         return res.data

+ 0 - 2
src/views/ChangePassword.vue

@@ -29,7 +29,6 @@ import {changeSelfPsd} from '@/api/user'
   })
   const addForm = ref(null)
 
-  //  -------------------method
   const historyBack=()=>{  //返回上一页
       history.back();
   }
@@ -96,7 +95,6 @@ import {changeSelfPsd} from '@/api/user'
   .changePsd-container{
     .changePsd-header{
       font-size: 16px;
-      // font-family: PingFang SC-Medium, PingFang SC;
       color: #333333;
       margin-bottom: 20px;
       display: block;

+ 1 - 4
src/views/Login.vue

@@ -72,7 +72,7 @@
 		window.removeEventListener('keydown',keyDownLoad)
 	})
 
-//  ---------------------created
+//  --------------------------------------
 let userAccount = localStorage.getItem('account') || null
 let userCheckPass = localStorage.getItem('checkPass') || null
 if (userAccount) {
@@ -163,7 +163,6 @@ if (userAccount) {
 				margin: 0 100px;
 				h1{
 					font-size: 44px;
-					// font-family: PingFang SC-Medium, PingFang SC;
 					font-weight: 500;
 					color: #333333;
 					margin-bottom: 24px;
@@ -180,7 +179,6 @@ if (userAccount) {
 				}
 				p{
 					font-size: 20px;
-					// font-family: PingFang SC-Regular, PingFang SC;
 					font-weight: 400;
 					color: #999CB0;
 					margin-bottom: 48px;
@@ -210,7 +208,6 @@ if (userAccount) {
 					border-radius: 8px;
 				}
 				.password-hint{
-					// font-family: 'PingFang SC';
 					margin-top: 36px;
 					font-size: 20px;
 					color: #999CB0;

+ 0 - 1
src/views/dashboard/index.vue

@@ -62,7 +62,6 @@
     text-align: right;
     .data-detail{
       display: flex;
-      // align-items: center;
       justify-content: flex-end;
       margin-bottom: 30px;
       span{

+ 1 - 4
src/views/financialManagement/components/permissionDia.vue

@@ -25,7 +25,6 @@ import {getPermissionList} from '@/api/crm'
   })
 
   watch(()=>props.visible,(newVal)=>{
-    // console.log(newVal);
     if(newVal){
       // 初始化
       permissionDia.permissionList.length>0&&permissionDia.permissionList.map(item=>{
@@ -42,7 +41,6 @@ import {getPermissionList} from '@/api/crm'
         for (let j = 0,jLen=permissionDia.permissionList.length; j < jLen; j++) {
           const element = permissionDia.permissionList[j];
           let index=element.items.findIndex(it => it.chart_permission_id==chart_permission_id)
-          // console.log(index);
           if(index!=-1){
             element.items[index].checked=true
             element.check_list.push(chart_permission_id)
@@ -74,7 +72,6 @@ import {getPermissionList} from '@/api/crm'
     e.indeterminate = e.check_list.length>0 && e.check_list.length < e.items.length
   }
   const permissionAllChecked=(e)=>{
-    // console.log(e);
     let arr = e.items.map((item) => {
       return item.chart_permission_id;
     });
@@ -94,7 +91,7 @@ import {getPermissionList} from '@/api/crm'
     emits('update:visible',false)
   }
 
-  // --------------created
+  // -----------------------------
   getPermissionData()
 </script>
 

+ 1 - 13
src/views/financialManagement/components/permissionQyDia.vue

@@ -48,13 +48,11 @@
             it.checked=false
           })
         })
-        // permissionDia.permissionChecked=[...props.hasCheckedPermission]
         U:for (let i = 0,len=props.hasCheckedPermission.length; i < len; i++) {
           const permission_id = +props.hasCheckedPermission[i];
           for (let j = 0,jLen=props.permissionData.length; j < jLen; j++) {
             const element = props.permissionData[j];
             let index=element.children.findIndex(it => it.service_template_id==permission_id)
-            // console.log(index);
             if(index!=-1){
               element.children[index].checked=true
               element.check_list.push(permission_id)
@@ -69,7 +67,6 @@
     }
   },{immediately:true})
 
-  // -------method
   const permissionCheckedChange=(e)=>{
     console.log(e);
     e.checked = e.check_list.length == e.children.length
@@ -103,7 +100,7 @@
     emits('update:visible',false)
   }
 
-  // --------------created
+  // ------------------------------------------
 </script>
 
 <template>
@@ -148,9 +145,6 @@
       justify-content: center;
     }
     .variety-small-box{
-      // display: flex;
-      // justify-content: center;
-      // flex-wrap: wrap;
       padding-left: 56px;
       .variety-item{
         display:flex;
@@ -170,12 +164,6 @@
     .el-checkbox{
       margin-right: 22px;
     }
-    // .el-checkbox-group{
-    //   margin-right:-22px ;
-      // .el-checkbox{
-      //   margin-right: 22px;
-      // }
-    // }
     .el-radio{
       margin-right: 20px;
     }

+ 0 - 668
src/views/financialManagement/components/serviceVarietyDia.vue

@@ -1,668 +0,0 @@
-<script setup>
-
-import {getPermissionList} from '@/api/crm'
-import html2canvas from "html2canvas";
-
-  const props=defineProps({
-    visible:{
-      type:Boolean,
-      default:false
-    },
-    service:{
-      type:Object,
-      require:true
-    },
-    currentService:{
-      type:Object,
-      default:()=>{}
-    }
-  })
-
-  const headTitleForm=ref(null)
-  
-  const params=reactive({
-    tableHeadData:[],
-    tableData:[],
-    showRightClickMenu:false,//显示右键菜单
-    rightClickCon: [
-      { type: "selectRow", name: "选择该行" },
-      { type: "insertColumn", name: "插入一列" },
-      { type: "insertRow", name: "插入一行" },
-      { type: "deleteColumn", name: "删除该列" },
-      { type: "deleteRow", name: "删除该行" },
-    ], //右键菜单内容
-    showInputHead: false, //显示填写表头
-    form: {
-      title: "",
-    }, //插入一列填写的表头数据
-    tableSelectList: {
-      商品复盘: [
-        { id: 2, name: "能化专栏《化里化外》", select: false },
-        { id: 4, name: "黑色专栏《知白守黑》", select: false },
-        { id: 5, name: "有色专栏《有声有色》", select: false },
-        // { id: 1, name: "《每日宏观商品复盘》", select: false },
-        { id: 3, name: "《股债日评》", select: false },
-      ],
-      深度月报:[
-        { id: 6, name: "宏观经济", select: false },
-        { id: 7, name: "草根调研", select: false },
-        // { id: 8, name: "PVC月报", select: false },
-      ]
-    }, //表格中自带选择的数据
-    tableSelectCheck: {
-      商品复盘: [],
-    }, //表格中自带选择的数据选中项
-    selectRowIndex:'',
-    selectIndex:{
-      rindex: 0, //行序号
-      cindex: 0, //列序号
-    },
-    position: {
-      top: 0,
-      left: 0,
-    }, //鼠标右击时的位置
-  })
-
-  const varietyDia=reactive({
-    dialogShow:false,
-    varietyList:[],
-    // 选中的Id
-    chart_permission_ids:''
-  })
-  const emits=defineEmits(['update:visible','selectFinish'])
-
-  watch(()=>props.service,(newValue)=>{
-    // console.log(newValue,'value---');
-    if(newValue) initData()
-  },{deep:true})
-  watch(()=>params.selectRowIndex,(newValue)=>{
-    if (newValue === null) {
-      varietyDia.varietyList.forEach((item) => {
-        item.check_list = [];
-      });
-    }
-  })
-  watch(()=>props.currentService,(newVal)=>{
-    // console.log(newVal,'newVal------------------');
-    if (newVal.service_template_id) {
-      if (props.service.service_template_id === newVal.service_template_id) {
-        props.service.Value = newVal.Value;
-        // 表格数据 newVal 更新的数据
-        // 更新表头 props.service.detail[0]
-        let arr=[newVal.tableHeadData,...newVal.tableData].map((item)=>{
-          let obj={}
-          item.forEach((item2,index2)=>{
-            let key=`col_${index2+1}`
-            obj={...obj,[key]:JSON.stringify(item2)}
-          })
-          return obj
-        })
-        props.service.detail=arr
-      }
-    }
-  })
-// --------------method
-// 获取合同种类接口
-const getPermissionListFun=()=>{
-  getPermissionList().then(res=>{
-    let arr = res.data.List || []
-    arr.forEach((item) => {
-      item.check_list = [];
-      item.checked = false;
-      item.indeterminate = false;
-    });
-    varietyDia.varietyList=arr
-  })
-}
-// 初始化表格数据
-const initData=()=>{
-  if (!props.service.detail) return;
-  // console.log(props.service.detail);
-  let temarr = props.service.detail.map((rowItem) => {
-    let rowArr = [];
-    for (let key in rowItem) {
-      if (key.substr(0, 3) === "col" && rowItem[key] !== "") {
-        rowArr.push(JSON.parse(rowItem[key]));
-      }
-    }
-    return rowArr;
-  });
-  params.tableHeadData = temarr[0];
-  params.tableData = temarr.slice(1);
-  // 回显表格内部选择的
-  params.tableData.forEach((item) => {
-    item.forEach((e) => {
-      if (e.Type === "select") {
-        let key = e.Value;
-        item.forEach((e2) => {
-          if (e2.HeadName === "品种") {
-            if(e2.Value){
-              params.tableSelectCheck[key] = e2.ValueId;
-            }else{
-              params.tableSelectCheck[key] = [];
-            }
-          }
-        });
-      }
-    });
-  });
-}
-// 左键选择行
-const handleSelectRow=(rindex,data)=> {
-  // 如果选择的行存在 选项数据则不允许选择 或者 该行不可选择 即RowDisable=true
-  if(data.HeadName!='品种') return
-  let tag = false;
-  params.tableData[rindex].forEach((item) => {
-    if (item.Type === "select"||item.RowDisable) {
-      tag = true;
-    }
-  });
-  if (tag) return;
-  params.selectRowIndex = rindex;
-  formatOptionList();
-  varietyDia.dialogShow=true
-}
-
-//每次选中一行时格式化顶部选择数据
-const formatOptionList=()=>{
-  let valueId = [];
-  params.tableData[params.selectRowIndex].forEach((item) => {
-    if (item.HeadName === "品种") {
-      valueId = item.ValueId;
-    }
-  });
-  varietyDia.varietyList.forEach((item) => {
-    item.check_list = [];
-    item.items.forEach((e) => {
-      let flag = valueId.indexOf(e.chart_permission_id);
-      if (flag != -1) {
-        item.check_list.push(e.chart_permission_id);
-      }
-    });
-    if (item.check_list.length === item.items.length) {
-      item.checked = true;
-    } else {
-      item.checked = false;
-    }
-  });
-}
-
-//鼠标右键
-const rightClick=(rindex, cindex, event)=>{
-  params.selectIndex.rindex = Number(rindex);
-  params.selectIndex.cindex = Number(cindex);
-  formatRightClickCon(rindex, cindex);
-  params.showRightClickMenu = true;
-  params.position.top = event.clientY + "px";
-  params.position.left = event.clientX + "px";
-}
-//格式化鼠标右击显示内容
-const formatRightClickCon=(rindex, cindex)=>{
-  let arr = [
-    { type: "insertColumn", name: "向后插入一列", show: true },
-    { type: "insertRow", name: "向后插入一行", show: true },
-    { type: "deleteColumn", name: "删除该列", show: true },
-    { type: "deleteRow", name: "删除该行", show: true },
-  ];
-
-  // 品种一列不允许删除
-  if (params.tableHeadData[cindex].Tag === "品种"||params.tableHeadData[cindex].Tag === "FICC小套餐服务内容") {
-    arr[2].show = false;
-  }
-  //删除列 不能少于两列
-  if (params.tableHeadData.length <= 2) {
-    arr[2].show = false;
-  }
-
-  //删除行 不能少于两行
-  if (params.tableData.length <= 2) {
-    arr[3].show = false;
-  }
-
-  // 商品复盘、周报、双周报、数据点评、月报必须有一个存在
-  let temarr=[]
-  params.tableData.forEach(item=>{
-    item.forEach(item2=>{
-      if(item2.HeadName==='FICC小套餐服务内容'){
-        if(item2.Value==='数据点评'||
-        item2.Value==='FICC周报'||
-        item2.Value==='商品双周报+线上电话会讨论会<br/>(由弘则的研究员主持线上讨论)'){
-          temarr.push(item2.Value)
-        }
-      }
-    })
-  })
-  if(temarr.length<2){
-    params.tableData[params.selectIndex.rindex].forEach(item=>{
-      if(item.Value==='数据点评'||
-        item.Value==='FICC周报'||
-        item.Value==='商品双周报+线上电话会讨论会<br/>(由弘则的研究员主持线上讨论)'){
-          arr[3].show = false;
-      }
-    })
-  }
-
-  //新增列 不能超过6列
-  if (params.tableHeadData.length >= 6) {
-    arr[0].show = false;
-  }
-
-  params.rightClickCon = arr.filter((item) => {
-    return item.show;
-  });
-}
-
-// 点击 新增/删除 行/列  选择该行
-const handleUpdateTable=(type)=>{
-  //删除行
-  if (type === "deleteRow") {
-    params.selectRowIndex = null;
-    params.tableData.splice(params.selectIndex.rindex, 1);
-  }
-
-  //新增行
-  if (type === "insertRow") {
-    params.selectRowIndex = null;
-    let arr = params.tableHeadData.map((item) => {
-      let obj = { CanEdit: true, Type: "text", Value: "", ValueId: [], HeadName: item.Tag,RowDisable:false,RowName:''};
-      if (item.Tag === "品种") {
-        obj.CanEdit = false;
-      }
-      return obj;
-    });
-
-    params.tableData.splice(params.selectIndex.rindex + 1, 0, arr);
-  }
-
-  //删除列
-  if (type === "deleteColumn") {
-    params.selectRowIndex = null;
-    params.tableHeadData.splice(params.selectIndex.cindex, 1);
-    params.tableData = params.tableData.map((item) => {
-      item.splice(params.selectIndex.cindex, 1);
-      return item;
-    });
-  }
-
-  //新增列
-  if (type === "insertColumn") {
-    params.selectRowIndex = null;
-    params.showInputHead = true;
-  }
-
-  params.showRightClickMenu = false;
-}
-
-//点击确定新增表头内容
-const handleConfirmHead=()=>{
-  headTitleForm.value.validate((valid) => {
-    if (!valid) return;
-    params.tableHeadData.splice(params.selectIndex.cindex + 1, 0, { CanEdit: false, Type: "text", Value: params.form.title, Tag: params.form.title });
-    params.tableData = params.tableData.map((item) => {
-      item.splice(params.selectIndex.cindex + 1, 0, { CanEdit: true, Type: "text", Value: "", HeadName: params.form.title,RowDisable:false,RowName:'' });
-      return item;
-    });
-    params.showInputHead = false;
-    params.form.title = "";
-  });
-}
-
-//点击取消填写新增列头弹窗
-const handleCancelHead=()=>{
-  headTitleForm.value.resetFields();
-  params.showInputHead = false;
-}
-
-//点击表格中选项数据
-const handleTableSelectChange=(title, rindex)=>{
-  let arr = params.tableSelectCheck[title];
-  let arr2 = [];
-  params.tableSelectList[title].forEach((item) => {
-    arr.forEach((e) => {
-      if (e == item.id) {
-        arr2.push(item.name);
-      }
-    });
-  });
-  params.tableData[rindex].forEach((item) => {
-    if (item.HeadName === "品种") {
-      item.Value = arr2.join("、");
-      item.ValueId = arr;
-    }
-  });
-}
-const varietyCheckedChange=(e)=>{
-  e.checked = e.check_list.length == e.items.length
-  e.indeterminate = e.check_list.length>0 && e.check_list.length < e.items.length
-}
-
-const varietyAllChecked=(e)=>{
-  let arr = e.items.map((item) => {
-    return item.chart_permission_id;
-  });
-  e.check_list = e.checked ? arr : [];
-  e.indeterminate = false;
-  // 宏观经济默认勾选
-  if(e.classify_name==='宏观经济'){
-    e.check_list.push(1)
-  }
-}
-
-
-const varietiesSelect=()=>{
-  if (params.selectRowIndex === null) return;
-  let arr=[]
-  let arrId=[]
-  let count = 0
-  varietyDia.varietyList.forEach((item) => {
-    if (item.checked) {
-      count++;
-    }
-  });
-  // 全选
-  if(count===varietyDia.varietyList.length){
-    arr = ["全品种"];
-    varietyDia.varietyList.forEach((item) => {
-      arrId = [...arrId, ...item.check_list];
-    });
-  }else{
-    varietyDia.varietyList.forEach((item) => {
-      item.items.forEach((item2) => {
-        let flag = item.check_list.indexOf(item2.chart_permission_id);
-        if (flag != -1) {
-          arr.push(item2.permission_name);
-          arrId.push(item2.chart_permission_id);
-        }
-      });
-    });
-  }
-
-  // 找出和该行关联的行 同时修改品种栏数据
-  let rowIndexarr=[]
-  if(!params.tableData[params.selectRowIndex][0].RowName){
-    rowIndexarr.push(params.selectRowIndex)
-  }else{
-    params.tableData.forEach((item,index)=>{
-      if(item[0].RowName==params.tableData[params.selectRowIndex][0].RowName){
-        rowIndexarr.push(index)
-      }
-    })
-  }
-
-  rowIndexarr.forEach(index=>{
-    params.tableData[index].forEach((item) => {
-      if (item.HeadName === "品种") {
-        item.Value = arr.join("、");
-        item.ValueId = arrId;
-      }
-    });
-  })
-  let idArr = []
-  varietyDia.varietyList.map(item=>{
-    idArr=[...idArr,...item.check_list]
-  })
-  varietyDia.chart_permission_ids=idArr.join(',')
-  varietyDia.dialogShow=false
-  params.selectRowIndex=null
-}
-
-const varietiesCancel=()=>{
-  varietyDia.dialogShow=false
-  params.selectRowIndex=null
-}
-
-const validateData=()=>{
-  //判断品种列是否有值
-  let arr = [];
-  params.tableData.forEach((item) => {
-    item.forEach((item2) => {
-      if (item2.HeadName === "品种") {
-        arr.push(...item2.ValueId);
-      }
-    });
-  });
-  // 判断行是否有值
-  let arr2 = [];
-  params.tableData.forEach((item, index) => {
-    let arr = item.filter((item2) => {
-      if (!item2.Value) return item2;
-    });
-    if (arr.length === params.tableHeadData.length) {
-      arr2.push(index);
-    }
-  });
-
-  // 商品复盘、周报、双周报、数据点评、月报 品种必须有一个选择了
-  let arr3=[]
-  params.tableData.forEach(item=>{
-    item.forEach(item2=>{
-      if(item2.Value==='数据点评'||
-        item2.Value==='FICC周报'||
-        item2.Value==='商品双周报+线上电话会讨论会<br/>(由弘则的研究员主持线上讨论)'){
-        item.forEach(item3=>{
-          if (item3.HeadName === "品种") {
-            arr3.push(...item3.ValueId);
-          }
-        })
-      }
-    })
-  })
-
-  if (!arr.length) {
-    ElMessage.warning("至少选择一个品种");
-    return false;
-  }
-
-  if (arr2.length) {
-    ElMessage.warning("行内至少填一项");
-    return false;
-  }
-
-  if(!arr3.length){
-    ElMessage.warning("周报、双周报、数据点评至少选择一个品种");
-    return false;
-  }
-  // console.log(arr,arr2,arr3);
-  return true;
-}
-
-const submit=()=>{
-  let flag = validateData();
-  if (!flag) return;
-  // console.log(params.tableData);
-  // 生成表格图片
-  html2canvas(document.getElementById("table-png"), {
-    backgroundColor: "#ffffff",
-    useCORS: true, // 允许图片跨域
-    allowTaint: true, // 在渲染前测试图片
-    imageTimeout: 0, // 加载延时
-    scale:3,
-  }).then((res) => {
-    let img = res.toDataURL("image/png");
-    emits("selectFinish", {
-      Value: img,
-      chart_permission_ids:varietyDia.chart_permission_ids||'1',
-      service_template_id: props.service.service_template_id,
-      tableData: params.tableData,
-      tableHeadData: params.tableHeadData,
-    });
-    serviceClose();
-  });
-}
-const closeDia=()=>{
-  serviceClose()
-  initData()
-}
-
-const serviceClose=()=>{
-  params.showRightClickMenu = false;
-  params.selectRowIndex = null;
-  emits('update:visible',false)
-}
-
-
-// ---------------created
-  getPermissionListFun()
-</script>
-
-<template>
-  <div id="service-variety-container">
-    <el-dialog title="选择品种" :model-value="props.visible" top="5vh" 
-    @close="serviceClose" :close-on-click-modal="false" width="900" >
-      <div style="max-height: 66vh; overflow-y: auto; padding: 10px 0">
-        <table id="table" ref="table" class="table-wrap" @click="params.showRightClickMenu = false">
-          <thead>
-            <tr style="background: #f0f2f5">
-              <th class="table-item" v-for="item in params.tableHeadData" :key="item.Value">{{ item.Value }}</th>
-            </tr>
-          </thead>
-
-          <tbody>
-            <tr v-for="(row, rindex) in params.tableData" :key="rindex" :class="rindex === params.selectRowIndex ? 'row-dark' : null">
-              <td 
-                class="table-item" 
-                v-for="(item, cindex) in row" 
-                :key="item" 
-                @click="handleSelectRow(rindex,item)" 
-                @contextmenu.prevent="rightClick(rindex, cindex, $event)" 
-                :data-rindex="rindex" 
-                :data-cindex="cindex"
-              >
-                <div v-if="item.Type === 'text'">
-                  <el-icon v-if="item.HeadName=='品种'&&!item.RowDisable" color="var(--themeColor)"
-                  size="20" style="cursor: pointer;" class="choose-icon" ><EditPen /></el-icon>
-                  <span 
-                    v-if="!item.CanEdit" 
-                    v-html="item.Value" 
-                    :style="{paddingLeft:item.HeadName=='品种'&&!item.RowDisable?'25px':null,display:'inline-block'}"
-                  ></span>
-                  <el-input v-else type="textarea" placeholder="请输入" v-model="item.Value"></el-input>
-                </div>
-                <div v-if="item.Type === 'select'">
-                  <div style="margin-bottom: 10px;font-size:15px">{{ item.Value }}</div>
-                  <div style="text-align: left">
-                    <el-checkbox-group v-model="params.tableSelectCheck[item.Value]">
-                      <el-checkbox style="font-size:14px" :label="opt.id" v-for="opt in params.tableSelectList[item.Value]" :key="opt.id" @change="handleTableSelectChange(item.Value, rindex, cindex)">{{ opt.name }}</el-checkbox>
-                    </el-checkbox-group>
-                  </div>
-                </div>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <template #footer>
-        <el-button type="primary" @click="submit" style="color: white;">保存</el-button>
-        <el-button @click="closeDia">取消</el-button>
-      </template> 
-    </el-dialog>
-    <!-- 右键选项弹框 -->
-    <div class="right-click-wrap" :style="params.position" v-show="params.showRightClickMenu">
-      <div @click="handleUpdateTable(item.type)" v-for="item in params.rightClickCon" :key="item.type">{{ item.name }}</div>
-    </div>
-    <!-- 新增列填写表头弹窗 -->
-    <el-dialog v-model="params.showInputHead" width="560px" top="20vh" title="添加列">
-      <el-form :model="params.form" ref="headTitleForm" label-width="100px">
-        <el-form-item label="表格名称" prop="title" :rules="{ required: true, message: '请填写名称', trigger: 'blur' }">
-          <el-input v-model="params.form.title"></el-input>
-        </el-form-item>
-        <div style="text-align: center; margin-top: 70px; margin-bottom: 30px">
-          <el-button type="primary" @click="handleConfirmHead" style="height: 36px;width: 120px;">保存</el-button>
-          <el-button type="primary" plain @click="handleCancelHead" style="height: 36px;width: 120px;">取消</el-button>
-        </div>
-      </el-form>
-    </el-dialog>
-    <!-- 生成表格图片dom -->
-    <table id="table-png" class="table-wrap">
-      <thead>
-        <tr style="background: #f0f2f5">
-          <th class="table-item" v-for="item in params.tableHeadData" :key="item.Value" style="color: #333;font-size:15px">{{ item.Value }}</th>
-        </tr>
-      </thead>
-      <tbody>
-        <tr v-for="(row, rindex) in params.tableData" :key="rindex">
-          <td class="table-item" v-for="item in row" :key="item" style="max-width: 300px">
-            <div v-html="item.Value" style="color: #333;font-size:14px"></div>
-          </td>
-        </tr>
-      </tbody>
-    </table>
-    <!-- 选择具体品种弹窗 -->
-    <el-dialog title="选择品种" v-model="varietyDia.dialogShow" :close-on-click-modal="false" width="700" >
-      <div style="padding: 20px 30px;border: dashed 1px #aab4cc;border-radius: 4px;">
-        <div v-for="item in varietyDia.varietyList" :key="item.classify_name" style="display: flex;margin-bottom: 20px;">
-          <el-checkbox v-model="item.checked" :disabled="params.selectRowIndex === null"
-          :indeterminate="item.check_list.length>0 && item.check_list.length < item.items.length" @change="varietyAllChecked(item)">
-          {{item.classify_name}}:</el-checkbox>
-          <el-checkbox-group v-model="item.check_list" @change="varietyCheckedChange(item)" :disabled="params.selectRowIndex === null">
-            <el-checkbox :label="it.chart_permission_id" v-for="it in item.items" :key="it.chart_permission_id"
-            :disabled="it.chart_permission_id=='1'">{{it.permission_name}}</el-checkbox>
-          </el-checkbox-group>
-        </div>
-      </div>
-      <template #footer>
-        <el-button type="primary" @click="varietiesSelect" style="color: white;">保存</el-button>
-        <el-button @click="varietiesCancel">取消</el-button>
-      </template> 
-    </el-dialog>
-  </div>
-    
-</template>
-  
-<style lang="scss" scoped>
-.table-wrap {
-  position: relative;
-  width: 100%;
-  text-align: center;
-  border-top: 1px solid #ebeef5;
-  border-left: 1px solid #ebeef5;
-  .row-dark {
-    background-color:#ebeef5;
-  }
-  .table-item {
-    padding: 20px 10px;
-    border-right: 1px solid #ebeef5;
-    border-bottom: 1px solid #ebeef5;
-    min-width: 160px;
-    position: relative;
-    .table-item-mask {
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 100%;
-      height: 100%;
-      background-color: rgba(0, 0, 0, 0);
-      z-index: 1000;
-    }
-    .choose-icon{
-      position: absolute;
-      top: 50%;
-      left: 10px;
-      transform:translateY(-50%);
-    }
-  }
-}
-.right-click-wrap {
-  border-radius: 4px;
-  background-color: #fff;
-  padding: 10px 0;
-  position: fixed;
-  z-index: 5000;
-  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-  line-height: 2;
-  div {
-    cursor: pointer;
-    padding: 0 20px;
-    &:hover {
-      background-color: #ebeef5;
-    }
-  }
-}
-#table-png {
-  position: absolute;
-  z-index: -10;
-  top: -100%;
-  left: 0;
-  width: 1000px;
-}
-</style>

+ 0 - 13
src/views/financialManagement/composition/IandPList.js

@@ -34,7 +34,6 @@ export default function getIandPListCom(type) {
 
 
   watch(()=>placement.dateRange,(newVal)=>{
-    // console.log(newVal);
     if(newVal && newVal.length>0){
       placement.searchParams.start_date=newVal[0]
       placement.searchParams.end_date=newVal[1]
@@ -46,7 +45,6 @@ export default function getIandPListCom(type) {
 
   const placementList=()=>{
     getIandPList(placement.searchParams).then(res=>{
-      // console.log(res);
       placement.tableData=res.data.list || []
       placement.total=res.data.page&&res.data.page.total || 0
       placement.amountTotal = res.data.amount_total || 0
@@ -55,7 +53,6 @@ export default function getIandPListCom(type) {
   }
   
   const searchPlacement=()=>{
-    // console.log('search');
     placement.searchParams.current = 1
     placementList()
   }
@@ -75,7 +72,6 @@ export default function getIandPListCom(type) {
     (value.endsWith('0') && value.indexOf('.')==(value.length-2))){
       return
     }
-    // console.log(numerValue);
     if((!numerValue)&&trimValue&&numerValue!=0){
       setTimeout(()=>{
         placement.searchParams[prop]=''
@@ -90,7 +86,6 @@ export default function getIandPListCom(type) {
       ElMessage.warning('金额必须大于等于零')
       return
     }
-    // if(!numerValue) return 
     // 开始金额大于结束金额 就不查询
     if(placement.searchParams.max_amount &&
     placement.searchParams.min_amount &&
@@ -132,13 +127,6 @@ export default function getIandPListCom(type) {
     placementList()
   }
   
-  const placementDetail=(row,detailType)=>{
-    if(row.contract_status == 4){
-      // 已终止 不允许开票和到款 模式改成查看
-      detailType='view'
-    }
-    router.push({path:'/financial/list/contractProgress',query:{type:detailType,complianceId:row.contract_register_id}})
-  }
   const placementExport=()=>{
     getIandPList({...placement.searchParams,is_export:1}).then(res=>{
       let fileName = type==1?'开票列表':'到款列表'
@@ -154,7 +142,6 @@ export default function getIandPListCom(type) {
     searchPlacement,
     moneyChange,
     placementExport,
-    placementDetail,
     changePageNo,
     changePageSize,
     checkMoney,

+ 1 - 9
src/views/financialManagement/composition/serivceCascader.js

@@ -6,9 +6,6 @@ export default function serviceCascader() {
   let hasQySmall=false
   let hasFiccSmall=false
   let hasFiccBig=false
-  // 小品种的service_template_id
-  // const FICCSmallServiceId=[90001,90016,90103,90138,90142,90109,90110,90114,90107,90111,90108,
-  //   90118,90239,90205,90212,90224,90224,90226,90302,90317,90325,90340]
 
   // 套餐选择更改
   // servicesList套餐列表 value-选中的套餐Id cascaderRef - el-cascaser的ref值
@@ -42,7 +39,7 @@ export default function serviceCascader() {
       value=value.filter(it => it<90000)
       hasFiccBig=true
     }else if(value.some(it => !(it<90000))){
-      // FICC小套餐
+      // FICC小套餐 - 小套餐的品种ID 都大于 90000
       value=value.filter(it => it!=1)
       hasFiccSmall=true
     }
@@ -72,10 +69,6 @@ export default function serviceCascader() {
   // 套餐禁用处理
   const setDisable=(List)=>{
     List.forEach(element => {
-      // if(!element.service_template_id){
-      //   setDisable(element.children)
-      //   return 
-      // }
       if(hasQyBigOne||hasQyBigTwo){
         // 权益大套餐选中了,禁用行业套餐
         if(element.service_template_id==13){
@@ -145,7 +138,6 @@ export default function serviceCascader() {
   }
 
   return {
-    // FICCSmallServiceId,
     servicesChange,
     resetDisable
   }

+ 3 - 5
src/views/financialManagement/contractProgress-component/Compliance.vue

@@ -69,9 +69,9 @@
       start_date:'',
       end_date:'',
       contract_amount:'',
-      contract_type:'',
-      has_payment:'',
-      has_invoice:'',
+      contract_type:'', // 1-新签 2-续约 4-补充
+      has_payment:'', // 0-自付 1-代付
+      has_invoice:'', // 是否走开票带到款 0-否 1-是
       actual_pay_companies:'',
       relate_contract_code:'',
       relate_contract_main_code:'',
@@ -852,8 +852,6 @@
               <el-cascader :options="contractTypeArray" placeholder="请选择合同类型" @change="contractTypeChange"
               v-model="compliance.contractTypeCheck" :clearable="false" key="contractType">
               </el-cascader>
-              <!-- <el-checkbox v-model="compliance.form.has_invoice" style="margin-left: 20px;"
-              v-show="compliance.form.has_payment==1">(开票、到款)</el-checkbox> -->
             </el-form-item>
             <el-form-item label="关联主合同" prop="relate_contract_main_code" 
             v-if="compliance.form.contract_type==4">

+ 0 - 6
src/views/financialManagement/contractProgress-component/InvoiceAndPayment.vue

@@ -148,7 +148,6 @@
         hasRelativeSeller:!!sellerId
       }
     )
-    // console.log(row,hasFindCount,allCount,'allCountallCountallCount');
 
     if(!row.origin_amount) return
       // 开票
@@ -289,7 +288,6 @@
             if(item.service_product_id == row.service_product_id){
               money+=parseFloat(item.origin_amount) || 0
             }
-            // console.log(money);
           })
           // 保留两位小数、防止计算时精度丢失
           money=Math.round(money*100)/100
@@ -306,7 +304,6 @@
   }
   // 金额改变
   const moneyChange=(value,index,row)=>{ 
-    // console.log(value);
     let numerValue=parseFloat(value)
 
     if(!numerValue&&numerValue!=0&&value){
@@ -394,7 +391,6 @@
   const setIandPDetail=()=>{
     sellerListType.value = props.IPDetailInfo.sellerListType
     rmbRate.value=props.IPDetailInfo.rmb_rate
-    // amountForm.amountData[0].service_product_id = sellerListType.value == 3?'':sellerListType.value
 
     // FICC套餐总金额 = FICC套餐剩余开篇金额
     IandP.moneyData.waitMoneyFICC= IandP.moneyData.allMoneyFICC =
@@ -413,7 +409,6 @@
       amoutList= props.IPDetailInfo.payment_list
     }
 
-    // if(amoutList.length>0){
     amountForm.amountData=[]
     amoutList.map((item,index)=>{
       if(item.service_product_id==1){
@@ -441,7 +436,6 @@
       })
     })
     setRowData()
-    // }
     IandP.moneyData.haveMoney=
     IandP.moneyData.haveMoneyFICC+IandP.moneyData.haveMoneyQY
 

+ 0 - 2
src/views/financialManagement/contractProgress.vue

@@ -425,7 +425,6 @@
         flex-direction: column;
         .info-box{
           background-color: white;
-          // padding: 0 2vw 30px 0;
           border: 1px solid #E8E8E8;
           .info-box-head{
             height: 40px;
@@ -433,7 +432,6 @@
             display: flex;
             align-items: center;
             justify-content: space-between;
-            // cursor: pointer;
             .info-box-head-text{
               background-color: $themeColor;
               font-size: 14px;

+ 1 - 32
src/views/financialManagement/financialList.vue

@@ -209,7 +209,7 @@ const statusArray=[{id:1,label:"进行中"},{id:2,label:"已完成"}]
   }
   /**
    * 设置row-key,优化表格渲染,主要由于表格操作栏混合使用了 v-permission指令和v-if指令,猜测el-table底层默认是用索引作为每行的key值
-   * 可能导致vue3底层更新表格 在对比 新树和老树 时通过索引找到的不是原来的Node,导致报错,故给表格行设置唯一的key值
+   * 可能导致vue3底层更新表格 在对比 新树和老树 时通过索引找到的不是原来的Node,导致报错,故给表格行设置唯一的key值
    * 以上纯属瞎猜
    */
   const setRowKey=(row)=>{
@@ -243,10 +243,6 @@ const statusArray=[{id:1,label:"进行中"},{id:2,label:"已完成"}]
              placeholder="请选择套餐" clearable collapse-tags :show-all-levels="false"
             :props="{multiple:true,label:'title',value:'service_template_id',children:'children',emitPath:false}">
             </el-cascader>
-            <!-- <el-select v-model="financial.searchParams.contract_type" placeholder="请选择合同类型" clearable
-            @change="searchFinancial" style="width: 240px;margin-bottom: 8px;">
-              <el-option :label="item.label" :value="item.id" v-for="item in contractTypeArray" :key="item.id"></el-option>
-            </el-select> -->
             <el-cascader :options="contractTypeArray" style="width: 240px;margin-bottom: 8px;margin-right: 30px;z-index: 100;"
               @change="contractTypeChange" placeholder="请选择合同类型" clearable collapse-tags collapse-tags-tooltip
                :props="{multiple:true}">
@@ -261,29 +257,11 @@ const statusArray=[{id:1,label:"进行中"},{id:2,label:"已完成"}]
               <div>
                 <el-button type="primary" size="large" v-permission="'financial:list:complianceAdd'"
                 @click="registration('compliance')" class="element-common-button" style="color: white;">合规登记</el-button>
-                <!-- <el-button type="primary" size="large" style="margin-left: 0;color: white;"
-                @click="router.push('/financial/placementPre')" class="element-common-button">到款预登记</el-button> -->
               </div>
               <div class="financial-top-option-zone-right">
-                <!-- <el-dropdown v-permission="'financial:list:complianceImport'" trigger="click" popper-class="classifyFandQ"
-                size="large"> -->
                   <a href="https://hzchart.oss-cn-shanghai.aliyuncs.com/static/fms/excel/财务列表FICC&权益.xlsx" download>
                     <el-button class="element-common-button" size="large">下载导入模版</el-button>
                   </a>
-                  <!-- <template #dropdown>
-                    <el-dropdown-menu>
-                      <a href="https://hzchart.oss-cn-shanghai.aliyuncs.com/static/fms/excel/财务列表FICC&权益.xlsx" download>
-                        <el-dropdown-item>FICC&权益</el-dropdown-item>
-                      </a>
-                      <a href="https://hzchart.oss-cn-shanghai.aliyuncs.com/static/fms/excel/财务列表FICC.xlsx" download>
-                        <el-dropdown-item>FICC</el-dropdown-item>
-                      </a>
-                      <a href="https://hzchart.oss-cn-shanghai.aliyuncs.com/static/fms/excel/财务列表权益.xlsx" download>
-                        <el-dropdown-item>权益</el-dropdown-item>
-                      </a>
-                    </el-dropdown-menu>
-                  </template>
-                </el-dropdown> -->
                 <el-upload
                   class="upload-demo"
                   accept=".xlsx"
@@ -295,16 +273,7 @@ const statusArray=[{id:1,label:"进行中"},{id:2,label:"已完成"}]
                   <el-button size="large" :loading="financial.importLoading"
                   class="element-common-button" style="margin: 0;" >导入</el-button>
                 </el-upload>
-                <!-- <el-dropdown trigger="click" popper-class="classifyFandQ" size="large"  @command="exportData"> -->
                   <el-button size="large" class="element-common-button" style="margin-right: 0;" @click="exportData({value:0,text:'FICC&权益'})">导出</el-button>
-                  <!-- <template #dropdown>
-                    <el-dropdown-menu>
-                      <el-dropdown-item :command="{value:0,text:'FICC&权益'}">FICC&权益</el-dropdown-item>
-                      <el-dropdown-item :command="{value:1,text:'FICC'}">FICC</el-dropdown-item>
-                      <el-dropdown-item :command="{value:2,text:'权益'}">权益</el-dropdown-item>
-                    </el-dropdown-menu>
-                  </template>
-                </el-dropdown> -->
               </div>              
           </div>
           <div class="financial-table-zone">

+ 2 - 12
src/views/financialManagement/invoice/invoiceList.vue

@@ -12,10 +12,10 @@ const sellerArray=ref([])
 const getSellerListFun=()=>{
   getSellerTeamList().then(res=>{
     sellerArray.value = res.data?.all_list || []
-    // console.log(res);
   })
 }
-// --------created
+
+// -----------------------------------------
 getSellerListFun()
 invoice.placementList()
 
@@ -76,16 +76,6 @@ invoice.placementList()
           <el-table-column label="开票日" align="center" prop="invoice_time" show-overflow-tooltip></el-table-column>
           <el-table-column label="销售" align="center" prop="seller_name" ></el-table-column>
           <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip></el-table-column>
-          <!-- <el-table-column label="操作" width="120" align="center">
-            <template #default="{row}">
-              <div class="table-options" style="justify-content: center;">
-                <span class="table-option-buttons" style="margin-right: 0;"
-                @click="invoice.placementDetail(row,'invoice')">
-                  详情
-                </span>
-              </div>
-            </template>
-          </el-table-column> -->
           <template #empty>
             <div class="table-no-data">
               <img src="@/assets/img/icon/empty-data.png" />

+ 1 - 13
src/views/financialManagement/placement/placementList.vue

@@ -9,15 +9,13 @@ const data = placement.data
 const sellerArray=ref([])
 
 
-// ---------------method
 
 const getSellerListFun=()=>{
   getSellerTeamList().then(res=>{
     sellerArray.value = res.data?.all_list || []
-    // console.log(res);
   })
 }
-// --------created
+// ------------------------------
 getSellerListFun()
 placement.placementList()
 
@@ -78,16 +76,6 @@ placement.placementList()
           <el-table-column label="到款日" align="center" prop="invoice_time" show-overflow-tooltip></el-table-column>
           <el-table-column label="销售" align="center" prop="seller_name" ></el-table-column>
           <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip></el-table-column>
-          <!-- <el-table-column label="操作" width="120" align="center">
-            <template #default="{row}">
-              <div class="table-options" style="justify-content: center;">
-                <span class="table-option-buttons" style="margin-right: 0;"
-                @click="placement.placementDetail(row,'placement')">
-                  详情
-                </span>
-              </div>
-            </template>
-          </el-table-column> -->
           <template #empty>
             <div class="table-no-data">
               <img src="@/assets/img/icon/empty-data.png" />

+ 0 - 383
src/views/financialManagement/placementPre.vue

@@ -1,383 +0,0 @@
-<!-- 1、到款预登记,之后的版本改为预登记 - registrationPre.vue
-      2、此文件仅作备份-->
-<script setup>
-import { Search } from '@element-plus/icons-vue'
-import {useRouter} from 'vue-router'
-import {getSellerList} from '@/api/crm'
-import {getCurrencyList} from '@/api/common'
-import {getPrePlacementList,prePlacementAdd,prePlacementEdit,prePlacementDelete} from '@/api/financialMana'
-
-
-const router = useRouter()
-
-  const placemenetPre=reactive({
-    searchParams:{
-      keyword:'',
-      start_date:'',
-      end_date:'',
-      sort_type:'',
-      page_size:10,
-      current:1,
-    },
-    // 创建时间数组
-    createtime:[],
-    tableData:[],
-    total:0,
-  })
-  // 销售列表
-  const sellerList = ref([])
-  // 货币列表
-  const currencyList=ref([])
-
-  // -----------------弹窗
-  const editPreForm=ref(null)
-
-  const dialog=reactive({
-    // 更改合同状态
-    editPreShow:false,
-    title:'',
-    editPreForm:{
-      company_name:'',
-      payment_date:'',
-      amount:'',
-      currency_unit:'CNY',
-      start_date:'',
-      end_date:'',
-      remark:''
-    },
-    rules:{
-      company_name:{required:true,message:'客户名称不能为空',trigger:'blur'},
-      payment_date:{required:true,message:'到款日不能为空',trigger:'blur'},
-      amount:[{required:true,message:'到款金额不能为空',trigger:'blur'},
-      {
-        validator:(rule,value,callback)=>{
-          if(!parseFloat(value)){
-            callback(new Error('到款金额格式错误'))
-          }else{
-            callback()
-          }
-        },
-        trigger:'blur'
-      }],
-      start_date:{required:true,message:'约定有效期不能为空',trigger:'change'}
-    },
-    validityDate:[]
-  })
-
-  // 监听
-  watch(()=>placemenetPre.createtime,(newVal)=>{
-    if(!newVal){
-      placemenetPre.searchParams.start_date=''
-      placemenetPre.searchParams.end_date=''
-    }else{
-      placemenetPre.searchParams.start_date = newVal[0]
-      placemenetPre.searchParams.end_date = newVal[1]
-    }
-    searchPlacementPre()
-  })
-
-  watch(()=>dialog.validityDate,(newVal)=>{
-    if(!newVal){
-      dialog.editPreForm.start_date=''
-      dialog.editPreForm.end_date=''
-    }else{
-      dialog.editPreForm.start_date = newVal[0]
-      dialog.editPreForm.end_date = newVal[1]
-    }
-  })
-
-//  --------------------------method
-
-  //获取销售列表
-  const getSellerListFun=()=>{
-    getSellerList().then(res=>{
-      sellerList.value=res.data || []
-    })
-  }
-
-  // 获取货币列表
-  const getCurrencyListFun=()=>{
-    getCurrencyList().then(res=>{
-      currencyList.value=res.data || []
-    })
-  }
-
-  // 预到款登记列表
-  const placementPreList=()=>{
-    getPrePlacementList(placemenetPre.searchParams).then(res=>{
-      placemenetPre.tableData=res.data.list || []
-      placemenetPre.total=res.data.page?.total || 0
-      // console.log(res);
-    })
-  }
-  // 切换每页的数量
-  const changePageSize=(pageSize)=>{
-    placemenetPre.searchParams.page_size = pageSize
-    placementPreList()
-  }
-  const changePageNo = (pageNo)=>{
-    placemenetPre.searchParams.current = pageNo
-    placementPreList()
-  }
-  const searchPlacementPre=()=>{
-    placemenetPre.searchParams.current = 1
-    placementPreList()
-  }
-
-  const sortChange=({order})=>{
-    console.log(order);
-    placemenetPre.searchParams.sort_type = order=='ascending'?1:order=='descending'?2:''
-    searchPlacementPre()
-  }
-
-  // 补录合同
-  const supplementaryContract=(row)=>{  
-    // console.log(id);
-    router.push({path:'/financial/list/contractProgress',query:{
-      supplementaryId:row.pre_pay_id,
-      company_name:row.company_name,
-      currency_unit:row.currency_unit,
-      placement_amount:row.origin_amount,
-      start_date:row.start_date,
-      end_date:row.end_date
-    }})
-  }
-
-  //新增预到款
-  const addPre=()=>{
-    dialog.title='新增到款预登记'
-    dialog.editPreShow=true
-  }
-  //编辑预到款
-  const editPre=(row)=>{
-    dialog.editPreForm.pre_pay_id = row.pre_pay_id
-    dialog.editPreForm.company_name=row.company_name
-    dialog.editPreForm.payment_date=row.payment_date
-    dialog.editPreForm.amount=row.origin_amount
-    dialog.editPreForm.currency_unit=row.currency_unit
-    dialog.editPreForm.remark=row.remark
-    dialog.validityDate=[row.start_date,row.end_date]
-    dialog.title='编辑到款预登记'
-    dialog.editPreShow=true
-  }
-
-  //弹窗关闭动画 回调
-  const dialogClosed=()=>{
-    dialog.editPreForm.pre_pay_id = ''
-    dialog.editPreForm.company_name=''
-    dialog.editPreForm.payment_date=''
-    dialog.editPreForm.amount=''
-    dialog.editPreForm.currency_unit='CNY'
-    dialog.editPreForm.remark=''
-    dialog.validityDate=[]
-    setTimeout(()=>{
-      editPreForm.value.clearValidate()
-    },0)
-  }
-
-  // 提交
-  const submitForm=()=>{
-    editPreForm.value.validate((valid)=>{
-      if(valid){
-        console.log(dialog.editPreForm);
-        dialog.editPreForm.amount = parseFloat(dialog.editPreForm.amount)
-        let prePlacementProp=prePlacementAdd
-        if(dialog.editPreForm.pre_pay_id){
-          // 编辑
-          prePlacementProp=prePlacementEdit
-        }
-        prePlacementProp(dialog.editPreForm).then(res=>{
-          dialog.editPreShow=false
-          ElMessage.success(`${dialog.title}成功`)
-          placementPreList()
-        })
-      }
-    })
-  }
-  // 删除
-  const delteRecord=(row)=>{
-    let hintText = '已补录合同,删除后不可恢复,是否确认删除该条到款预登记信息?'
-    if(row.contract_register_id== 0){
-      hintText='未补录合同,删除后不可恢复,是否确认删除该条到款预登记信息?'
-    }
-    ElMessageBox.confirm(hintText,'操作提示',    
-    {
-      confirmButtonText: '确定',
-      cancelButtonText: '取消',
-      type: 'warning',
-    }).then(res=>{
-      prePlacementDelete({pre_pay_id:row.pre_pay_id}).then(res=>{
-        ElMessage.success('删除成功')
-        placementPreList()
-      })
-    }).catch(()=>{})
-  }
-
-  //  ---------------------created
-  // getSellerListFun()
-  getCurrencyListFun()
-  placementPreList()
-</script>
-
-<template>
-  <div class="placemenetPre-list-container" id="placemenetPre-list-container" > 
-    <!-- 顶部区域 -->
-    <div class="placemenetPre-top-zone">
-      <div class="placemenetPre-top-search-zone">
-        <el-input v-model="placemenetPre.searchParams.keyword" placeholder="客户姓名" :prefix-icon="Search"
-        style="width: 340px;margin-right: 30px;" @input="searchPlacementPre" clearable />
-        <!-- <el-date-picker v-model="placemenetPre.createtime" start-placeholder="开始日期"
-        end-placeholder="结束日期" style="max-width: 240px;"
-        value-format="YYYY-MM-DD" type="daterange"></el-date-picker> -->
-      </div>
-      <!-- 按钮区域 -->
-      <div class="placemenetPre-top-option-zone" v-permission="'financial:placementPre:add'">
-        <el-button type="primary" size="large" style="color: white;"
-        @click="addPre" class="element-common-button">新增</el-button>         
-      </div>
-    </div>
-    <div class="placemenetPre-table-zone">
-      <!-- 表格 -->
-      <el-table :data="placemenetPre.tableData" border max-height="695px"
-      size="default" style="position: sticky;"> 
-        <el-table-column label="客户名称" prop="company_name"
-        show-overflow-tooltip min-width="120"></el-table-column>
-        <el-table-column label="到款日" prop="payment_date"
-        show-overflow-tooltip min-width="110"></el-table-column>
-        <el-table-column label="到款金额" prop="origin_amount" width="120"></el-table-column>
-        <el-table-column label="金额单位" prop="unit_name" width="90">
-        </el-table-column>
-        <el-table-column label="约定有效期" width="210" prop="start_date">
-          <template #default="{row}">
-            {{(row.start_date+' 至 '+row.end_date)}}
-          </template>
-        </el-table-column>
-        <el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column>
-        <!-- <el-table-column label="创建时间" prop="create_time" width="165" sortable="custom"></el-table-column> -->
-        <el-table-column label="创建人" width="90" prop="admin_name"></el-table-column>
-        <el-table-column label="操作" fixed="right" 
-        v-permission="['financial:placementPre:supplementary','financial:placementPre:edit','financial:placementPre:delete']">
-          <template #default="{row}">
-            <div class="table-options">
-              <span class="table-option-buttons" v-permission="'financial:placementPre:supplementary'"
-              @click="supplementaryContract(row)">
-                补录合同
-              </span>
-              <span class="table-option-buttons" v-permission="'financial:placementPre:edit'"
-              @click="editPre(row)">
-                编辑
-              </span>
-              <span class="table-option-buttons" v-permission="'financial:placementPre:delete'"
-              @click="delteRecord(row)" style="color:var(--dangerColor);">
-                删除
-              </span>
-            </div>
-          </template>
-        </el-table-column>
-        <template #empty>
-          <div class="table-no-data">
-            <img src="@/assets/img/icon/empty-data.png" />
-            <span>暂无数据</span>
-          </div>
-        </template>
-      </el-table>
-      <!-- 分页 -->
-      <m-page :pageSize="placemenetPre.searchParams.page_size" :page_no="placemenetPre.searchParams.current" 
-      style="display: flex;justify-content: flex-end;margin-top: 20px;" 
-      :total="placemenetPre.total" @handleCurrentChange="changePageNo" @handleSizeChange="changePageSize"/>
-    </div>
-    <!-- 新增/编辑弹窗 -->
-    <el-dialog v-model="dialog.editPreShow" :title="dialog.title" width="556px" @closed="dialogClosed"
-     :close-on-click-modal="false">
-      <!-- <template style="display: flex;justify-content: center;"> -->
-        <el-form :model="dialog.editPreForm" ref="editPreForm" label-width="130px"
-        :rules="dialog.rules" style="margin-top: 10px;">
-          <el-form-item label="客户名称" prop="company_name">
-            <el-input v-model="dialog.editPreForm.company_name"
-            placeholder="请输入客户名称" style="width:346px" />
-          </el-form-item>
-          <el-form-item label="到款日" prop="payment_date">
-            <el-date-picker v-model="dialog.editPreForm.payment_date" placeholder="请选择到款日" 
-            :clearable="false" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
-            ></el-date-picker>
-          </el-form-item>
-          <el-form-item label="到款金额" id="contractInfo-contractAmount"
-          prop="amount">
-            <el-input v-model.trim="dialog.editPreForm.amount"
-            placeholder="请输入到款金额" style="width: 206px;" />
-            <el-select v-model="dialog.editPreForm.currency_unit" placeholder="请选择货币类型" 
-            style="margin-left: 20px;width: 120px;">
-              <el-option v-for="item in currencyList" :key="item.code" :label="item.name" :value="item.code">
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="约定有效期" prop="start_date">
-            <el-date-picker type="daterange" 
-            v-model="dialog.validityDate" style="max-width: 346px;"
-            start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD"
-            :clearable="false">
-            </el-date-picker>
-          </el-form-item>
-          <el-form-item label="备注" prop="remark">
-            <el-input
-              v-model="dialog.editPreForm.remark"
-              style="width: 346px;"
-              :rows="3"
-              placeholder="请输入内容"
-              type="textarea"
-            />
-          </el-form-item>
-        </el-form>
-      <!-- </template> -->
-      <template #footer>
-        <div>
-          <el-button @click="dialog.editPreShow=false">取消</el-button>
-          <el-button type="primary" @click="submitForm" style="margin-left: 30px;">确定</el-button>
-        </div>
-      </template> 
-    </el-dialog>
-  </div>
-</template>
-  
-<style lang="scss" scoped>
-  .placemenetPre-list-container{
-    min-height: 100%;
-    .placemenetPre-top-zone{
-      display: flex;
-      flex-wrap: wrap;
-      align-items: flex-start;
-      justify-content: space-between;
-      margin-bottom: 20px;
-      .placemenetPre-top-search-zone{
-        display: flex;
-        align-items: center;
-        margin-bottom: 8px;
-      }
-      .placemenetPre-top-option-zone{
-        // margin-bottom: 8px;
-        .element-common-button{
-          width: 118px;
-          margin-left: 30px;
-          font-size: 14px;
-        }
-      }
-    }
-    .placemenetPre-table-zone{
-      margin-top: 20px;
-    }
-  }
-</style>
-<style lang="scss">
-  #placemenetPre-list-container{
-    .el-dialog__footer{
-      padding-top: 0!important;
-      padding: 0 0 36px 0;
-    }
-    .el-date-editor{
-      .el-input__wrapper{
-        width: 346px;
-      }
-    }
-  }
-
-</style>

+ 1 - 8
src/views/financialManagement/registrationPre.vue

@@ -16,7 +16,6 @@ const contractTypeArray=financialCommon().contractTypeArray
 const router = useRouter()
 const store = useStore()
 
-  // const adminId = localStorage.getItem('userInfo')?JSON.parse(localStorage.getItem('userInfo')).admin_id || 0:0
   const placemenetPre=reactive({
     searchParams:{
       keyword:'',
@@ -70,7 +69,6 @@ const store = useStore()
   // 监听
 
   watch(()=>dialog.validityDate,(newVal)=>{
-    // console.log(newVal);
     if(!newVal){
       dialog.registrationPreForm.start_date=''
       dialog.registrationPreForm.end_date=''
@@ -177,7 +175,6 @@ const servicesChange=(value,type)=>{
     serviceTypePre.value = returnItem.typeValue
     preDialog.preForm.services=preDialog.selectServices=returnItem.backValue
   }
-  // console.log(value,returnItem.backValue);
 }
 
 watch(serviceType,(newVal)=>{
@@ -391,7 +388,6 @@ const submitForm=()=>{
         item.service_product_id=item.service_product_id||0
       })
 
-      // console.log(params);
       if(params.contract_register_id){
         // 编辑
         preRegistrationEdit(params).then(res=>{
@@ -570,7 +566,6 @@ const submitPreForm=()=>{
       }else{
         params.product_ids="2"
       }
-      // console.log(params);
       preRegistrationSave(params).then(res=>{
         preDialog.show=false
         ElMessage.success(`${preDialog.title}成功`)
@@ -645,7 +640,6 @@ const searchPlacementPre=()=>{
 
 // 补录合同
 const supplementaryContract=(row)=>{  
-  // console.log(id);
   router.push({path:'/financial/list/contractProgress',query:{
     supplementaryId:row.contract_register_id,
     invoice_type:row.invoice_type
@@ -684,7 +678,7 @@ const delteRecord=(row)=>{
   }).catch(()=>{})
 }
 
-//  ---------------------created
+//  ----------------------------------------------------------
 getSellerListFun()
 getServicesListFun()
 getCurrencyListFun()
@@ -989,7 +983,6 @@ placementPreList()
     }
     .invoice-payment-row{
       padding: 20px 8px 0;
-      // background-color: #F5F7FA;
       margin-bottom: 20px;
       position: relative;
       &:last-child{

+ 1 - 2
src/views/financialStatistics/businessIncome.vue

@@ -18,7 +18,7 @@
     end_date:'',
     seller_ids:'',
     is_export:0,
-    // 不是后端所需要的值,在axios中用到的值,具体请看@/utils/request.js文件
+    // 不是后端所需要的值,用于axios的请求拦截器,具体请看@/utils/request.js文件
     takeLastRequestResult:true
   })
   // 加载状态
@@ -111,7 +111,6 @@
   const getList=()=>{
     loading.list=true
     getIncomeChartData(searchParams).then(res=>{
-      // console.log(res);
       let dates = res.data.Date || []
       chartOptions.value.series[0].data=dates.map((item,index)=> [item,res.data.TotalMoney[index]])
       chartOptions.value.series[1].data=dates.map((item,index)=> [item,res.data.Yoy[index]])

+ 7 - 108
src/views/financialStatistics/commodityPayment.vue

@@ -1,8 +1,7 @@
 <script setup>
 import { Search } from '@element-plus/icons-vue'
-// import dropdownText from '@/components/dropdown-text/index.vue'  
 import {getInvoicePaymentList,updatePayType,setServiceAmount} from '@/api/financialStatistics'
-import {getSellerGroupList,getSellerTeamList} from '@/api/crm'
+import {getSellerTeamList} from '@/api/crm'
 import {getSimpleServiceList} from '@/api/financialMana'
 import {downloadByFlow} from '@/utils/common-methods'
 import elementResizeDetectorMaker from 'element-resize-detector';
@@ -14,9 +13,6 @@ const moment = inject('$moment')
   const dateButtonData=[{text:'近1周',tabId:1,type:'week',diff:1},{text:'近1月',tabId:2,type:'month',diff:1},
   {text:'近2月',tabId:3,type:'month',diff:2},{text:'近3月',tabId:4,type:'month',diff:3}]
 
-  // const groupList=ref([])
-
-  // sell_group_id:'',
   const searchParams=reactive({
     current:1,
     page_size:10,
@@ -59,26 +55,12 @@ const moment = inject('$moment')
     placementAmountTotal:0,
     placementAmountList:[],
   })
-  // 开票金额是否收起
-  let invoiceIsFold=ref(true)
 
-  // 到款金额是否收起
-  let placementIsFold=ref(true)
   // 业务收入金额是否收起
   let isIncomeFold=ref(true)
 
-  // method
-
-  //获取销售组别
-  // const getSellerGroupListFun=()=>{
-  //   getSellerGroupList().then(res=>{
-  //     groupList.value=res.data || []
-  //   })
-  // }
   const commodityPList=()=>{
-    // console.log(searchParams);
     getInvoicePaymentList(searchParams).then(res=>{
-      // console.log(res);
       commodityPData.tableData=[]
       let tempData = res.data.list.data_list || []
       commodityPData.total = res.data.page.total
@@ -87,7 +69,6 @@ const moment = inject('$moment')
       commodityPData.invoiceAmountList = res.data.list.invoice_currency_total || []
       commodityPData.placementAmountTotal=res.data.list.payment_total
       commodityPData.placementAmountList = res.data.list.payment_currency_total || []
-      // console.log(tempData);
       tempData.map((item,index) =>{
         item.invoice_payment_list.map((it,ind) =>{
           commodityPData.tableData.push({
@@ -96,10 +77,7 @@ const moment = inject('$moment')
           })
         })
       })
-      // if(!(res.data.list.invoice_currency_total||res.data.list.payment_currency_total)){
-        foldOrUnfold(true)
-      // }
-      // console.log(commodityPData.tableData);
+      foldOrUnfold(true)
     })
   }
 
@@ -157,13 +135,6 @@ const moment = inject('$moment')
       return 
     }
     isIncomeFold.value = flag||flag+''=="false"?flag:!isIncomeFold.value
-    // type: 0-开票  1-到款
-    // if(type){
-    //   placementIsFold.value = !placementIsFold.value
-    // }else{
-    //   invoiceIsFold.value = !invoiceIsFold.value
-    // }
-    // console.log(type,invoiceIsFold.value);
   }
   // --------------------------销售选择
 
@@ -177,7 +148,6 @@ const moment = inject('$moment')
   const getSellerListFun=()=>{
     getSellerTeamList().then(res=>{
       sellerArray.value = res.data?.all_list || []
-      // console.log(res);
     })
   }
 
@@ -254,7 +224,6 @@ const moment = inject('$moment')
   }
 
   const serviceAmountChange=(item)=>{
-    // console.log(item);
     if(!item.amount.trim()){
       item.amount=0
       return 
@@ -267,7 +236,6 @@ const moment = inject('$moment')
   }
 
   const setServiceInfoSubmit=()=>{
-    // console.log(setServiceInfoDia.dataForm);
     let totalAmout=0
     setServiceInfoDia.dataForm.list.map(item =>{
       totalAmout= Math.round(item.amount*100 + totalAmout*100)/100
@@ -306,8 +274,6 @@ const moment = inject('$moment')
     erd.uninstall(operationZone.value)
     erd.uninstall(amountItemBody.value)
   })
-  // created
-  // getSellerGroupListFun()
   getServiceListFun()
   commodityPList()
   getSellerListFun()
@@ -320,10 +286,6 @@ const moment = inject('$moment')
       <div class="search-zone">
         <el-input v-model="searchParams.keyword" placeholder="请输入客户名称" clearable class="search-item"
         @input="searchCommodityP" :prefix-icon="Search" style="width: 232px;" ></el-input>
-        <!-- <el-select v-model="searchParams.sell_group_id" placeholder="请选择销售组别" clearable style="width: 240px;margin: 0 30px 10px 0;"
-        @change="searchCommodityP">
-          <el-option :label="item.group_name" :value="item.group_id" v-for="item in groupList"></el-option>
-        </el-select> -->
         <el-cascader :options="sellerArray"  filterable style="width: 232px;margin: 0 0 8px 30px;"
           @change="sellerChange" placeholder="请选择销售" clearable collapse-tags :show-all-levels="false"
           :props="{multiple:true,label:'seller_name',value:'seller_id',children:'child',emitPath:false}" key="seller" >
@@ -333,17 +295,13 @@ const moment = inject('$moment')
           :props="{multiple:true,label:'title',value:'service_template_id',children:'children',emitPath:false}"
           collapse-tags-tooltip key="serivce" >
         </el-cascader>
-        <!-- <el-select v-model="searchParams.service_type" placeholder="请选择套餐信息" clearable style="width: 232px;margin: 0 30px 10px 0;"
-        @change="searchCommodityP">
-          <el-option :label="item.title" :value="item.service_template_id" v-for="item in serviceList"></el-option>
-        </el-select> -->
         <div class="date-box">
           <el-date-picker v-model="searchDate" type="daterange" @change="currentDateTab=0" style="max-width: 232px;margin-right: 30px;"
             value-format="YYYY-MM-DD" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
           <div class="composition-button-tabs">
             <el-button size="large" v-for="(item,index) in dateButtonData" :key="item.tabId"
             class="date-button" 
-            :class="[index==0?'first-button':index==(dateButtonData.length-1)?'last-button':'inner-button',currentDateTab==item.tabId?'selectTab':'']" 
+            :class="[index==0?'first-button':index==(dateButtonData.length-1)?'last-button':'',currentDateTab==item.tabId?'selectTab':'']" 
             @click="changeDateType(item)">{{ item.text }}</el-button>
           </div>
           <el-select v-model="searchParams.time_type" placeholder="请选择日期类型" @change="searchCommodityP"
@@ -522,19 +480,6 @@ const moment = inject('$moment')
             </template>
           </el-table-column>
         </el-table>
-        <!-- <div class="serviceInf-table" :style="{'height':Math.ceil(setServiceInfoDia.dataForm.list.length/2)*50+'px'}">
-          <div class="serviceInf-table-item" v-for="item in setServiceInfoDia.dataForm.list" :key="item.serviceId">
-            <div class="serviceInfo-label">{{ item.service_template_name }}</div>
-            <div class=" serviceInfo-label serviceInfo-input" id="serviceInfo-input">
-              <el-input v-model="item.amount" placeholder="请输入金额" style="width: 124px;height: 28px;" @input="serviceAmountChange(item)"></el-input>
-            </div>
-          </div>
-          <div class="serviceInf-table-item" v-show="setServiceInfoDia.dataForm.list.length%2!=0">
-            <div class="serviceInfo-label"></div>
-            <div class=" serviceInfo-label serviceInfo-input" id="serviceInfo-input">
-            </div>
-          </div>
-        </div> -->
         <template #footer>
           <div style="padding: 10px 0;">
             <el-button @click="setServiceInfoDia.diaShow = false">取消</el-button>
@@ -571,24 +516,18 @@ const moment = inject('$moment')
           .date-button{
             height: 40px;
             color: $hitTextColorTwo;
-            // border: 1px solid $auxiliaryColor;
             margin: 0;
             width: 58px;
-          }
-          .first-button{
             border-color: $auxiliaryColor;
             border-style: solid;
             border-width: 1px 0 1px 1px;
-            border-radius: 4px 0 0 4px;
-          }
-          .inner-button{
-            border: 1px solid $auxiliaryColor;
             border-radius: 0;
           }
+          .first-button{
+            border-radius: 4px 0 0 4px;
+          }
           .last-button{
-            border-color: $auxiliaryColor;
-            border-style: solid;
-            border-width: 1px 1px 1px 0;
+            border-width: 1px;
             border-radius:0 4px 4px 0 ;
           }
           .selectTab{
@@ -607,19 +546,14 @@ const moment = inject('$moment')
         display: flex;
         align-items: flex-start;
         flex-wrap: wrap;
-        // justify-content: space-between;        
-        // padding-left: 20px;
         .amount-show-item{
           margin-bottom: 10px;
           background: #FFFFFF;
           border: 1px solid #DCDFE6;
           box-shadow: 0px 4px 12px rgba(153, 153, 153, 0.08);
           border-radius: 8px;
-          // height: 132px;
-          // width: 725px;
           margin-right: 30px;
           box-sizing: border-box;
-          // padding-bottom: 16px;
           .amount-item-head{
             padding: 20px 0;
             margin: 0 20px;
@@ -707,34 +641,6 @@ const moment = inject('$moment')
         }
       }
     }
-    // .serviceInf-table{
-    //   margin: 0 auto;
-    //   width: 644px;
-    //   // height: 200px;
-    //   display: flex;
-    //   flex-direction: column;
-    //   flex-wrap: wrap;
-    //   border-top: solid 1px $auxiliaryColor ;
-    //   border-left: solid 1px $auxiliaryColor ;
-    //   .serviceInf-table-item{
-    //     display: flex;
-    //     align-items: center;
-    //     .serviceInfo-label{
-    //       width: 140px;
-    //       height: 50px;
-    //       border-right: solid 1px $auxiliaryColor ;
-    //       border-bottom: solid 1px $auxiliaryColor ;
-    //       box-sizing: border-box;
-    //       padding: 10px;
-    //       display: flex;
-    //       align-items: center;
-    //       justify-content: center;
-    //     }
-    //     .serviceInfo-input{
-    //       width: 182px;
-    //     }
-    //   }
-    // }
   }
 </style>
 <style lang="scss">
@@ -746,11 +652,4 @@ const moment = inject('$moment')
   }
 }
 
-// .dropdown-text{
-//   &:hover{
-//     background-color: #c4b565;
-//     border-color: #c4b565;
-//   }
-// }
-
 </style>

+ 1 - 8
src/views/financialStatistics/salesStatistics.vue

@@ -65,19 +65,16 @@
   }
   // 获取列表
   const statisticsList=()=>{
-    // console.log(searchParams);
     if(tabType.value==1){
       // 销售组排名
       getSellerGroupStatisticsList(searchParams).then(res=>{
         statisticsData.tableData = res.data.list || []
         statisticsData.total = res.data.page.total || 0
-        // console.log(res);
       })
     }else if(tabType.value==2){
 
       // 销售排名
       getSellerStatisticsList(searchParams).then(res=>{
-        // console.log(res);
         statisticsData.tableData = res.data.list || []
         statisticsData.total = res.data.page.total || 0
       })
@@ -116,7 +113,6 @@
   }
   // 列表排序发生改变
   const sortChange=({order,prop})=>{
-    // console.log(order,prop);
     searchParams.sort_field=sortFiledMap.get(prop)
     searchParams.sort_type=order == 'ascending'?1:2
     statisticsList()
@@ -135,9 +131,8 @@
 
   }
 
-  // created
+  // ------------------------------------------------
   statisticsList()
-  // getSellerGroup()
 </script>
 
 <template>
@@ -177,7 +172,6 @@
           </el-table-column>
           <el-table-column label="销售员" prop="seller_name" align="center" v-if="tabType==2"></el-table-column>
           <el-table-column label="销售组别" prop="group_name" align="center"></el-table-column>
-          <!-- <el-table-column label="开票金额" prop="invoice_amount" align="center" sortable="custom" ></el-table-column> -->
           <el-table-column label="收入金额(元)" prop="invoice_amount" align="center" sortable="custom" >
             <template #header>
               <el-tooltip content="收入金额为开票金额换算后的人民币金额" placement="top">
@@ -230,7 +224,6 @@
     }
     .statistics-top-zone{
       display: flex;
-      // align-items: center;
       justify-content: space-between;
       margin-bottom: 20px;
       .statistics-search-zone{

+ 1 - 3
src/views/financialStatistics/waitInvoice.vue

@@ -42,7 +42,6 @@
   }
 
   const sortChange=({prop,order})=>{
-    // console.log({prop,order});
     searchParams.sort_param = order?prop:''
     searchParams.sort_type=order=='descending'?'desc':order=='ascending'?'asc':''
     getList()
@@ -50,7 +49,6 @@
 
   const getList=()=>{
     getWaitInvoiceList(searchParams).then(res=>{
-      // console.log(res);
       tableData.total = res.data.page?.total || 0
       let dataTemp=res.data?.list?.data_list||[]
       tableData.rowMergeArray=[]
@@ -114,7 +112,7 @@
     })
   }
 
-// --------------------------------created
+// --------------------------------
   getSellerListFun()
   getList()
 </script>

+ 1 - 4
src/views/financialStatistics/waitPayment.vue

@@ -40,15 +40,12 @@ const searchList = () => {
 }
 
 const sortChange = ({ prop, order }) => {
-    // console.log({prop,order});
-    // searchParams.sort_param = order ? prop : ''
     searchParams.sort_type = order == 'descending' ? 'desc' : order == 'ascending' ? 'asc' : ''
     getList()
 }
 
 const getList = () => {
     getWaitPaymentList(searchParams).then(res=>{
-      // console.log(res);
       tableData.total = res.data.page?.total || 0
       let dataTemp=res.data?.list?.data_list||[]
       tableData.list=[]
@@ -78,7 +75,7 @@ const watiPlacementExport = () => {
     })
 }
 
-// --------------------------------created
+// --------------------------------
 getSellerListFun()
 getList()
 </script>

+ 1 - 4
src/views/systemManagement/departmentM.vue

@@ -22,7 +22,6 @@ import {getDepartmentList,addDepartment,editDepartment,deleteDepartment} from '@
     tableData:[]
   })
   const addDepartmentForm = ref()
-//  --------------------------method
   // 获取部门列表
   const departmentList=()=>{
     getDepartmentList(department.searchParams).then(res=>{
@@ -75,7 +74,6 @@ import {getDepartmentList,addDepartment,editDepartment,deleteDepartment} from '@
     addDepartmentForm.value.validate((vaild)=>{
       if(vaild){
         // 联级选择器选中的为一个 选中值的数组
-        // console.log(department.addForm);
         if(Array.isArray(department.addForm.parent_id)){
           department.addForm.parent_id=department.addForm.parent_id[(department.addForm.parent_id.length-1)]
         }
@@ -102,7 +100,6 @@ import {getDepartmentList,addDepartment,editDepartment,deleteDepartment} from '@
     })
   }
   const deleteDept=(row)=>{
-    // console.log(row);
     ElMessageBox.confirm("删除后不可恢复,确认删除该部门及子部门吗?",'提示',    
     {
       confirmButtonText: '确定',
@@ -132,7 +129,7 @@ import {getDepartmentList,addDepartment,editDepartment,deleteDepartment} from '@
       addDepartmentForm.value.clearValidate()
     },0)
   }
-  //  ---------------------created
+  //  -------------------------------------------
   departmentList()
   const action = sessionStorage.getItem('deptOpenDialog')
   if(action){

+ 1 - 10
src/views/systemManagement/menuM.vue

@@ -9,7 +9,6 @@ import ids from 'virtual:svg-icons-names'
 
 // 拿出其中menu文件夹的图标
 const menuIcons = Array.isArray(ids)?ids.filter(item => item.split('-')[1]=='menu'):[]
-// console.log(menuIcons,'menuIcons');
 
 // 所有图标
 const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
@@ -45,7 +44,6 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
   const addmenuForm = ref()
   const menuStatus=['显示','隐藏']
 
-//  --------------------------method
   // 获取资源列表
   const menuList=()=>{
     getMenuList(menu.searchParams).then(res=>{
@@ -60,7 +58,6 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
     getMenuList({hide_level3:1,page_size:1000,current:1,hide_button:1}).then(res=>{
       if(res.code == 200){
         menu.onlyMenuList = res.data.list || []
-        // console.log(menu.onlyMenuList);
       }
     })
   }
@@ -110,7 +107,6 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
 
   // 选择图标
   const selectIcon=(e)=>{
-    // console.log(e);
     if(e.target.dataset.set){
       menu.addForm.icon_path = e.target.dataset.set
       menu.showIconSelect=false
@@ -145,14 +141,12 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
         if(Array.isArray(menu.addForm.parent_id)){
           menu.addForm.parent_id=menu.addForm.parent_id[(menu.addForm.parent_id.length-1)]
         }
-        // console.log(menu.addForm);
         if(menu.addForm.menu_id){
           // 编辑
           editMenu(menu.addForm).then(res=>{
             if(res.code==200){
               ElMessage.success(`${menu.dialogTitle}成功`)
               menu.showDialog=false
-              // refreshList()
               location.reload()
             }
           })
@@ -170,7 +164,6 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
     })
   }
   const removeMenu=(row)=>{
-    // console.log(row);
     ElMessageBox.confirm("删除后不可恢复,确认删除该菜单及子菜单吗?",'提示',    
     {
       confirmButtonText: '确定',
@@ -208,7 +201,7 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
       addmenuForm.value.clearValidate()
     },0)
   }
-  // -------------------------created
+  // -------------------------
   menuList()
   // 只有前两级菜单且不包括按钮
   menuListOnly()
@@ -418,8 +411,6 @@ const IconsAll=Object.keys(ElementPlusIconsVue).map(key=> key)
     #add-form{
       .el-popover.el-popper{
         width: 720px!important;
-        // max-height: 360px;
-        // overflow-y: auto;
       }
       .el-tabs__content{
         max-height: 320px;

+ 2 - 2
src/views/systemManagement/roleM.vue

@@ -24,7 +24,7 @@ const route = useRoute()
   })
   const addRoleForm = ref()
   const showRouterView = ref(false)
-//  --------------------------method
+
   // 获取角色列表
   const roleList=()=>{
     getRoleList(role.searchParams).then(res=>{
@@ -114,7 +114,7 @@ const route = useRoute()
     },0)
   }
 
-  //  ---------------------created
+  //  ----------------------------------
   roleList()
 </script>
 

+ 2 - 42
src/views/systemManagement/rolePermission.vue

@@ -17,7 +17,6 @@ const router = useRouter()
   let rowNumArray=[]
   let position = 0
 
-//  --------------------method
   const rolePermissionBind=async ()=>{
     await getRole()
     permissionBind()
@@ -176,7 +175,6 @@ const router = useRouter()
           item.levelThree.map(it=>{
             rolePermisson.checkList.push(it.menu_id)
           })
-          // checklevelTwo(value,item.levelTwo,item.levelOne.menu_id)
         }
       })
       // 去重
@@ -251,40 +249,8 @@ const router = useRouter()
         }
         account++
       }
-
-      // 下面的做了三级复选框的联动
-      // if(item.levelOne.menu_id == levelOneId){
-      //   // 没有三级选项
-      //   if(item.levelThree.length==0){
-      //     account++
-      //     if(rolePermisson.checkList.includes(item.levelTwo.menu_id)){
-      //       num = num+2
-      //     }
-      //     return 
-      //   }
-
-      //   let splicIndex=rolePermisson.checkList.findIndex(elment => elment==item.levelTwo.menu_id)
-      //   if(item.levelThree.every(itt => !rolePermisson.checkList.includes(itt.menu_id))){
-      //     //一个都没有
-      //     if(splicIndex!=-1) rolePermisson.checkList.splice(splicIndex,1)
-      //     item.levelTwo.checkAll=false
-      //     item.levelTwo.indeterminate=false
-      //   }else if(item.levelThree.every(itt => rolePermisson.checkList.includes(itt.menu_id))){
-      //     num = num+2
-      //     item.levelTwo.checkAll=true
-      //     item.levelTwo.indeterminate=false
-      //     if(splicIndex==-1) rolePermisson.checkList.push(item.levelTwo.menu_id)
-      //   }else{
-      //     // 有一部分
-      //     item.levelTwo.checkAll=true
-      //     // item.levelTwo.checkAll=false
-      //     // item.levelTwo.indeterminate=true
-      //     num = num+1
-      //   }
-        
-      // }
     })
-    // console.log(num,account);
+
     rolePermisson.permissionData.forEach(item =>{
       if(item.levelOne.menu_id == levelOneId){
         let splicIndex=rolePermisson.checkList.findIndex(elment => elment==levelOneId)
@@ -306,7 +272,6 @@ const router = useRouter()
         }
       }
     })
-    // rolePermisson.checkList = [...new Set(rolePermisson.checkList)]
   }
 
   // 设置权限
@@ -315,14 +280,11 @@ const router = useRouter()
       role_id: rolePermisson.currentRole.role_id,
       menu_id_list:rolePermisson.checkList}).then(res=>{
       ElMessage.success('设置成功,对应角色的用户需要刷新页面获取最新权限')
-      // setTimeout(()=>{
-      //   router.back()
-      // },1200)
     })
   }
 
   
-  // --------created
+  // ----------------------------------------------
   // view 查看 set设置
   let permission = route.query.perssiomType || 'view'
   rolePermisson.currentRole.role_id = parseInt(route.query.role_id) || ''
@@ -368,7 +330,6 @@ const router = useRouter()
             <el-table-column prop="levelThree">
               <template #default="scope">
                  <el-checkbox-group v-model="rolePermisson.checkList">
-                  <!-- @change="checkALLandInter(scope.row.levelOne.menu_id)" -->
                    <el-checkbox :label="item.menu_id" 
                    v-for="item in scope.row.levelThree" :disabled="permission=='view'">
                     <span>
@@ -399,7 +360,6 @@ const router = useRouter()
       border-radius: 8px;
       p{
         font-size: 14px;
-        // font-family: PingFang SC-Medium, PingFang SC;
         font-weight: bold;
         color: #333333;
       }

+ 1 - 6
src/views/systemManagement/userM.vue

@@ -71,7 +71,7 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
     },
     showResetDia:false,
   })
-//  ------------------------------------method
+
   // 获取用户列表
   const userList=()=>{
     getuserList(user.searchParams).then(res=>{
@@ -129,7 +129,6 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
   }
   //点击部门树,筛选用户
   const userSearchByDept=(item)=>{
-    // console.log(item);
     user.searchParams.dept_id=item.dept_id
     userSearch()
   }
@@ -143,7 +142,6 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
   // 编辑用户
   const editUser=(row)=>{
     user.dialogTitle='编辑用户'
-    // console.log(row);
     user.submitForm.admin_id=row.admin_id
     user.submitForm.admin_name=row.admin_name
     user.submitForm.real_name=row.real_name
@@ -163,7 +161,6 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
       if(res.code==200){
         row.enabled=changeStatus
         ElMessage.success(`${row.enabled==1?'启用':'禁用'}成功`)
-        // refreshList()
       }
     })
   }
@@ -226,7 +223,6 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
             ElMessage.warning('新密码两次输入不一致,请核对!')
             return
           }
-          // console.log(user.resetPsdForm);
           let newPassword = md5(user.resetPsdForm.pwd)
           let params={
             admin_id:user.resetPsdForm.admin_id,
@@ -478,7 +474,6 @@ const userStatus=[{value:1,label:'启用'},{value:0,label:'禁用'}]
       border-radius: 8px;
       box-sizing: border-box;
       .department-container{
-        // margin-top: 28px;
         .department-title{
           margin-bottom: 16px;
           display: flex;

+ 2 - 24
vite.config.js

@@ -6,15 +6,9 @@ import Components from 'unplugin-vue-components/vite'
 import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
 import ElementPlus from "unplugin-element-plus/vite"
 import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'
-// import vitePluginImagemin from 'vite-plugin-imagemin'
-
-// Element-plus 图标按需引入和自动引入
-// import Icons from "unplugin-icons/vite"
-// import IconsResolver from "unplugin-icons/resolver"
 
 const pathSrc = path.resolve(__dirname, 'src')
 
-// https://vitejs.dev/config/
 export default defineConfig({
   plugins: [
     vue(),
@@ -22,38 +16,22 @@ export default defineConfig({
     AutoImport({
       imports:['vue'],
       resolvers: [
-        ElementPlusResolver(),
-        // IconsResolver({
-        //   prefix: "Icon",
-        // }),
+        ElementPlusResolver()
       ],
       dts: path.resolve(pathSrc, "auto-imports.d.ts")
     }),
     // Element-plus 按需引入
     Components({
       resolvers: [
-        ElementPlusResolver(),
-        // IconsResolver({
-        //   enabledCollections: ["ep"],
-        // })
+        ElementPlusResolver()
       ],
       dts: path.resolve(pathSrc, "components.d.ts"),
     }),
-    // Icons({
-    //   autoInstall: true,
-    // }),
     // 样式问题
     ElementPlus({
       importStyle: "sass",
       useSource: true
     }),
-    // //图片压缩
-    // vitePluginImagemin({
-    //   gifsicle: {
-    //     optimizationLevel: 7,
-    //     interlaced: false
-    //   }
-    // }),
     createSvgIconsPlugin({
       // 指定需要缓存的图标文件夹
       iconDirs: [path.resolve(process.cwd(), 'src/assets/svg-icons')],