Commit 9f220cec authored by dragondean@qq.com's avatar dragondean@qq.com

backup

parents 4602c8aa bf21bf76
......@@ -52,3 +52,12 @@ export function exportOfferExcel(query) {
responseType: 'blob'
})
}
// 更新报价单结果
export function updateOfferResult(data) {
return request({
url: '/ecw/offer/update/result',
method: 'put',
data: data
})
}
\ No newline at end of file
......@@ -93,7 +93,7 @@ export function getCityList(query) {
// 获得进出口城市
export function getTradeCityList(query) {
return request({
url: '/ecw/region/getCityList',
url: '/ecw/region/getTradeCityList',
method: 'get',
params: query
})
......
......@@ -52,3 +52,28 @@ export function exportUserExcel(query) {
responseType: 'blob'
})
}
//操作日志
export function operationLogApi(query){
return request({
url:'/member/user/operation-log/page',
method:'get',
params:query,
})
}
//更新证书
export function seTupdateBackletter(data){
return request({
url:'/member/user/update-backletter',
method:'put',
data:data
})
}
//获取指定用户的实名认证信息
export function memberGetAuthIdcardInfo(query){
return request({
url:'/member/user/get-auth-idcard-info',
method:'get',
params:query,
})
}
......@@ -89,6 +89,8 @@ export const DICT_TYPE = {
ECW_PACKAGE_TYPE: 'packageType', // 包装单位
ECW_DOUBLE_CLEAR: 'double_clear', // 是否双清
ECW_TRADE_TYPE: 'trade_type', // 交货放肆
ECW_OFFER_RESULT: 'offer_result', // 报单结果 赢单 输单
ECW_WAREHOUSING_TYPE: 'warehousing_type', // 入仓类型
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="客户编号" prop="number">
<el-input v-model="queryParams.number" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
......@@ -16,10 +16,7 @@
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="联系方式" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户类别" prop="source">
<el-form-item label="客户来源" prop="source">
<el-select v-model="queryParams.source" placeholder="请选择客户来源" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
......@@ -31,37 +28,19 @@
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="客服来源" prop="customerService">
<el-select v-model="queryParams.customerService" placeholder="请选择跟进客服" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="国家" prop="customerService">
<el-select v-model="queryParams.customerService" placeholder="请选择跟进客服" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="客户状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择客户状态" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="订单角色" prop="department">
<el-form-item label="部门" prop="department">
<el-input v-model="queryParams.department" placeholder="请输入部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="是否出货" prop="department">
<el-input v-model="queryParams.department" placeholder="请输入部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="信用等级" prop="department">
<el-input v-model="queryParams.department" placeholder="请输入部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
......@@ -90,39 +69,47 @@
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.level" />
</template>
</el-table-column>
<el-table-column label="信用等级" align="center" prop="country">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_LEVEL" :value="scope.row.country" />
</template>
</el-table-column>
<el-table-column label="客户状态" align="center" prop="customerService">
<el-table-column label="国家" align="center" prop="country">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.customerService" />
<dict-tag :type="DICT_TYPE.COUNTRY" :value="scope.row.country" />
</template>
</el-table-column>
<el-table-column label="主联系人" align="center" prop="defaultContactName">
<el-table-column label="跟进客服" align="center" prop="customerService" :formatter="customerServiceFn">
</el-table-column>
<el-table-column label="主联系方式" align="center" prop="defaultContactPhone" />
<el-table-column label="常用运输方式" align="center">
<el-table-column label="客户状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<el-table-column label="部门" align="center" prop="department" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
{{parseTime(scope.row.customerService)}}
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="最后跟进客服" align="center" prop="customerService">
</el-table-column>
<el-table-column label="国家" align="center" prop="country">
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">捞取</el-button>
<el-button size="mini" type="text" icon="el-icon-discover" @click="handleDelete(scope.row)">移交</el-button>
<el-button size="mini" type="text" icon="el-icon-folder-add" @click="distribution(scope.row)">移交</el-button>
<el-button size="mini" type="text" icon="el-icon-crop">捞取</el-button>
</template>
</el-table-column>
</el-table>
<!-- 移交 -->
<el-dialog
center
title="客服"
:visible.sync="transferShow"
width="30%">
<div style="width: 100%;min-height: 100px">
<el-radio-group v-model="service">
<el-radio style="margin: 5px;" v-for="(item,index) in customerServiceList" :key="index" :label="item.id">{{item.nickname}}</el-radio>
</el-radio-group>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="transferShow = false">取 消</el-button>
<el-button type="primary" @click="transferFn">确 定</el-button>
</span>
</el-dialog>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
......@@ -130,18 +117,14 @@
</template>
<script>
import { createCustomer, updateCustomer, getCustomer,
getCustomerPage, exportCustomerExcel, getPublicList,handOverCustomer } from "@/api/ecw/customer";
import { createCustomer, updateCustomer, deleteCustomer,handOverCustomer,getPublicList,exportCustomerExcel } from "@/api/ecw/customer";
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import {CommonStatusEnum} from '@/utils/constants'
import { uploadFile } from "@/api/infra/file";
import Template from "@/views/cms/template";
import upload from '@/components/ImageUpload'
import {listServiceUser} from "@/api/system/user";
export default {
name: "oceanCustomer",
name: "customerToBeAssigned",
components: {
Template
upload
},
data() {
return {
......@@ -162,6 +145,7 @@ export default {
// 是否显示弹出层
open: false,
dateRangeCreateTime: [],
customerServiceList:[],
// 查询参数
queryParams: {
pageNo: 1,
......@@ -179,12 +163,32 @@ export default {
// 表单校验
rules: {
name: [{ required: true, message: "客户名称不能为空", trigger: "blur" }],
weightUnit: [{ required: true, message: "重货标准(CBM)不能为空", trigger: "blur" }],
}
country: [{ required: true, message: "国家不能为空", trigger: "blur" }],
level: [{ required: true, message: "客户等级不能为空", trigger: "blur" }],
type: [{ required: true, message: "客户类别不能为空", trigger: "blur" }],
// createTime: [{ required: true, message: "创建时间不能为空", trigger: "blur" }],
source: [{ required: true, message: "客户来源不能为空", trigger: "blur" }],
customerService: [{ required: true, message: "跟进客服不能为空", trigger: "blur" }],
status: [{ required: true, message: "客户状态不能为空", trigger: "blur" }],
founder: [{ required: true, message: "创建人不能为空", trigger: "blur" }],
},
// 网点
nodeList: [],
showLine: false,
service:undefined,//客服
transferData:undefined,//移交数据
transferShow:false,
};
},
created() {
this.getList();
listServiceUser().then(r=>{
console.log(r,'客服');
this.customerServiceList = r.data;
})
// getNodeList().then(r => {
// this.nodeList = r.data
// })
},
methods: {
/** 查询列表 */
......@@ -208,17 +212,41 @@ export default {
/** 表单重置 */
reset() {
this.form = {
beginCreateTime:undefined,//开始创建时间
endCreateTime:undefined,// 结束创建时间
customerService:undefined,//跟进客服
defaultContactName:undefined,//主联系人
defaultContactPhone:undefined,// 主联系电话
department:undefined,//部门
level:undefined,//客户等级
name:undefined,// 客户名称
number:undefined,//客户编号
source:undefined,//客户来源
status:undefined,//客户状态
id: undefined,
number: undefined,
name: undefined,
level: undefined,
country: undefined,
type: undefined,
agentId: undefined,
company: undefined,
address: undefined,
productType: undefined,
productId: undefined,
pickupPoint: undefined,
memberId: undefined,
birthday: undefined,
balance: undefined,
source: undefined,
picture: undefined,
customerService: undefined,
customerContacts: [],
customerLines: [],
promoter: undefined,
status: undefined,
founder: undefined,
department: undefined,
invoiceTitle: undefined,
licenseNumber: undefined,
bank: undefined,
bankNumber: undefined,
project: undefined,
billingAddress: undefined,
billingTell: undefined,
taxRate: undefined,
remarks: undefined,
arrivalConfirm: undefined,
weightUnit: undefined,
};
this.resetForm("form");
},
......@@ -236,22 +264,30 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.$router.push('/customer/edit/0')
// this.reset();
// this.open = true;
// this.title = "添加客户";
},
/** 查看按钮操作 */
handleView(row) {
this.$router.push('/customer/query/' + row.id)
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getCustomer(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户";
});
this.$router.push('/customer/edit/' + row.id)
// this.reset();
// const id = row.id;
// getCustomer(id).then(response => {
// this.form = { ...this.form, ...response.data };
// this.open = true;
// this.title = "修改客户";
// });
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
// return;
}
// 修改的提交
if (this.form.id != null) {
......@@ -270,11 +306,11 @@ export default {
});
});
},
/** 删除按钮操作 */
/** 移交按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认移交客户编号为"' + id + '"的数据项?').then(function() {
return handOverCustomer(id);
this.$modal.confirm('是否确认删除客户编号为"' + id + '"的数据项?').then(function() {
return deleteCustomer(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
......@@ -295,7 +331,36 @@ export default {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
},
//分配客服
distribution(row){
this.transferData = row;
this.transferShow =true;
},
customerServiceFn(val){
if(this.customerServiceList.length > 0){
let index =this.customerServiceList.findIndex(item => item.id === val.customerService);
return index !== -1 ? this.customerServiceList[index]?.nickname :''
}else {
return ''
}
},
transferFn(){
if(!this.service){
return this.$message.warning('请选择跟进客服!');
}
handOverCustomer({
customerServiceId:this.service,
customerId:this.transferData.id
}).then(r=>{
if(r.code === 0){
this.transferShow = false;
this.service = '';
this.getList();
this.$message.success('移交成功!');
}
})
},
}
};
</script>
......@@ -4,7 +4,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-card>
<div slot="header" class="card-title">新建报价单</div>
<el-form-item label="所属人" prop="number">
<el-form-item label="所属人">
<el-radio-group v-model="form.relation">
<el-radio label="1">发件人</el-radio>
<el-radio label="2">收件人</el-radio>
......@@ -76,7 +76,7 @@
<el-card class="mt-10">
<div slot="header" class="card-title">
<div class="card-name">商品信息</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="productList.push({prodAttrIds:[]})"></el-button>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="productList.push({prodAttrArr:[]})"></el-button>
</div>
<el-table :data="productList" border>
<el-table-column label="序号" width="60px" fixed>
......@@ -86,12 +86,12 @@
</el-table-column>
<el-table-column label="中文名" width="160px">
<template slot-scope="{row}">
<product-selector v-model="row.productId" @change="row.goodsType = $event.typeId" />
<product-selector v-model="row.prodtId" @change="row.goodsType = $event.typeId" />
</template>
</el-table-column>
<el-table-column label="英文名" width="160px">
<template slot-scope="{row}">
<product-selector v-model="row.productId" />
<product-selector v-model="row.prodtId" />
</template>
</el-table-column>
<el-table-column label="商品类型" width="160px">
......@@ -143,21 +143,21 @@
</el-table-column>
<el-table-column label="商品特性" width="250px">
<template slot-scope="{row}">
<el-checkbox-group v-model="row.prodAttrIds">
<el-checkbox-group v-model="row.prodAttrArr">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{item.attrName}}</el-checkbox>
</el-checkbox-group>
</template>
</el-table-column>
<el-table-column label="运输方式" width="150px">
<template slot-scope="{row}">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="row.offerTransportId"
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="row.transportId"
@input="if(getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, $event).cssClass != 'channel') row.channelId = null" />
</template>
</el-table-column>
<el-table-column label="出货渠道" width="150px">
<template slot-scope="{row}">
<selector
:disabled="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, row.offerTransportId).cssClass != 'channel'"
:disabled="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, row.transportId).cssClass != 'channel'"
v-model="row.channelId"
:options="channelList"
value-field="channelId"
......@@ -182,10 +182,10 @@
</template>
</el-table-column>
</el-table>
<!--
</el-card>
<el-card class="mt-10">
<div class="card-title" slot="header">费用小计</div>
<el-card class="mt-10"> -->
<div class="card-title" style="padding:20px 0;">费用小计</div>
<el-descriptions :column="4" border>
<el-descriptions-item label="总件数">
......@@ -213,16 +213,19 @@
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10" v-for="(item, index) in transportList" :key="index">
<div class="card-title" slot="header">空运路线</div>
<el-form-item label="空运线路1">
<template v-for="(item, index) in enbedTransports" >
<el-card class="mt-10" :key="index" v-if="!item._disabled">
<div class="card-title" slot="header">{{item.label}}</div>
<el-form-item v-for="(router, routerIndex) in item.routers" :key="routerIndex" :label="item.label.substr(0, 2) + '线路' + (routerIndex + 1)">
<el-col :span="12">
义务 > Alaba
{{getRouterNameById(router.lineId)}}
</el-col>
<el-col :span="12">
出货渠道1: 你猜
<el-col :span="12" v-if="router.channelId">
出货渠道{{routerIndex + 1}}: {{getChannelNameById(router.channelId)}}
</el-col>
</el-form-item>
<!--
<el-form-item label="空运线路1">
<el-col :span="12">
义务 > Alaba
......@@ -230,35 +233,41 @@
<el-col :span="12">
出货渠道1: 你猜
</el-col>
</el-form-item>
<el-form-item label="是否双清">
</el-form-item> -->
<!--1海运拼柜 2海运整柜 3专线空运 4海空联运-->
<el-form-item label="是否双清" v-if="[2,3,4].indexOf(+item.transportId) > -1">
<dict-selector v-model="item.doubleClear" form-type="radio" :type="DICT_TYPE.ECW_DOUBLE_CLEAR" />
</el-form-item>
<el-form-item label="航空公司">
<el-form-item label="航空公司" v-if="[3,4].indexOf(+item.transportId) > -1">
<el-select placeholder="" v-model="item.airlineCompany">
</el-select>
</el-form-item>
<el-form-item label="清关证书">
<el-form-item label="船公司" v-if="[2].indexOf(+item.transportId) > -1">
<el-select placeholder="" v-model="item.airlineCompany">
</el-select>
</el-form-item>
<el-form-item label="清关证书" v-if="[2,3,4].indexOf(+item.transportId) > -1">
<dict-selector v-model="item.customsClearCert" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
</el-form-item>
<el-form-item label="清关证书备注" >
<el-form-item label="清关证书备注" v-if="[2,3,4].indexOf(+item.transportId) > -1">
<el-input v-model="item.remarks" ></el-input>
</el-form-item>
<el-form-item label="是否拆包">
<el-form-item label="是否拆包" v-if="[3,4].indexOf(+item.transportId) > -1">
<dict-selector v-model="item.isUnpack" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
</el-form-item>
<el-form-item label="单票立刻转运">
<el-form-item label="单票立刻转运" v-if="[3,4].indexOf(+item.transportId) > -1">
<dict-selector v-model="item.isSingleTicketTransport" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
<span style="margin-left:10px">注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”</span>
</el-form-item>
<el-form-item label="包装类型">
<dict-selector v-model="item.packageType" form-type="checkbox" :type="DICT_TYPE.ECW_PACKAGE_TYPE" muiltple />
<el-form-item label="包装类型" v-if="[3,4].indexOf(+item.transportId) > -1">
<dict-selector v-model="item.packageType" form-type="checkbox" :type="DICT_TYPE.ECW_PACKAGE_TYPE" multiple />
</el-form-item>
<el-form-item label="包装要求备注">
<el-input v-model="item.remarks" ></el-input>
<el-form-item label="包装要求备注" v-if="[3,4].indexOf(+item.transportId) > -1">
<el-input v-model="item.packageRemarks" ></el-input>
</el-form-item>
</el-card>
</template>
<el-card class="mt-10">
<div class="card-title" slot="header">通用</div>
......@@ -270,7 +279,7 @@
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="form.customsType" form-type="radio" />
</el-descriptions-item>
<el-descriptions-item label="预计结束时间">
<el-date-picker v-model="form.stopTime" placeholder=""></el-date-picker>
<el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-descriptions-item>
<el-descriptions-item label="是否控货">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" formatter="bool" v-model="form.control" form-type="radio" />
......@@ -282,9 +291,9 @@
<el-rate v-model="form.importance"></el-rate>
</el-descriptions-item>
<el-descriptions-item label="价格有效时间">
<el-date-picker v-model="form.startTime" placeholder=""></el-date-picker>
<el-date-picker v-model="form.startTime" placeholder="" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
-
<el-date-picker v-model="form.endTime" placeholder=""></el-date-picker>
<el-date-picker v-model="form.endTime" placeholder="" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-descriptions-item>
<el-descriptions-item label="交货方式">
<!--
......@@ -306,6 +315,9 @@
<el-descriptions-item label="佣金类型" :span="2">
<dict-selector :type="DICT_TYPE.COMMISSION_TYPE" form-type="radio" fomtter="number" v-model="form.commissionType" defaultable />
</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">
<el-input v-model="form.remarks" type="textarea" placeholder=""></el-input>
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -341,23 +353,25 @@ export default {
dateRangeStartTime: [],
dateRangeEndTime: [],
dateRangeCreateTime: [], */
productList:[{prodAttrIds:[]}], // 商品信息
productList:[{prodAttrArr:[]}], // 商品信息
productAttrList:[], // 商品属性
channelList: [], // 出货取到
routerList: [],
tradeCityList: [],
consignor: {}, // 发货人
consignee:{}, // 收货人
transportList: [{}],
transportList: [],
// 表单参数
form: {},
form: {
sendstatus:0
},
// 表单校验
rules: {
number: [{ required: true, message: "报价单号不能为空", trigger: "blur" }],
/* number: [{ required: true, message: "报价单号不能为空", trigger: "blur" }],
consignorId: [{ required: true, message: "客户id,发货人不能为空", trigger: "blur" }],
consigneeId: [{ required: true, message: "收货人id不能为空", trigger: "blur" }],
sendstatus: [{ required: true, message: "站内信状态,0未发送,1已发送不能为空", trigger: "blur" }],
sendstatus: [{ required: true, message: "站内信状态,0未发送,1已发送不能为空", trigger: "blur" }], */
}
};
},
......@@ -371,7 +385,52 @@ export default {
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
// 被启用的货运方式
enbedTransports(){
let transports = []
this.transportList.forEach(item => {
let disabled = true
let lineIds = []
let channelIds = []
let routers = []
this.productList.forEach(prod => {
if(prod.offerTransportId == item.transportId){
disabled = false
routers.push({
lineId: prod.lineId,
channelId: prod.channelId
})
if(prod.lineId)lineIds.push(prod.lineId)
if(prod.channelId)channelIds.push(prod.channelId)
}
})
if(!disabled){
item._disabled = disabled
item.routers = routers
item.lineIds = lineIds.join(',')
item.channelIds = channelIds.join(',')
transports.push(item)
}
})
return transports
},
// 根据线路id显示线路名称
getRouterNameById(){
return routerId => {
let router = this.routerList.find(item => item.id == routerId)
console.log({router})
if(router){
return router.startTitleZh + ' > ' + router.destTitleZh
}
return '-'
}
},
// 根据渠道id显示渠道名
getChannelNameById(){
return channelId => {
return this.channelList.find(item => item.channelId == channelId) ?. nameZh
}
}
},
watch:{
// 始发地
......@@ -384,6 +443,7 @@ export default {
},
// 产品有变动则需要更新运输方式
productList(val){
console.log('productList', val)
let transports = {}
this.productList.forEach(item => {
/* if(!transports[item.offerTransportId]){
......@@ -410,19 +470,17 @@ export default {
})
return routes
},
// 被启用的货运方式
enbedTransports(){
}
},
created() {
getProductAttrList().then(res => this.productAttrList = res.data)
getChannelList().then(res => this.channelList = res.data)
getTradeCityList().then(res => this.tradeCityList = res.data)
this.getDIctDatas(this.DICT_TYPE.ECW_TRANSPORT_TYPE).forEach(res => {
this.getDictDatas(this.DICT_TYPE.ECW_TRANSPORT_TYPE).forEach(res => {
this.transportList.push({
transportId: res.value,
label: res.label,
_disabled: true // 默认禁用
})
})
......@@ -502,9 +560,16 @@ export default {
if (!valid) {
return;
}
let data = Object.assign({}, this.form, {
transportCreateReqVOList: this.enbedTransports,
prodCreateReqVOList: this.productList
})
data.prodCreateReqVOList.map(item => {
item.prodAttrIds = item.prodAttrArr.join(',')
})
// 修改的提交
if (this.form.offerId != null) {
updateOffer(this.form).then(response => {
if (data.offerId != null) {
updateOffer(data).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
......@@ -512,7 +577,7 @@ export default {
return;
}
// 添加的提交
createOffer(this.form).then(response => {
createOffer(data).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
......
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="报价单号" prop="offerId">
<div>{{form.offerId}}</div>
</el-form-item>
<el-form-item label="结果" prop="result">
<dict-selector form-type="radio" :type="DICT_TYPE.ECW_OFFER_RESULT" v-model="form.result" />
</el-form-item>
<template v-if="form.result==1">
<el-form-item label="入仓类型" prop="warehousingType">
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" />
</el-form-item>
<el-form-item label="关联订单" prop="orderIds">
<el-input v-model="form.orderIds" style="width: 206px;"></el-input>
</el-form-item>
</template>
<template v-else>
<el-form-item label="原因" prop="reason">
<el-input style="width: 500px;" type="textarea" placeholder="" v-model="form.reason"></el-input>
</el-form-item>
</template>
<el-form-item>
<el-button type="primary" @click="submitForm">{{form.result==1?"确定并新增草稿订单":"提交"}}</el-button>
<el-button @click="$router.back()">返 回</el-button>
<el-button type="default" @click="reset">重 置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { updateOfferResult } from '@/api/ecw/offer';
import CustomersSelector from '@/components/CustomersSelector'
import RoutersSelector from '@/components/RoutersSelector'
import ProductsSelector from '@/components/ProductsSelector'
import Editor from '@/components/Editor'
import Selector from '@/components/Selector/index'
export default {
name: "AttrEdit",
components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector },
data() {
return {
// 遮罩层
loading: true,
// 表单参数
form: {
"offerId": undefined,
"orderIds": undefined,
"reason": undefined,
"result": 1,
"warehousingType": undefined
},
// 表单校验
rules: {}
};
},
computed: {
},
watch: {
},
created() {
this.reset()
},
methods: {
/** 表单重置 */
reset() {
this.form = {
"offerId": undefined,
"orderIds": undefined,
"reason": undefined,
"result": 1,
"warehousingType": undefined
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (!valid) {
return;
}
let data = Object.assign({}, this.form)
updateOfferResult(data).then((response) => {
this.$modal.msgSuccess("修改成功");
this.$router.back();
});
});
},
},
};
</script>
\ No newline at end of file
......@@ -302,7 +302,7 @@ export default {
}
// 添加的提交
data.productId = this.product.id;
data.lineChannelList = this.lineChannelList
data.lineChannelList = this.selectedRoutes
createProductPrice(data).then(response => {
this.$modal.msgSuccess("请求成功");
this.$router.replace('/product/product-price')
......
......@@ -9,12 +9,12 @@
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select>
</el-form-item>
<el-form-item label="始发地ID" prop="departureId">
<el-input v-model="queryParams.departureId" placeholder="请输入始发地ID" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="目的地ID列表" prop="objectiveIds">
<el-input v-model="queryParams.objectiveIds" placeholder="请输入目的地ID列表" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<!-- <el-form-item label="始发地ID" prop="departureId">-->
<!-- <el-input v-model="queryParams.departureId" placeholder="请输入始发地ID" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="目的地ID列表" prop="objectiveIds">-->
<!-- <el-input v-model="queryParams.objectiveIds" placeholder="请输入目的地ID列表" clearable @keyup.enter.native="handleQuery"/>-->
<!-- </el-form-item>-->
<el-form-item label="创建时间">
<el-date-picker v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
......@@ -40,25 +40,31 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="序号" type="index" width="50px" />
<el-table-column label="重泡货类型" align="center" prop="type">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ZHONG_PAO_TYPE" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="临介值" align="center" prop="edge" />
<el-table-column label="公式" align="center" prop="formulas" />
<el-table-column label="传输方式ids" align="center" prop="transportTypes">
<el-table-column label="传输方式" align="center" prop="transportTypes">
<template slot-scope="scope">
<span v-for="item in scope.row.transportTypes.split(',')"><dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="item" />, </span>
</template>
</el-table-column>
<el-table-column label="始发地ID" align="center" prop="departureId" :formatter="departureFormatter"/>
<el-table-column label="目的地ID列表" align="center" prop="objectiveIds" :formatter="objectiveFormatter"/>
<el-table-column label="始发地" align="center" prop="departureId" :formatter="departureFormatter"/>
<el-table-column label="目的地" align="center" prop="objectiveIds" :formatter="objectiveFormatter"/>
<el-table-column label="临介值标准" align="center" prop="edge" />
<el-table-column label="计算公式" align="center" prop="formulas" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="transportTypes">
<template v-slot="scope">
<el-switch v-model="scope.row.status" @change="handleStatusChange(scope.row)" :active-value="0" :inactive-value="1"></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
......@@ -84,13 +90,13 @@
<el-form-item label="传输方式" prop="transportTypes">
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="form.transportTypes" multiple form-type="checkbox" :filter="transportTypesFilter"></dict-selector>
</el-form-item>
<el-form-item label="始发地ID" prop="departureId">
<el-form-item label="始发地" prop="departureId">
<el-select v-model="form.departureId" placeholder="请选择始发地">
<el-option label="全部" :value="0"></el-option>
<el-option v-for="(item) in warehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地ID列表" prop="objectiveIds">
<el-form-item label="目的地" prop="objectiveIds">
<!-- <el-input v-model="form.objectiveIds" placeholder="请输入目的地ID列表" />-->
<el-select v-model="form.objectiveIds" placeholder="请选择目的地" multiple>
<el-option label="全部" value="0"></el-option>
......@@ -124,6 +130,7 @@ import {parseTime} from "@/utils/ruoyi"
import DictSelector from "@/components/DictSelector"
import {getTradeCityList} from "@/api/ecw/region"
import {getWarehouseList} from "@/api/ecw/warehouse"
import { CommonStatusEnum } from '@/utils/constants'
export default {
name: "ZhongPao",
......@@ -177,6 +184,20 @@ export default {
})
},
methods: {
handleStatusChange(row){
let text = row.status === CommonStatusEnum.ENABLE ? "启用" : "停用";
this.$modal.confirm('确认要' + text + '吗?').then(function() {
return updateZhongPao({
id: row.id,
status: row.status
})
}).then(() => {
this.$modal.msgSuccess(text + "成功");
}).catch(function() {
row.status = row.status === CommonStatusEnum.ENABLE ? CommonStatusEnum.DISABLE
: CommonStatusEnum.ENABLE;
});
},
departureFormatter(row, column, cellValue) {
if (cellValue === 0) return '全部'
return this.warehouseList.find(e => e.id === cellValue)?.titleZh
......
......@@ -4,31 +4,20 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="关键字" prop="nickname">
<el-input v-model="queryParams.nickname" placeholder="请输入用户昵称" clearable @keyup.enter.native="handleQuery"/>
<el-input v-model="queryParams.nickname" placeholder="搜索昵称、姓名、手机、Email" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="性别" prop="avatar">
<el-input v-model="queryParams.avatar" placeholder="请输入头像" clearable @keyup.enter.native="handleQuery"/>
<el-form-item label="成交" prop="mobile">
<el-input v-model="queryParams.mobile" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="成交" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option label="请选择字典生成" value=""/>
</el-select>
<el-form-item label="认证" prop="password">
<el-input v-model="queryParams.password" placeholder="请输入密码" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="认证" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option label="请选择字典生成" value=""/>
</el-select>
</el-form-item>
<el-form-item label="审核状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option label="请选择字典生成" value=""/>
</el-select>
</el-form-item>
<el-form-item>
<el-button>搜索</el-button>
<el-form-item label="审核状态" prop="registerIp">
<el-input v-model="queryParams.registerIp" placeholder="请输入注册 IP" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button>批量导出</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
......@@ -36,217 +25,199 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['member:user:create']">新增
</el-button>
v-hasPermi="['member:user:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
:loading="exportLoading"
v-hasPermi="['member:user:export']">导出
</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['member:user:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table :data="list">
<el-table-column
type="selection"
width="55">
<el-table v-loading="loading" :data="list">
<el-table-column label="公司名称" align="center" prop="enterpriseName" />
<el-table-column label="用户昵称" align="center" prop="nickname" />
<el-table-column label="真实姓名" align="center" prop="identityName" />
<el-table-column label="手机号" show-overflow-tooltip align="center" prop="mobile" >
</el-table-column>
<el-table-column label="公司名称" align="center" prop="id"/>
<el-table-column label="用户名称" align="center" prop="nickname"/>
<el-table-column label="真实姓名" align="center" prop="avatar"/>
<el-table-column label="手机号" align="center" prop="status"/>
<el-table-column label="成交" align="center" prop="mobile"/>
<el-table-column label="认证" align="center" prop="password"/>
<el-table-column label="状态" align="center" prop="registerIp"/>
<el-table-column label="身份证审核状态" align="center" prop="loginIp"/>
<el-table-column label="营业执照审核状态" align="center" prop="loginDate" width="180">
<el-table-column label="成交" align="center" prop="" show-overflow-tooltip />
<el-table-column label="认证" align="center" prop="" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="身份证审核状态" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.identityAuditStatus" ></dict-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column label="营业执照审核状态" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.enterpriseAuditStatus" ></dict-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['member:user:update']">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['member:user:delete']">删除
</el-button>
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope" >
<el-button size="mini" type="text" @click="guarantee(scope.row)">保函/证书</el-button>
<el-button size="mini" type="text" @click="operationLogFn(scope.row)">操作日志</el-button>
<el-button size="mini" type="text" @click="identityFn(scope.row , '1')">身份证</el-button>
<el-button size="mini" type="text" @click="identityFn(scope.row, '2')">营业执照</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 操作日志 -->
<el-dialog
title="操作日志"
:visible.sync="operationShow"
width="70%">
<div>
<el-table>
<el-table-column label="标题" align="center" prop="id"/>
<el-table-column label="操作内容" align="center" prop="id"/>
<el-table-column label="操作人" align="center" prop="id"/>
<el-table-column label="操作时间" align="center" prop="id"/>
<el-table-column label="操作ip" align="center" prop="id"/>
</el-table>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="operationShow = false">取 消</el-button>
<el-button type="primary" @click="operationShow = false">确 定</el-button>
</span>
</el-dialog>
<!--保函,证书 -->
<el-dialog
title="保函/证书"
:visible.sync="certificateShow"
:visible.sync="guaranteeShow"
:before-close="()=>{guaranteeUrl = ''; guaranteeShow = false;}"
width="50%">
<div>
<el-row :gutter="10">
<el-col :span="6"> <el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
multiple
:limit="3">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">可上传图片,pdf文档</div>
</el-upload></el-col>
<el-col :span="6"><el-button>保存</el-button></el-col>
<el-form>
<el-form-item label="保函/证书">
<el-row :gutter="20" type="flex" justify="center" >
<el-col :span="12"><el-input v-model="guaranteeUrl" ></el-input></el-col>
<el-col :span="4"><div style="height: 45px;overflow: hidden;">
<file-upload v-model="guaranteeUrl" :fileType="['png', 'jpg', 'jpeg','pdf']" :limit="1" :isShowTip="false"></file-upload>
</div></el-col>
<el-col :span="6">
<div>可上传图片,pdf文档</div>
</el-col>
</el-row>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="certificateShow = false">取 消</el-button>
<el-button type="primary" @click="certificateShow = false">确 定</el-button>
</span>
</el-form-item>
</el-form>
<div style="text-align: center;"><el-button @click="setGuarantee">保 存</el-button></div>
</el-dialog>
<el-dialog
title="操作日志"
:visible.sync="operationLogShow"
width="50%">
<el-table :data="operationLogList">
<el-table-column label="标题" prop="title"></el-table-column>
<el-table-column label="操作内容" prop="content"></el-table-column>
<el-table-column label="操作人" prop="userId"></el-table-column>
<el-table-column label="操作时间">
<template v-slot:default ="scope">
{{parseTime(scope.row.createTime) }}
</template>
</el-table-column>
<el-table-column label="操作ip" prop="ip"></el-table-column>
</el-table>
</el-dialog>
<el-dialog
title="认证"
:visible.sync="attestationShow"
width="50%">
width="80%">
<div>
<div>
<el-menu class="el-menu-demo" mode="horizontal" :default-active="identitySwitching" @select="handleSelect">
<el-menu-item index="1">身份证</el-menu-item>
<el-menu-item index="2">营业执照</el-menu-item>
</el-menu>
</div>
<div class="authenticationForm" v-if="identitySwitching == 1">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="身份证" name="1">
<div style="width: 500px;padding:0 40px;box-sizing: border-box;">
<el-form label-position="left" label-width="100px">
<el-form-item label="姓名">
<el-input style="width: 200px"></el-input>
<el-input></el-input>
</el-form-item>
<el-form-item label="证件类型">
<dict-selector :type="DICT_TYPE.CERTIFICATE_TYPE" placeholder="请选择证件类型"></dict-selector>
<el-input></el-input>
</el-form-item>
<el-form-item label="证件号码">
<el-input style="width: 200px;"></el-input>
<el-input></el-input>
</el-form-item>
<el-form-item label="证件正面照">
<el-row>
<el-col :span="10">
<el-input style="width: 200px;"></el-input>
</el-col>
<el-col :span="6">
<el-upload>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
<el-col :span="6">
<el-image></el-image>
</el-col>
</el-row>
<div>
<el-input style="margin-bottom: 20px"></el-input>
<ImageUpload :isShowTip="false" :limit="1"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="证件背面照">
<el-row>
<el-col :span="10">
<el-input style="width: 200px;"></el-input>
</el-col>
<el-col :span="6">
<el-upload>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
<el-col :span="6">
<el-image></el-image>
</el-col>
</el-row>
<div>
<el-input style="margin-bottom: 20px"></el-input>
<ImageUpload :isShowTip="false" :limit="1"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="审核状态">
{{}}
</el-form-item>
<el-form-item label="审核时间">
{{}}
</el-form-item>
<el-form-item label="审核状态"></el-form-item>
<el-form-item label="审核时间"></el-form-item>
<el-form-item label="审核备注"></el-form-item>
</el-form>
</div>
<div class="authenticationForm" v-else>
</el-tab-pane>
<el-tab-pane label="营业执照" name="2">
<div style="width: 500px;padding:0 40px;box-sizing: border-box;">
<el-form label-position="left" label-width="100px">
<el-form-item label="企业名称">
<el-input style="width: 200px"></el-input>
<el-input></el-input>
</el-form-item>
<el-form-item label="企业法人">
<el-input style="width: 200px;"></el-input>
<el-input></el-input>
</el-form-item>
<el-form-item label="证件号码">
<el-input style="width: 200px;"></el-input>
<el-input></el-input>
</el-form-item>
<el-form-item label="证件正面照">
<el-row>
<el-col :span="10">
<el-input style="width: 200px;"></el-input>
</el-col>
<el-col :span="6">
<el-upload>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
<el-col :span="6">
<el-image></el-image>
</el-col>
</el-row>
<el-form-item label="证件照">
<div>
<el-input style="margin-bottom: 20px"></el-input>
<ImageUpload :isShowTip="false" :limit="1"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="证件背面照">
<el-row>
<el-col :span="10">
<el-input style="width: 200px;"></el-input>
</el-col>
<el-col :span="6">
<el-upload>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-col>
<el-col :span="6">
<el-image></el-image>
</el-col>
</el-row>
<el-form-item label="附件">
<el-input></el-input>
</el-form-item>
<el-form-item label="审核状态"></el-form-item>
<el-form-item label="审核时间"></el-form-item>
<el-form-item label="审核备注"></el-form-item>
<el-form-item label="审核状态">{{}}</el-form-item>
<el-form-item label="审核时间">{{}}</el-form-item>
</el-form>
</div>
</el-tab-pane>
</el-tabs>
<div style="text-align: center;margin-top: 20px;">
<el-button type="primary">提交审核</el-button>
<el-button>取 消</el-button>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="certificateShow = false">取 消</el-button>
<el-button type="primary" @click="certificateShow = false">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import {createUser, updateUser, deleteUser, getUser, getUserPage, exportUserExcel} from "@/api/member/user";
import {DICT_TYPE} from "@/utils/dict";
import {
createUser,
updateUser,
deleteUser,
getUser,
getUserPage,
exportUserExcel,
operationLogApi,
seTupdateBackletter,
memberGetAuthIdcardInfo
} from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload from "@/components/FileUpload"
import ImageUpload from "@/components/ImageUpload";
import uploadImage from "@/components/UploadImage";
let stateTitle = {
0:'未审核',
1:'审核中',
2:'审核通过',
3:'审核不通过'
}
export default {
name: "User",
components: {},
components: {
FileUpload,
ImageUpload,uploadImage
},
data() {
return {
identitySwitching:"1",
guaranteeUrl:undefined,
DICT_TYPE,
operationShow: false,//操作日志
certificateShow: false,//保函证书,
attestationShow:false,//认证
// audit_status
activeName:"1",
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
......@@ -265,25 +236,33 @@ export default {
queryParams: {
pageNo: 1,
pageSize: 10,
nickname: null,
avatar: null,
status: null,
mobile: null,
password: null,
registerIp: null,
loginIp: null,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:undefined,//审核状态
authType:undefined,//关键字
},
stateTitle,
// 表单参数
form: {},
// 表单校验
rules: {
nickname: [{required: true, message: "用户昵称不能为空", trigger: "blur"}],
avatar: [{required: true, message: "头像不能为空", trigger: "blur"}],
status: [{required: true, message: "状态不能为空", trigger: "blur"}],
mobile: [{required: true, message: "手机号不能为空", trigger: "blur"}],
password: [{required: true, message: "密码不能为空", trigger: "blur"}],
registerIp: [{required: true, message: "注册 IP不能为空", trigger: "blur"}],
}
nickname: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
avatar: [{ required: true, message: "头像不能为空", trigger: "blur" }],
status: [{ required: true, message: "状态不能为空", trigger: "blur" }],
mobile: [{ required: true, message: "手机号不能为空", trigger: "blur" }],
password: [{ required: true, message: "密码不能为空", trigger: "blur" }],
registerIp: [{ required: true, message: "注册 IP不能为空", trigger: "blur" }],
},
publicObj:undefined,
operationLogShow:false,
guaranteeShow:false,
operationLogFrom:{
page:1,
row:10,
userId:undefined
},
operationLogList:[],
attestationShow:false
};
},
created() {
......@@ -292,6 +271,7 @@ export default {
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate');
......@@ -300,6 +280,7 @@ export default {
getUserPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
......@@ -340,15 +321,36 @@ export default {
this.open = true;
this.title = "添加用户";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getUser(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改用户";
});
// 保函证书
guarantee(row) {
this.publicObj = row;
this.guaranteeShow = true;
},
// 操作日志
operationLogFn(row){
this.publicObj = row;
this.operationLogFrom.page = 1;
this.operationLogFrom.userId = row.id
this.operationLogShow = true;
this.operationLogList = [];
this.getOperationLogList();
},
getOperationLogList(){
operationLogApi(this.operationLogFrom).then(r=>{
if(r.code === 0){
this.operationLogList = r.data.list
}
})
},
setGuarantee(){
seTupdateBackletter({userId:this.publicObj.id,backLetter:this.guaranteeUrl}).then(r=>{
if(r.code === 0){
this.guaranteeShow = false;
this.guaranteeUrl = true;
this.$message.success('保存成功');
}
})
},
/** 提交按钮 */
submitForm() {
......@@ -376,13 +378,12 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除用户编号为"' + id + '"的数据项?').then(function () {
this.$modal.confirm('是否确认删除用户编号为"' + id + '"的数据项?').then(function() {
return deleteUser(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
......@@ -399,18 +400,21 @@ export default {
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {
});
}).catch(() => {});
},
handleSelect(val){
console.log(val)
this.identitySwitching = val
identityFn(row,val){
this.attestationShow = true;
this.activeName = val;
this.publicObj = row;
if(val == 1){
this.getIdentityDetails();
}
},
getIdentityDetails(){
memberGetAuthIdcardInfo({userId:this.publicObj.id}).then(r=>{
console.log(r);
})
}
}
};
</script>
<style lang="scss" scoped>
.authenticationForm{
padding-top: 20px;
}
</style>
......@@ -82,7 +82,7 @@
<editor v-model="form.contentZh" :min-height="192"/>
</el-form-item>
<el-form-item label="内容英语" prop="contentEn">
<editor v-model="form.contentZh" :min-height="192"/>
<editor v-model="form.contentEn" :min-height="192"/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment