|
@@ -2,14 +2,14 @@
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
<el-form-item label="企微公司" prop="corpId">
|
|
|
- <el-select v-model="queryParams.corpId" placeholder="企微公司" size="small" @change="updateCorpId()">
|
|
|
- <el-option
|
|
|
- v-for="dict in myQwCompanyList"
|
|
|
- :key="dict.dictValue"
|
|
|
- :label="dict.dictLabel"
|
|
|
- :value="dict.dictValue"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <el-select v-model="queryParams.corpId" placeholder="企微公司" size="small" @change="updateCorpId()">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in myQwCompanyList"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="名称" prop="name">
|
|
|
<el-input
|
|
@@ -35,7 +35,8 @@
|
|
|
size="mini"
|
|
|
@click="handleSync"
|
|
|
v-hasPermi="['qw:tagGroup:sync']"
|
|
|
- >同步</el-button>
|
|
|
+ >同步
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -45,7 +46,8 @@
|
|
|
size="mini"
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['qw:tagGroup:add']"
|
|
|
- >新增</el-button>
|
|
|
+ >新增
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -56,7 +58,8 @@
|
|
|
:disabled="single"
|
|
|
@click="handleUpdate"
|
|
|
v-hasPermi="['qw:tagGroup:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -67,7 +70,8 @@
|
|
|
:disabled="multiple"
|
|
|
@click="handleDelete"
|
|
|
v-hasPermi="['qw:tagGroup:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
@@ -78,13 +82,14 @@
|
|
|
:loading="exportLoading"
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['qw:tagGroup:export']"
|
|
|
- >导出</el-button>
|
|
|
+ >导出
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="tagGroupList" @selection-change="handleSelectionChange" border>
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column type="selection" width="55" align="center"/>
|
|
|
|
|
|
<el-table-column label="来源" align="center" prop="groupFrom">
|
|
|
<template slot-scope="scope">
|
|
@@ -92,11 +97,12 @@
|
|
|
<span v-else>其他创建</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="名称" align="center" prop="name" />
|
|
|
- <el-table-column label="排序" align="center" prop="order" />
|
|
|
- <el-table-column label="标签" align="center" prop="tag" >
|
|
|
- <template slot-scope="scope" >
|
|
|
- <el-tag type="success" v-for="i in scope.row.tag" :key="i.id" style="margin: 2px 5px 0 0;">{{i.name}}</el-tag>
|
|
|
+ <el-table-column label="名称" align="center" prop="name"/>
|
|
|
+ <el-table-column label="排序" align="center" prop="order"/>
|
|
|
+ <el-table-column label="标签" align="center" prop="tag">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag type="success" v-for="i in scope.row.tag" :key="i.id" style="margin: 2px 5px 0 0;">{{ i.name }}
|
|
|
+ </el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
@@ -107,14 +113,16 @@
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['qw:tagGroup:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
v-hasPermi="['qw:tagGroup:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -132,38 +140,42 @@
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
|
<el-form-item label="名称" prop="name">
|
|
|
- <el-input v-model="form.name" placeholder="请输入名称" />
|
|
|
+ <el-input v-model="form.name" placeholder="请输入名称"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="排序" prop="order">
|
|
|
- <el-input-number v-model="form.order" placeholder="请输入排序" />
|
|
|
+ <el-input-number v-model="form.order" placeholder="请输入排序"/>
|
|
|
</el-form-item>
|
|
|
<el-row>
|
|
|
- <el-col :span="3"><div style="margin-top: 9px;font-weight: bold;float: right; margin-right: 10px;">标签</div></el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <div style="margin-top: 9px;font-weight: bold;float: right; margin-right: 10px;">标签</div>
|
|
|
+ </el-col>
|
|
|
<el-col :span="21">
|
|
|
- <el-table :data="form.tag" >
|
|
|
- <el-table-column label="来源" prop="tagFrom" align="center" width="90" >
|
|
|
- <template slot-scope="scope">
|
|
|
+ <el-table :data="form.tag">
|
|
|
+ <el-table-column label="来源" prop="tagFrom" align="center" width="90">
|
|
|
+ <template slot-scope="scope">
|
|
|
<span v-if="scope.row.tagFrom==1">本应用创建</span>
|
|
|
<span v-if="!scope.row.tagFrom && scope.row.tagId">其他创建</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="名称" prop="name" align="center" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-model="scope.row.name" ></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="排序" prop="order" align="center" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input-number v-model="scope.row.order" ></el-input-number>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="150px" align="center">
|
|
|
- <template slot-scope="scope" >
|
|
|
- <el-button @click="addRow" size="mini" type="text" >新增</el-button>
|
|
|
- <el-button @click="deleteRow(scope.$index,scope.row)" size="mini" type="text" v-if="form.tag.length>1" >删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="名称" prop="name" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.name"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="排序" prop="order" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input-number v-model="scope.row.order"></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="150px" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button @click="addRow" size="mini" type="text">新增</el-button>
|
|
|
+ <el-button @click="deleteRow(scope.$index,scope.row)" size="mini" type="text"
|
|
|
+ v-if="form.tag.length>1">删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
@@ -176,8 +188,17 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { syncTag,listTagGroup, getTagGroup, delTagGroup, addTagGroup, updateTagGroup, exportTagGroup } from "@/api/qw/tagGroup";
|
|
|
-import { getMyQwUserList,getMyQwCompanyList } from "@/api/qw/user";
|
|
|
+import {
|
|
|
+ syncTag,
|
|
|
+ listTagGroup,
|
|
|
+ getTagGroup,
|
|
|
+ delTagGroup,
|
|
|
+ addTagGroup,
|
|
|
+ updateTagGroup,
|
|
|
+ exportTagGroup
|
|
|
+} from "@/api/qw/tagGroup";
|
|
|
+import {getMyQwUserList, getMyQwCompanyList} from "@/api/qw/user";
|
|
|
+
|
|
|
export default {
|
|
|
name: "TagGroup",
|
|
|
data() {
|
|
@@ -193,7 +214,7 @@ export default {
|
|
|
// 非多个禁用
|
|
|
multiple: true,
|
|
|
myQwUserList: [],
|
|
|
- myQwCompanyList:[],
|
|
|
+ myQwCompanyList: [],
|
|
|
// 显示搜索条件
|
|
|
showSearch: true,
|
|
|
// 总条数
|
|
@@ -214,32 +235,34 @@ export default {
|
|
|
corpId: null,
|
|
|
companyId: null,
|
|
|
},
|
|
|
- tagJson:[],
|
|
|
+ tagJson: [],
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
|
|
|
name: [
|
|
|
- { required: true, message: "名称不能为空", trigger: "blur" }
|
|
|
+ {required: true, message: "名称不能为空", trigger: "blur"}
|
|
|
],
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
getMyQwCompanyList().then(response => {
|
|
|
- this.myQwCompanyList = response.data;
|
|
|
- if(this.myQwCompanyList!=null){
|
|
|
- this.queryParams.corpId=this.myQwCompanyList[0].dictValue
|
|
|
- this.getList();
|
|
|
- }
|
|
|
+ this.myQwCompanyList = response.data;
|
|
|
+ if (this.myQwCompanyList != null && this.myQwCompanyList.length > 0) {
|
|
|
+ this.queryParams.corpId = this.myQwCompanyList[0].dictValue
|
|
|
+ this.getList();
|
|
|
+ }else{
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
methods: {
|
|
|
|
|
|
- updateCorpId(){
|
|
|
- this.getList();
|
|
|
- },
|
|
|
+ updateCorpId() {
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
/** 查询企微客户标签组列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
@@ -274,13 +297,13 @@ export default {
|
|
|
this.getList();
|
|
|
},
|
|
|
addRow() {
|
|
|
- this.form.tag.push({ name: "标签", order:0 ,tagFrom:1},);
|
|
|
+ this.form.tag.push({name: "标签", order: 0, tagFrom: 1},);
|
|
|
},
|
|
|
- deleteRow(index,row) {
|
|
|
+ deleteRow(index, row) {
|
|
|
|
|
|
- if (row.tagFrom==1){
|
|
|
+ if (row.tagFrom == 1) {
|
|
|
this.form.tag.splice(index, 1);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
this.$message.error("不能删除非本应用创建的标签")
|
|
|
}
|
|
|
},
|
|
@@ -288,21 +311,21 @@ export default {
|
|
|
/** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
|
this.resetForm("queryForm");
|
|
|
- this.queryParams.corpId= this.myQwCompanyList[0].dictValue;
|
|
|
+ this.queryParams.corpId = this.myQwCompanyList[0].dictValue;
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
// 多选框选中数据
|
|
|
handleSelectionChange(selection) {
|
|
|
this.ids = selection.map(item => item.id)
|
|
|
- this.single = selection.length!==1
|
|
|
+ this.single = selection.length !== 1
|
|
|
this.multiple = !selection.length
|
|
|
},
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
this.reset();
|
|
|
this.open = true;
|
|
|
- this.form.tag= [
|
|
|
- { name: "标签", order:0,tagFrom:1},
|
|
|
+ this.form.tag = [
|
|
|
+ {name: "标签", order: 0, tagFrom: 1},
|
|
|
];
|
|
|
this.title = "添加企微客户标签组";
|
|
|
},
|
|
@@ -316,15 +339,15 @@ export default {
|
|
|
this.title = "修改企微客户标签组";
|
|
|
});
|
|
|
},
|
|
|
- handleSync(){
|
|
|
- this.loading=true;
|
|
|
+ handleSync() {
|
|
|
+ this.loading = true;
|
|
|
syncTag(this.queryParams.corpId).then(response => {
|
|
|
this.msgSuccess("同步成功");
|
|
|
|
|
|
this.getList();
|
|
|
}).finally(
|
|
|
() => {
|
|
|
- this.loading=false;
|
|
|
+ this.loading = false;
|
|
|
}
|
|
|
);
|
|
|
},
|
|
@@ -332,7 +355,7 @@ export default {
|
|
|
submitForm() {
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
- this.form.corpId=this.queryParams.corpId
|
|
|
+ this.form.corpId = this.queryParams.corpId
|
|
|
if (this.form.id != null) {
|
|
|
updateTagGroup(this.form).then(response => {
|
|
|
this.msgSuccess("修改成功");
|
|
@@ -353,30 +376,32 @@ export default {
|
|
|
handleDelete(row) {
|
|
|
const ids = row.id || this.ids;
|
|
|
this.$confirm('是否确认删除企微客户标签组名为"' + row.name + '"的数据项?【注意:仅能删除在本后台创建得标签组及标签】', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function() {
|
|
|
- return delTagGroup(ids);
|
|
|
- }).then(() => {
|
|
|
- this.getList();
|
|
|
- this.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function () {
|
|
|
+ return delTagGroup(ids);
|
|
|
+ }).then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("删除成功");
|
|
|
+ }).catch(() => {
|
|
|
+ });
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
handleExport() {
|
|
|
const queryParams = this.queryParams;
|
|
|
this.$confirm('是否确认导出所有企微客户标签组数据项?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(() => {
|
|
|
- this.exportLoading = true;
|
|
|
- return exportTagGroup(queryParams);
|
|
|
- }).then(response => {
|
|
|
- this.download(response.msg);
|
|
|
- this.exportLoading = false;
|
|
|
- }).catch(() => {});
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(() => {
|
|
|
+ this.exportLoading = true;
|
|
|
+ return exportTagGroup(queryParams);
|
|
|
+ }).then(response => {
|
|
|
+ this.download(response.msg);
|
|
|
+ this.exportLoading = false;
|
|
|
+ }).catch(() => {
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
};
|