Commit cd92516d authored by 沈良进's avatar 沈良进

save'

parent e7f1cdcf
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
"jspdf": "^1.4.1", "jspdf": "^1.4.1",
"less-loader": "^5.0.0", "less-loader": "^5.0.0",
"moment": "^2.22.2", "moment": "^2.22.2",
"node-sass": "^4.14.1",
"pinyin": "^2.8.3", "pinyin": "^2.8.3",
"register-service-worker": "^1.0.0", "register-service-worker": "^1.0.0",
"sass-loader": "^8.0.2", "sass-loader": "^8.0.2",
......
...@@ -45,7 +45,9 @@ ...@@ -45,7 +45,9 @@
<!-- 客户字段 --> <!-- 客户字段 -->
<customerField v-if="selectTitle==5"></customerField> <customerField v-if="selectTitle==5"></customerField>
<!-- 标签 --> <!-- 标签 -->
<!-- <customerlabel v-if="selectTitle==6"></customerlabel> --> <customerlabel v-if="selectTitle==6"></customerlabel>
<!-- 线索分配规则 -->
<!-- <clueRule v-if="selectTitle==7"></clueRule> -->
</div> </div>
</template> </template>
<script> <script>
...@@ -54,7 +56,8 @@ ...@@ -54,7 +56,8 @@
import rankConfig from "./rankConfig"; import rankConfig from "./rankConfig";
import ManageConfiguration from "./ManageConfiguration"; import ManageConfiguration from "./ManageConfiguration";
import customerField from '../../views/customerSet/components/customerField.vue' import customerField from '../../views/customerSet/components/customerField.vue'
// import customerlabel from '../../views/customerSet/components/customerlabel.vue' import customerlabel from '../../views/customerSet/components/customerlabel.vue'
// import clueRule from '../../views/customerSet/components/clueRule.vue'
export default { export default {
components: { components: {
customerSource, customerSource,
...@@ -62,7 +65,8 @@ import customerField from '../../views/customerSet/components/customerField.vue' ...@@ -62,7 +65,8 @@ import customerField from '../../views/customerSet/components/customerField.vue'
rankConfig, rankConfig,
ManageConfiguration, ManageConfiguration,
customerField, customerField,
// customerlabel customerlabel,
// clueRule
}, },
data() { data() {
return { return {
...@@ -92,6 +96,10 @@ import customerField from '../../views/customerSet/components/customerField.vue' ...@@ -92,6 +96,10 @@ import customerField from '../../views/customerSet/components/customerField.vue'
title: '标签', title: '标签',
id: 6 id: 6
}, },
{
title: '线索分配规则',
id: 7
},
] ]
}; };
}, },
......
...@@ -5,7 +5,7 @@ export default function() { ...@@ -5,7 +5,7 @@ export default function() {
//CRM API //CRM API
let domainUrl = ""; let domainUrl = "";
// domainUrl = "http://192.168.10.46:8500"; // domainUrl = "http://192.168.10.46:8500";
domainUrl = "http://192.168.10.128:8098"; domainUrl = "http://192.168.10.226:5003";
// domainUrl = "http://crm.oytour.com" // domainUrl = "http://crm.oytour.com"
//domainUrl = "http://localhost:5003"; //domainUrl = "http://localhost:5003";
let locationName = window.location.hostname; let locationName = window.location.hostname;
......
...@@ -163,23 +163,6 @@ ...@@ -163,23 +163,6 @@
import message from '@/utils/message' import message from '@/utils/message'
import customerSetService from '@/api/customerSet'; import customerSetService from '@/api/customerSet';
import router from '@/router/index' import router from '@/router/index'
interface dataType {
Id: number,
RuleSelectType: number,
IsDefault: number,
DeptList: Array < any > ,
EmpList: Array < any > ,
RuleAllotWay: number,
ConditionList: Array < any > ,
ConditionStrList: Array < string > ,
Sort: number
}
interface dataConfigType {
Id ? : number,
ClueType: number,
ClueAllotWay: number
}
export default defineComponent({ export default defineComponent({
components: { components: {
draggable, draggable,
......
<template> <template>
<div class="q-pa-md customerField"> <div class="q-pa-md customerField">
<div style="text-align: right;"> <div style="text-align: right;">
<el-button color="accent" style="float:right;margin-bottom: 10px;" size="sm" class="q-mr-md" icon="add" <el-button type="primary" style="float:right;margin-bottom: 10px;" size="sm" class="q-mr-md" icon="plus"
label="新增字段" @click="goaddfield()"></el-button> @click="goaddfield()">新增字段</el-button>
</div> </div>
<table class="payTable"> <table class="payTable">
<thead> <thead>
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
<tr v-if="data && data.length==0"> <tr v-if="data && data.length==0">
<td :colspan="8" align="center">暂无数据</td> <td :colspan="8" align="center">暂无数据</td>
</tr> </tr>
<draggable v-model="data" tag="tbody" item-key="Id" :move="getdata" @update="datadragEnd"> <!-- <draggable v-model="data" tag="tbody" item-key="Id" :move="getdata" @update="datadragEnd"> -->
<template #item="{ element }"> <template>
<tr> <tr v-for="element in data" :key="element.Id">
<td><span>{{element.Name}}</span></td> <td><span>{{element.Name}}</span></td>
<td> <td>
<span v-if="element.IsSystem!=1">{{element.TypeName}}</span> <span v-if="element.IsSystem!=1">{{element.TypeName}}</span>
...@@ -45,21 +45,23 @@ ...@@ -45,21 +45,23 @@
</td> </td>
<td> <td>
<el-button flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs" <el-button flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
label="编辑" @click="goedit(element)" /> @click="goedit(element)">编辑</el-button>
<el-button v-if='element.IsDefault!=1' flat size="xs" icon="delete" color="negative" <el-button v-if='element.IsDefault!=1' flat size="xs" icon="delete" color="negative"
class="q-mr-xs" label="删除" @click="godelete(element,3)" /> class="q-mr-xs" @click="godelete(element,3)">删除</el-button>
</td> </td>
<td> <td>
<i class="iconfont icon-drag" style="font-size: 20px;color: #777;"></i> <i class="iconfont icon-drag" style="font-size: 20px;color: #777;"></i>
</td> </td>
</tr> </tr>
</template> </template>
</draggable> <!-- </draggable> -->
</table> </table>
<div> <div>
<addfield v-if="Isadd" @getcancel='getcancel' :passobj="addMsg" :passdeptl="deptl" :passtabsList="tabsList" <el-dialog :visible.sync="Isadd" persistent title="新建/修改字段">
<addfield @getcancel='getcancel' :passobj="addMsg" :passdeptl="deptl" :passtabsList="tabsList"
:passcheckboxList="checkboxList"></addfield> :passcheckboxList="checkboxList"></addfield>
</el-dialog>
</div> </div>
</div> </div>
...@@ -104,9 +106,9 @@ ...@@ -104,9 +106,9 @@
}, },
methods: { methods: {
changePage() { changePage() {
this.apipost("/QYCustomer/GetCustomerFiledList", {Enable: -1}, (res) => { this.apipost("/api/Scene/GetCustomerFiledList", {Enable: -1}, (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.data.value = res.data.Data this.data = res.data.data
} }
}); });
}, },
...@@ -114,16 +116,16 @@ ...@@ -114,16 +116,16 @@
// console.log('拖动结束',e) // console.log('拖动结束',e)
let olddragId = 0 let olddragId = 0
if (e.newIndex > 0) { if (e.newIndex > 0) {
olddragId = data.value[e.newIndex - 1].Id olddragId = data[e.newIndex - 1].Id
} else { } else {
olddragId = 0 olddragId = 0
} }
let msg = { let msg = {
Type: 4, Type: 4,
FiledId: dragId.value, FiledId: dragId,
SortFiledId: olddragId, SortFiledId: olddragId,
} }
this.apipost('/QYCustomer/SetCustomerFiledState',msg,(res) => { this.apipost('/api/Scene/SetCustomerFiledState',msg,(res) => {
if (res.data.Code == 1) { if (res.data.Code == 1) {
console.log(res) console.log(res)
} else {//如果移动失败 重新获取列表 } else {//如果移动失败 重新获取列表
...@@ -133,7 +135,7 @@ ...@@ -133,7 +135,7 @@
}, },
getdata(e) { getdata(e) {
this.dragId.value = e.draggedContext.element.Id this.dragId = e.draggedContext.element.Id
}, },
setFiledState(item, Type) { setFiledState(item, Type) {
let msg = { let msg = {
...@@ -141,7 +143,7 @@ ...@@ -141,7 +143,7 @@
FiledId: item.Id, FiledId: item.Id,
SortFiledId: 0, SortFiledId: 0,
} }
this.apipost('/QYCustomer/SetCustomerFiledState',msg,(res) => { this.apipost('/api/Scene/SetCustomerFiledState',msg,(res) => {
if (res.data.Code == 1) { if (res.data.Code == 1) {
this.$message.success({ this.$message.success({
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
...@@ -190,22 +192,23 @@ ...@@ -190,22 +192,23 @@
}); });
}, },
getCustomerFieldType() { getCustomerFieldType() {
this.apipost('/QYCustomer/GetCustomerFieldTypeEnumList',{},(res) => { this.apipost('/api/Scene/GetCustomerFieldTypeEnumList',{},(res) => {
if (res.data.Code == 1) { if (res.data.Code == 1) {
this.tabsList.value = res.data.Data this.tabsList = res.data.Data
this.tabsList.value.forEach(x => { this.tabsList.forEach(x => {
x.disable = false x.disable = false
}) })
} }
}) })
}, },
goedit(item) { goedit(item) {
this.addMsg.value = JSON.parse(JSON.stringify(item)) this.addMsg = JSON.parse(JSON.stringify(item))
this.Isadd.value = true; this.Isadd = true;
}, },
goaddfield() { goaddfield() {
this.Isadd.value = true; this.Isadd = true;
this.addMsg.value = { console.log('@vue/composition-api goaddfield', this.Isadd)
this.addMsg = {
Id: 0, Id: 0,
Type: 1, Type: 1,
Name: '', Name: '',
...@@ -222,8 +225,8 @@ ...@@ -222,8 +225,8 @@
}; };
}, },
getcancel(type) { getcancel(type) {
this.Isadd.value = false; this.Isadd = false;
this.tabsList.value.forEach(x => { this.tabsList.forEach(x => {
x.disable = false x.disable = false
}) })
if (type == 2) { if (type == 2) {
...@@ -233,14 +236,14 @@ ...@@ -233,14 +236,14 @@
getDepartList() { getDepartList() {
this.apipost('/User/GetDeptTree',{ School_Id: 0 },(res) => { this.apipost('/User/GetDeptTree',{ School_Id: 0 },(res) => {
if (res.data.Code == 1) { if (res.data.Code == 1) {
this.deptl.value = res.data.Data this.deptl = res.data.Data
} }
}) })
}, },
getFieldInputType() { getFieldInputType() {
this.apipost('/QYCustomer/GetCustomerFieldInputTypeEnumList', {},(res) => { this.apipost('/api/Scene/GetCustomerFieldInputTypeEnumList', {},(res) => {
if (res.data.Code == 1) { if (res.data.Code == 1) {
this.checkboxList.value = res.data.Data this.checkboxList = res.data.Data
} }
}) })
} }
......
...@@ -8,9 +8,8 @@ ...@@ -8,9 +8,8 @@
size="sm" size="sm"
class="q-mr-md" class="q-mr-md"
icon="add" icon="add"
label="新增分組"
@click="EditCategory()" @click="EditCategory()"
></el-button> >新增分組</el-button>
</div> </div>
<div class="category-header"> <div class="category-header">
<div style="width: 60px;">ID</div> <div style="width: 60px;">ID</div>
...@@ -55,9 +54,8 @@ ...@@ -55,9 +54,8 @@
size="sm" size="sm"
class="q-mr-md" class="q-mr-md"
icon="add" icon="add"
label="新增分組"
@click="getParent({}, 3)" @click="getParent({}, 3)"
></el-button> >新增分組</el-button>
</div> </div>
<div class="category-header"> <div class="category-header">
...@@ -91,32 +89,32 @@ ...@@ -91,32 +89,32 @@
</div> </div>
</div> </div>
<q-dialog v-model="data.isShow" persistent> <el-dialog :visible.sync="isShow" persistent>
<q-card style="width: 500px; max-width: 80vw;"> <el-card style="width: 500px; max-width: 80vw;">
<q-card-section class="row items-center q-pb-none"> <el-card-section class="row items-center q-pb-none">
<div class="text-h6">新增标签组</div> <div class="text-h6">新增标签组</div>
<q-space /> <el-space />
<el-button icon="close" flat round dense v-close-popup /> <el-button icon="close" flat round dense v-close-popup />
</q-card-section> </el-card-section>
<q-separator /> <el-separator />
<q-card-section class="q-pt-none" style="margin-top: 15px;padding: 20px;"> <el-card-section class="q-pt-none" style="margin-top: 15px;padding: 20px;">
<q-input <el-input
outlined outlined
counter counter
maxlength="8" maxlength="8"
clearable clearable
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="data.addMsg.Name" v-model="addMsg.Name"
placeholder="标签组名称" placeholder="标签组名称"
:rules="[val => !!val || '请输入分组名称']" :rules="[val => !!val || '请输入分组名称']"
ref="Name" ref="Name"
/> />
<q-input <el-input
outlined outlined
clearable clearable
type="number" type="number"
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="data.addMsg.Sort" v-model="addMsg.Sort"
placeholder="标签组排序" placeholder="标签组排序"
:rules="[val => !!val || '请输入分组排序']" :rules="[val => !!val || '请输入分组排序']"
ref="Sort" ref="Sort"
...@@ -124,16 +122,16 @@ ...@@ -124,16 +122,16 @@
<div style="color: #787878;">*注:标签组/标签,排序值越大,排序越靠前!</div> <div style="color: #787878;">*注:标签组/标签,排序值越大,排序越靠前!</div>
<div <div
style="width: 100%;" style="width: 100%;"
v-if="data.addMsg.ChildList && data.addMsg.ChildList.length > 0" v-if="addMsg.ChildList && addMsg.ChildList.length > 0"
> >
<div <div
class="col row wrap q-mr-lg q-col-gutter-md" class="col row wrap q-mr-lg q-col-gutter-md"
v-for="(x,y) in data.addMsg.ChildList" v-for="(x,y) in addMsg.ChildList"
:key="y" :key="y"
style="margin-top: 0px;" style="margin-top: 0px;"
> >
<div class="col-7"> <div class="col-7">
<q-input <el-input
outlined outlined
counter counter
maxlength="15" maxlength="15"
...@@ -144,7 +142,7 @@ ...@@ -144,7 +142,7 @@
/> />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-input <el-input
filled filled
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="x.Sort" v-model="x.Sort"
...@@ -161,7 +159,7 @@ ...@@ -161,7 +159,7 @@
color="negative" color="negative"
class="q-mr-xs" class="q-mr-xs"
label label
@click="data.addMsg.ChildList.splice(y, 1)" @click="addMsg.ChildList.splice(y, 1)"
/> />
</div> </div>
</div> </div>
...@@ -176,79 +174,79 @@ ...@@ -176,79 +174,79 @@
@click="addbiaoqian()" @click="addbiaoqian()"
/> />
</q-card-section> </el-card-section>
<q-separator /> <el-separator />
<q-card-actions align="right" class="bg-white"> <el-card-actions align="right" class="bg-white">
<el-button class="q-mr-md" label="取消" @click="data.isShow = false" /> <el-button class="q-mr-md" label="取消" @click="isShow = false" />
<el-button <el-button
color="accent" color="accent"
class="q-mr-md" class="q-mr-md"
label="确定" label="确定"
@click="submit()" @click="submit()"
:loading="data.btnloading" :loading="btnloading"
/> />
</q-card-actions> </el-card-actions>
</q-card> </el-card>
</q-dialog> </el-dialog>
<!-- 修改标签组名称 --> <!-- 修改标签组名称 -->
<q-dialog v-model="data.isParent" persistent> <el-dialog :visible.sync="isParent" persistent>
<q-card style="width: 500px; max-width: 80vw;"> <el-card style="width: 500px; max-width: 80vw;">
<q-card-section class="row items-center q-pb-none"> <el-card-section class="row items-center q-pb-none">
<div class="text-h6">修改标签信息</div> <div class="text-h6">修改标签信息</div>
<q-space /> <el-space />
<el-button icon="close" flat round dense v-close-popup /> <el-button icon="close" flat round dense v-close-popup />
</q-card-section> </el-card-section>
<q-separator /> <el-separator />
<q-card-section class="q-pt-none" style="margin-top: 15px;padding: 20px;"> <el-card-section class="q-pt-none" style="margin-top: 15px;padding: 20px;">
<q-input <el-input
v-if="data.edittype == 1" v-if="edittype == 1"
outlined outlined
counter counter
maxlength="8" maxlength="8"
clearable clearable
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="data.addMsg.Name" v-model="addMsg.Name"
placeholder="标签组名称" placeholder="标签组名称"
:rules="[val => !!val || '请输入分组名称']" :rules="[val => !!val || '请输入分组名称']"
ref="eName" ref="eName"
/> />
<q-input <el-input
v-if="data.edittype == 2 || data.edittype == 3" v-if="edittype == 2 || edittype == 3"
outlined outlined
counter counter
maxlength="15" maxlength="15"
clearable clearable
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="data.addMsg.Name" v-model="addMsg.Name"
placeholder="标签名称" placeholder="标签名称"
:rules="[val => !!val || '请输入标签名称']" :rules="[val => !!val || '请输入标签名称']"
ref="eName" ref="eName"
/> />
<q-input <el-input
outlined outlined
clearable clearable
standout="bg-primary text-white" standout="bg-primary text-white"
v-model="data.addMsg.Sort" v-model="addMsg.Sort"
placeholder="标签组排序" placeholder="标签组排序"
:rules="[val => !!val || '请输入分组排序']" :rules="[val => !!val || '请输入分组排序']"
ref="eSort" ref="eSort"
/> />
<div style="color: #787878;">*注:标签组/标签,排序值越大,排序越靠前!</div> <div style="color: #787878;">*注:标签组/标签,排序值越大,排序越靠前!</div>
</q-card-section> </el-card-section>
<q-separator /> <el-separator />
<q-card-actions align="right" class="bg-white"> <el-card-actions align="right" class="bg-white">
<el-button class="q-mr-md" label="取消" @click="data.isParent = false" /> <el-button class="q-mr-md" label="取消" @click="isParent = false" />
<el-button <el-button
color="accent" color="accent"
class="q-mr-md" class="q-mr-md"
label="确定" label="确定"
@click="submitParent()" @click="submitParent()"
:loading="data.btnloading" :loading="btnloading"
/> />
</q-card-actions> </el-card-actions>
</q-card> </el-card>
</q-dialog> </el-dialog>
</div> </div>
</template> </template>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<div class="container fit"> <div class="container fit">
<businessModel v-if="tab == 'model'"></businessModel> <businessModel v-if="tab == 'model'"></businessModel>
<customer-Field v-if="tab == 'field'"></customer-Field> <customer-Field v-if="tab == 'field'"></customer-Field>
<clue-rule v-if="tab == 'clue'"></clue-rule> <!-- <clue-rule v-if="tab == 'clue'"></clue-rule> -->
<laqundistribution v-if="tab == 'laqun'"></laqundistribution> <laqundistribution v-if="tab == 'laqun'"></laqundistribution>
<customer-phase v-if="tab == 'phase'"></customer-phase> <customer-phase v-if="tab == 'phase'"></customer-phase>
<customerlabel v-if="tab == 'label'"></customerlabel> <customerlabel v-if="tab == 'label'"></customerlabel>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<script lang="ts"> <script lang="ts">
import businessModel from './components/businessModel.vue' import businessModel from './components/businessModel.vue'
import customerField from './components/customerField.vue' import customerField from './components/customerField.vue'
import clueRule from './components/clueRule.vue' // import clueRule from './components/clueRule.vue'
import laqundistribution from './components/laqundistribution.vue'//拉群分配客人 import laqundistribution from './components/laqundistribution.vue'//拉群分配客人
import customerPhase from './components/customerPhase.vue' import customerPhase from './components/customerPhase.vue'
...@@ -55,7 +55,7 @@ export default defineComponent({ ...@@ -55,7 +55,7 @@ export default defineComponent({
components: { components: {
businessModel, businessModel,
customerField, customerField,
clueRule, // clueRule,
customerPhase, customerPhase,
customerlabel, customerlabel,
CustomerOperation, CustomerOperation,
......
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