Commit 07e3a6e6 authored by honghy's avatar honghy

需求116 后台-集运-包裹列表-操作-跟进

parent 4dc7f2ef
......@@ -70,11 +70,8 @@ export default {
})
let p = this.specialNeedsList.filter(i => this.advanceType.indexOf(i.advanceType) > -1)
let p1 = []
console.log(111111111111111111111111111111111111)
console.log(this.echoList)
console.log(p)
console.log(this.specialNeedsList)
console.log(111111111111111111111111111111111111)
//获取新增的和修改的
p.forEach(item => {
......
......@@ -282,7 +282,7 @@
<SpecialNeedsCons :showSpecialNeedsCons.sync="showSpecialNeedsCons" :currency="JSON.stringify(currencyList)" :consId="id" :consNum="consNum" @determine="getList"></SpecialNeedsCons>
<SpecialNeedsConsLook :showSpecialNeedsConsLook.sync="showSpecialNeedsConsLook" :consNum="consNum" :consId="id"></SpecialNeedsConsLook>
<fee-application-cons v-if="feeApplicationBol" :consId="id" :currencys="JSON.stringify(currencyList)" :dialog-visible.sync="feeApplicationBol "@refresh="getList"></fee-application-cons>
<ConsFollowupEdit :showConsFollowupEdit.sync="showConsFollowupEdit" :id="id" @determine="getList"></ConsFollowupEdit>
<ConsFollowupEdit :showConsFollowupEdit.sync="showConsFollowupEdit" :consId="id" @determine="getList"></ConsFollowupEdit>
<batch-sign-off :showConsBatchSignOff.sync="showConsBatchSignOff" @determine="getList" :consIds="consIds"></batch-sign-off>
</div>
</template>
......
<template>
<el-dialog :title="cons.consNum+'-'+cons.customerNumber+'-'+$t('跟进记录')" :before-close="()=>{$emit('update:showConsFollowupEdit',false)}"
<el-dialog :title="cons.consNum+'-'+cons.customerNumber+'-'+$t('跟进记录')"
:before-close="()=>{$emit('update:showConsFollowupEdit',false)}"
:visible.sync="showConsFollowupEdit">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="状态" prop="status">
<dict-selector :placeholder="$t('请选择状态')" v-model="form.status"
:type="DICT_TYPE.ECW_CONS_FOLLOWUP_STATUS"></dict-selector>
</el-form-item>
<el-form-item label="跟进内容">
<el-input type="textarea" v-model="form.followContent" :rows="6" />
<el-form-item label="跟进内容" prop="followContent">
<el-input type="textarea" v-model="form.followContent" :rows="3" />
</el-form-item>
<el-form-item label="下次跟进时间" prop="nextFollowTime">
<el-date-picker clearable v-model="form.nextFollowTime" type="date" value-format="yyyy-MM-dd"
placeholder="选择下次跟进时间" />
</el-form-item>
<el-form-item label="下次跟进内容">
<el-input type="textarea" v-model="form.nextFollowContent" :rows="6" />
<el-form-item label="下次跟进内容" prop="nextFollowContent">
<el-input type="textarea" v-model="form.nextFollowContent" :rows="3" />
</el-form-item>
<el-form-item :label="$t('图片')">
......@@ -50,20 +51,24 @@
<el-row>
<el-col :span="12">
<el-form-item label="创建人">
{{form.creatorName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建时间">
{{form.createTime}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="最后更新人">
{{form.updaterName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最后更新时间">
{{form.updateTime}}
</el-form-item>
</el-col>
</el-row>
......@@ -81,23 +86,30 @@ import imageUpload from "@/components/ImageUpload/index.vue"
import Editor from "@/components/Editor/index.vue"
import { getCons } from "@/api/ecw/cons"
import { listSimpleUsers } from "@/api/system/user"
import { createConsFollowup } from "@/api/ecw/consFollowup"
import { createConsFollowup, getConsFollowup, updateConsFollowup } from "@/api/ecw/consFollowup"
export default {
name: "consFollowupEdit",
components: { Editor, imageUpload },
props: {
id: Number,
showConsFollowupEdit: Boolean
showConsFollowupEdit: Boolean,
consId: Number
},
data() {
return {
form: {
exceptionUrls: [],
exceptionUrls: []
},
rules: {
status: [
{ required: true, message: "请选择状态", trigger: "blur" }
],
followContent: [
{ max: 500, message: "500max", trigger: "blur" }
],
nextFollowContent: [
{ max: 500, message: "500max", trigger: "blur" }
]
},
cons: {},
......@@ -108,13 +120,25 @@ export default {
submitForm() {
this.$refs.form.validate(validate => {
if (validate) {
this.form.exceptionUrls = this.params.exceptionUrls.length ? this.params.exceptionUrls.split(",") : []
this.form.mediaBusinessType = 2
createConsFollowup(this.form).then(response => {
this.showConsFollowupEdit = false
if(this.consId) {
var parmas = JSON.parse(JSON.stringify(this.form))
parmas.exceptionUrls = parmas.exceptionUrls.length ? parmas.exceptionUrls.split(",") : []
parmas.mediaBusinessType = 2
createConsFollowup(parmas).then(response => {
this.$emit("update:showConsFollowupEdit", false)
this.$emit("determine")
this.$modal.msgSuccess("新增成功")
})
} else {
var parmas = JSON.parse(JSON.stringify(this.form))
parmas.exceptionUrls = parmas.exceptionUrls.length ? parmas.exceptionUrls.split(",") : []
parmas.mediaBusinessType = 2
updateConsFollowup(parmas).then(response => {
this.$emit("update:showConsFollowupEdit", false)
this.$emit("determine")
this.$modal.msgSuccess("修改成功")
})
}
}
})
}
......@@ -122,15 +146,39 @@ export default {
watch: {
showConsFollowupEdit(val) {
if (val) {
getCons(this.id).then(res => {
listSimpleUsers().then((r) => {
this.userServiceList = r.data
})
if (this.consId) {
getCons(this.consId).then(res => {
this.cons = res.data
})
listSimpleUsers().then((r) => {
this.userServiceList = r.data;
});
// 获取当前时间精确至[年、月、日、时、分、秒]
var now = new Date()
var year = now.getFullYear()
var month = now.getMonth()
var date = now.getDate()
month = month + 1
month = month.toString().padStart(2, '0')
date = date.toString().padStart(2, '0')
var defaultDate = `${year}-${month}-${date}`
this.$set(this.form, "followTime", defaultDate)
this.$set(this.form, "consId", this.consId)
this.$set(this.form, "followUserId", this.$store.state.user.id)
} else if (this.id) {
getConsFollowup(this.id).then(res => {
var data = res.data
data.exceptionUrls = data.exceptionUrls && data.exceptionUrls.length > 0 ? data.exceptionUrls.join(',') : '';
this.form = data
this.$set(this.form, "status", data.status+'')
this.cons.consNum = data.consNum
this.cons.customerNumber = data.customerNumber
})
}
} else {
this.exceptionUrls = []
this.form = {}
this.form = {
exceptionUrls: []
}
}
}
}
......
......@@ -3,35 +3,66 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="包裹ID" prop="consId">
<el-input v-model="queryParams.consId" placeholder="请输入包裹ID" clearable @keyup.enter.native="handleQuery" />
<el-form-item label="快递单号" prop="consNum">
<el-input v-model="queryParams.consNum" placeholder="请输入快递单号" clearable/>
</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 label="客户" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户" clearable/>
</el-form-item>
<el-form-item label="跟进编号" prop="followNumber">
<el-input v-model="queryParams.followNumber"
placeholder="请输入跟进编号" clearable
@keyup.enter.native="handleQuery" />
<el-form-item label="联系方式" prop="relationPhone">
<el-input v-model="queryParams.relationPhone" placeholder="请输入联系方式" clearable/>
</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="状态">
<dict-selector :type="DICT_TYPE.ECW_CONS_FOLLOWUP_STATUS" v-model="queryParams.statusList" multiple class="w-200" />
</el-form-item>
<el-form-item label="跟进时间">
<el-date-picker v-model="dateRangeFollowTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="跟进人" prop="followUserId">
<el-input v-model="queryParams.followUserId" placeholder="请输入跟进人" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="下次跟进时间">
<el-date-picker v-model="dateRangeNextFollowTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="跟进编号" prop="followNumber">
<el-input v-model="queryParams.followNumber"
placeholder="请输入跟进编号" clearable />
</el-form-item>
<el-form-item label="跟进人" prop="followUserId">
<el-select
v-model="queryParams.followUserId"
:placeholder="$t('请选择')"
clearable
filterable
size="small"
>
<el-option
v-for="dict in userServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="creator">
<el-select
v-model="queryParams.creator"
:placeholder="$t('请选择')"
clearable
filterable
size="small"
>
<el-option
v-for="dict in userServiceList"
:key="dict.id"
:label="dict.nickname"
:value="dict.id"
/>
</el-select>
</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>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
......@@ -40,71 +71,64 @@
<!-- 操作工具栏 -->
<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="['ecw:cons-followup: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="['ecw:cons-followup:export']">导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="包裹ID" align="center" prop="consId" />
<el-table-column label="" align="center" prop="createTime" width="180">
<el-table-column label="快递单号" align="center" prop="consNum" />
<el-table-column label="客户" align="center" prop="customerName" />
<el-table-column label="联系方式" align="center" prop="relationPhone" />
<el-table-column label="跟进时间" align="center" prop="followTime" />
<el-table-column :label="$t('状态')" align="center" >
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
<dict-tag :type="DICT_TYPE.ECW_CONS_FOLLOWUP_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="跟进编号" align="center" prop="followNumber" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="跟进内容" align="center" prop="followContent" />
<el-table-column label="跟进时间" align="center" prop="followTime" />
<el-table-column label="跟进人" align="center" prop="followUserId" />
<el-table-column label="下次跟进时间" align="center" prop="nextFollowTime" width="180">
<el-table-column label="内容" align="center" prop="followContent" />
<el-table-column label="跟进人" align="center" prop="followUserName" />
<el-table-column label="下次跟进时间" align="center" prop="followTime" />
<el-table-column label="下次跟进内容" align="center" prop="nextFollowContent" />
<el-table-column label="创建人" align="center" prop="creatorName" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.nextFollowTime) }}</span>
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="下次跟进内容" align="center" prop="nextFollowContent" />
<el-table-column label="跟进编号" align="center" prop="followNumber" />
<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)"
v-hasPermi="['ecw:cons-followup:update']">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:cons-followup:delete']">删除
</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" />
<ConsFollowupEdit :showConsFollowupEdit.sync="showConsFollowupEdit" :id="id" @determine="getList"></ConsFollowupEdit>
</div>
</template>
<script>
import {
createConsFollowup,
updateConsFollowup,
deleteConsFollowup,
getConsFollowup,
getConsFollowupPage,
exportConsFollowupExcel
} from "@/api/ecw/consFollowup"
import Editor from "@/components/Editor"
import ConsFollowupEdit from "@/views/ecw/consFollowup/components/ConsFollowupEdit.vue"
import Template from "@/views/cms/template/index.vue"
import { listSimpleUsers } from "@/api/system/user"
export default {
name: "ConsFollowup",
components: {
Template,
ConsFollowupEdit,
Editor
},
data() {
......@@ -130,23 +154,24 @@ export default {
queryParams: {
pageNo: 1,
pageSize: 10,
consId: null,
followNumber: null,
consNum: null,
customerName: null,
status: null,
followContent: null,
relationPhone: null,
followUserId: null,
nextFollowContent: null
nextFollowContent: null,
statusList: []
},
// 表单参数
form: {},
// 表单校验
rules: {
consId: [{ required: true, message: "包裹ID不能为空", trigger: "blur" }]
}
showConsFollowupEdit: false,
userServiceList: [],
id: null
}
},
created() {
this.getList()
listSimpleUsers().then((r) => {
this.userServiceList = r.data
})
},
methods: {
/** 查询列表 */
......@@ -197,44 +222,10 @@ export default {
this.resetForm("queryForm")
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加操作跟进"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id
getConsFollowup(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改操作跟进"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return
}
// 修改的提交
if (this.form.id != null) {
updateConsFollowup(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
return
}
// 添加的提交
createConsFollowup(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false
this.getList()
})
})
this.id = row.id
this.showConsFollowupEdit = true
},
/** 删除按钮操作 */
handleDelete(row) {
......
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