Browse Source

人事管理

achao 2 years ago
parent
commit
1d1c68df46

+ 1 - 0
src/api/V2/personnelManagement/index.js

@@ -0,0 +1 @@
+export const API_GET_PERSON_LIST = '/clockInfo/selectClockInfoPc'

+ 20 - 18
src/api/common/index.js

@@ -14,9 +14,9 @@ export const API_POST_NOTIFICATIONSTAFFTODOTASK_CHANGESHOWTIME = '/notificationS
 
 // 分页查询船舶列表
 export const API_GET_VESSELPAGE = '/systemVessel/query/getVesselPage'
-// 查询船舶详情
+    // 查询船舶详情
 export const API_GET_VESSELONE = '/systemVessel/query/getVesselOne'
-// 修改船舶信息表
+    // 修改船舶信息表
 export const API_POST_CHANGEINFO = '/systemVessel/api/changeInfo'
 
 
@@ -59,18 +59,18 @@ export const API_GET_PROGRESS_PERCENTAGE = '/tbInitializationData/query/getProgr
 export const API_GET_IS_SHOW_DIALOG = '/tbInitializationData/query/getVesselList'
 
 // 获取运输结算统计信息
-export const API_GET_INFO ='/tranSettlementReport/getInfo'
+export const API_GET_INFO = '/tranSettlementReport/getInfo'
 
 // 通过手机号获取公司
 export const API_GET_COMP = '/commonUser/getCompList'
-/*
- * @Author: Myz
- * @Date: 2020-10-19 15:10:28
- * @Last Modified by: Yolo
- * @Last Modified time: 2021-01-15 15:42:45
- * @Desc 首页不包括统计Api接口  如果想找统计的接口 请到statistical文件夹中
- */
-// 查询附件
+    /*
+     * @Author: Myz
+     * @Date: 2020-10-19 15:10:28
+     * @Last Modified by: Yolo
+     * @Last Modified time: 2021-01-15 15:42:45
+     * @Desc 首页不包括统计Api接口  如果想找统计的接口 请到statistical文件夹中
+     */
+    // 查询附件
 export const API_GET_GETFILELIST = `/appendix/query/getFileList`
 
 // 获取当前登录用户信息
@@ -90,18 +90,20 @@ export const API_GET_GETSTAFFHOMESHOWLIST = `/staffHomeShowInfo/query/getStaffHo
 
 // 查询附件
 export const API_GET_APPENDIX_GETFILELIST = `/appendix/query/getFileList`
-// 保存附件
+    // 保存附件
 export const POST_GET_APPENDIX_SAVEFILES = `/appendix/api/saveFiles`
-// 获取系统web路径
+    // 获取系统web路径
 export const API_GET_SYSTEM_GETROOTURL = `/system/query/getRootUrl`
-// 获得oss 的bucket 和 endpoint TODO:不知道删了会不会有影响 目前先没删
+    // 获得oss 的bucket 和 endpoint TODO:不知道删了会不会有影响 目前先没删
 export const API_GET_FILE_ACCESSCONFIG = `/file/query/accessConfig`
-// 船端上传附件
+    // 船端上传附件
 export const API_POST_UPLOADFILES = `/appendix/api/uploadFiles`
-//删除附件
+    //删除附件
 export const API_POST_DELETEFILES = `/appendix/api/deleteFiles`
-// 上传附件
+    // 上传附件
 export const API_POST_OTHERUPLOADFILES = `/appendix/api/uploadFiles`
-//获取公司下拉列表
+    //获取公司下拉列表
 export const API_GET_API_COMPLIST = `/commonUser/getComp`
 export const API_GET_ADMINID = `/commonUser/test`
+    // 获取部门
+export const API_GET_DEPT = `/department/query/getDeptListByCompId`

+ 14 - 0
src/model/personnelManagement/index.js

@@ -0,0 +1,14 @@
+import { errorCatcher, errorHandle, filter } from 'base-core-lib'
+import { appRx } from '../defalutConfig/indexRx'
+import {
+    API_GET_PERSON_LIST,
+} from '@/api/V2/personnelManagement'
+import {
+    API_GET_DEPT,
+} from '@/api/common/index'
+// 列表
+export const getList = appRx.get(API_GET_PERSON_LIST, errorCatcher, errorHandle, filter)
+    // 添加
+    // export const addList = appRx.post(API_POST_ADD_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
+    // 获取部门列表
+export const getDeptList = appRx.get(API_GET_DEPT, errorCatcher, errorHandle, filter)

+ 814 - 0
src/views/personnelManagement/cardReplacementManagement.vue

@@ -0,0 +1,814 @@
+//客户管理
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="8">
+      <template slot="left"> </template>
+      <template slot="left">
+        <ws-input v-model="searchKeyWord" placeholder="可按客户名称、电话查找" clearable maxlength="500" type="input"
+          class="findValue" @keyup.enter.native="find()"></ws-input>
+        <ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+
+        <!--设置默认定金比例-->
+        <el-button class="bg-bottom" type="primary" size="small" @click="installRatio()">
+          默认定金比例</el-button>
+        <el-dialog width="25%" title="设置默认定金比例" :visible.sync="outerVisibleDefaultEdit" :append-to-body="true">
+          <div style="width: 50%">
+            <div class="dingjin">定金比例(元/吨)</div>
+            <el-input type="textarea" :rows="2" placeholder="请输入定金比例" v-model="depositRatio">
+            </el-input>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleDefaultEdit = false">取 消</el-button>
+            <el-button type="primary" @click="editDefaultDepositRatio()">确 定</el-button>
+          </div>
+        </el-dialog>
+
+        <!--增加定金-->
+        <el-dialog width="30%" title="增加定金" :visible.sync="outerVisibleAdd" :append-to-body="true">
+          <div class="addprice">
+            已付定金
+            <div class="yifudingjin">
+              <template> {{ this.totalDeposit }} 元 </template>
+            </div>
+          </div>
+          <div class="addpricejine">增加金额</div>
+          <div style="width: 50%" class="zengjia">
+            <el-input type="textarea" :rows="2" maxlength="30" placeholder="请输入本次增加定金金额" v-model="money">
+            </el-input>
+            <div class="yuan">元</div>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleAdd = false">取 消</el-button>
+            <el-button type="primary" @click="editPrice(1)">确 定</el-button>
+          </div>
+        </el-dialog>
+
+        <!--退回定金-->
+        <el-dialog width="30%" title="退回定金" :visible.sync="outerVisibleReturn" :append-to-body="true">
+          <div class="returnprice">
+            可退定金
+            <div class="ketuidingjin">
+              <template>
+                {{ this.totalDeposit - this.freezingDeposit }} 元
+              </template>
+            </div>
+          </div>
+          <div class="returnpricejine">退回金额</div>
+          <div style="width: 50%" class="tuihui">
+            <el-input type="textarea" :rows="2" maxlength="30" placeholder="请输入本次退回定金金额" v-model="money">
+            </el-input>
+            <div class="yuan">元</div>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleReturn = false">取 消</el-button>
+            <el-button type="primary" @click="editPrice(2)">确 定</el-button>
+          </div>
+        </el-dialog>
+      </template>
+    </BaseHeaderLayout>
+    <el-table class="wenzi" :data="customerList.records" style="width: 100%" height="calc(100% - 110px)">
+      <el-table-column prop="index" label="序号" width="80">
+        <template scope="scope">
+          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+          <span v-else>{{ scope.$index + 1 }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="customerName" label="客户名称">
+        <!-- <template scope="scope">
+            <span
+              v-if="
+                scope.row.customerName == '' || scope.row.customerName == null
+              "
+              >{{ scope.row.compName }}</span
+            >
+            <span
+              v-if="scope.row.compName == '' || scope.row.compName == null"
+              >{{ scope.row.customerName }}</span
+            >
+          </template> -->
+      </el-table-column>
+      <el-table-column prop="compAddress" label="地址"></el-table-column>
+      <el-table-column prop="customerPhone" label="电话"> </el-table-column>
+      <el-table-column width='170' prop="payTaxesCard" label="纳税人识别号">
+        <template scope="scope">
+          <span v-if="
+                scope.row.payTaxesCard == '' || scope.row.payTaxesCard == null
+              ">
+            — —
+          </span>
+          {{ scope.row.payTaxesCard }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="bankDeposit" label="开户行">
+        <template slot-scope="scope">
+          {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="bankCard" label="银行卡号"> </el-table-column>
+      <el-table-column prop="totalDeposit" label="总定金(元)">
+      </el-table-column>
+      <el-table-column width='150' prop="freezingDeposit" label="冻结定金(元)">
+      </el-table-column>
+      <el-table-column width='150' class="table_td" prop="depositRatio" label="定金比例(元/吨)">
+        <template slot-scope="scope">
+          <div class="inputChenge">
+            <!-- readonly -->
+            <el-input v-model="scope.row.depositRatio" v-if="scope.row.identification == 'true'"></el-input>
+            <div v-if="scope.row.identification == 'false'" class="inputs">
+              {{ scope.row.depositRatio }}
+            </div>
+          </div>
+          <img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/edit.png" @click="whether(scope.row)" v-if="scope.row.identification == 'false'"
+            alt="" />
+          <i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
+            v-if="scope.row.identification == 'true'" @click="varietyClick(scope.row)"></i>
+          <!-- <div>—</div> -->
+        </template>
+      </el-table-column>
+
+      <el-table-column prop="updateDate" label="更新时间"> </el-table-column>
+      <el-table-column prop="seller" label="操作" width="280">
+        <template slot-scope="scope">
+          <el-button type="primary" v-hasPermission="
+            `customerManagement.customer.customerInfo.View`
+          " @click="editClick(1, scope.row)">增加定金</el-button>
+          <el-button v-hasPermission="
+            `customerManagement.customer.customerInfo.View`
+          " type="primary" @click="editClick(2, scope.row)">退回定金</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+      :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+    </el-pagination>
+  </div>
+</template>
+<script>
+  import {
+    getList,
+    installDepositRatio,
+    editCustomerInfo,
+  } from '@/model/customer/index'
+  import Pagination from '@/components/Pagination'
+  import WsUpload from '@/components/WsUpload'
+
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      Pagination,
+    },
+    watch: {
+      vesselId(val) {
+        this.getList()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        searchKeyWord: '',
+        outerVisibleDefaultEdit: false,
+        outerVisibleEdit: false,
+        outerVisibleAdd: false,
+        outerVisibleReturn: false,
+        contractType: 2,
+        searchType: 1,
+        // 提交类型
+        submitType: true,
+        size: 10,
+        spanArr: [],
+        depositRatio: '700',
+        id: '',
+        money: '',
+        compId: localStorage.getItem('ws-pf_compId'),
+        deptCircularPage: {},
+        customerList: [],
+        deptBudgetList: {},
+        historyList: [],
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        accessoryTFs: false,
+        customerInfo: {
+          id: '',
+          compId: '',
+          depositRatio: '',
+          flag: '',
+          money: '',
+          totalDeposit: 0,
+          freezingDeposit: 0,
+        },
+        totalDeposit: 0,
+        freezingDeposit: 0,
+      }
+    },
+    activated() {
+      this.getList()
+      this.showType = this.isShow
+    },
+    methods: {
+      //查看//传参
+      nocomplete(row) {
+        this.$router.push({
+          name: 'vehicleDispatchingview',
+          query: {
+            id: row.id,
+          },
+        })
+      },
+      dateFormat(fmt, date) {
+        let ret
+        const opt = {
+          'Y+': date.getFullYear().toString(), // 年
+          'm+': (date.getMonth() + 1).toString(), // 月
+          'd+': date.getDate().toString(), // 日
+          'H+': date.getHours().toString(), // 时
+          // "M+": date.getMinutes().toString(),         // 分
+          // "S+": date.getSeconds().toString()          // 秒
+          // 有其他格式化字符需求可以继续添加,必须转化成字符串
+        }
+        for (let k in opt) {
+          ret = new RegExp('(' + k + ')').exec(fmt)
+          if (ret) {
+            fmt = fmt.replace(
+              ret[1],
+              ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+            )
+          }
+        }
+        return fmt
+      },
+
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+      changestatus(state) {
+        this.searchType = state
+        this.getList()
+      },
+      //修改定金比例
+      varietyClick(row) {
+        if (
+          row.depositRatio < 0 ||
+          row.depositRatio > 100000 ||
+          (String(row.depositRatio).indexOf('.') != -1 &&
+            String(row.depositRatio).length -
+            (String(row.depositRatio).indexOf('.') + 1) >
+            2)
+        ) {
+          this.$message({
+            message: '定金比例输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (row.depositRatio) {
+          if (isNaN(row.depositRatio)) {
+            this.$message({
+              message: '定金比例非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!row.depositRatio) {
+          this.$message({
+            message: '定金比例不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定要修改定金比例?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning',
+          })
+          .then(() => {
+            editCustomerInfo({
+                flag: 0,
+                depositRatio: row.depositRatio,
+                id: row.id,
+              })
+              .toPromise()
+              .then((response) => {
+                this.$notify.success({
+                  title: '成功',
+                  message: '修改成功',
+                })
+                this.getList()
+              })
+              .catch((response) => {})
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      whether(row) {
+        row.identification = 'true'
+      },
+      //列表查询
+      getList() {
+        getList({
+            compId: localStorage.getItem('ws-pf_compId'),
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            searchKeyWord: this.searchKeyWord,
+            customerTypeFlag: this.customerTypeFlag,
+          })
+          .toPromise()
+          .then((response) => {
+            for (var i = 0; i < response.records.length; i++) {
+              response.records[i].identification = 'false'
+            }
+            this.customerList = response
+            this.deptCircularPage.currentPage = response.current
+            this.deptCircularPage.pageSize = response.size
+            this.deptBudgetTotal = response.total
+          })
+      },
+      //设置默认定金比例
+      installRatio() {
+        this.outerVisibleDefaultEdit = true
+      },
+      editDefaultDepositRatio() {
+        if (
+          this.depositRatio < 1 ||
+          this.depositRatio > 100000 ||
+          (String(this.depositRatio).indexOf('.') != -1 &&
+            String(this.depositRatio).length -
+            (String(this.depositRatio).indexOf('.') + 1) >
+            2)
+        ) {
+          this.$message({
+            message: '默认定金比例输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.depositRatio) {
+          if (isNaN(this.depositRatio)) {
+            this.$message({
+              message: '默认定金比例非数字!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.depositRatio) {
+            this.$message({
+              message: '默认定金比例不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          installDepositRatio({
+              compId: localStorage.getItem('ws-pf_compId'),
+              depositRatio: this.depositRatio,
+            })
+            .toPromise()
+            .then((response) => {
+              this.outerVisibleDefaultEdit = false
+              this.getList()
+              this.$message.success('设置默认定金比例成功')
+            })
+        }
+      },
+      //编辑
+      editClick(index, row) {
+        this.id = row.id
+        this.depositRatio = row.depositRatio
+        this.totalDeposit = row.totalDeposit
+        this.freezingDeposit = row.freezingDeposit
+
+        //增加定金
+        if (index == 1) {
+          this.outerVisibleAdd = true
+          this.customerInfo.flag = 1
+        }
+        //退回定金
+        else {
+          this.outerVisibleReturn = true
+          this.customerInfo.flag = 2
+        }
+      },
+      editPrice(asdf) {
+        this.customerInfo.id = this.id
+        this.customerInfo.compId = this.compId
+        this.customerInfo.depositRatio = this.depositRatio
+        this.customerInfo.money = this.money
+        this.customerInfo.totalDeposit = this.totalDeposit
+        this.customerInfo.freezingDeposit = this.freezingDeposit
+
+        //增加定金
+        if (asdf == 1) {
+          if (
+            this.money < 0 ||
+            this.money > 100000000 ||
+            (String(this.money).indexOf('.') != -1 &&
+              String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+          ) {
+            this.$message({
+              message: '增加金额输入错误',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money) {
+            if (isNaN(this.money)) {
+              this.$message({
+                message: '增加金额非数字!',
+                type: 'warning',
+              })
+              return
+            }
+          }
+          if (!this.money) {
+            this.$message({
+              message: '增加金额不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        //退回定金
+        if (asdf == 2) {
+          if (
+            this.money < 0 ||
+            this.money > 100000000 ||
+            (String(this.money).indexOf('.') != -1 &&
+              String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+          ) {
+            this.$message({
+              message: '退回金额输入错误',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money) {
+            if (isNaN(this.money)) {
+              this.$message({
+                message: '退回金额非数字!',
+                type: 'warning',
+              })
+              return
+            }
+          }
+          if (!this.money) {
+            this.$message({
+              message: '退回金额不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money > this.totalDeposit - this.freezingDeposit) {
+            this.$message({
+              message: '退回金额不能大于可退金额!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        editCustomerInfo(this.customerInfo)
+          .toPromise()
+          .then((response) => {
+            this.outerVisibleAdd = false
+            this.outerVisibleReturn = false
+            this.outerVisibleEdit = false
+            this.getList()
+            this.money = ''
+
+            //增加定金
+            if (asdf == 1) {
+              this.$message.success('增加成功')
+            }
+            //退回定金
+            if (asdf == 2) {
+              this.$message.success('退回成功')
+            }
+          })
+      },
+      find() {
+        this.currentPage = 1
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  .connert {
+    width: 90%;
+    margin: 0 auto;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    color: #fff;
+  }
+
+  .el-button--default {
+    color: #8890b1;
+    border-color: #e8eaf1;
+  }
+
+  /deep/.base_header_layout .find.el-button--primary {
+    width: 30px;
+    margin-left: 0;
+    border-top-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+  }
+
+  /deep/.findValue .el-input__inner {
+    border-top-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+  }
+
+  //操作按钮
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+    font-size: 14px;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  //状态样式
+  .executory,
+  .inExecution,
+  .done {
+    width: 6px;
+    height: 6px;
+    display: inline-block;
+    border-radius: 50%;
+    position: relative;
+    top: -1px;
+    font-size: 14px;
+  }
+
+  .executory {
+    background: #ff9f24;
+  }
+
+  .inExecution {
+    background: #5878e8;
+  }
+
+  .done {
+    background: #50cad4;
+  }
+
+  .putstorage.el-button--default,
+  .deliverystorage.el-button--default {
+    border-color: #8890b1;
+    background-color: #fff;
+    color: #8890b1;
+  }
+
+  /deep/.el-table td,
+  /deep/.el-table th.is-leaf {
+    border-right: 1px solid #e9ecf7;
+    text-align: center;
+  }
+
+  /deep/.el-table tr td:first-child,
+  /deep/.el-table tr th.is-leaf:first-child {
+    border-left: 1px solid #e9ecf7;
+  }
+
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  .el-row {
+    height: 60px;
+  }
+
+  .base_header_layout .grid-content {
+    margin-top: 80px;
+  }
+
+  .el-input--small .el-input__inner {
+    margin-left: 20px;
+  }
+
+  .dialog-footer {
+    margin-top: 33px;
+  }
+
+  .el-range-editor--small.el-input__inner {
+    height: 32px;
+    margin: 0 10px;
+  }
+
+  /deep/.el-pagination {
+    text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+  }
+
+  .el-select {
+    width: 30%;
+    margin-right: 10px;
+  }
+
+  /deep/.zengjia .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.xiugai .el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 105%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 95px;
+  }
+
+  /deep/.tuihui .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.dingjin {
+    width: 98px;
+    margin-left: 30px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 90%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 155px;
+    margin-top: 10px;
+  }
+
+  /deep/.addprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.returnprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.yuan {
+    width: 10px;
+    margin-left: 150%;
+    margin-top: -32px;
+  }
+
+  /deep/.addpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.returnpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.typeselect .el-input__inner {
+    color: #8890b1;
+  }
+
+  /deep/.yifudingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+
+  .inputChenge {
+    width: 50%;
+    display: inline-flex;
+  }
+
+  .inputs {
+    margin: 0 auto;
+  }
+
+  /deep/.ketuidingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+</style>

+ 589 - 0
src/views/personnelManagement/checkWorkList.vue

@@ -0,0 +1,589 @@
+//考勤管理
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="10">
+      <template slot="right">
+        <el-select class="warehouse_select" v-model="deptId" placeholder="请选择部门" @change="deptChange"
+          filterable clearable style="margin: 0 10px">
+          <el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">
+          </el-option>
+        </el-select>
+        <el-date-picker style="margin: 0 10px 0 0" value-format="yyyy-MM-dd" v-model="value2" @change="datechange"
+          type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始日期"
+          end-placeholder="结算日期">
+        </el-date-picker>
+        <div></div>
+        <ws-input class='findinput' @keyup.enter.native="find()" v-model="searchKeyWord" placeholder="可按员工姓名查找"
+          clearable maxlength="500" type="input">
+        </ws-input>
+        <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
+        <ws-button class="find" type="primary" @click="find()">
+          <img width="16" height="16" style="vertical-align: text-top; position: relative; top: 0px;left:-8px;"
+            src="../../../public/img/sousuo.png" alt />
+        </ws-button>
+      </template>
+    </BaseHeaderLayout>
+    
+    <div style="height:calc(100% - 130px);overflow-y: scroll;">
+      <el-table
+    :data="tableData"
+    style="width: 100%">
+    <el-table-column type="expand">
+      <template slot-scope="props">
+        <el-table
+    :data="props.row.clockInfoList"
+    stripe
+    style="width: 100%">
+    <el-table-column
+      prop="createDate"
+      label="日期"
+      width="180">
+      <template slot-scope="scope">
+        <span style="margin-left: 10px">{{ scope.row.createDate.split(" ")[0] }}</span>
+      </template>
+
+    </el-table-column>
+    <el-table-column
+      prop="toClockDate"
+      label="上班打卡时间"
+      width="180">
+      <template slot-scope="scope">
+        <span style="margin-left: 10px">{{ scope.row.toClockDate.split(" ")[1] }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column
+      prop="offClockDate"
+      label="下班打卡时间">
+    </el-table-column>
+  </el-table>
+        <!-- <el-form label-position="left" inline class="demo-table-expand">
+          <el-form-item label="商品名称">
+            <span>{{ props.row.name }}</span>
+          </el-form-item>
+          <el-form-item label="所属店铺">
+            <span>{{ props.row.shop }}</span>
+          </el-form-item>
+          <el-form-item label="商品 ID">
+            <span>{{ props.row.id }}</span>
+          </el-form-item>
+          <el-form-item label="店铺 ID">
+            <span>{{ props.row.shopId }}</span>
+          </el-form-item>
+          <el-form-item label="商品分类">
+            <span>{{ props.row.category }}</span>
+          </el-form-item>
+          <el-form-item label="店铺地址">
+            <span>{{ props.row.address }}</span>
+          </el-form-item>
+          <el-form-item label="商品描述">
+            <span>{{ props.row.desc }}</span>
+          </el-form-item>
+        </el-form> -->
+      </template>
+    </el-table-column>
+    <el-table-column
+      label="姓名"
+      prop="empName">
+    </el-table-column>
+    <el-table-column
+      label="部门"
+      prop="dept">
+    </el-table-column>
+    <el-table-column
+      label="手机号"
+      prop="phone">
+    </el-table-column>
+  </el-table>
+</div>
+<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+        :page-sizes="[10, 30, 50, 100, 500, 1000, 9999]" :page-size="pageSize"  layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal"></el-pagination>
+   
+  <!-- <div class="content">
+    <div v-for="(item,index) in tableData">
+      <div class="row">
+        <div>姓名:</div>
+        <div>{{item.empName}}</div>
+      </div>
+      <div class="row">
+        <div>部门:</div>
+        <div>{{item.dept}}</div>
+      </div>
+      <div>考勤列表</div>
+      <div v-for="item1 in item.clockInfoList">
+        <div>
+          <div>
+            上班打卡时间
+          </div>
+          <div>
+            {{item1.toClockDate}}
+          </div>
+        </div>
+        <div>
+          <div>
+            下班打卡时间
+          </div>
+          <div>
+            {{item1.offClockDate}}
+          </div>
+        </div>
+      </div>
+    </div>
+  </div> -->
+</div>
+</template>
+<script>
+  import {
+    getList,
+    getDeptList
+  } from '@/model/personnelManagement/index'
+  import Pagination from '@/components/Pagination'
+  import WsUpload from '@/components/WsUpload'
+
+  export default {
+    components: {
+      WsUpload,
+      Pagination,
+    },
+    data() {
+      return {
+        value2:[],
+        currentPage: 1,
+        pageSize: 10,
+        deptList:[],
+        deptId:'',
+        searchKeyWord:'',
+        tableData: [],
+        deptBudgetTotal: 0,
+      }
+  
+    },
+    activated() {
+      this.getList()
+      this.getDeptList()
+    },
+    mounted() {
+      let date = new Date()
+            // 通过时间戳计算
+            let defalutStartTime = date.getTime() - 7 * 24 * 3600 * 1000 // 转化为时间戳
+            let defalutEndTime = date.getTime()
+            let startDateNs = new Date(defalutStartTime) 
+            let endDateNs = new Date(defalutEndTime)
+            // 月,日 不够10补0
+            defalutStartTime = startDateNs.getFullYear() + '-' + ((startDateNs.getMonth() + 1) >= 10 ? (startDateNs.getMonth() + 1) : '0' + (startDateNs.getMonth() + 1)) + '-' + (startDateNs.getDate() >= 10 ? startDateNs.getDate() : '0' + startDateNs.getDate())
+            defalutEndTime = endDateNs.getFullYear() + '-' + ((endDateNs.getMonth() + 1) >= 10 ? (endDateNs.getMonth() + 1) : '0' + (endDateNs.getMonth() + 1)) + '-' + (endDateNs.getDate() >= 10 ? endDateNs.getDate() : '0' + endDateNs.getDate())
+            this.value2= [defalutStartTime, defalutEndTime]
+    },
+     
+    methods: {
+      load(tree, treeNode, resolve) {
+        setTimeout(() => {
+          resolve([
+            {
+              id: 31,
+              date: '2016-05-01',
+              name: '王小虎',
+              address: '上海市普陀区金沙江路 1519 弄'
+            }, {
+              id: 32,
+              date: '2016-05-01',
+              name: '王小虎',
+              address: '上海市普陀区金沙江路 1519 弄'
+            }
+          ])
+        }, 1000)
+      },
+      datechange() {
+        this.getList()
+      },
+      deptChange(){
+        this.getList()
+      },
+      //查看//传参
+      nocomplete(row) {
+        this.$router.push({
+          name: 'vehicleDispatchingview',
+          query: {
+            id: row.id,
+          },
+        })
+      },
+      dateFormat(fmt, date) {
+        let ret
+        const opt = {
+          'Y+': date.getFullYear().toString(), // 年
+          'm+': (date.getMonth() + 1).toString(), // 月
+          'd+': date.getDate().toString(), // 日
+          'H+': date.getHours().toString(), // 时
+          // "M+": date.getMinutes().toString(),         // 分
+          // "S+": date.getSeconds().toString()          // 秒
+          // 有其他格式化字符需求可以继续添加,必须转化成字符串
+        }
+        for (let k in opt) {
+          ret = new RegExp('(' + k + ')').exec(fmt)
+          if (ret) {
+            fmt = fmt.replace(
+              ret[1],
+              ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+            )
+          }
+        }
+        return fmt
+      },
+
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+      changestatus(state) {
+        this.searchType = state
+        this.getList()
+      },
+      whether(row) {
+        row.identification = 'true'
+      },
+      //列表查询
+      getList() {
+        var startDate = ''
+        var endDate = ''
+        if (this.value2) {
+          startDate = this.value2[0] ? this.value2[0] : ''
+          endDate = this.value2[1] ? this.value2[1] : ''
+        }
+        getList({
+          currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            startDate: startDate,
+            endDate: endDate,
+            searchKeyWord: this.searchKeyWord,
+            compId: localStorage.getItem('ws-pf_compId'),
+            dept:this.deptId
+          })
+          .toPromise()
+          .then((response) => {
+            console.log(response.data)
+            debugger
+            this.tableData = response.records
+            // for (var i = 0; i < response.records.length; i++) {
+            //   response.records[i].identification = 'false'
+            // }
+            // this.customerList = response
+            // this.deptCircularPage.currentPage = response.current
+            // this.deptCircularPage.pageSize = response.size
+            // this.deptBudgetTotal = response.total
+          })
+      },
+      //部门列表查询
+      getDeptList() {
+        getDeptList()
+          .toPromise()
+          .then((response) => {
+            console.log(response)
+            this.deptList = response
+            // for (var i = 0; i < response.records.length; i++) {
+            //   response.records[i].identification = 'false'
+            // }
+            // this.customerList = response
+            // this.deptCircularPage.currentPage = response.current
+            // this.deptCircularPage.pageSize = response.size
+            // this.deptBudgetTotal = response.total
+          })
+      },
+      find() {
+        this.currentPage = 1
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  .content {
+    width: 90%;
+    margin: 0 auto;
+    .row{
+      display: flex;
+    }
+  }
+
+ 
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    color: #fff;
+  }
+
+  .el-button--default {
+    color: #8890b1;
+    border-color: #e8eaf1;
+  }
+
+  /deep/.base_header_layout .find.el-button--primary {
+    width: 30px;
+    margin-left: 0;
+    border-top-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+  }
+
+  /deep/.findValue .el-input__inner {
+    border-top-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+  }
+
+  //操作按钮
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+    font-size: 14px;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  //状态样式
+  .executory,
+  .inExecution,
+  .done {
+    width: 6px;
+    height: 6px;
+    display: inline-block;
+    border-radius: 50%;
+    position: relative;
+    top: -1px;
+    font-size: 14px;
+  }
+
+  .executory {
+    background: #ff9f24;
+  }
+
+  .inExecution {
+    background: #5878e8;
+  }
+
+  .done {
+    background: #50cad4;
+  }
+
+  .putstorage.el-button--default,
+  .deliverystorage.el-button--default {
+    border-color: #8890b1;
+    background-color: #fff;
+    color: #8890b1;
+  }
+
+  /deep/.el-table td,
+  /deep/.el-table th.is-leaf {
+    border-right: 1px solid #e9ecf7;
+    text-align: center;
+  }
+
+  /deep/.el-table tr td:first-child,
+  /deep/.el-table tr th.is-leaf:first-child {
+    border-left: 1px solid #e9ecf7;
+  }
+
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  .el-row {
+    height: 60px;
+  }
+
+  .base_header_layout .grid-content {
+    margin-top: 80px;
+  }
+
+  .el-input--small .el-input__inner {
+    margin-left: 20px;
+  }
+
+  .dialog-footer {
+    margin-top: 33px;
+  }
+
+  .el-range-editor--small.el-input__inner {
+    height: 32px;
+    margin: 0 10px;
+  }
+
+  /deep/.el-pagination {
+    text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+  }
+
+  .el-select {
+    width: 30%;
+    margin-right: 10px;
+  }
+
+  /deep/.zengjia .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.xiugai .el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 105%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 95px;
+  }
+
+  /deep/.tuihui .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.dingjin {
+    width: 98px;
+    margin-left: 30px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 90%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 155px;
+    margin-top: 10px;
+  }
+
+  /deep/.addprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.returnprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.yuan {
+    width: 10px;
+    margin-left: 150%;
+    margin-top: -32px;
+  }
+
+  /deep/.addpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.returnpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.typeselect .el-input__inner {
+    color: #8890b1;
+  }
+
+  /deep/.yifudingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+
+  .inputChenge {
+    width: 50%;
+    display: inline-flex;
+  }
+
+  .inputs {
+    margin: 0 auto;
+  }
+
+  /deep/.ketuidingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+</style>

+ 64 - 0
src/views/personnelManagement/component/router/route.js

@@ -0,0 +1,64 @@
+import Layout from '@/layout/index';
+
+const checkWorkListRouter = {
+    path: '/checkWorkList',
+    component: Layout,
+    redirect: { name: 'checkWorkList' },
+    name: 'checkWorkList',
+    alwaysShow: true, // will always show the root menu
+    meta: {
+        title: '人事管理',
+        module: 'customerManagement.customer.customerInfo',
+        icon: '-kehuguanli'
+    },
+    children: [{
+            path: 'checkWorkList',
+            component: () =>
+                import ( /* webpackChunkName: "applDetail" */ '@/views/personnelManagement/checkWorkList'),
+            name: 'checkWorkList',
+            meta: {
+                title: '考勤管理',
+                shortcutEntrance: 'checkWorkList',
+                module: 'customerManagement.customer.customerInfo',
+                permissicon: [],
+                keepAlive: true,
+                // module: 'procurement.sparepart.applDetail'
+            },
+            // hidden: true
+        },
+        {
+            path: 'leaveList',
+            component: () =>
+                import ( /* webpackChunkName: "applDetail" */ '@/views/personnelManagement/leaveList'),
+            name: 'checkWorkList',
+            meta: {
+                title: '请假管理',
+                shortcutEntrance: 'leaveList',
+                module: 'customerManagement.customer.customerInfo',
+                permissicon: [],
+                keepAlive: true,
+                // module: 'procurement.sparepart.applDetail'
+            },
+            // hidden: true
+        },
+        {
+            path: 'cardReplacementManagement',
+            component: () =>
+                import ( /* webpackChunkName: "applDetail" */ '@/views/personnelManagement/cardReplacementManagement'),
+            name: 'cardReplacementManagement',
+            meta: {
+                title: '补卡管理',
+                shortcutEntrance: 'leaveList',
+                module: 'customerManagement.customer.customerInfo',
+                permissicon: [],
+                keepAlive: true,
+                // module: 'procurement.sparepart.applDetail'
+            },
+            // hidden: true
+        },
+
+
+
+    ],
+};
+export default checkWorkListRouter;

+ 814 - 0
src/views/personnelManagement/leaveList.vue

@@ -0,0 +1,814 @@
+//客户管理
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="8">
+      <template slot="left"> </template>
+      <template slot="left">
+        <ws-input v-model="searchKeyWord" placeholder="可按客户名称、电话查找" clearable maxlength="500" type="input"
+          class="findValue" @keyup.enter.native="find()"></ws-input>
+        <ws-button class="find" type="primary" @click="find()"><img width="16" height="16" style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            " src="../../../public/img/sousuo.png" alt="" /></ws-button>
+
+        <!--设置默认定金比例-->
+        <el-button class="bg-bottom" type="primary" size="small" @click="installRatio()">
+          默认定金比例</el-button>
+        <el-dialog width="25%" title="设置默认定金比例" :visible.sync="outerVisibleDefaultEdit" :append-to-body="true">
+          <div style="width: 50%">
+            <div class="dingjin">定金比例(元/吨)</div>
+            <el-input type="textarea" :rows="2" placeholder="请输入定金比例" v-model="depositRatio">
+            </el-input>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleDefaultEdit = false">取 消</el-button>
+            <el-button type="primary" @click="editDefaultDepositRatio()">确 定</el-button>
+          </div>
+        </el-dialog>
+
+        <!--增加定金-->
+        <el-dialog width="30%" title="增加定金" :visible.sync="outerVisibleAdd" :append-to-body="true">
+          <div class="addprice">
+            已付定金
+            <div class="yifudingjin">
+              <template> {{ this.totalDeposit }} 元 </template>
+            </div>
+          </div>
+          <div class="addpricejine">增加金额</div>
+          <div style="width: 50%" class="zengjia">
+            <el-input type="textarea" :rows="2" maxlength="30" placeholder="请输入本次增加定金金额" v-model="money">
+            </el-input>
+            <div class="yuan">元</div>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleAdd = false">取 消</el-button>
+            <el-button type="primary" @click="editPrice(1)">确 定</el-button>
+          </div>
+        </el-dialog>
+
+        <!--退回定金-->
+        <el-dialog width="30%" title="退回定金" :visible.sync="outerVisibleReturn" :append-to-body="true">
+          <div class="returnprice">
+            可退定金
+            <div class="ketuidingjin">
+              <template>
+                {{ this.totalDeposit - this.freezingDeposit }} 元
+              </template>
+            </div>
+          </div>
+          <div class="returnpricejine">退回金额</div>
+          <div style="width: 50%" class="tuihui">
+            <el-input type="textarea" :rows="2" maxlength="30" placeholder="请输入本次退回定金金额" v-model="money">
+            </el-input>
+            <div class="yuan">元</div>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="outerVisibleReturn = false">取 消</el-button>
+            <el-button type="primary" @click="editPrice(2)">确 定</el-button>
+          </div>
+        </el-dialog>
+      </template>
+    </BaseHeaderLayout>
+    <el-table class="wenzi" :data="customerList.records" style="width: 100%" height="calc(100% - 110px)">
+      <el-table-column prop="index" label="序号" width="80">
+        <template scope="scope">
+          <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+          <span v-else>{{ scope.$index + 1 }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="customerName" label="客户名称">
+        <!-- <template scope="scope">
+            <span
+              v-if="
+                scope.row.customerName == '' || scope.row.customerName == null
+              "
+              >{{ scope.row.compName }}</span
+            >
+            <span
+              v-if="scope.row.compName == '' || scope.row.compName == null"
+              >{{ scope.row.customerName }}</span
+            >
+          </template> -->
+      </el-table-column>
+      <el-table-column prop="compAddress" label="地址"></el-table-column>
+      <el-table-column prop="customerPhone" label="电话"> </el-table-column>
+      <el-table-column width='170' prop="payTaxesCard" label="纳税人识别号">
+        <template scope="scope">
+          <span v-if="
+                scope.row.payTaxesCard == '' || scope.row.payTaxesCard == null
+              ">
+            — —
+          </span>
+          {{ scope.row.payTaxesCard }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="bankDeposit" label="开户行">
+        <template slot-scope="scope">
+          {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="bankCard" label="银行卡号"> </el-table-column>
+      <el-table-column prop="totalDeposit" label="总定金(元)">
+      </el-table-column>
+      <el-table-column width='150' prop="freezingDeposit" label="冻结定金(元)">
+      </el-table-column>
+      <el-table-column width='150' class="table_td" prop="depositRatio" label="定金比例(元/吨)">
+        <template slot-scope="scope">
+          <div class="inputChenge">
+            <!-- readonly -->
+            <el-input v-model="scope.row.depositRatio" v-if="scope.row.identification == 'true'"></el-input>
+            <div v-if="scope.row.identification == 'false'" class="inputs">
+              {{ scope.row.depositRatio }}
+            </div>
+          </div>
+          <img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
+            src="../../../public/img/edit.png" @click="whether(scope.row)" v-if="scope.row.identification == 'false'"
+            alt="" />
+          <i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
+            v-if="scope.row.identification == 'true'" @click="varietyClick(scope.row)"></i>
+          <!-- <div>—</div> -->
+        </template>
+      </el-table-column>
+
+      <el-table-column prop="updateDate" label="更新时间"> </el-table-column>
+      <el-table-column prop="seller" label="操作" width="280">
+        <template slot-scope="scope">
+          <el-button type="primary" v-hasPermission="
+            `customerManagement.customer.customerInfo.View`
+          " @click="editClick(1, scope.row)">增加定金</el-button>
+          <el-button v-hasPermission="
+            `customerManagement.customer.customerInfo.View`
+          " type="primary" @click="editClick(2, scope.row)">退回定金</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
+      :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
+    </el-pagination>
+  </div>
+</template>
+<script>
+  import {
+    getList,
+    installDepositRatio,
+    editCustomerInfo,
+  } from '@/model/customer/index'
+  import Pagination from '@/components/Pagination'
+  import WsUpload from '@/components/WsUpload'
+
+  export default {
+    name: 'viewSpareMoney',
+    components: {
+      WsUpload,
+      Pagination,
+    },
+    watch: {
+      vesselId(val) {
+        this.getList()
+      },
+      isShow(val) {
+        this.showType = val
+      },
+    },
+    data() {
+      return {
+        //弹出框
+        dialogViewSpareMoney: false,
+        dialogApproveFormVisible: false,
+        // 船舶类型
+        monetaryKey: null,
+        // 表格显示数据
+        tableDate: [],
+        // 是否显示
+        showType: true,
+        // 年
+        year: '',
+        currentPage: 1,
+        pageSize: 10,
+        deptBudgetTotal: 0,
+        searchKeyWord: '',
+        outerVisibleDefaultEdit: false,
+        outerVisibleEdit: false,
+        outerVisibleAdd: false,
+        outerVisibleReturn: false,
+        contractType: 2,
+        searchType: 1,
+        // 提交类型
+        submitType: true,
+        size: 10,
+        spanArr: [],
+        depositRatio: '700',
+        id: '',
+        money: '',
+        compId: localStorage.getItem('ws-pf_compId'),
+        deptCircularPage: {},
+        customerList: [],
+        deptBudgetList: {},
+        historyList: [],
+        pickerBeginDateBefore: {
+          disabledDate: (time) => {
+            return time.getTime() > Date.now()
+          },
+        },
+        accessoryTFs: false,
+        customerInfo: {
+          id: '',
+          compId: '',
+          depositRatio: '',
+          flag: '',
+          money: '',
+          totalDeposit: 0,
+          freezingDeposit: 0,
+        },
+        totalDeposit: 0,
+        freezingDeposit: 0,
+      }
+    },
+    activated() {
+      this.getList()
+      this.showType = this.isShow
+    },
+    methods: {
+      //查看//传参
+      nocomplete(row) {
+        this.$router.push({
+          name: 'vehicleDispatchingview',
+          query: {
+            id: row.id,
+          },
+        })
+      },
+      dateFormat(fmt, date) {
+        let ret
+        const opt = {
+          'Y+': date.getFullYear().toString(), // 年
+          'm+': (date.getMonth() + 1).toString(), // 月
+          'd+': date.getDate().toString(), // 日
+          'H+': date.getHours().toString(), // 时
+          // "M+": date.getMinutes().toString(),         // 分
+          // "S+": date.getSeconds().toString()          // 秒
+          // 有其他格式化字符需求可以继续添加,必须转化成字符串
+        }
+        for (let k in opt) {
+          ret = new RegExp('(' + k + ')').exec(fmt)
+          if (ret) {
+            fmt = fmt.replace(
+              ret[1],
+              ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+            )
+          }
+        }
+        return fmt
+      },
+
+      handleClose() {
+        this.accessoryTFs = false
+      },
+      handleSizeChange(val) {
+        console.log(`每页 ${val} 条`)
+        this.pageSize = val
+        this.getList()
+      },
+      handleCurrentChange(val) {
+        this.currentPage = val
+        console.log(`当前页: ${val}`)
+        this.getList()
+      },
+      changestatus(state) {
+        this.searchType = state
+        this.getList()
+      },
+      //修改定金比例
+      varietyClick(row) {
+        if (
+          row.depositRatio < 0 ||
+          row.depositRatio > 100000 ||
+          (String(row.depositRatio).indexOf('.') != -1 &&
+            String(row.depositRatio).length -
+            (String(row.depositRatio).indexOf('.') + 1) >
+            2)
+        ) {
+          this.$message({
+            message: '定金比例输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (row.depositRatio) {
+          if (isNaN(row.depositRatio)) {
+            this.$message({
+              message: '定金比例非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!row.depositRatio) {
+          this.$message({
+            message: '定金比例不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定要修改定金比例?`, {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning',
+          })
+          .then(() => {
+            editCustomerInfo({
+                flag: 0,
+                depositRatio: row.depositRatio,
+                id: row.id,
+              })
+              .toPromise()
+              .then((response) => {
+                this.$notify.success({
+                  title: '成功',
+                  message: '修改成功',
+                })
+                this.getList()
+              })
+              .catch((response) => {})
+          })
+          .catch(() => {
+            return false
+          })
+      },
+      whether(row) {
+        row.identification = 'true'
+      },
+      //列表查询
+      getList() {
+        getList({
+            compId: localStorage.getItem('ws-pf_compId'),
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            searchKeyWord: this.searchKeyWord,
+            customerTypeFlag: this.customerTypeFlag,
+          })
+          .toPromise()
+          .then((response) => {
+            for (var i = 0; i < response.records.length; i++) {
+              response.records[i].identification = 'false'
+            }
+            this.customerList = response
+            this.deptCircularPage.currentPage = response.current
+            this.deptCircularPage.pageSize = response.size
+            this.deptBudgetTotal = response.total
+          })
+      },
+      //设置默认定金比例
+      installRatio() {
+        this.outerVisibleDefaultEdit = true
+      },
+      editDefaultDepositRatio() {
+        if (
+          this.depositRatio < 1 ||
+          this.depositRatio > 100000 ||
+          (String(this.depositRatio).indexOf('.') != -1 &&
+            String(this.depositRatio).length -
+            (String(this.depositRatio).indexOf('.') + 1) >
+            2)
+        ) {
+          this.$message({
+            message: '默认定金比例输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.depositRatio) {
+          if (isNaN(this.depositRatio)) {
+            this.$message({
+              message: '默认定金比例非数字!',
+              type: 'warning',
+            })
+            return
+          }
+          if (!this.depositRatio) {
+            this.$message({
+              message: '默认定金比例不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          installDepositRatio({
+              compId: localStorage.getItem('ws-pf_compId'),
+              depositRatio: this.depositRatio,
+            })
+            .toPromise()
+            .then((response) => {
+              this.outerVisibleDefaultEdit = false
+              this.getList()
+              this.$message.success('设置默认定金比例成功')
+            })
+        }
+      },
+      //编辑
+      editClick(index, row) {
+        this.id = row.id
+        this.depositRatio = row.depositRatio
+        this.totalDeposit = row.totalDeposit
+        this.freezingDeposit = row.freezingDeposit
+
+        //增加定金
+        if (index == 1) {
+          this.outerVisibleAdd = true
+          this.customerInfo.flag = 1
+        }
+        //退回定金
+        else {
+          this.outerVisibleReturn = true
+          this.customerInfo.flag = 2
+        }
+      },
+      editPrice(asdf) {
+        this.customerInfo.id = this.id
+        this.customerInfo.compId = this.compId
+        this.customerInfo.depositRatio = this.depositRatio
+        this.customerInfo.money = this.money
+        this.customerInfo.totalDeposit = this.totalDeposit
+        this.customerInfo.freezingDeposit = this.freezingDeposit
+
+        //增加定金
+        if (asdf == 1) {
+          if (
+            this.money < 0 ||
+            this.money > 100000000 ||
+            (String(this.money).indexOf('.') != -1 &&
+              String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+          ) {
+            this.$message({
+              message: '增加金额输入错误',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money) {
+            if (isNaN(this.money)) {
+              this.$message({
+                message: '增加金额非数字!',
+                type: 'warning',
+              })
+              return
+            }
+          }
+          if (!this.money) {
+            this.$message({
+              message: '增加金额不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        //退回定金
+        if (asdf == 2) {
+          if (
+            this.money < 0 ||
+            this.money > 100000000 ||
+            (String(this.money).indexOf('.') != -1 &&
+              String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+          ) {
+            this.$message({
+              message: '退回金额输入错误',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money) {
+            if (isNaN(this.money)) {
+              this.$message({
+                message: '退回金额非数字!',
+                type: 'warning',
+              })
+              return
+            }
+          }
+          if (!this.money) {
+            this.$message({
+              message: '退回金额不能为空!',
+              type: 'warning',
+            })
+            return
+          }
+          if (this.money > this.totalDeposit - this.freezingDeposit) {
+            this.$message({
+              message: '退回金额不能大于可退金额!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        editCustomerInfo(this.customerInfo)
+          .toPromise()
+          .then((response) => {
+            this.outerVisibleAdd = false
+            this.outerVisibleReturn = false
+            this.outerVisibleEdit = false
+            this.getList()
+            this.money = ''
+
+            //增加定金
+            if (asdf == 1) {
+              this.$message.success('增加成功')
+            }
+            //退回定金
+            if (asdf == 2) {
+              this.$message.success('退回成功')
+            }
+          })
+      },
+      find() {
+        this.currentPage = 1
+        this.getList()
+      },
+    },
+  }
+</script>
+<style lang="scss" scoped>
+  .connert {
+    width: 90%;
+    margin: 0 auto;
+  }
+
+  .vertical-text-left {
+    width: 62px;
+    text-align: right;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    border-color: #5878e8;
+  }
+
+  .el-button--primary {
+    background-color: #5878e8;
+    color: #fff;
+  }
+
+  .el-button--default {
+    color: #8890b1;
+    border-color: #e8eaf1;
+  }
+
+  /deep/.base_header_layout .find.el-button--primary {
+    width: 30px;
+    margin-left: 0;
+    border-top-left-radius: 0px;
+    border-bottom-left-radius: 0px;
+  }
+
+  /deep/.findValue .el-input__inner {
+    border-top-right-radius: 0px;
+    border-bottom-right-radius: 0px;
+  }
+
+  //操作按钮
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+    font-size: 14px;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  //状态样式
+  .executory,
+  .inExecution,
+  .done {
+    width: 6px;
+    height: 6px;
+    display: inline-block;
+    border-radius: 50%;
+    position: relative;
+    top: -1px;
+    font-size: 14px;
+  }
+
+  .executory {
+    background: #ff9f24;
+  }
+
+  .inExecution {
+    background: #5878e8;
+  }
+
+  .done {
+    background: #50cad4;
+  }
+
+  .putstorage.el-button--default,
+  .deliverystorage.el-button--default {
+    border-color: #8890b1;
+    background-color: #fff;
+    color: #8890b1;
+  }
+
+  /deep/.el-table td,
+  /deep/.el-table th.is-leaf {
+    border-right: 1px solid #e9ecf7;
+    text-align: center;
+  }
+
+  /deep/.el-table tr td:first-child,
+  /deep/.el-table tr th.is-leaf:first-child {
+    border-left: 1px solid #e9ecf7;
+  }
+
+  .record,
+  .adjustment {
+    display: inline-block;
+    color: #5878e8;
+    padding: 0 4px !important;
+    position: relative;
+  }
+
+  .record:after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 5px;
+    right: -2px;
+    width: 1px;
+    height: 12px;
+    background: #e9ecf7;
+  }
+
+  .el-row {
+    height: 60px;
+  }
+
+  .base_header_layout .grid-content {
+    margin-top: 80px;
+  }
+
+  .el-input--small .el-input__inner {
+    margin-left: 20px;
+  }
+
+  .dialog-footer {
+    margin-top: 33px;
+  }
+
+  .el-range-editor--small.el-input__inner {
+    height: 32px;
+    margin: 0 10px;
+  }
+
+  /deep/.el-pagination {
+    text-align: center;
+    white-space: nowrap;
+    padding: 2px 5px;
+    color: #303133;
+    font-weight: 700;
+    margin-bottom: 20px;
+  }
+
+  .el-select {
+    width: 30%;
+    margin-right: 10px;
+  }
+
+  /deep/.zengjia .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.xiugai .el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 105%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 95px;
+  }
+
+  /deep/.tuihui .el-textarea__inner {
+    display: block;
+    padding: 13px 9px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 80%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    margin-left: 180px;
+    margin-top: 10px;
+  }
+
+  /deep/.dingjin {
+    width: 98px;
+    margin-left: 30px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.el-textarea__inner {
+    display: block;
+    padding: 13px 17px;
+    line-height: 0.5;
+    box-sizing: border-box;
+    width: 90%;
+    font-size: inherit;
+    color: #606266;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+    margin-left: 155px;
+    margin-top: 10px;
+  }
+
+  /deep/.addprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.returnprice {
+    width: 98px;
+    margin-left: 50px;
+  }
+
+  /deep/.yuan {
+    width: 10px;
+    margin-left: 150%;
+    margin-top: -32px;
+  }
+
+  /deep/.addpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.returnpricejine {
+    width: 98px;
+    margin-left: 50px;
+    margin-bottom: -37px;
+    padding-top: 20px;
+  }
+
+  /deep/.typeselect .el-input__inner {
+    color: #8890b1;
+  }
+
+  /deep/.yifudingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+
+  .inputChenge {
+    width: 50%;
+    display: inline-flex;
+  }
+
+  .inputs {
+    margin: 0 auto;
+  }
+
+  /deep/.ketuidingjin {
+    margin-left: 135px;
+    width: 70px;
+    margin-top: -19px;
+  }
+</style>

+ 89 - 89
src/views/platformAudit/component/routers/route.js

@@ -14,98 +14,98 @@ const platformauditRouter = {
     children: [
 
         // 粮商审核
-        {
-          path: 'grainmerchantreview',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainmerchantreview'),
-          name: 'grainmerchantreview',
-          meta: {
-            title: 'grainmerchantreview',
-            shortcutEntrance: 'grainmerchantreview',
-            module: 'audit.grainMerchant.grainMerchantInfo',
-            permissicon: [],
-            keepAlive: true,
-            _title:'粮商审核'
-          },
-        },
+        // {
+        //   path: 'grainmerchantreview',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainmerchantreview'),
+        //   name: 'grainmerchantreview',
+        //   meta: {
+        //     title: 'grainmerchantreview',
+        //     shortcutEntrance: 'grainmerchantreview',
+        //     module: 'audit.grainMerchant.grainMerchantInfo',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'粮商审核'
+        //   },
+        // },
 
-        //司机审核
-        {
-          path: 'driverreview',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/driverreview'),
-          name: 'driverreview',
-          meta: {
-            title: 'driverreview',
-            shortcutEntrance: 'driverreview',
-            module: 'audit.driverMerchant.driverMerchantInfo',
-            permissicon: [],
-            keepAlive: true,
-            _title:'司机审核'
-          },
-        },
+        // //司机审核
+        // {
+        //   path: 'driverreview',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/driverreview'),
+        //   name: 'driverreview',
+        //   meta: {
+        //     title: 'driverreview',
+        //     shortcutEntrance: 'driverreview',
+        //     module: 'audit.driverMerchant.driverMerchantInfo',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'司机审核'
+        //   },
+        // },
 
-        //采购交易信息审核
-        {
-          path: 'transactioninformationreview',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/transactioninformationreview'),
-          name: 'transactioninformationreview',
-          meta: {
-            title: 'transactioninformationreview',
-            shortcutEntrance: 'transactioninformationreview',
-            module: 'audit.tranMerchant.tranMerchantInfo',
-            permissicon: [],
-            keepAlive: true,
-            _title:'采购信息审核'
-          },
-        },
+        // //采购交易信息审核
+        // {
+        //   path: 'transactioninformationreview',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/transactioninformationreview'),
+        //   name: 'transactioninformationreview',
+        //   meta: {
+        //     title: 'transactioninformationreview',
+        //     shortcutEntrance: 'transactioninformationreview',
+        //     module: 'audit.tranMerchant.tranMerchantInfo',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'采购信息审核'
+        //   },
+        // },
 
-        //销售交易信息审核
-        {
-          path: 'saletransactioninformationreview',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/saletransactioninformationreview'),
-          name: 'saletransactioninformationreview',
-          meta: {
-            title: 'saletransactioninformationreview',
-            shortcutEntrance: 'saletransactioninformationreview',
-            module: 'audit.tranMerchant.tranMerchantInfo',
-            permissicon: [],
-            keepAlive: true,
-            _title:'销售信息审核'
-          },
-        },
-        //粮脉企业审核
-        {
-          path: 'grainpulseenterprisereview',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainpulseenterprisereview'),
-          name: 'grainpulseenterprisereview',
-          meta: {
-            title: 'grainpulseenterprisereview',
-            shortcutEntrance: 'grainpulseenterprisereview',
-            module: 'audit.tranMerchant.tranMerchantInfo',
-            permissicon: [],
-            keepAlive: true,
-            _title:'粮脉企业审核'
-          },
-        },
-        //粮脉动态审核
-        {
-          path: 'grainPulseDynamic',
-          component: () =>
-            import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainPulseDynamic'),
-          name: 'grainPulseDynamic',
-          meta: {
-            title: 'grainPulseDynamic',
-            shortcutEntrance: 'grainPulseDynamic',
-            module: 'audit.grainMerchant.grainMerchantInfo.review',
-            permissicon: [],
-            keepAlive: true,
-            _title:'粮脉动态审核'
-          },
-        },
+        // //销售交易信息审核
+        // {
+        //   path: 'saletransactioninformationreview',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/saletransactioninformationreview'),
+        //   name: 'saletransactioninformationreview',
+        //   meta: {
+        //     title: 'saletransactioninformationreview',
+        //     shortcutEntrance: 'saletransactioninformationreview',
+        //     module: 'audit.tranMerchant.tranMerchantInfo',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'销售信息审核'
+        //   },
+        // },
+        // //粮脉企业审核
+        // {
+        //   path: 'grainpulseenterprisereview',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainpulseenterprisereview'),
+        //   name: 'grainpulseenterprisereview',
+        //   meta: {
+        //     title: 'grainpulseenterprisereview',
+        //     shortcutEntrance: 'grainpulseenterprisereview',
+        //     module: 'audit.tranMerchant.tranMerchantInfo',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'粮脉企业审核'
+        //   },
+        // },
+        // //粮脉动态审核
+        // {
+        //   path: 'grainPulseDynamic',
+        //   component: () =>
+        //     import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/grainPulseDynamic'),
+        //   name: 'grainPulseDynamic',
+        //   meta: {
+        //     title: 'grainPulseDynamic',
+        //     shortcutEntrance: 'grainPulseDynamic',
+        //     module: 'audit.grainMerchant.grainMerchantInfo.review',
+        //     permissicon: [],
+        //     keepAlive: true,
+        //     _title:'粮脉动态审核'
+        //   },
+        // },
     ],
 };
 export default platformauditRouter;