话术
This commit is contained in:
parent
ee378a357e
commit
bd016ace81
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container" ref="layout">
|
<div class="app-container">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<div class="leftscript" ref="box">
|
<div class="leftscript" ref="box">
|
||||||
@ -21,82 +21,76 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="19" :xs="24">
|
<el-col :span="19" :xs="24"
|
||||||
<div ref="form" class="form">
|
style="height:calc(100vh - 124px);display: flex;flex-wrap: wrap;flex-direction: column;justify-content: space-between;">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
||||||
label-width="68px">
|
label-width="68px">
|
||||||
<el-form-item label="通用话术名称" prop="commonScriptName" label-width="100px">
|
<el-form-item label="通用话术名称" prop="commonScriptName" label-width="100px">
|
||||||
<el-input v-model="queryParams.commonScriptName" placeholder="请输入通用话术名称" clearable
|
<el-input v-model="queryParams.commonScriptName" placeholder="请输入通用话术名称" clearable
|
||||||
@keyup.enter.native="handleQuery" />
|
@keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术名称" prop="scriptName">
|
<el-form-item label="话术名称" prop="scriptName">
|
||||||
<el-input v-model="queryParams.scriptName" placeholder="请输入话术名称" clearable
|
<el-input v-model="queryParams.scriptName" placeholder="请输入话术名称" clearable
|
||||||
@keyup.enter.native="handleQuery" />
|
@keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术ID" prop="scriptId">
|
<el-form-item label="话术ID" prop="scriptId">
|
||||||
<el-input v-model="queryParams.scriptId" placeholder="请输入话术ID" clearable
|
<el-input v-model="queryParams.scriptId" placeholder="请输入话术ID" clearable
|
||||||
@keyup.enter.native="handleQuery" />
|
@keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="平台ID" prop="platformId">
|
<el-form-item label="平台ID" prop="platformId">
|
||||||
<el-input v-model="queryParams.platformId" placeholder="请输入平台ID" clearable
|
<el-input v-model="queryParams.platformId" placeholder="请输入平台ID" clearable
|
||||||
@keyup.enter.native="handleQuery" />
|
@keyup.enter.native="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="话术状态" prop="scriptStatus">
|
<el-form-item label="话术状态" prop="scriptStatus">
|
||||||
<el-select v-model="queryParams.scriptStatus" placeholder="请选择">
|
<el-select v-model="queryParams.scriptStatus" placeholder="请选择">
|
||||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
<el-row :gutter="10" class="mb8">
|
||||||
<div ref="mb8" class="mb8">
|
<el-col :span="1.5">
|
||||||
<el-row :gutter="10" class="">
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||||
<el-col :span="1.5">
|
v-hasPermi="['manage:script:add']">新增</el-button>
|
||||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
</el-col>
|
||||||
v-hasPermi="['manage:script:add']">新增</el-button>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-col>
|
</el-row>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<el-table v-loading="loading" :data="scriptList" @selection-change="handleSelectionChange">
|
||||||
</el-row>
|
<el-table-column label="序号" align="center" prop="sort" type="index" />
|
||||||
</div>
|
|
||||||
<div ref="table">
|
|
||||||
<el-table :max-height="maxTableHeight" v-loading="loading" :data="scriptList"
|
|
||||||
@selection-change="handleSelectionChange">
|
|
||||||
<el-table-column label="序号" align="center" prop="sort" type="index" />
|
|
||||||
|
|
||||||
<el-table-column label="通用话术名称" align="center" prop="commonScriptName" :show-overflow-tooltip="true" />
|
<el-table-column label="通用话术名称" align="center" prop="commonScriptName" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="话术名称" align="center" prop="scriptName" :show-overflow-tooltip="true" />
|
<el-table-column label="话术名称" align="center" prop="scriptName" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="话术ID" align="center" prop="scriptId" :show-overflow-tooltip="true" />
|
<el-table-column label="话术ID" align="center" prop="scriptId" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="平台ID" align="center" prop="platformId" :show-overflow-tooltip="true" />
|
<el-table-column label="平台ID" align="center" prop="platformId" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="话术状态" align="center" prop="scriptStatus">
|
<el-table-column label="话术状态" align="center" prop="scriptStatus">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.scriptStatus == "NORMAL" ? "正常" : "" }}
|
{{ scope.row.scriptStatus == "NORMAL" ? "正常" : "" }}
|
||||||
{{ scope.row.scriptStatus == "OFF_SHELF" ? "下架" : "" }}
|
{{ scope.row.scriptStatus == "OFF_SHELF" ? "下架" : "" }}
|
||||||
{{ scope.row.scriptStatus == "SUSPEND" ? "暂停" : "" }}
|
{{ scope.row.scriptStatus == "SUSPEND" ? "暂停" : "" }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="话术简介" align="center" prop="scriptIntroduction" :show-overflow-tooltip="true" />
|
<el-table-column label="话术简介" align="center" prop="scriptIntroduction" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" :show-overflow-tooltip="true" />
|
<el-table-column label="病种名称" align="center" prop="diseaseTypeName" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-search" @click="handlesee(scope.row)">预览</el-button>
|
<el-button size="mini" type="text" icon="el-icon-folder-delete" v-if="scope.row.releaseStatus == 'PUBLISHED'"
|
||||||
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="see(scope.row)">话术</el-button>
|
@click="norelease(scope.row)">取消发布</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-picture-outline"
|
<el-button size="mini" icon="el-icon-folder-checked" type="text" v-else @click="release(scope.row)">发布</el-button>
|
||||||
@click="seescript(scope.row)">话术预览</el-button>
|
<el-button size="mini" type="text" icon="el-icon-search" @click="handlesee(scope.row)">预览</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="see(scope.row)">话术</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-picture-outline" @click="seescript(scope.row)">话术预览</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['manage:script:edit']">修改</el-button>
|
v-hasPermi="['manage:script:edit']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['manage:script:remove']">删除</el-button>
|
v-hasPermi="['manage:script:remove']">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
|
||||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||||
:limit.sync="queryParams.pageSize" @pagination="getList" />
|
:limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -252,7 +246,6 @@ export default {
|
|||||||
name: "Script",
|
name: "Script",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
maxTableHeight: undefined,
|
|
||||||
obj: null,
|
obj: null,
|
||||||
itemname: null,
|
itemname: null,
|
||||||
departmentName: null,
|
departmentName: null,
|
||||||
@ -448,10 +441,6 @@ export default {
|
|||||||
this.Departmentlist();
|
this.Departmentlist();
|
||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.getMaxTableHeight()
|
|
||||||
this.screenChange()
|
|
||||||
},
|
|
||||||
watch: {
|
watch: {
|
||||||
name(val) {
|
name(val) {
|
||||||
this.querydepartmen.departmentName = val
|
this.querydepartmen.departmentName = val
|
||||||
@ -513,6 +502,40 @@ export default {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//发布
|
||||||
|
release(item) {
|
||||||
|
this.$confirm('是否发布此话术?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
}).then(() => {
|
||||||
|
var obj = { ...item }
|
||||||
|
obj.releaseStatus = 'PUBLISHED'
|
||||||
|
editReleaseStatus(obj).then(response => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '发布成功!'
|
||||||
|
});
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//取消发布
|
||||||
|
norelease(item) {
|
||||||
|
this.$confirm('是否取消发布此话术?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
}).then(() => {
|
||||||
|
var obj = { ...item }
|
||||||
|
obj.releaseStatus = 'REVOKE'
|
||||||
|
editReleaseStatus(obj).then(response => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '取消发布成功!'
|
||||||
|
});
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 预览关闭
|
// 预览关闭
|
||||||
@ -834,30 +857,7 @@ export default {
|
|||||||
this.download('manage/script/export', {
|
this.download('manage/script/export', {
|
||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `script_${new Date().getTime()}.xlsx`)
|
}, `script_${new Date().getTime()}.xlsx`)
|
||||||
},
|
}
|
||||||
// 获取表格最高高度
|
|
||||||
getMaxTableHeight() {
|
|
||||||
const windowInnerHeight = window.innerHeight // 屏幕可视高度
|
|
||||||
const layoutDiv = this.$refs.layout
|
|
||||||
const formDiv = this.$refs.form
|
|
||||||
const mb8Div = this.$refs.mb8
|
|
||||||
this.maxTableHeight =
|
|
||||||
windowInnerHeight - 134 -
|
|
||||||
this.getBoxPadding(layoutDiv) -
|
|
||||||
this.getBoxHeight(mb8Div) -
|
|
||||||
this.getBoxHeight(formDiv)
|
|
||||||
},
|
|
||||||
// 屏幕resize监听
|
|
||||||
screenChange() {
|
|
||||||
// 屏幕resize监听事件:一旦屏幕宽高发生变化,就会执行resize
|
|
||||||
window.addEventListener('resize', this.getMaxTableHeight, true)
|
|
||||||
// 将屏幕监听事件移除
|
|
||||||
// 这步是必须的。离开页面时不移除,再返回,或者进入到别的有相同元素的页面会报错
|
|
||||||
// 或者将这里的方法直接写在beforeDestroy函数中也可以
|
|
||||||
this.$once('hook:beforeDestroy', () => {
|
|
||||||
window.removeEventListener('resize', this.getMaxTableHeight, true)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -921,12 +921,4 @@ export default {
|
|||||||
left: 20px;
|
left: 20px;
|
||||||
top: -11px;
|
top: -11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-container {
|
|
||||||
padding: 20px 0 0 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .el-row {
|
|
||||||
height: 100% !important;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user