Commit 2ef2ef05 authored by zhoutong's avatar zhoutong
parents c5e889b6 6b480e73
...@@ -381,6 +381,12 @@ export default { ...@@ -381,6 +381,12 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath path: this.processInstance.processDefinition?.formCustomViewPath
}, },
//佣金付款单审核详情
commissionPaymentDetails:{
component: ()=>import('@/views/ecw/financial/components/commissionPaymentDetails.vue'),
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
}
} }
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim()) console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
return map[this.processInstance.processDefinition.formCustomViewPath.trim()] return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
......
<template> <template>
<div style="padding: 20px"> <div :style="{padding:customerId ? '0px' : '20px'}">
<el-card :title="'客户操作日志'"> <el-card style="margin-bottom: 30px" v-show="!customerId" :title="'客户操作日志'">
<el-descriptions border :column="3"> <el-descriptions border :column="3">
<el-descriptions-item label="订单编号"><el-input v-model="queryForm.orderNo"></el-input></el-descriptions-item> <el-descriptions-item label="订单编号"><el-input :placeholder="$t('请输入订单编号')" v-model="queryForm.orderNo"></el-input></el-descriptions-item>
<el-descriptions-item label="操作人"><el-input v-model="queryForm.operator"></el-input></el-descriptions-item> <el-descriptions-item label="操作人">
<el-descriptions-item label="老客户经理"><el-input v-model="queryForm.oldCustomerService"></el-input></el-descriptions-item> <el-select filterable v-model="queryForm.operator">
<el-descriptions-item label="客户编号"><el-input v-model="queryForm.number"></el-input></el-descriptions-item> <el-option v-for="(item) in allSimplList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
<el-descriptions-item label="新客户经理"><el-input v-model="queryForm.newCustomerService"></el-input></el-descriptions-item> </el-select>
<el-descriptions-item label="客户名称"><el-input v-model="queryForm.name"></el-input></el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="老客户经理">
<el-select filterable v-model="queryForm.oldCustomerService">
<el-option v-for="(item) in customerServiceList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
</el-select>
<!-- <el-input v-model="queryForm.oldCustomerService"></el-input>-->
</el-descriptions-item>
<el-descriptions-item label="客户编号"><el-input :placeholder="$t('请输入客户编号')" v-model="queryForm.number"></el-input></el-descriptions-item>
<el-descriptions-item label="新客户经理">
<el-select clearable filterable v-model="queryForm.newCustomerService">
<el-option v-for="(item) in customerServiceList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
</el-select>
<!-- <el-input v-model="queryForm.newCustomerService"></el-input>-->
</el-descriptions-item>
<el-descriptions-item label="客户名称"><el-input :placeholder="$t('请输入客户名称')" style="width: 45%;" v-model="queryForm.name"></el-input></el-descriptions-item>
<el-descriptions-item label="操作类型"> <el-descriptions-item label="操作类型">
<dict-selector :type="DICT_TYPE.CUSTOMER_OPERATE_TYPE" v-model="queryForm.operateType"> <dict-selector :type="DICT_TYPE.CUSTOMER_OPERATE_TYPE" v-model="queryForm.operateType">
...@@ -41,18 +55,18 @@ ...@@ -41,18 +55,18 @@
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-table style="margin-top: 30px" :data="list"> <el-table :data="list">
<el-table-column label="订单编号" prop="orderNo"></el-table-column> <el-table-column label="订单编号" prop="orderNo"></el-table-column>
<el-table-column label="客户编号" prop="number"></el-table-column> <el-table-column label="客户编号" prop="number"></el-table-column>
<el-table-column label="客户名称" prop="name"></el-table-column> <el-table-column label="客户名称" prop="name"></el-table-column>
<el-table-column label="新客户经理" prop="newCustomerService"> <el-table-column label="新客户经理" prop="newCustomerService">
<template v-slot="{row}"> <template v-slot="{row}">
{{row.newCustomerService ? row.newCustomerService : '/'}} {{row.newCustomerService ? operatorFn(row.newCustomerService) : '/'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="老客户经理" prop="oldCustomerService"> <el-table-column label="老客户经理" prop="oldCustomerService">
<template v-slot="{row}"> <template v-slot="{row}">
{{row.oldCustomerService ? row.oldCustomerService : '/'}} {{row.oldCustomerService ? operatorFn(row.oldCustomerService) : '/'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作类型"> <el-table-column label="操作类型">
...@@ -130,9 +144,16 @@ import {getCustomerOperatelog, getCustomerOperatelogPage} from "@/api/ecw/custom ...@@ -130,9 +144,16 @@ import {getCustomerOperatelog, getCustomerOperatelogPage} from "@/api/ecw/custom
import {parseTime} from "../../../utils/ruoyi"; import {parseTime} from "../../../utils/ruoyi";
import Template from "@/views/cms/template/index.vue"; import Template from "@/views/cms/template/index.vue";
import {DICT_TYPE} from "@/utils/dict"; import {DICT_TYPE} from "@/utils/dict";
import {listAllSimpl} from "@/api/system/user"; import {listAllSimpl, listServiceUser} from "@/api/system/user";
import {number} from "echarts/lib/export";
export default { export default {
name: "customerLog", name: "customerLog",
props:{
customerId:{
type:[Number,String],
default:null,
}
},
computed: { computed: {
DICT_TYPE() { DICT_TYPE() {
return DICT_TYPE return DICT_TYPE
...@@ -150,6 +171,9 @@ export default { ...@@ -150,6 +171,9 @@ export default {
listAllSimpl().then(r => { listAllSimpl().then(r => {
this.allSimplList = r.data this.allSimplList = r.data
}) })
listServiceUser().then(r=>{
this.customerServiceList = r.data;
})
}, },
data(){ data(){
return { return {
...@@ -160,7 +184,8 @@ export default { ...@@ -160,7 +184,8 @@ export default {
total:0, total:0,
show:false, show:false,
allSimplList:[], allSimplList:[],
dataLog:{} dataLog:{},
customerServiceList:[],
} }
}, },
methods:{ methods:{
...@@ -173,7 +198,6 @@ export default { ...@@ -173,7 +198,6 @@ export default {
oldCustomerService:null, oldCustomerService:null,
newCustomerService:null, newCustomerService:null,
operateType:null, operateType:null,
operator:null, operator:null,
orderNo:null, orderNo:null,
newEstimateEnterOpenSeaTime:null, newEstimateEnterOpenSeaTime:null,
...@@ -181,6 +205,7 @@ export default { ...@@ -181,6 +205,7 @@ export default {
beginOldEstimateEnterOpenSeaTime:null, beginOldEstimateEnterOpenSeaTime:null,
endNewEstimateEnterOpenSeaTime:null, endNewEstimateEnterOpenSeaTime:null,
endOldEstimateEnterOpenSeaTime:null, endOldEstimateEnterOpenSeaTime:null,
customerId:this.customerId
} }
}, },
getList(){ getList(){
......
...@@ -427,6 +427,9 @@ ...@@ -427,6 +427,9 @@
</el-table> </el-table>
<pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination> <pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="operationLog" v-if="permissions.includes('ecw:customer:operation-log')" :label="$t('操作日志')" >
<customer-log :customerId="id" v-if="'operationLog' === activeName"></customer-log>
</el-tab-pane>
</el-tabs> </el-tabs>
</el-col> </el-col>
</el-row> </el-row>
...@@ -485,13 +488,15 @@ import Template from "@/views/cms/template"; ...@@ -485,13 +488,15 @@ import Template from "@/views/cms/template";
import {getCreditRulePage} from "@/api/customer/creditRule"; import {getCreditRulePage} from "@/api/customer/creditRule";
import {getCountry} from "@/api/ecw/country" import {getCountry} from "@/api/ecw/country"
import {getCurrencyList} from "@/api/ecw/currency"; import {getCurrencyList} from "@/api/ecw/currency";
import customerLog from "@/views/ecw/customer/customerLog.vue";
export default { export default {
name: 'query', name: 'query',
components: { components: {
Template, Template,
CustomerFollow, CustomerFollow,
CustomerComplaint CustomerComplaint,
customerLog,
}, },
created() { created() {
// 获取币种 // 获取币种
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<el-descriptions-item label="付款金额">{{record.totalAmount}}rmb</el-descriptions-item> <el-descriptions-item label="付款金额">{{record.totalAmount}}rmb</el-descriptions-item>
</el-descriptions> </el-descriptions>
<router-link :to="{path:'/financial/commission-requestFunds',query:{lookId: this.record.id}}"> <router-link :to="{path:'/financial/commission-requestFunds',query:{lookId: this.record.id}}">
<el-button>查看详情</el-button> <el-button type="primary">查看详情</el-button>
</router-link> </router-link>
</div> </div>
</template> </template>
......
...@@ -38,10 +38,7 @@ ...@@ -38,10 +38,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('储位')" prop="orderLocationBackVOList" > <el-table-column :label="$t('储位')" prop="orderLocationBackVOList" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<warehouse-area-select {{getLocationName(row.orderLocationBackVOList)}}
v-model="row.orderLocationBackVOList"
readonly
:order-id="orderId"></warehouse-area-select>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -96,6 +93,15 @@ export default { ...@@ -96,6 +93,15 @@ export default {
this.getOrderWarehouseIn() this.getOrderWarehouseIn()
}, },
methods:{ methods:{
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
let arr = []
locationArr.forEach(item => {
arr.push(`${item.areaName}${item.locationName || ''}`)
})
return Array.from(new Set(arr)).join(",")
},
closeDialog(){ closeDialog(){
this.show = false this.show = false
this.$emit('close'); this.$emit('close');
......
...@@ -202,10 +202,14 @@ ...@@ -202,10 +202,14 @@
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('储位')"> <el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}"> <template slot-scope="{row}">
<warehouse-area-select <!-- <warehouse-area-select
v-if="row.warehouseInInfoVO"
v-model="row.warehouseInInfoVO.orderLocationBackVOList" v-model="row.warehouseInInfoVO.orderLocationBackVOList"
readonly readonly
:order-id="orderId"></warehouse-area-select> :order-id="orderId"></warehouse-area-select> -->
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('快递单号')"> <el-table-column prop="" :label="$t('快递单号')">
...@@ -278,17 +282,26 @@ ...@@ -278,17 +282,26 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('操作日志')" name="five"> <!-- 这个地方v-hasPermi不生效,所以换checkPermi函数检查 -->
<el-tab-pane :label="$t('操作日志')" name="five" v-if="checkPermi(['ecw:order:logs'])">
<el-table :data="logs"> <el-table :data="logs">
<el-table-column :label="$t('时间')"> <el-table-column :label="$t('时间')" width="150">
<template slot-scope="{row}">{{ parseTime(row.createTime) }}</template> <template slot-scope="{row}">{{ parseTime(row.createTime) }}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作人')" prop="creatorName"> </el-table-column> <el-table-column :label="$t('操作人')" prop="creatorName" width="150"> </el-table-column>
<el-table-column :label="$t('操作人类型')"> <el-table-column :label="$t('操作人类型')" width="100">
<template slot-scope="{row}">{{ row.userType == 1 ? $t('会员') : $t('管理员') }}</template> <template slot-scope="{row}">{{ row.userType == 1 ? $t('会员') : $t('管理员') }}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作描述')" prop="msg"></el-table-column> <el-table-column :label="$t('操作描述')" prop="msg" width="300"></el-table-column>
<el-table-column :label="$t('备注')" prop="note"></el-table-column> <el-table-column :label="$t('备注')" prop="note">
<template slot-scope="{row}">
<div v-if="row.note">
<div v-for="item in parseLogNote(row.note)">
{{$t('【{name}】从【{orgValue}】修改为【{newValue}', item)}}
</div>
</div>
</template>
</el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -378,7 +391,7 @@ import WarehouseDetail from './components/WarehouseDetail'; ...@@ -378,7 +391,7 @@ import WarehouseDetail from './components/WarehouseDetail';
import {getProductBrank} from '@/api/ecw/productBrank' import {getProductBrank} from '@/api/ecw/productBrank'
import { parseTime } from '@/utils/ruoyi'; import { parseTime } from '@/utils/ruoyi';
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect" import WarehouseAreaSelect from "@/components/WarehouseAreaSelect"
import {checkPermi} from '@/utils/permission'
export default { export default {
name: "detail", name: "detail",
components: { components: {
...@@ -488,6 +501,16 @@ export default { ...@@ -488,6 +501,16 @@ export default {
console.log('2023-01-14 23:23 看到此消息则表示代码最新') console.log('2023-01-14 23:23 看到此消息则表示代码最新')
}, },
methods: { methods: {
checkPermi, // 检查权限
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
let arr = []
locationArr.forEach(item => {
arr.push(`${item.areaName}${item.locationName || ''}`)
})
return Array.from(new Set(arr)).join(",")
},
// 显示费用详情 // 显示费用详情
showFeeDetail(row, type){ showFeeDetail(row, type){
this.showFeeDetailDialog = true this.showFeeDetailDialog = true
...@@ -611,7 +634,7 @@ export default { ...@@ -611,7 +634,7 @@ export default {
}, },
// 加载操作日志 // 加载操作日志
loadLogs(){ loadLogs(){
operateLogPage({orderId: this.orderIdDICT_TYPE, page: 1, rows: 10000}).then(res => { operateLogPage({orderId: this.orderId, page: 1, rows: 10000}).then(res => {
this.logs = res.data.list this.logs = res.data.list
}) })
}, },
...@@ -626,6 +649,11 @@ export default { ...@@ -626,6 +649,11 @@ export default {
getOrderWarehouseIn(this.order.id).then(res => { getOrderWarehouseIn(this.order.id).then(res => {
this.orderWarehouseIn = res.data this.orderWarehouseIn = res.data
}) })
},
// 解析日志node字段
parseLogNote(note){
if(!note) return []
return JSON.parse(note)
} }
} }
}; };
......
...@@ -20,6 +20,17 @@ ...@@ -20,6 +20,17 @@
<el-input v-model="queryParams.keyword" :placeholder="$t('名称/代码')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.keyword" :placeholder="$t('名称/代码')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('供应商区域')" prop="areaType">
<el-select v-model="queryParams.areaType" placeholder="请选择" clearable="true">
<el-option
v-for="item in areaTypes"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
...@@ -107,6 +118,12 @@ export default { ...@@ -107,6 +118,12 @@ export default {
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
dateRangeCreateTime: [], dateRangeCreateTime: [],
areaTypes:[
{value:0, label:"国内供应商"},
{value:1, label:"国外供应商"}
],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
......
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