Commit a571c1d6 authored by Mac's avatar Mac

修改客户字段列表

parent db8216a3
......@@ -38,6 +38,7 @@
"vue-i18n": "^8.0.0",
"vue-inline-svg": "^2.0.0",
"vue-waterfall-easy": "^2.4.4",
"vuedraggable": "^2.24.3",
"weixin-js-sdk": "^1.6.0",
"xlsx": "^0.16.8",
"xlsx-style": "^0.8.13"
......
......@@ -410,6 +410,65 @@ export function SetSynvEduEmployee(data) {
})
}
/**
* 获取客户字段列表
*
*/
export function getCustomerFiledList(data) {
return request({
url: '/QYCustomer/GetCustomerFiledList',
method: 'post',
data
})
}
/**
* 设置字段状态
*
*/
export function setCustomerFiledState(data) {
return request({
url: '/QYCustomer/SetCustomerFiledState',
method: 'post',
data
})
}
/**
* 获取客户子段输入类型枚举
*
*/
export function getCustomerFieldInputTypeEnumList(data) {
return request({
url: '/QYCustomer/GetCustomerFieldInputTypeEnumList',
method: 'post',
data
})
}
/**
* 获取客户子段类型枚举
*
*/
export function getCustomerFieldTypeEnumList(data) {
return request({
url: '/QYCustomer/GetCustomerFieldTypeEnumList',
method: 'post',
data
})
}
/**
* 新增修改客户字段
*
*/
export function setCustomerFiledInfo(data) {
return request({
url: '/QYCustomer/SetCustomerFiledInfo',
method: 'post',
data
})
}
......
......@@ -12,221 +12,83 @@
<template v-slot:before>
<q-tabs v-model="tab" vertical @input="getdefault">
<q-tab v-for="(x,y) in tabsList" :key='y' :name="x.name" :label="x.label"
<q-tab v-for="(x,y) in tabsList" :key='y' :name="x.Id" :label="x.Name"
:disable="x.disable" />
</q-tabs>
</template>
<template v-slot:after>
<q-tab-panels v-model="tab" animated swipeable vertical transition-prev="jump-up"
transition-next="jump-up">
<q-tab-panel name="1">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="字数限制:">
<q-input v-model.number="addMsg.singleLineLimit.characterLimit"
type="number" filled :max='50' :min='0' style="max-width: 200px" />
</el-form-item>
<el-form-item label="输入类型:">
<div class="q-gutter-sm">
<q-checkbox v-model="addMsg.singleLineLimit.characterType"
v-for="(x,y) in checkboxList" :key='y' :val="x.Id"
:label="x.Name" />
</div>
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
</div>
</el-form-item>
</el-form>
</q-tab-panel>
<q-tab-panel name="2">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="文字字数:">
<el-input-number v-model="addMsg.num" @change="handleChange" :min="1"
:max="2000"></el-input-number>
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
</div>
</el-form-item>
</el-form>
</q-tab-panel>
<q-tab-panel name="3">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="列表选项:">
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
</div>
</el-form-item>
</el-form>
</q-tab-panel>
<q-tab-panel name="4">
多选
</q-tab-panel>
<q-tab-panel name="5">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
</div>
</el-form-item>
</el-form>
</q-tab-panel>
<q-tab-panel name="6">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
<div style="height: 100%; width: 100%;padding: 16px">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.Name"
@input="$forceUpdate()" label="字段名称" :rules="[val => !!val || '请输入字段名称']" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="departmentType" val="1" label="公司字段"
@input='addMsg.DeptId=0' />
<q-radio v-model="departmentType" val="2" label="部门字段"
@input='addMsg.DeptId=0' />
<div v-if="departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="字数限制:" v-if='tab==1'>
<q-input v-model.number="addMsg.WordNum" :rules="[val => !!val || '不能为空']"
type="number" filled :max='50' :min='0' style="max-width: 200px" />
</el-form-item>
<el-form-item label="输入类型:" v-if='tab==1'>
<div class="q-gutter-sm">
<q-checkbox v-model="addMsg.InputType"
v-for="(x,y) in checkboxList" :key='y' :val="x.Id"
:label="x.Name" />
</div>
</el-form-item>
<el-form-item label="文字字数:" v-if='tab==2'>
<el-input-number v-model="addMsg.WordNum" @change="handleChange" :min="1"
:max="2000"></el-input-number>
</el-form-item>
<el-form-item label="列表选项:" v-if='tab==3|| tab==4'>
<draggable v-model="addMsg.OptionsList">
<div v-for="(x,y) in addMsg.OptionsList" :key='y' style="display: flex;align-items: center;margin-bottom: 10px;">
<q-input clearable filled maxlength="16" v-model="x.Name" style="width: 280px;" @input="$forceUpdate()" label="列表项值" />
<q-btn round size="xs" color="deep-orange" icon="delete" v-if="addMsg.OptionsList.length>1" @click="addMsg.OptionsList.splice(y,1)" style='margin-left: 10px;'/>
<q-btn round size="xs" color="primary" icon="add" v-if="addMsg.OptionsList.length==y+1" @click="addMsg.OptionsList.push({Id:0,Name:''})" style='margin-left: 10px;'/>
</div>
</el-form-item>
</el-form>
</q-tab-panel>
<q-tab-panel name="7">
<el-form label-width="120px">
<el-form-item label="字段名称:">
<q-input clearable filled maxlength="8" counter v-model="addMsg.fieldName"
@input="$forceUpdate()" label="字段名称" />
</el-form-item>
<el-form-item label="部门选择:">
<q-radio v-model="addMsg.departmentType" val="1" label="公司字段"
@input='addMsg.departmentId=0' />
<q-radio v-model="addMsg.departmentType" val="2" label="部门字段"
@input='addMsg.departmentId=0' />
<div v-if="addMsg.departmentType==2">
<selectTree :treeData='deptl' :defaultArray="returnString"
nodeKey="DeptId" :multiple="false" labelKey="DeptName"
childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
classStr="col-6 q-pb-lg">
</selectTree>
</div>
</el-form-item>
<el-form-item label="小数位数:">
<q-select filled stack-label option-value="Id" option-label="Id"
v-model="addMsg.decimals" ref="Id" :options="decimalslist" label="小数位数"
:dense="false" emit-value map-options />
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.mustFill" label="必填项" />
<q-toggle v-model="addMsg.enable" label="启用" />
</div>
</el-form-item>
</el-form>
</q-tab-panel>
</q-tab-panels>
</draggable>
</el-form-item>
<el-form-item label="小数位数:" v-if='tab==7'>
<q-select filled stack-label option-value="Id" option-label="Id"
v-model="addMsg.Digits" ref="Id" :options="decimalslist" label="小数位数"
:dense="false" emit-value map-options />
</el-form-item>
<el-form-item label="属性设置:">
<div class="q-gutter-sm">
<q-toggle v-model="addMsg.Required" label="必填项" :true-value="1" :false-value="2" />
<q-toggle v-model="addMsg.Enable" label="启用" :true-value="1" :false-value="2" />
</div>
</el-form-item>
</el-form>
</div>
</template>
</q-splitter>
</q-card-section>
<q-separator />
<q-card-actions align="right" class="bg-white">
<q-btn class="q-mr-md" label="取消" @click="getcancel()" />
<q-btn color="accent" class="q-mr-md" label="确定" @click="savewb()" />
<q-btn color="accent" class="q-mr-md" label="确定" @click="savewb()" :loading="loading"/>
</q-card-actions>
</q-card>
</q-dialog>
......@@ -237,32 +99,30 @@
</template>
<script>
import draggable from "vuedraggable"
import selectTree from '../../../../../components/common/select-tree'
//部门
import {
getDeptTree
} from '../../../../../api/system/dept'
setCustomerFiledInfo
} from '../../../../../api/system/wechat'
const defaultObj = {
departmentId: 0,//部门id 为0时 是公司名字
departmentType: '1',//部门选择
enable: true,//启用
fieldId: 0,
decimals: 0,//小数
num: 0,//文字字数
fieldName: "",//字段名称
fieldOpts:[{itemId:0,name:'',seq:0,}],//多选和单选的值
fieldType: 1,//类型
mustFill: false,//必填
singleLineLimit: {
characterLimit: 50,//字数限制
characterType: [1, 2, 3, 4]//输入类型
},
Id:0,
Type:1,
Name:'',
Required:2,
DeptId:0,
WordNum:1,
InputType:[],
OptionsList:[{Id:1,Name:''}],
Digits:0,
Enable:1,
}
export default {
name: "addfield",
components: {
draggable,
selectTree,
},
props: {
......@@ -270,84 +130,170 @@
type: Object,
default: {},
},
deptl:{
type: Array,
default: [],
},
tabsList:{
type: Array,
default: [],
},
checkboxList:{
type: Array,
default: [],
},
},
data() {
return {
loading:false,
Isadd: true,
splitterModel: 13,
tab: '1',
tabsList: [
{ name: '1', label: '单行文本', disable: false },
{ name: '2', label: '多行文本', disable: false },
{ name: "3", label: '单选', disable: false },
{ name: "4", label: '多选', disable: false },
{ name: "5", label: '日期', disable: false },
{ name: "6", label: '日期时间', disable: false },
{ name: '7', label: '数值', disable: false },
],
checkboxList: [{ Name: '汉字', Id: 1 }, { Name: '数字', Id: 2 }, { Name: '字母', Id: 3 }, { Name: '符号', Id: 4 }],
tab: 1,
departmentType:'1',
decimalslist: [{ Id: 0 }, { Id: 1 }, { Id: 2 }, { Id: 3 }, { Id: 4 }, { Id: 5 }, { Id: 6 }, { Id: 7 }, { Id: 8 }, { Id: 9 }, { Id: 10 }, { Id: 11 },],
addMsg: Object.assign({},defaultObj),
returnString: [], //默认岗位
deptl: [],//部门下拉
}
},
created() {
this.Isadd = true
if (this.obj != null) {
this.addMsg = this.obj
if (this.obj != null) {//编辑的时候数据处理
let data={ Id:this.obj.Id,
Type:this.obj.Type,
Name:this.obj.Name,
Required:this.obj.Required,
DeptId:this.obj.DeptId,
WordNum:this.obj.WordNum,
InputType:this.obj.InputType.split(',').map(Number),
OptionsList:this.obj.OptionsList,
Digits:this.obj.Digits,
Enable:this.obj.Enable,
}
this.tab = this.obj.Type
if(this.obj.DeptId>0){
this.departmentType= '2'
this.returnString= []
setTimeout(()=>{
this.returnString.push(this.obj.DeptId)
this.$forceUpdate();
},500)
}
this.addMsg = data
this.tabsList.forEach(x=>{
if(x.Id !=data.Type){
x.disable =true
}
})
}else{
this.addMsg.InputType=[]
this.checkboxList.forEach(x=>{
this.addMsg.InputType.push(x.Id)
})
}
this.getDepartList()
},
// watch: { // 监听参数变化
// addMsg: {
// handler: function (val, oldVal) {
// console.log(val,oldVal)
// },
// deep: true
// },
// },
},
methods: {
savewb() {
},
getcancel() {
this.$emit('getcancel')
},
//获取部门下拉数据
getDepartList(id) {
let msg = {
School_Id: 0
let addMsg = JSON.parse(JSON.stringify(this.addMsg))
addMsg.Type = this.tab//先类型赋值
if(addMsg.Name==''){
this.$q.notify({
type: 'negative',
message: `请填写字段名称`,
position: 'top'
})
return
}
if((addMsg.Type==1|| addMsg.Type==2) && addMsg.WordNum==''){
this.$q.notify({
type: 'negative',
message: `字数不能为空`,
position: 'top'
})
return
}
if(this.departmentType==2 && (addMsg.DeptId==0|| addMsg.DeptId=='')){
this.$q.notify({
type: 'negative',
message: `请选择部门`,
position: 'top'
})
return
}
if(addMsg.Type==3|| addMsg.Type ==4){
for(let i = 0 ;i< addMsg.OptionsList.length;i++){
let x = addMsg.OptionsList[i]
if(x.Name==''){
this.$q.notify({
type: 'negative',
message: `请填写列表选项值`,
position: 'top'
})
break
}
addMsg.OptionsList[i].Id = i+1
}
}
getDeptTree(msg).then(res => {
if (res.Code == 1) {
this.deptl = res.Data;
if(addMsg.Type==1 ){
if(addMsg.InputType.length==0){
this.$q.notify({
type: 'negative',
message: `至少选择一种输入类型`,
position: 'top'
})
return
}else{
addMsg.InputType= addMsg.InputType.join(',')
}
}else{
addMsg.InputType='1'
}
console.log(addMsg)
this.loading = true
setCustomerFiledInfo(addMsg).then(res => {
this.loading = false
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.$emit('getcancel',2)
}).catch((e) => {
this.loading = false
})
},
getcancel() {
this.$emit('getcancel',1)
},
getChild(deptArray) {
var tempStr = "";
if (deptArray && deptArray != '') {
tempStr = deptArray;
}
this.addMsg.departmentId = tempStr
},
a() {
console.log(this.addMsg)
this.addMsg.DeptId = tempStr
},
handleChange(value) {
},
getdefault(){//新增的时候初始默认值
console.log('进去')
this.addMsg = Object.assign({},defaultObj)
this.addMsg.OptionsList=[{Id:0,Name:'',}]//多选和单选的值
}
}
}
......
<template>
<div class="materialManage page-body">
<div class="customerSetup page-body">
<div style="text-align: right;">
<q-btn color="accent" style="float:right;margin-bottom: 10px;" size="sm" class="q-mr-md" icon="add"
label="新增字段" @click="goaddfield()"></q-btn>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-column-table"
separator="none" title="" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title"></div>
<q-space />
<q-btn color="accent" style="float:right;margin-right:0;" size="sm" class="q-mr-md" icon="add"
label="新增字段" @click="goaddfield()"></q-btn>
</template>
<template v-slot:body-cell-Type="props">
<q-td :props="props">
<span v-if="props.row.Type==1">单行文本</span>
<span v-if="props.row.Type==2">多行文本</span>
<span v-if="props.row.Type==3">单选</span>
<span v-if="props.row.Type==4">多选</span>
<span v-if="props.row.Type==5">日期</span>
<span v-if="props.row.Type==6">日期时间</span>
<span v-if="props.row.Type==7">数值</span>
</q-td>
</template>
<template v-slot:body-cell-Enable="props">
<q-td :props="props">
<q-toggle v-model="props.row.Enable" :true-value="1" :false-value="2"/>
</q-td>
</template>
<template v-slot:body-cell-Required="props">
<q-td :props="props">
<q-toggle v-model="props.row.Required" :true-value="1" :false-value="2"/>
</q-td>
</template>
<template v-slot:bottom>
<!-- <q-pagination class="full-width justify-end" v-model="msg.PageIndex" color="primary"
:max="msg.PageCount" :input="true" @input="changePage" /> -->
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
label="编辑" @click="goedit(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
@click="goDetailed(props.row)" />
</q-td>
</template>
</q-table>
<table class="payTable">
<thead>
<tr>
<th>字段名称</th>
<th>字段类型</th>
<th>所属部门</th>
<th>是否启用</th>
<th>是否必填</th>
<th width="13%">操作信息</th>
<th width="12%">操作</th>
</tr>
</thead>
<tr v-if="data.length==0">
<td :colspan="7" align="center">暂无数据</td>
</tr>
<draggable v-model="data" element="tbody" :move="getdata" @update="datadragEnd">
<tr v-for="(item,index) in data" :key="index">
<td><span>{{item.Name}}</span></td>
<td>
<span v-if="item.IsSystem!=1">{{item.TypeName}}</span>
<span v-if="item.IsSystem==1">系统字段</span>
</td>
<td><span>{{item.DeptName}}</span></td>
<td>
<q-toggle v-if="item.IsLock==1" v-model="item.Enable" :true-value="1" :false-value="2"
icon="lock" disable />
<q-toggle v-else v-model="item.Enable" :true-value="1" :false-value="2" @input="godelete(item,1,index)" />
</td>
<td>
<q-toggle v-model="item.Required" :true-value="1" :false-value="2" @input="godelete(item,2,index)"/>
</td>
<td>
<div>{{item.UpdateByName}}</div>
<div>{{item.UpdateTime}}</div>
</td>
<td>
<q-btn flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs"
label="编辑" @click="goedit(item)" />
<q-btn v-if='item.IsDefault!=1' flat size="xs" icon="delete" color="negative" class="q-mr-xs"
label="删除" @click="godelete(item,3,index)" />
</td>
</tr>
</draggable>
</table>
<div v-if="Isadd==true">
<addfield :obj='addMsg' @getcancel='Isadd=false'></addfield>
<addfield :obj='addMsg' :deptl='deptl' :tabsList='tabsList' :checkboxList='checkboxList'
@getcancel='getcancel'></addfield>
</div>
</div>
</div>
</template>
<script>
import draggable from "vuedraggable"
import addfield from "./components/addfield"
import {
getCustomerFiledList,
setCustomerFiledState,
getCustomerFieldInputTypeEnumList,
getCustomerFieldTypeEnumList,
} from '../../../../api/system/wechat';
//部门
import {
getDeptTree
} from '../../../../api/system/dept'
export default {
components: {
addfield
addfield,
draggable
},
data() {
return {
loading: false,
msg:{
pageIndex:1,
msg: {
pageIndex: 1,
rowsPerPage: 9999,
},
columns: [{
name: 'Name',
label: '字段名称',
field: 'Name',
align: 'left'
},
{
name: 'Type',
field: 'Type',
label: '字段类型',
align: 'left',
},
{
name: 'branchName',
field: 'branchName',
label: '所属部门',
align: 'left'
},
{
name: 'Enable',
field: 'Enable',
label: '是否启用',
align: 'left'
},
{
name: 'Required',
field: 'Required',
label: '是否必填',
align: 'left'
},
{
name: 'optioned',
label: '操作',
field: 'DeptId'
}
],
data:[{Name:"性别",Type:"1",branchName:"成都甲鹤",Name:"性别",Enable:1,Required:2,}],
Isadd:false,
addMsg:null
data: [],
Isadd: false,
addMsg: null,
Enable: -1,
deptl: [],//部门下拉
tabsList: [],
checkboxList: [],//输入类型 数组
dragId:0,//拖动的ID
}
},
created() {
this.getList()
this.getDepartList()
this.getFieldInputType()
this.getCustomerFieldType()
},
methods: {
goaddfield() {//新增字段
this.Isadd = true;
this.addMsg=null
this.addMsg = null
},
goedit(item) {
this.Isadd = true;
this.addMsg = JSON.parse(JSON.stringify(item))
},
godelete(item,type,index) {//删除
let text = ''
if(type==1){//tyep等于1和2的时候 先让弹出提示 然后再给予掉接口 所以把原本的值暂时先赋值给本身
text = '确定修改启用状态'
if(item.Enable==2){
this.data[index].Enable = 1
}else{
this.data[index].Enable = 2
}
}else if(type==2){
text = '确定修改必填状态'
if(item.Required==2){
this.data[index].Required = 1
}else{
this.data[index].Required = 2
}
}else if(type==3){
text = '删除后字段不在显示,是否删除?'
}
this.$q.dialog({
title: "提示信息",
message: text,
cancel: {
label: "取消",
flat: true
},
ok: {
label: "确认",
flat: true,
focus: true
}
}).onOk(() => {
this.setFiledState(item, type)
});
},
setFiledState(item, Type) {
let msg = {
Type: Type,
FiledId: item.Id,
SortFiledId: 0,
}
setCustomerFiledState(msg).then(res => {
if (res.Code == 1) {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.getList()
}
})
},
getcancel(type) {
this.Isadd = false;
this.tabsList.forEach(x => {
x.disable = false
})
if (type == 2) {//数据保存成功的处理
this.getList()
}
},
getList() {
this.loading = true
getCustomerFiledList({ Enable: this.Enable }).then(res => {
this.loading = false
if (res.Code == 1) {
this.data = res.Data;
}
})
},
//获取部门下拉数据
getDepartList(id) {
let msg = {
School_Id: 0
}
getDeptTree(msg).then(res => {
if (res.Code == 1) {
this.deptl = res.Data;
}
})
},
getFieldInputType() {//获取客户子段输入类型枚举
getCustomerFieldInputTypeEnumList({}).then(res => {
if (res.Code == 1) {
this.checkboxList = res.Data;
}
})
},
getCustomerFieldType() {
getCustomerFieldTypeEnumList({}).then(res => {
if (res.Code == 1) {
this.tabsList = res.Data;
this.tabsList.forEach(x => {
x.disable = false
})
}
})
},
getdata(e){//拖动中的元素
this.dragId = e.draggedContext.element.Id
},
datadragEnd(e){//拖动结束
let olddragId = 0
if(e.newIndex>0){
olddragId = this.data[e.newIndex-1].Id
}else{
olddragId = 0
}
let msg = {
Type: 4,
FiledId: this.dragId,
SortFiledId: olddragId,
}
setCustomerFiledState(msg).then(res => {
if (res.Code == 1) {
// this.$q.notify({
// icon: 'iconfont icon-chenggong',
// color: 'accent',
// timeout: 2000,
// message: res.Message,
// position: 'top'
// })
}else{//如果移动失败 重新获取列表
this.getList()
}
})
}
......@@ -128,6 +255,32 @@
</script>
<style>
.customerSetup .payTable {
width: 100%;
border-collapse: collapse;
}
.customerSetup .payTable tr th {
background: #fff;
height: 40px;
font-size: 12px;
font-weight: bold;
color: #2D2D2D;
background: #DDDEE0;
}
.customerSetup .payTable tr {
background: #fff;
text-align: center;
height: 40px;
}
.customerSetup .payTable tr td {
font-size: 13px;
text-align: center;
color: #2D2D2D;
padding: 10px 0;
font-weight: bold;
border-bottom: 1px solid #E5E5E5;
}
</style>
\ No newline at end of file
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