Parcourir la source

项目成本详情+推送设置

yuhan il y a 1 an
Parent
commit
e3ff1e3cca

+ 12 - 0
src/api/kzksApi.js

@@ -9,9 +9,21 @@ import { getAction, deleteAction, putAction, postAction, httpAction } from '@/ap
 const columnsSelect = (params)=>getAction("/customColumns/customColumns/select", params);
 const columnsEdit = (params)=>postAction("/customColumns/customColumns/update", params);
 
+// 项目成本成本汇集
+const projectCostHuiji = (params)=>getAction("/projectCostHuiji/projectCostHuiji/list", params);
+
+// 项目成本成本详情-合同额
+const proCostContractdetail = (params)=>getAction("/xmcbDetail/comContractInfoExchange/getCrmHteDetail", params);
+// 项目成本成本详情-已收款
+const proCostYSKdetail = (params)=>getAction("/xmcbDetail/comContractInfoExchange/getCrmYskDetail", params);
+
+
 export {
   columnsSelect,
   columnsEdit,
+  projectCostHuiji,
+  proCostContractdetail,
+  proCostYSKdetail,
 }
 
 

+ 135 - 118
src/views/module_kzks/projectCostList/ProjectCostList.vue

@@ -21,91 +21,61 @@
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="计划完成时间">
-                <j-date placeholder="请选择计划完成时间" v-model="queryParam.jhwcsj"></j-date>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="阶段">
                 <a-input placeholder="请输入阶段" v-model="queryParam.yzjdname"></a-input>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="项目进度">
-                <a-input placeholder="请输入项目进度" v-model="queryParam.processpercent"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="成本进度">
-                <a-input placeholder="请输入成本进度" v-model="queryParam.costPercent"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="研制数量">
-                <a-input placeholder="请输入研制数量" v-model="queryParam.yzsl"></a-input>
+            <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="计划完成时间">
+                <j-date placeholder="请选择计划完成时间" v-model="queryParam.jhwcsj"></j-date>
               </a-form-item>
-            </a-col>
+            </a-col> -->
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="单台收入">
-                <a-input placeholder="请输入单台收入" v-model="queryParam.oneIncome"></a-input>
+              <a-form-item label="任务类型">
+                <a-input placeholder="请输入任务类型" v-model="queryParam.tasktype"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="单台成本">
-                <a-input placeholder="请输入单台成本" v-model="queryParam.oneCost"></a-input>
+              <a-form-item label="审计审价">
+                <a-input placeholder="请输入审计审价" v-model="queryParam.auditprice"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="单台利润">
-                <a-input placeholder="请输入单台利润" v-model="queryParam.oneProfit"></a-input>
+              <a-form-item label="任务状态">
+                <a-input placeholder="请输入任务状态" v-model="queryParam.iflag"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="利润额">
-                <a-input placeholder="请输入利润额" v-model="queryParam.lre"></a-input>
+              <a-form-item label="项目进度">
+                <a-input placeholder="请输入项目进度" v-model="queryParam.processpercent"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="利润率">
-                <a-input placeholder="请输入利润率" v-model="queryParam.lrl"></a-input>
+              <a-form-item label="成本进度">
+                <a-input placeholder="请输入成本进度" v-model="queryParam.costPercent"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="预估价">
-                <a-input placeholder="请输入预估价" v-model="queryParam.estimationcoat"></a-input>
+              <a-form-item label="业务员">
+                <a-input placeholder="请输入业务员" v-model="queryParam.businessman"></a-input>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="下达部门id">
                 <a-input placeholder="请输入下达部门id" v-model="queryParam.jycsid"></a-input>
               </a-form-item>
-            </a-col>
+            </a-col> -->
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="下达部门">
                 <a-input placeholder="请输入下达部门" v-model="queryParam.jycs"></a-input>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="任务类型">
-                <a-input placeholder="请输入任务类型" v-model="queryParam.tasktype"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="审计审价">
-                <a-input placeholder="请输入审计审价" v-model="queryParam.auditprice"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="任务状态">
-                <a-input placeholder="请输入任务状态" v-model="queryParam.iflag"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="批产任务号">
                 <a-input placeholder="请输入批产任务号" v-model="queryParam.pccode"></a-input>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">
               <a-form-item label="备产任务号">
                 <a-input placeholder="请输入备产任务号" v-model="queryParam.bccode"></a-input>
               </a-form-item>
@@ -114,12 +84,7 @@
               <a-form-item label="备料任务号">
                 <a-input placeholder="请输入备料任务号" v-model="queryParam.blcode"></a-input>
               </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="业务员">
-                <a-input placeholder="请输入业务员" v-model="queryParam.businessman"></a-input>
-              </a-form-item>
-            </a-col>
+            </a-col> -->
           </template>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
@@ -160,7 +125,7 @@
         <a style="margin-left: 24px" @click="onClearSelected">清空</a>
 
         <span style="float:right;">
-          <a @click="loadData()"><a-icon type="sync" />刷新</a>
+          <a @click="getProCostHuiji()"><a-icon type="sync" />刷新</a>
           <a-divider type="vertical" />
           <a-popover title="自定义列" trigger="click" placement="leftBottom">
             <template slot="content">
@@ -189,8 +154,9 @@
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         class="j-table-force-nowrap"
+        defaultExpandAllRows
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange">
 
         <template slot="htmlSlot" slot-scope="text">
@@ -252,23 +218,26 @@
     </div>
 
     <project-cost-modal ref="modalForm" @ok="modalFormOk"></project-cost-modal>
+    
+    <project-detail-modal ref="proCostDetail"></project-detail-modal>
   </a-card>
 </template>
 
 <script>
   import Vue from 'vue'
-  import { columnsSelect, columnsEdit } from '@/api/kzksApi.js'
+  import { columnsSelect, columnsEdit, projectCostHuiji, proCostYSKdetail, proCostContractdetail } from '@/api/kzksApi.js'
 
   import '@/assets/less/TableExpand.less'
   import { mixinDevice } from '@/utils/mixin'
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import ProjectCostModal from './modules/ProjectCostModal'
+  import ProjectDetailModal from './modules/ProjectDetailModal'
 
   export default {
     name: 'ProjectCostList',
     mixins:[JeecgListMixin, mixinDevice],
     components: {
-      ProjectCostModal
+      ProjectCostModal, ProjectDetailModal
     },
     data () {
       return {
@@ -279,24 +248,26 @@
         settingColumns:[],
         //列定义:所有列
         defColumns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
+          // {
+          //   title: '#',
+          //   dataIndex: '',
+          //   key:'rowIndex',
+          //   width:60,
+          //   align:"center",
+          //   customRender:function (t,r,index) {
+          //     return parseInt(index)+1;
+          //   }
+          // },
           {
             title:'任务号',
             align:"center",
+            fixed:"left",
             dataIndex: 'taskno'
           },
           {
             title:'任务名称',
             align:"center",
+            fixed:"left",
             dataIndex: 'taskname'
           },
           {
@@ -365,12 +336,14 @@
           {
             title:'合同额',
             align:"center",
-            dataIndex: 'contractfpe'
+            dataIndex: 'contractfpe',
+            customCell: this.getDetailContract,
           },
           {
             title:'已收款',
             align:"center",
-            dataIndex: 'taskmoney'
+            dataIndex: 'taskmoney',
+            customCell: this.getDetailYSK,
           },
           {
             title:'总成本',
@@ -437,21 +410,21 @@
             align:"center",
             dataIndex: 'zrbm'
           },
-          {
-            title:'下达部门id',
-            align:"center",
-            dataIndex: 'jycsid'
-          },
+          // {
+          //   title:'下达部门id',
+          //   align:"center",
+          //   dataIndex: 'jycsid'
+          // },
           {
             title:'下达部门',
             align:"center",
             dataIndex: 'jycs'
           },
-          {
-            title:'1:横向 2:纵向',
-            align:"center",
-            dataIndex: 'hxzxid'
-          },
+          // {
+          //   title:'1:横向 2:纵向',
+          //   align:"center",
+          //   dataIndex: 'hxzxid'
+          // },
           {
             title:'横向纵向',
             align:"center",
@@ -540,6 +513,7 @@
     },
     created() {
       this.initColumns();
+      this.getProCostHuiji();
       this.getSuperFieldList();
     },
     computed: {
@@ -548,52 +522,60 @@
       },
     },
     methods: {
+      getProCostHuiji(){
+        projectCostHuiji().then(res => {
+          if (res.success) {
+            console.log(res)
+            this.dataSource = res.result.records
+          }
+        })
+      },
       initDictConfig(){
       },
       getSuperFieldList(){
         let fieldList=[];
-        fieldList.push({type:'string',value:'taskno',text:'任务号/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'taskname',text:'任务名称/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'xhname',text:'型号/来自科研报工',dictCode:''})
-        fieldList.push({type:'date',value:'jhwcsj',text:'计划完成时间(进度要求)来自科研任务'})
-        fieldList.push({type:'string',value:'yzjdname',text:'阶段/来自科研报工',dictCode:''})
-        fieldList.push({type:'string',value:'processpercent',text:'项目进度/来自科研任务',dictCode:''})
+        fieldList.push({type:'string',value:'taskno',text:'任务号',dictCode:''})
+        fieldList.push({type:'string',value:'taskname',text:'任务名称',dictCode:''})
+        fieldList.push({type:'string',value:'xhname',text:'型号',dictCode:''})
+        fieldList.push({type:'date',value:'jhwcsj',text:'计划完成时间'})
+        fieldList.push({type:'string',value:'yzjdname',text:'阶段',dictCode:''})
+        fieldList.push({type:'string',value:'processpercent',text:'项目进度',dictCode:''})
         fieldList.push({type:'string',value:'costPercent',text:'成本进度',dictCode:''})
-        fieldList.push({type:'int',value:'yzsl',text:'研制数量/来自科研任务',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'oneIncome',text:'单台收入/(合同额or预估价)/研制数量',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'oneCost',text:'单台成本/  总成本额/研制数量',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'oneProfit',text:'单台利润/  利润额/研制数量',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'lre',text:'利润额/(合同额or预估价)-总成本额',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'lrl',text:'利润率/ 利润额/(合同额or预估价)*100%',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'estimationcoat',text:'预估价/来自财务预算',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'contractfpe',text:'合同额/来自收款合同的合同分配额 ',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'taskmoney',text:'已收款/ 来自合同收款详细的任务收款额',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'zcb',text:'总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'clf',text:'材料费/物资出库单明细 实发主数量*采购单价',dictCode:''})
+        fieldList.push({type:'int',value:'yzsl',text:'研制数量',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'oneIncome',text:'单台收入',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'oneCost',text:'单台成本',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'oneProfit',text:'单台利润',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'lre',text:'利润额',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'lrl',text:'利润率',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'estimationcoat',text:'预估价',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'contractfpe',text:'合同额',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'taskmoney',text:'已收款',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'zcb',text:'总成本',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'clf',text:'材料费',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'zyf',text:'专用费',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'swf',text:'事务费',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'wxf',text:'外协费',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'rldlf',text:'燃料动力费/(材料费+外协费+事务费+专用费)×1.5%',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'gdzczj',text:'固定资产折旧/(材料费+外协费+事务费+专用费)×2.5%',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'gzjlwf',text:'工资及劳务费/(材料费+外协费+事务费+专用费)×17%',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'glf',text:'管理费/(材料费+外协费+事务费+专用费)×5%',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'zjcb',text:'装机成本/ mes装机信息卡的采购单价*数量',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'rldlf',text:'燃料动力费',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'gdzczj',text:'固定资产折旧',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'gzjlwf',text:'工资及劳务费',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'glf',text:'管理费',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'zjcb',text:'装机成本',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'lbsy',text:'内部试验',dictCode:''})
-        fieldList.push({type:'BigDecimal',value:'workhour',text:'工时(h)/来自科研报工,每次科研报工累加计时',dictCode:''})
-        fieldList.push({type:'string',value:'zrbm',text:'责任部门/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'jycsid',text:'下达部门id/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'jycs',text:'下达部门/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'hxzxid',text:'1:横向 2:纵向/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'hxzxname',text:'横向纵向/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'tasktype',text:'任务类型/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'auditprice',text:'审计审价/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'iflag',text:'任务状态/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'brief',text:'提出单位简称/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'reftaskno',text:'父级任务/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'pccode',text:'批产任务号/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'bccode',text:'备产任务号/来自科研任务',dictCode:''})
-        fieldList.push({type:'int',value:'blcode',text:'备料任务号/来自科研任务',dictCode:''})
-        fieldList.push({type:'string',value:'businessman',text:'业务员/来自科研任务',dictCode:''})
+        fieldList.push({type:'BigDecimal',value:'workhour',text:'工时(h)',dictCode:''})
+        fieldList.push({type:'string',value:'zrbm',text:'责任部门',dictCode:''})
+        fieldList.push({type:'int',value:'jycsid',text:'下达部门id',dictCode:''})
+        fieldList.push({type:'string',value:'jycs',text:'下达部门',dictCode:''})
+        // fieldList.push({type:'int',value:'hxzxid',text:'1:横向 2:纵向/来自科研任务',dictCode:''})
+        fieldList.push({type:'string',value:'hxzxname',text:'横向纵向',dictCode:''})
+        fieldList.push({type:'string',value:'tasktype',text:'任务类型',dictCode:''})
+        fieldList.push({type:'string',value:'auditprice',text:'审计审价',dictCode:''})
+        fieldList.push({type:'string',value:'iflag',text:'任务状态',dictCode:''})
+        fieldList.push({type:'string',value:'brief',text:'提出单位简称',dictCode:''})
+        fieldList.push({type:'int',value:'reftaskno',text:'父级任务',dictCode:''})
+        fieldList.push({type:'int',value:'pccode',text:'批产任务号',dictCode:''})
+        fieldList.push({type:'int',value:'bccode',text:'备产任务号',dictCode:''})
+        fieldList.push({type:'int',value:'blcode',text:'备料任务号',dictCode:''})
+        fieldList.push({type:'string',value:'businessman',text:'业务员',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'sjgs',text:'设计工时',dictCode:''})
         fieldList.push({type:'BigDecimal',value:'scgs',text:'生产工时',dictCode:''})
         this.superFieldList = fieldList
@@ -648,6 +630,41 @@
         this.columns = cols;
         columnsEdit({checkedValues: checkedValues})
       },
+      getDetailContract(record, index){
+        return {
+          style: {
+            'color': '#1890ff',
+          },
+          on: {
+            click: (event)=> {
+              // console.log(record, index, event)
+              proCostContractdetail({taskno: '2'}).then(res => {
+                console.log(res)
+                this.$refs.proCostDetail.show()
+                this.$refs.proCostDetail.title = '合同额明细'
+                this.$refs.proCostDetail.dataSource = res
+              })
+            }
+          }
+        }
+      },
+      getDetailYSK(record, index){
+        return {
+          style: {
+            'color': '#1890ff',
+          },
+          on: {
+            click: (event)=> {
+              proCostYSKdetail({taskno: 'F-2-05(G)2'}).then(res => {
+                console.log(res)
+                this.$refs.proCostDetail.show()
+                this.$refs.proCostDetail.title = '已收款明细'
+                this.$refs.proCostDetail.dataSource = res
+              })
+            }
+          }
+        }
+      },
     }
   }
 </script>

+ 561 - 0
src/views/module_kzks/projectCostList/modules/ProjectDetailModal.vue

@@ -0,0 +1,561 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    cancelText="关闭"
+    @cancel="handleCancel">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+
+    <!-- table区域-begin -->
+    <div>
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+        <!-- :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" -->
+
+      </a-table>
+    </div>
+  </j-modal>
+</template>
+
+<script>
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+
+  export default {
+    name: 'contractInfoExchangeList',
+    mixins:[JeecgListMixin, mixinDevice],
+    data () {
+      return {
+        title: '',
+        width: '60%',
+        visible: false,
+        disableSubmit: true,
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+          {
+            title:'备注',
+            align:"center",
+            dataIndex: 'bz'
+          },
+          {
+            title:'编号',
+            align:"center",
+            dataIndex: 'bh'
+          },
+          {
+            title:'部门(合同付款)',
+            align:"center",
+            dataIndex: 'bm'
+          },
+          {
+            title:'产品型号',
+            align:"center",
+            dataIndex: 'cpxh'
+          },
+          {
+            title:'待付款(元)',
+            align:"center",
+            dataIndex: 'dfk'
+          },
+          {
+            title:'待开票(元)',
+            align:"center",
+            dataIndex: 'dkp'
+          },
+          {
+            title:'到款(元)',
+            align:"center",
+            dataIndex: 'dk'
+          },
+          {
+            title:'到款日期/汇票到期日期',
+            align:"center",
+            dataIndex: 'dkhpdqrq',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'电话',
+            align:"center",
+            dataIndex: 'dh'
+          },
+          {
+            title:'发票编号(sn)',
+            align:"center",
+            dataIndex: 'fpbh'
+          },
+          {
+            title:'发票编码',
+            align:"center",
+            dataIndex: 'fpbm'
+          },
+          {
+            title:'发票开具额',
+            align:"center",
+            dataIndex: 'fpkje'
+          },
+          {
+            title:'发票类型',
+            align:"center",
+            dataIndex: 'fplx'
+          },
+          {
+            title:'发票内容',
+            align:"center",
+            dataIndex: 'fpnr'
+          },
+          {
+            title:'付款方名称',
+            align:"center",
+            dataIndex: 'fkfmc'
+          },
+          {
+            title:'更新时间',
+            align:"center",
+            dataIndex: 'gxsj',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'归档编号',
+            align:"center",
+            dataIndex: 'gdbh'
+          },
+          {
+            title:'归档日期',
+            align:"center",
+            dataIndex: 'gdrq',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'合同编号',
+            align:"center",
+            dataIndex: 'htbh'
+          },
+          {
+            title:'合同发票接收邮箱地址',
+            align:"center",
+            dataIndex: 'htfpjsyxdz'
+          },
+          {
+            title:'合同分配额',
+            align:"center",
+            dataIndex: 'htfpe'
+          },
+          {
+            title:'合同金额',
+            align:"center",
+            dataIndex: 'htje'
+          },
+          {
+            title:'合同款状态',
+            align:"center",
+            dataIndex: 'htkzt'
+          },
+          {
+            title:'合同类型',
+            align:"center",
+            dataIndex: 'htlx'
+          },
+          {
+            title:'合同履行情况',
+            align:"center",
+            dataIndex: 'htlxqk'
+          },
+          {
+            title:'合同密级',
+            align:"center",
+            dataIndex: 'htmj'
+          },
+          {
+            title:'合同名称',
+            align:"center",
+            dataIndex: 'htmc'
+          },
+          {
+            title:'合同起草人',
+            align:"center",
+            dataIndex: 'htqcr'
+          },
+          {
+            title:'合同签订日期',
+            align:"center",
+            dataIndex: 'htqdrq',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'合同任务id',
+            align:"center",
+            dataIndex: 'htrwid'
+          },
+          {
+            title:'合同数量',
+            align:"center",
+            dataIndex: 'htsl'
+          },
+          {
+            title:'合同页数',
+            align:"center",
+            dataIndex: 'htys'
+          },
+          {
+            title:'合同主管部门',
+            align:"center",
+            dataIndex: 'htzgbm'
+          },
+          {
+            title:'合同状态',
+            align:"center",
+            dataIndex: 'htzt'
+          },
+          {
+            title:'合同状态说明',
+            align:"center",
+            dataIndex: 'htztsm'
+          },
+          {
+            title:'甲方(付款方)',
+            align:"center",
+            dataIndex: 'jf'
+          },
+          {
+            title:'甲方简称、用户简称',
+            align:"center",
+            dataIndex: 'jfyhjc'
+          },
+          {
+            title:'甲方签约人',
+            align:"center",
+            dataIndex: 'jfqyr'
+          },
+          {
+            title:'阶段',
+            align:"center",
+            dataIndex: 'jd'
+          },
+          {
+            title:'金额(元)、收款总金额、开票金额',
+            align:"center",
+            dataIndex: 'jeskzkp'
+          },
+          {
+            title:'开户行',
+            align:"center",
+            dataIndex: 'khx'
+          },
+          {
+            title:'开票时间',
+            align:"center",
+            dataIndex: 'kpsj',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'开票状态',
+            align:"center",
+            dataIndex: 'kpzt'
+          },
+          {
+            title:'客户id',
+            align:"center",
+            dataIndex: 'khid'
+          },
+          {
+            title:'客户流程编号',
+            align:"center",
+            dataIndex: 'khlcbh'
+          },
+          {
+            title:'联系人(对方)',
+            align:"center",
+            dataIndex: 'lxr'
+          },
+          {
+            title:'录入人、申请人',
+            align:"center",
+            dataIndex: 'lrsqr'
+          },
+          {
+            title:'凭证号',
+            align:"center",
+            dataIndex: 'pzh'
+          },
+          {
+            title:'起草日期、录入日期、申请日期',
+            align:"center",
+            dataIndex: 'qclrsqrq',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'签署日期',
+            align:"center",
+            dataIndex: 'qsrq',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'确认外协',
+            align:"center",
+            dataIndex: 'qrwx'
+          },
+          {
+            title:'任务编号',
+            align:"center",
+            dataIndex: 'rwbh'
+          },
+          {
+            title:'任务名称',
+            align:"center",
+            dataIndex: 'rwmc'
+          },
+          {
+            title:'任务收款金额',
+            align:"center",
+            dataIndex: 'rwskje'
+          },
+          {
+            title:'申请人部门',
+            align:"center",
+            dataIndex: 'sqrbm'
+          },
+          {
+            title:'收款编号(sn)',
+            align:"center",
+            dataIndex: 'skbh'
+          },
+          {
+            title:'收款科目代码',
+            align:"center",
+            dataIndex: 'skkmdm'
+          },
+          {
+            title:'收款类型',
+            align:"center",
+            dataIndex: 'sklx'
+          },
+          {
+            title:'数据来源:10:合同管理,20:合同任务,30:任务合同,40:合同付款,50:合同发票,60:外协合同',
+            align:"center",
+            dataIndex: 'sjly'
+          },
+          {
+            title:'数量(合同付款)',
+            align:"center",
+            dataIndex: 'sl'
+          },
+          {
+            title:'税号',
+            align:"center",
+            dataIndex: 'sh'
+          },
+          {
+            title:'所属型号',
+            align:"center",
+            dataIndex: 'ssxh'
+          },
+          {
+            title:'外协单号(sn)',
+            align:"center",
+            dataIndex: 'wxdh'
+          },
+          {
+            title:'外协合同编号',
+            align:"center",
+            dataIndex: 'wxhtbh'
+          },
+          {
+            title:'外协类型',
+            align:"center",
+            dataIndex: 'wxlx'
+          },
+          {
+            title:'项目密级',
+            align:"center",
+            dataIndex: 'xmmj'
+          },
+          {
+            title:'发票需求时间',
+            align:"center",
+            dataIndex: 'fpxqsj',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'序号',
+            align:"center",
+            dataIndex: 'xh'
+          },
+          {
+            title:'研制部门',
+            align:"center",
+            dataIndex: 'yzbm'
+          },
+          {
+            title:'业务员',
+            align:"center",
+            dataIndex: 'ywy'
+          },
+          {
+            title:'业务员部门',
+            align:"center",
+            dataIndex: 'ywybm'
+          },
+          {
+            title:'乙方(收款方)',
+            align:"center",
+            dataIndex: 'yf'
+          },
+          {
+            title:'乙方签约人',
+            align:"center",
+            dataIndex: 'yfqyr'
+          },
+          {
+            title:'已开票(元)',
+            align:"center",
+            dataIndex: 'ykp'
+          },
+          {
+            title:'已收款',
+            align:"center",
+            dataIndex: 'ysk'
+          },
+          {
+            title:'用户id',
+            align:"center",
+            dataIndex: 'yhid'
+          },
+          {
+            title:'用户简称',
+            align:"center",
+            dataIndex: 'yhjc'
+          },
+          {
+            title:'用户名称',
+            align:"center",
+            dataIndex: 'yhmc'
+          },
+          {
+            title:'账号',
+            align:"center",
+            dataIndex: 'zh'
+          },
+          {
+            title:'执行状态(status)',
+            align:"center",
+            dataIndex: 'zxzt'
+          },
+          {
+            title:'主管设计师',
+            align:"center",
+            dataIndex: 'zgsjs'
+          },
+          {
+            title:'抓总部门',
+            align:"center",
+            dataIndex: 'zzbm'
+          },
+          {
+            title:'自筹(元)',
+            align:"center",
+            dataIndex: 'zc'
+          },
+          {
+            title:'类型(无用)',
+            align:"center",
+            dataIndex: 'pici'
+          },
+          {
+            title:'作废发票申请时间',
+            align:"center",
+            dataIndex: 'sqsj',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'作废单号',
+            align:"center",
+            dataIndex: 'zfdh'
+          },
+          // {
+          //   title: '操作',
+          //   dataIndex: 'action',
+          //   align:"center",
+          //   fixed:"right",
+          //   width:147,
+          //   scopedSlots: { customRender: 'action' }
+          // }
+        ],
+        dataSource: [],
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created () {
+    },
+    mounted () {
+    },
+    methods: {
+      show() {
+        this.visible = true
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      },
+      initDictConfig(){
+      },
+    }
+  }
+</script>
+
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

+ 4 - 2
src/views/module_kzks/projectPushSet/ProjectPushSetList.vue

@@ -6,7 +6,8 @@
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="成本类型">
-              <a-input placeholder="请输入成本类型" v-model="queryParam.costType"></a-input>
+              <!-- <a-input placeholder="请输入成本类型" v-model="queryParam.costType"></a-input> -->
+              <j-dict-select-tag type="list" v-model="queryParam.costType" dictCode="project_push_type" placeholder="请选择要推送的成本类型" />
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -119,6 +120,7 @@
   import { mixinDevice } from '@/utils/mixin'
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import ProjectPushSetModal from './modules/ProjectPushSetModal'
+  
 
   export default {
     name: 'ProjectPushSetList',
@@ -144,7 +146,7 @@
           {
             title:'成本类型',
             align:"center",
-            dataIndex: 'costType'
+            dataIndex: 'costType_dictText'
           },
           {
             title:'阶段(%)',

+ 57 - 3
src/views/module_kzks/projectPushSet/modules/ProjectPushSetForm.vue

@@ -5,12 +5,21 @@
         <a-row>
           <a-col :span="24">
             <a-form-model-item label="成本类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="costType">
-              <a-input v-model="model.costType" placeholder="请输入成本类型"  ></a-input>
+              <!-- <a-input v-model="model.costType" placeholder="请输入成本类型"  ></a-input> -->
+              <j-dict-select-tag type="list" v-model="model.costType" dictCode="project_push_type" placeholder="请选择要推送的成本类型" />
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
             <a-form-model-item label="阶段(%)" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="stage">
-              <a-input v-model="model.stage" placeholder="请输入阶段(%)"  ></a-input>
+              <!-- <a-input v-model="model.stage" placeholder="请输入阶段(%)"  ></a-input> -->
+              <a-input-number
+                v-model="model.stage"
+                :default-value="60"
+                :min="1"
+                :max="100"
+                :formatter="value => `${value}%`"
+                :parser="value => value.replace('%', '')"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
@@ -20,7 +29,20 @@
           </a-col>
           <a-col :span="24">
             <a-form-model-item label="推送部门" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pushTo">
-              <a-input v-model="model.pushTo" placeholder="请输入推送部门"  ></a-input>
+              <!-- <a-input v-model="model.pushTo" placeholder="请输入推送部门"  ></a-input> -->
+              <!-- <a-tree-select
+                v-model="model.pushTo"
+                style="width: 100%"
+                allow-clear
+                :tree-data="departTree"
+                search-placeholder="请选择推送部门"
+                /> -->
+                <!-- show-search -->
+                <!-- tree-checkable
+                :show-checked-strategy="SHOW_PARENT" -->
+
+                 
+                <j-select-depart v-model="model.pushTo" :multi="true" :backDepart="true" :treeOpera="true" @back="backDepartInfo"></j-select-depart>
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
@@ -38,6 +60,10 @@
 
   import { httpAction, getAction } from '@/api/manage'
   import { validateDuplicateValue } from '@/utils/util'
+  import {queryDepartTreeList} from '@/api/api'
+  // 只显示父节点(当父节点下所有子节点都选中时)
+  import { TreeSelect } from 'ant-design-vue';
+  const SHOW_PARENT = TreeSelect.SHOW_PARENT;
 
   export default {
     name: 'ProjectPushSetForm',
@@ -53,6 +79,10 @@
     },
     data () {
       return {
+        // 部门树列表
+        departTree: [],
+        // 只显示父节点(当父节点下所有子节点都选中时)
+        SHOW_PARENT,
         model:{
          },
         labelCol: {
@@ -91,10 +121,34 @@
       },
     },
     created () {
+      this.getDepartTree()
        //备份model原始值
       this.modelDefault = JSON.parse(JSON.stringify(this.model));
     },
     methods: {
+      // 获取部门树列表
+      getDepartTree() {
+        this.departTree = []
+        queryDepartTreeList().then((res) => {
+          console.log(res)
+          if (res.success) {
+            //部门全选后,再添加部门,选中数量增多
+            for (let i = 0; i < res.result.length; i++) {
+              let temp = res.result[i]
+              this.departTree.push(temp)
+              // console.log(temp.id)
+            }
+          }
+        })
+      },
+      backDepartInfo(info) {
+        this.model.departIds = this.model.selecteddeparts;
+        this.nextDepartOptions = info.map((item,index,arr)=>{
+          let c = {label:item.text, value: item.value+""}
+          return c;
+        })
+      },
+
       add () {
         this.edit(this.modelDefault);
       },