Jelajahi Sumber

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

@dongkboy 2 tahun lalu
induk
melakukan
5015968067

+ 9 - 0
src/http/moudules/expense.js

@@ -381,4 +381,13 @@ export const deriveReport = (data) => {
         method: "post",
         data
     })
+}
+
+// 支出部分
+export const updateExpenditure = (params) => {
+    return axios({
+        url: '/accountExcel/updateTransferFlag',
+        method: "get",
+        params
+    })
 }

+ 7 - 0
src/http/moudules/insCompany.js

@@ -67,6 +67,13 @@ export const findAgreementByCompanyId = (data) => {
     data
   })
 }
+export const agreementListInternal = (data) => {
+  return axios({
+    url: '/plt/agreement/listInternal',
+    method: 'post',
+    data
+  })
+}
 
 // 编辑保险公司
 export const editCompany = (data) => {

+ 6 - 1
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -125,7 +125,12 @@
         <el-table-column type="selection" width="55" align="center"></el-table-column>
         <el-table-column prop="id" label="编号" width="50" align="center"></el-table-column>
         <el-table-column prop="agreementCode" label="协议代码" align="center" width="180"></el-table-column>
-        <el-table-column prop="agreementName" label="协议名称" align="center"></el-table-column>
+        <el-table-column prop="agreementName" label="协议" align="center" width="300">
+          <template slot-scope="scope">
+            <span>{{ scope.row.agreementName }} - {{ scope.row.businessDescription }} - {{ scope.row.jobDescription }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="dockingPerson" label="对接人" align="center"></el-table-column>
         <el-table-column prop="agreementType" label="协议类型" align="center" width="150"
           :formatter="agreementtypeFormatter"></el-table-column>
         <el-table-column prop="startDate" label="协议生效日期" align="center"></el-table-column>

+ 24 - 0
src/views/AgreementManage/CarInsurance/AgreementProductFee.vue

@@ -1028,6 +1028,7 @@ export default {
         isInquiryNow: '1',  // 是否现询
       },
       areanumberplateList: [],//车牌号列表
+      licenseAreaList: [],  // 车牌地区列表
       dynamicFormArray: [],
       productCostAddDialogTitle: "产品录入",
       productCostAddDialogType: "add",
@@ -1148,6 +1149,10 @@ export default {
             if (val.attrCode == 'LicenseNo') {
               val.dictLabal = this.areanumberplateList;
             }
+            if (val.attrCode == 'LicenseArea') {
+              val.dictLabal = this.licenseAreaList;
+            }
+            // LicenseArea
             return val;
           })
           this.dynamicFormArray = obj.costsAttrLinkList;
@@ -1476,6 +1481,9 @@ export default {
             if (val.attrCode == 'LicenseNo') {
               val.dictLabal = this.areanumberplateList;
             }
+            if (val.attrCode == 'LicenseArea') {
+              val.dictLabal = this.licenseAreaList;
+            }
             return val;
           })
           this.dynamicFormArray = obj.costsAttrLinks;
@@ -1547,6 +1555,10 @@ export default {
             if (ele.attrName == '车牌号') {
               ele.dictLabal = this.areanumberplateList;
             }
+            if (ele.attrName == '车牌地区') {
+              ele.dictLabal = this.licenseAreaList;
+            }
+            
           })
           // this.productCostForm.costsAttrLinks = data;
           this.dynamicFormArray = data;
@@ -1565,6 +1577,18 @@ export default {
         })
         this.areanumberplateList = data;
       });
+      // 
+      this.$api.insCompany.getAreaLicense("0").then((res) => {
+        let data = [];
+        res.data.map(val => {
+          data.push({
+            code: val.areaNumber,
+            name: val.license,
+          })
+          return val;
+        })
+        this.licenseAreaList = data;
+      });
     },
     //--数据字典 begin --
     getDicType(type) {

+ 54 - 10
src/views/AgreementManage/CarInsurance/SourceManagement.vue

@@ -38,14 +38,7 @@
 
     <el-dialog :title="ruleDialogTitle" :visible.sync="ruledialogVisible" width="50%" @open="ruleOpenDialog">
       <el-form :model="localForm" label-width="120px" size="small">
-        <el-col :span="24">
-          <el-form-item label="协议选择">
-            <el-select v-model="localForm.agreementId" placeholder="请选择协议" style="width: 100%;">
-              <el-option v-for="item in agreementList" :key="item.id" :label="item.agreementAbbreviation"
-                :value="item.id"></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
+        <el-row>
         <el-col :span="12">
           <el-form-item label="优先级">
             <el-input v-model="localForm.priority" placeholder="输入优先级"></el-input>
@@ -62,6 +55,49 @@
             </div>
           </el-form-item>
         </el-col>
+        <el-col :span="24">
+          <el-form-item label="协议选择">
+            <el-select v-model="localForm.agreementId" placeholder="请选择协议" style="width: 100%;" @change="agreementChange">
+              <el-option v-for="item in agreementList" :key="item.id" :label="item.agreementAbbreviation + '-' + item.businessDescription + '-' + item.jobDescription"
+                :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="协议代码">
+            <el-input v-model="agreementInfo.agreementCode" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="协议名称">
+            <el-input v-model="agreementInfo.agreementTitle" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="协议简称">
+            <el-input v-model="agreementInfo.agreementAbbreviation" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="协议描述">
+            <el-input v-model="agreementInfo.agreementName" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="业务描述">
+            <el-input v-model="agreementInfo.businessDescription" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="工号描述">
+            <el-input v-model="agreementInfo.jobDescription" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="对接人">
+            <el-input v-model="agreementInfo.dockingPerson" disabled placeholder="请选择协议"></el-input>
+          </el-form-item>
+        </el-col>
         <el-col v-for=" (formItems, index) in dynamicFormArray" :key="index" :span="24">
           <el-form-item :label="formItems.attrName">
             <template v-if="formItems.attrType == 'inputNumber'">
@@ -115,6 +151,7 @@
             </div>
           </el-form-item>
         </el-col>
+      </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button size="small" @click="ruledialogVisible = false">取 消</el-button>
@@ -173,6 +210,7 @@ export default {
   components: { templateTable, KtCommonTable },
   data() {
     return {
+      agreementInfo: {},
       treekeys:[],
       localForm: {
         agreementId: "",//协议id
@@ -320,6 +358,13 @@ export default {
     this.findPage();
   },
   methods: {
+    agreementChange(e) {
+      this.agreementList.forEach((val, index) => {
+        if (val.id ==  e) {
+          this.agreementInfo = val
+        }
+      })
+    },
     configuration(row){
       this.$api.insCompany.schedulingId(row.id).then((res) => {
         if(res.code==200){
@@ -608,7 +653,7 @@ export default {
       this.localForm.insCompanyName = row.name;
       this.dispatchFindPage();
       this.attrQueryList();
-      this.$api.insCompany.findAgreementByCompanyId({ partnerCompaniesId: row.id }).then((res) => {
+      this.$api.insCompany.agreementListInternal({ partnerCompaniesId: row.id }).then((res) => {
         if (res.data) {
           //清空搜索参数
           this.agreementList = res.data;
@@ -616,7 +661,6 @@ export default {
       })
       this.dispatchdialogVisible = true;
     },
-
   },
 };
 </script>

+ 16 - 14
src/views/BindUser/Dx.vue

@@ -70,7 +70,6 @@
 
           <kt-common-table
             ref="ktcommonTable"
-            permsEdit="sys:backline:edit"
             :data="pageResult"
             :columns="columns"
             editButtonName="绑定人员"
@@ -78,6 +77,7 @@
             @handleEdit="handleTableEdit"
             :button7Name="'清空'"
             @handleButton7="handleTableDeleteFlag"
+            @findPage="findPage"
           >
           </kt-common-table>
         </SplitArea>
@@ -116,14 +116,14 @@
           <el-table-column type="selection" width="50" align="center" />
           <el-table-column prop="id" label="用户编码">
           </el-table-column>
-          <el-table-column prop="userName" label="用户名称">
+          <el-table-column prop="name" label="用户名称">
           </el-table-column>
-          <el-table-column prop="nickName" label="真实名称">
+          <el-table-column prop="nickname" label="真实名称">
           </el-table-column>
-          <el-table-column prop="phoneNumber" label="电话">
+          <el-table-column prop="mobile" label="电话">
           </el-table-column>
       </el-table>
-      <el-pagination @size-change="handleSizeChange" @current-change="refreshPageRequest"
+      <el-pagination @size-change="handleSizeChangeAdd" @current-change="refreshPageRequestAdd"
           :current-page="addListDataPage.pageNum" :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]"
           :page-size="addListDataPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
           :total="addListDataPage.total">
@@ -166,10 +166,10 @@ export default {
       userId: "",
       pageData: {
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 10,
         deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
         userId: "",
-        realName: "",
+        name: "",
         mobile: "",
         status:"1"
       },
@@ -182,7 +182,8 @@ export default {
       teamleaderid: "",
       // 右侧列表查询数据Start
       queryFrom: {},
-      pageResult: {},
+      pageResult: {
+      },
       containsSubDeptChecked: true, //是否包含下级机构
       columns: [
         // 数据列
@@ -200,7 +201,8 @@ export default {
       deptInfo: {}, //选中机构的基本信息
       option: [], //机构列表
       showOut: false,
-      isRadioMode: true
+      isRadioMode: true,
+      isQueryStaff :false,
     };
   },
   created() {
@@ -250,8 +252,8 @@ export default {
           content: res.data.content,
           pageNum: res.data.current,
           pageSize: res.data.size,
-          totalPages: res.data.pages,
-          totalSize: res.data.total,
+          totalPages: res.data.totalPages,
+          totalSize: res.data.totalSize,
         };
       });
     },
@@ -300,7 +302,7 @@ export default {
       //调用添加接口
       this.$api.bindUser.addOrUpdateDx({
         userId:  this.userId,
-        linkUserId: this.selectedRow[0].id,
+        linkUserId: this.selectedRow[0].name,
       }).then((res) => {
         if (res.code == 200) {
               this.$message({
@@ -342,11 +344,11 @@ export default {
         return 'hideCheckbox'
       }
     },
-    refreshPageRequest: function (pageNum) {
+    refreshPageRequestAdd: function (pageNum) {
       this.addListDataPage.pageNum = pageNum;
       this.handleAddButton()
     },
-    handleSizeChange(pageSize) {
+    handleSizeChangeAdd(pageSize) {
       this.addListDataPage.pageSize = pageSize;
       this.handleAddButton()
     },

+ 12 - 10
src/views/BindUser/Zgd.vue

@@ -70,7 +70,6 @@
 
           <kt-common-table
             ref="ktcommonTable"
-            permsEdit="sys:backline:edit"
             :data="pageResult"
             :columns="columns"
             editButtonName="绑定人员"
@@ -78,6 +77,7 @@
             @handleEdit="handleTableEdit"
             :button7Name="'清空'"
             @handleButton7="handleTableDeleteFlag"
+            @findPage="findPage"
           >
           </kt-common-table>
         </SplitArea>
@@ -123,7 +123,7 @@
           <el-table-column prop="phoneNumber" label="电话">
           </el-table-column>
       </el-table>
-      <el-pagination @size-change="handleSizeChange" @current-change="refreshPageRequest"
+      <el-pagination @size-change="handleSizeChangeAdd" @current-change="refreshPageRequestAdd"
           :current-page="addListDataPage.pageNum" :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]"
           :page-size="addListDataPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
           :total="addListDataPage.total">
@@ -166,10 +166,10 @@ export default {
       userId: "",
       pageData: {
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 10,
         deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
         userId: "",
-        realName: "",
+        name: "",
         mobile: "",
         status:"1"
       },
@@ -182,7 +182,8 @@ export default {
       teamleaderid: "",
       // 右侧列表查询数据Start
       queryFrom: {},
-      pageResult: {},
+      pageResult: {
+      },
       containsSubDeptChecked: true, //是否包含下级机构
       columns: [
         // 数据列
@@ -200,7 +201,8 @@ export default {
       deptInfo: {}, //选中机构的基本信息
       option: [], //机构列表
       showOut: false,
-      isRadioMode: true
+      isRadioMode: true,
+      isQueryStaff :false,
     };
   },
   created() {
@@ -250,8 +252,8 @@ export default {
           content: res.data.content,
           pageNum: res.data.current,
           pageSize: res.data.size,
-          totalPages: res.data.pages,
-          totalSize: res.data.total,
+          totalPages: res.data.totalPages,
+          totalSize: res.data.totalSize,
         };
       });
     },
@@ -343,11 +345,11 @@ export default {
         return 'hideCheckbox'
       }
     },
-    refreshPageRequest: function (pageNum) {
+    refreshPageRequestAdd: function (pageNum) {
       this.addListDataPage.pageNum = pageNum;
       this.handleAddButton()
     },
-    handleSizeChange(pageSize) {
+    handleSizeChangeAdd(pageSize) {
       this.addListDataPage.pageSize = pageSize;
       this.handleAddButton()
     },

+ 15 - 10
src/views/BindUser/Zzb.vue

@@ -70,7 +70,6 @@
 
           <kt-common-table
             ref="ktcommonTable"
-            permsEdit="sys:backline:edit"
             :data="pageResult"
             :columns="columns"
             editButtonName="绑定人员"
@@ -78,6 +77,7 @@
             @handleEdit="handleTableEdit"
             :button7Name="'清空'"
             @handleButton7="handleTableDeleteFlag"
+            @findPage="findPage"
           >
           </kt-common-table>
         </SplitArea>
@@ -123,7 +123,7 @@
           <el-table-column prop="phoneNumber" label="电话">
           </el-table-column>
       </el-table>
-      <el-pagination @size-change="handleSizeChange" @current-change="refreshPageRequest"
+      <el-pagination @size-change="handleSizeChangeAdd" @current-change="refreshPageRequestAdd"
           :current-page="addListDataPage.pageNum" :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]"
           :page-size="addListDataPage.pageSize" layout="total, sizes, prev, pager, next, jumper"
           :total="addListDataPage.total">
@@ -166,10 +166,10 @@ export default {
       userId: "",
       pageData: {
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 10,
         deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
         userId: "",
-        realName: "",
+        name: "",
         mobile: "",
         status:"1"
       },
@@ -182,7 +182,8 @@ export default {
       teamleaderid: "",
       // 右侧列表查询数据Start
       queryFrom: {},
-      pageResult: {},
+      pageResult: {
+      },
       containsSubDeptChecked: true, //是否包含下级机构
       columns: [
         // 数据列
@@ -200,7 +201,8 @@ export default {
       deptInfo: {}, //选中机构的基本信息
       option: [], //机构列表
       showOut: false,
-      isRadioMode: true
+      isRadioMode: true,
+      isQueryStaff :false,
     };
   },
   created() {
@@ -229,6 +231,7 @@ export default {
     findPage(data) {
       // 获取分页数据
       if (data && data.pageRequest) {
+        console.log(data);
         this.pageData.pageNum = data.pageRequest.pageNum;
         this.pageData.pageSize = data.pageRequest.pageSize;
       }
@@ -246,12 +249,14 @@ export default {
       };
      
       this.$api.bindUser.queryUserZZBPage(dto).then((res) => {
+        console.log(res.data.totalSize);
+        console.log(res.data.totalPages);
         this.pageResult = {
           content: res.data.content,
           pageNum: res.data.current,
           pageSize: res.data.size,
-          totalPages: res.data.pages,
-          totalSize: res.data.total,
+          totalPages: res.data.totalPages,
+          totalSize: res.data.totalSize,
         };
       });
     },
@@ -342,11 +347,11 @@ export default {
         return 'hideCheckbox'
       }
     },
-    refreshPageRequest: function (pageNum) {
+    refreshPageRequestAdd: function (pageNum) {
       this.addListDataPage.pageNum = pageNum;
       this.handleAddButton()
     },
-    handleSizeChange(pageSize) {
+    handleSizeChangeAdd(pageSize) {
       this.addListDataPage.pageSize = pageSize;
       this.handleAddButton()
     },

+ 0 - 148
src/views/BindUser/mixin.js

@@ -5,148 +5,6 @@ export default (params) => { // 导出混入对象
   return {
     data() {
       return {
-        nationalList: [
-          "汉族",
-          "壮族",
-          "满族",
-          "回族",
-          "苗族",
-          "维吾尔族",
-          "土家族",
-          "彝族",
-          "蒙古族",
-          "藏族",
-          "布依族",
-          "侗族",
-          "瑶族",
-          "朝鲜族",
-          "白族",
-          "哈尼族",
-          "哈萨克族",
-          "黎族",
-          "傣族",
-          "畲族",
-          "傈僳族",
-          "仡佬族",
-          "东乡族",
-          "高山族",
-          "拉祜族",
-          "水族",
-          "佤族",
-          "纳西族",
-          "羌族",
-          "土族",
-          "仫佬族",
-          "锡伯族",
-          "柯尔克孜族",
-          "达斡尔族",
-          "景颇族",
-          "毛南族",
-          "撒拉族",
-          "布朗族",
-          "塔吉克族",
-          "阿昌族",
-          "普米族",
-          "鄂温克族",
-          "怒族",
-          "京族",
-          "基诺族",
-          "德昂族",
-          "保安族",
-          "俄罗斯族",
-          "裕固族",
-          "乌兹别克族",
-          "门巴族",
-          "鄂伦春族",
-          "独龙族",
-          "塔塔尔族",
-          "赫哲族",
-          "珞巴族",
-        ],
-        sexoptions: JSON.parse(localStorage.getItem("sexOptions")),
-        postOption: [],
-        bloodOption: [
-          {
-            label: 'A型',
-            value: 'A型'
-          }, {
-            label: 'B型',
-            value: 'B型'
-          }, {
-            label: 'O型',
-            value: 'O型'
-          }, {
-            label: 'AB型',
-            value: 'AB型'
-          },
-        ],
-        educationOption: [
-          {
-            label: '小学',
-            value: '小学'
-          }, {
-            label: '初中',
-            value: '初中'
-          }, {
-            label: '高中',
-            value: '高中'
-          }, {
-            label: '专科',
-            value: '专科'
-          }, {
-            label: '本科',
-            value: '本科'
-          }, {
-            label: '硕士',
-            value: '硕士'
-          }, {
-            label: '博士',
-            value: '博士'
-          },
-        ],
-        healthOption: [
-          {
-            label: '健康',
-            value: '健康'
-          }, {
-            label: '亚健康',
-            value: '亚健康'
-          }, {
-            label: '疾病',
-            value: '疾病'
-          },
-        ],
-        politicsStatusOption: [
-          {
-            label: '群众',
-            value: '群众'
-          }, {
-            label: '共青团员',
-            value: '共青团员'
-          }, {
-            label: '中共党员',
-            value: '中共党员'
-          },
-        ],
-        maritalStatusOption: [
-          {
-            label: '未婚',
-            value: '未婚'
-          }, {
-            label: '已婚',
-            value: '已婚'
-          }, {
-            label: '离异',
-            value: '离异'
-          }, {
-            label: '再婚',
-            value: '再婚'
-          },
-        ],
-        user_statusoptions: JSON.parse(
-          localStorage.getItem("user_statusoptions")
-        ),
-        roles: JSON.parse(localStorage.getItem("find_all")),
         /**Split 开始 */
         ztreeNodes: [],
         leftSplitWidth: 20,
@@ -171,12 +29,6 @@ export default (params) => { // 导出混入对象
       }
     },
     created() {
-      this.$api.role.postViewAll().then((res) => {
-        res.data.forEach(ele => {
-          ele.postId = ele.postId + ''
-        })
-        this.postOption = res.data
-      })
       this.findLeftTreeData(); // 获取机构树的数据
 
     },

+ 6 - 5
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue

@@ -48,11 +48,11 @@
           >
         </template>
       </el-table-column>
-      <el-table-column
-        prop="agreementName"
-        label="协议名称"
-        align="center"
-      ></el-table-column>
+      <el-table-column prop="agreementName" label="协议" align="center" width="300">
+        <template slot-scope="scope">
+          <span>{{ scope.row.agreementName }} - {{ scope.row.businessDescription }} - {{ scope.row.jobDescription }}</span>
+        </template>
+      </el-table-column>
       <el-table-column
         prop="insCompany"
         label="承保公司"
@@ -63,6 +63,7 @@
           <span>{{ scope.row.insCompany ? scope.row.insCompany : "--" }}</span>
         </template>
       </el-table-column>
+      <el-table-column prop="dockingPerson" label="对接人" align="center"></el-table-column>
       <el-table-column prop="entryStatus" label="录入来源" align="center" width="100">
         <template slot-scope="scope">
           <el-tag size="mini" v-if="scope.row.entryStatus == '1'" effect="dark">车险录入</el-tag>

+ 6 - 1
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue

@@ -23,12 +23,17 @@
           <el-tag v-if="scope.row.managementSource == '电销'" type="warning">电销</el-tag>
         </template>
       </el-table-column>
-      <el-table-column prop="agreementName" label="协议名称" align="center"></el-table-column>
+      <el-table-column prop="agreementName" label="协议" align="center" width="300">
+        <template slot-scope="scope">
+          <span>{{ scope.row.agreementName }} - {{ scope.row.businessDescription }} - {{ scope.row.jobDescription }}</span>
+        </template>
+      </el-table-column>
       <el-table-column prop="insCompany" label="承保公司" align="center">
         <template slot-scope="scope">
           <span>{{ scope.row.insCompany ? scope.row.insCompany : '--' }}</span>
         </template>
       </el-table-column>
+      <el-table-column prop="dockingPerson" label="对接人" align="center"></el-table-column>
       <el-table-column prop="entryStatus" label="录入来源" align="center" width="100">
         <template slot-scope="scope">
           <el-tag size="mini" v-if="scope.row.entryStatus == '1'" effect="dark">车险录入</el-tag>

+ 77 - 2
src/views/FinancialManagement/ExpenseManagement/ExpenseApplyFor.vue

@@ -63,7 +63,7 @@
         </el-form-item>
         <el-form-item label="金额" prop="applyTime">
           <el-input
-            v-model.number="queryFrom.applyAmount"
+            v-model="queryFrom.applyAmount"
             placeholder="请输入金额"
             clearable
           ></el-input>
@@ -102,6 +102,8 @@
       @handleButton1="expendDelete"
       @handleButton2="expendEdit($event, 2)"
       @selectionChange="selectionChange"
+      button3Name="支出"
+      @handleButton3="expendExpenditure($event)"
     ></kt-common-table>
     <!-- 申请资金弹框 -->
     <el-dialog
@@ -376,6 +378,31 @@
       @outChange="outChange"
       class="expense-component"
     ></expense-component> -->
+    <el-dialog
+      title="支出"
+      :close-on-click-modal="false"
+      :before-close="closeExpenditure"
+      :visible.sync="expenditureVisible"
+      width="30%"
+    >
+      <div>
+        <el-radio-group v-model="expendRadio">
+          <el-radio :label="0">全部</el-radio>
+          <el-radio :label="1">部分支出</el-radio>
+        </el-radio-group>
+        <el-input v-show="expendRadio" v-model="payOutAmount" placeholder="请输入支出金额" style="width: 200px;margin-left: 20px;" size="small"></el-input>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeExpenditure" size="small">取 消</el-button>
+        <el-button
+          v-if="!formDisable"
+          type="primary"
+          @click="submitFormExpend"
+          size="small"
+          >确定支出</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -398,11 +425,15 @@ export default {
       }
     };
     return {
+      expenditureRow: {},
+      payOutAmount: 0,    // 已转金额
+      expendRadio: 0,
+      expenditureVisible: false,
       formDisable: false, //资金申请form表单是否可选状态
       expentList: [], //批量导出数据
       expenseaaa: true,
       expendTitle: "新增资金使用申请单", //弹框标题
-      operationWidth: 250, //操作单元格宽度
+      operationWidth: 300, //操作单元格宽度
       queryFrom: {}, //查询form表单
       pageRequest: {
         // 列表查询条件
@@ -482,6 +513,12 @@ export default {
           minWidth: 150,
           sortable: false,
         },
+        {
+          prop: "payoutAmount",
+          label: "已转金额(元)",
+          minWidth: 120,
+          sortable: false,
+        },
         {
           prop: "company",
           label: "单位",
@@ -647,6 +684,44 @@ export default {
   },
   mounted() {},
   methods: {
+    // 确定支出
+    submitFormExpend() {
+      const num = this.expenditureRow.applyAmount - this.expenditureRow.payoutAmount
+      if (num == 0) {
+        this.$message.error('支出金额不足')
+        return
+      }
+      if (this.payOutAmount > num) {
+        this.$message.error('支出金额不足')
+        return
+      }
+      if (!this.expendRadio) {
+        this.payOutAmount = num
+      }
+      this.$api.expense.updateExpenditure({
+        excelAccountOperateId: this.expenditureRow.excelAccountOperateId,
+        payOutAmount: this.payOutAmount
+      }).then((res) => {
+        if (res.code == 200) {
+          this.$message.success('支出成功')
+          this.queryStaffInfo()
+          this.closeExpenditure()
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    closeExpenditure() {
+      this.expenditureRow = {}
+      this.payOutAmount = 0
+      this.expendRadio = 0
+      this.expenditureVisible = false
+    },
+    // 支出
+    expendExpenditure(e) {
+      this.expenditureRow = e.row
+      this.expenditureVisible = true
+    },
     //表格多选事件
     selectionChange(e) {
       this.expentList = e.selections.map((item) => item.excelAccountOperateId);

+ 83 - 19
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -96,7 +96,7 @@
       <kt-common-table :operationWidth="130" class="ktTable expendTable" ref="expendTable" :data="expendPageResult"
         :columns="expendColumns" :showBatchDelete="false" :showOperation="true" :button1Name="expendButton1Name"
         permsButton1="expenseManagement:accountInformation:changeStatus" button2Background="#92D050"
-        button3Background="#f56c6c" button1Icon="el-icon-s-finance" @handleButton1="handleTableConfirm"
+        button3Background="#f56c6c" button1Icon="el-icon-s-finance" @handleButton1="handleTableConfirm($event)"
         @findPage="getExpendData" :isshowpagination="true"></kt-common-table>
     </el-dialog>
     <!-- 收入弹框 -->
@@ -194,6 +194,31 @@
         <el-button type="primary" @click="submitIncomeForm()" size="small">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog
+      title="支出"
+      :close-on-click-modal="false"
+      :before-close="closeExpenditure"
+      :visible.sync="expenditureVisible"
+      width="30%"
+    >
+      <div>
+        <el-radio-group v-model="expendRadio">
+          <el-radio :label="0">全部</el-radio>
+          <el-radio :label="1">部分支出</el-radio>
+        </el-radio-group>
+        <el-input v-show="expendRadio" v-model="payOutAmount" placeholder="请输入支出金额" style="width: 200px;margin-left: 20px;" size="small"></el-input>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="closeExpenditure" size="small">取 消</el-button>
+        <el-button
+          v-if="!formDisable"
+          type="primary"
+          @click="submitFormExpend"
+          size="small"
+          >确定支出</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -214,6 +239,10 @@ export default {
   mounted() { },
   data() {
     return {
+      expenditureRow: {},
+      payOutAmount: 0,    // 已转金额
+      expendRadio: 0,
+      expenditureVisible: false,
       type: 1, //1为账户信息,2为卡信息 账户和卡判断条件
       /**
        * 账户收入模块
@@ -811,25 +840,60 @@ export default {
         })
         .then(data != null ? data.callback : "");
     },
-    //弹框确认支出按钮事件
-    handleTableConfirm(index) {
-      this.$confirm("确认把该条数据设为已转账状态吗?", "提示", {
-        type: "warning",
+    // 确定支出
+    submitFormExpend() {
+      const num = this.expenditureRow.applyAmount - this.expenditureRow.payoutAmount
+      if (num == 0) {
+        this.$message.error('支出金额不足')
+        return
+      }
+      if (this.payOutAmount > num) {
+        this.$message.error('支出金额不足')
+        return
+      }
+      if (!this.expendRadio) {
+        this.payOutAmount = num
+      }
+      this.$api.expense.updateExpenditure({
+        excelAccountOperateId: this.expenditureRow.excelAccountOperateId,
+        payOutAmount: this.payOutAmount
+      }).then((res) => {
+        if (res.code == 200) {
+          this.$message.success('支出成功')
+          this.queryStaffInfo()
+          this.closeExpenditure()
+        } else {
+          this.$message.error(res.msg)
+        }
       })
-        .then(() => {
-          this.$api.expense
-            .updateTransferFlag(index.row.excelAccountOperateId)
-            .then((res) => {
-              if (res.code == 200) {
-                this.$message.success("确认转账成功");
-                this.getExpendData();
-                this.findPage();
-              } else {
-                this.$message.error(res.msg);
-              }
-            });
-        })
-        .catch(() => { });
+    },
+    closeExpenditure() {
+      this.expenditureRow = {}
+      this.payOutAmount = 0
+      this.expendRadio = 0
+      this.expenditureVisible = false
+    },
+    //弹框确认支出按钮事件
+    handleTableConfirm(e) {
+      this.expenditureRow = e.row
+      this.expenditureVisible = true
+      // this.$confirm("确认把该条数据设为已转账状态吗?", "提示", {
+      //   type: "warning",
+      // })
+      //   .then(() => {
+      //     this.$api.expense
+      //       .updateTransferFlag(index.row.excelAccountOperateId)
+      //       .then((res) => {
+      //         if (res.code == 200) {
+      //           this.$message.success("确认转账成功");
+      //           this.getExpendData();
+      //           this.findPage();
+      //         } else {
+      //           this.$message.error(res.msg);
+      //         }
+      //       });
+      //   })
+      //   .catch(() => { });
     },
     //选择证书有效日期区间
     setDateInterval(e) {

+ 9 - 2
src/views/FinancialManagement/ExpenseManagement/TransferRecord.vue

@@ -45,9 +45,10 @@
         </el-form-item>
         <el-form-item label="金额" label-width="95px" prop="applyAmount">
           <el-input
-            v-model.number="pageRequest.applyAmount"
+            v-model="pageRequest.applyAmount"
             placeholder="请输入金额"
             clearable
+            type="number"
           ></el-input>
         </el-form-item>
       </el-form>
@@ -105,9 +106,15 @@ export default {
           minWidth: 80,
           sortable: false,
         },
+        {
+          prop: "applyTime",
+          label: "申请时间",
+          minWidth: 100,
+          sortable: false,
+        },
         {
           prop: "createTime",
-          label: "创建时间",
+          label: "交易时间",
           minWidth: 100,
           sortable: false,
         },

+ 8 - 0
src/views/FinancialManagement/ExpenseManagement/ViewExpenseReport.vue

@@ -46,6 +46,9 @@
         <el-form-item label="支出金额" prop="applyAmount">
           <el-input v-model="queryFrom.applyAmount" placeholder="请输入支出金额" class="widths" clearable></el-input>
         </el-form-item>
+        <el-form-item label="成本分类" prop="label">
+          <el-input v-model="queryFrom.label" placeholder="请输入成本分类" class="widths" clearable></el-input>
+        </el-form-item>
         <el-form-item>
           <kt-button label="查询" type="primary" @click="queryStaffInfo" />
           <kt-button label="批量导出" type="primary" :disabled="!this.expentList.length" @click="expendDataup" />
@@ -108,6 +111,11 @@ export default {
           label: "转账日期",
           sortable: false,
         },
+        {
+          prop: "label",
+          label: "成本分类",
+          sortable: false,
+        },
         {
           prop: "fundUse",
           label: "费用类型",