|
@@ -0,0 +1,537 @@
|
|
|
+//客户管理
|
|
|
+<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"
|
|
|
+ ></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: -2px;
|
|
|
+ "
|
|
|
+ src="../../../public/img/sousuo.png"
|
|
|
+ alt=""
|
|
|
+ /></ws-button>
|
|
|
+
|
|
|
+ <!--添加客户-->
|
|
|
+ <ws-button type="primary" @click="customerAdd()"
|
|
|
+ ><img
|
|
|
+ width="13"
|
|
|
+ height="13"
|
|
|
+ style="
|
|
|
+ vertical-align: text-top;
|
|
|
+ position: relative;
|
|
|
+ top: 2px;
|
|
|
+ left: -4px;
|
|
|
+ "
|
|
|
+ src="../../../public/img/header-add.png"
|
|
|
+ alt=""
|
|
|
+ />创建客户</ws-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ <!-- v-hasPermission="`contractManagement.buyContract.buyContractInfo.add`" -->
|
|
|
+ </BaseHeaderLayout>
|
|
|
+ <div>
|
|
|
+ <el-table
|
|
|
+ class="wenzi"
|
|
|
+ :data="customerList.records"
|
|
|
+ style="width: 100%"
|
|
|
+ height="680"
|
|
|
+ >
|
|
|
+ <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="customerType" label="客户类型" width="80"></el-table-column>
|
|
|
+ <el-table-column prop="compName" label="企业名称" width="200"></el-table-column>
|
|
|
+ <el-table-column prop="customerName" label="客户姓名" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="customerPhone" label="电话" width="100"> </el-table-column>
|
|
|
+ <el-table-column prop="totalDeposit" label="定金(元)" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="advancePayment" label="预付金(元)" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="securityDeposit" label="保证金(元)" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="bankCard" label="账号"> </el-table-column>
|
|
|
+ <el-table-column prop="bankDeposit" label="开户行" width="200">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.bankDeposit }} - {{ scope.row.bankDepositBranch }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="payeeName" label="收款人姓名"> </el-table-column>
|
|
|
+ <el-table-column prop="seller" label="操作" width="150">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="medium"
|
|
|
+ type="text"
|
|
|
+ class="record"
|
|
|
+ @click="customerEdit(scope.row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="medium"
|
|
|
+ type="text"
|
|
|
+ class="record"
|
|
|
+ @click="customerDel(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>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import {
|
|
|
+ getCustomerList,
|
|
|
+ delCustomerInfo,
|
|
|
+} from '@/model/customerFundManagement/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: '',
|
|
|
+ contractType: 2,
|
|
|
+ searchType: 1,
|
|
|
+ // 提交类型
|
|
|
+ submitType: true,
|
|
|
+ size: 10,
|
|
|
+ spanArr: [],
|
|
|
+ id: '',
|
|
|
+ money: '',
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
|
+ deptCircularPage: {},
|
|
|
+ customerList: [],
|
|
|
+ deptBudgetList: {},
|
|
|
+ pickerBeginDateBefore: {
|
|
|
+ disabledDate: (time) => {
|
|
|
+ return time.getTime() > Date.now()
|
|
|
+ },
|
|
|
+ },
|
|
|
+ accessoryTFs: false,
|
|
|
+ customerInfo: {
|
|
|
+ id: '',
|
|
|
+ compId: '',
|
|
|
+ flag: '',
|
|
|
+ money: '',
|
|
|
+ totalDeposit: 0,
|
|
|
+ },
|
|
|
+ totalDeposit: 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
|
|
|
+ },
|
|
|
+ customerAdd() {
|
|
|
+ this.$router.push({
|
|
|
+ path: 'customerFundAdd',
|
|
|
+ })
|
|
|
+ },
|
|
|
+ customerEdit(row) {
|
|
|
+ this.$router.push({
|
|
|
+ name: 'customerFundEdit',
|
|
|
+ query: {
|
|
|
+ id: row.id,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ },
|
|
|
+ customerDel(row) {
|
|
|
+ this.$confirm(`客户信息删除后不可恢复,是否确定删除?`, {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ delCustomerInfo({
|
|
|
+ id: row.id,
|
|
|
+ })
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.$notify.success({
|
|
|
+ title: '成功',
|
|
|
+ message: '删除成功',
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ .catch((response) => {})
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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() {
|
|
|
+ getCustomerList({
|
|
|
+ compId: sessionStorage.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
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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 .grid-content.right .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>
|