Commit f0bab561 authored by jiangqihao's avatar jiangqihao

新增总代理商

parent f4c0ab2b
...@@ -25,7 +25,36 @@ export function customerCreate(data) { ...@@ -25,7 +25,36 @@ export function customerCreate(data) {
data data
}) })
} }
// // 客户发布记录
// 查询省
export function provinceSearch(data) {
return request({
url: '/province/searchAll',
method: 'post',
data
})
}
// 查询市
export function citySearch(data){
return request({
url: '/city/searchAll',
method: 'post',
data
})
}
// 查询市
export function districtSearch(data){
return request({
url: '/district/searchAll',
method: 'post',
data
})
}
// 客户发布记录
// export const releaseRecord = { // export const releaseRecord = {
// createUrl: '/releaserecord/create', // createUrl: '/releaserecord/create',
// searchUrl: '/releaserecord/search', // searchUrl: '/releaserecord/search',
...@@ -219,15 +248,14 @@ export const project = { ...@@ -219,15 +248,14 @@ export const project = {
// updateUrl: '/paymentTerm/updateDetail' // updateUrl: '/paymentTerm/updateDetail'
// } // }
// // 客户附件 // 客户附件
// export const file = { export const file = {
// createUrl: '/file/create', createUrl: '/create',
// searchUrl: '/file/search', searchUrl: '/search',
// detailUrl: '/file/getOne', detailUrl: '/getOne',
// updateUrl: '/file/update', updateUrl: '/update',
// deleteUrl: '/file/delete', deleteUrl: '/delete',
// deleteDetailUrl: '/file/deleteDetail' }
// }
// export const businessLog = { // export const businessLog = {
// searchUrl: '/businessLog/search' // searchUrl: '/businessLog/search'
......
...@@ -424,6 +424,7 @@ export default { ...@@ -424,6 +424,7 @@ export default {
'module': 'OpportunityPhaseTask' 'module': 'OpportunityPhaseTask'
}, },
flowDefinitions: 'flow/definition/getAllEnum', flowDefinitions: 'flow/definition/getAllEnum',
flowNodesByDefinition: 'flow/node/getAllEnumByDefinitionId?definitionId=1424712643570155522', flowNodesByDefinition: 'flow/node/getAllEnumByDefinitionId?definitionId=1424712643570155522',
......
...@@ -182,6 +182,16 @@ export default { ...@@ -182,6 +182,16 @@ export default {
label: '公司名称', label: '公司名称',
type: 'input', type: 'input',
layout: 12 layout: 12
},
OperName: {
label: '法人',
type: 'input',
layout: 12
},
CreditCode: {
label: '社会统一信用代码',
type: 'input',
layout: 12
} }
} }
} }
......
...@@ -11,7 +11,7 @@ function fetchDictionary(data) { ...@@ -11,7 +11,7 @@ function fetchDictionary(data) {
return enums[code] return enums[code]
} }
return request({ return request({
url: '/enum/queryAll', url: '/commonSession/searchAll',
method: 'post', method: 'post',
data data
}).then((res) => { }).then((res) => {
......
<template> <template>
<div v-if="addBtnStart"> <div v-if="addBtnStart">
<BusinessTable v-bind="constant"/> <FileTable :type-code="typeCode" :objectID='objectId' />
</div> </div>
</template> </template>
<script> <script>
import constant from './constant' import { uploadCode } from '@/api/upload'
import FileTable from '@/views/public/file-info'
export default { export default {
components: {
FileTable
},
props: { props: {
addBtnStart: { addBtnStart: {
type: Boolean, type: Boolean,
default: false default: false
},
objectId: {
type: String,
default: ''
} }
}, },
data() { data() {
return { return {
constant: {} typeCode: uploadCode.customer
}
},
created() {
// 设置表单的初始搜索条件,该条件一般不会发生改变
constant.tableConfig.initialParams = {
AccountID: this.$route.query.objectID
} }
this.constant = constant
}, },
watch: { watch: {
addBtnStart: { addBtnStart: {
...@@ -33,6 +34,13 @@ export default { ...@@ -33,6 +34,13 @@ export default {
}, },
immediate: true, immediate: true,
deep: true deep: true
},
objectId: {
handler(newVal) {
console.log(newVal)
},
immediate: true,
deep: true
} }
} }
} }
......
...@@ -12,6 +12,10 @@ export default { ...@@ -12,6 +12,10 @@ export default {
addBtnStart: { addBtnStart: {
type: Boolean, type: Boolean,
default: false default: false
},
objectId: {
type: String,
default: ''
} }
}, },
data() { data() {
...@@ -19,13 +23,6 @@ export default { ...@@ -19,13 +23,6 @@ export default {
constant: {} constant: {}
} }
}, },
created() {
// 设置表单的初始搜索条件,该条件一般不会发生改变
constant.tableConfig.initialParams = {
AccountID: this.$route.query.objectID
}
this.constant = constant
},
watch: { watch: {
addBtnStart: { addBtnStart: {
handler(newVal) { handler(newVal) {
...@@ -33,7 +30,23 @@ export default { ...@@ -33,7 +30,23 @@ export default {
}, },
immediate: true, immediate: true,
deep: true deep: true
},
objectId: {
handler(newVal) {
constant.tableConfig.initialParams = {
BusinessObjectID: newVal
}
},
immediate: true,
deep: true
}
},
created() {
// 设置表单的初始搜索条件,该条件一般不会发生改变
constant.tableConfig.initialParams = {
BusinessObjectID: this.objectId
} }
this.constant = constant
} }
} }
</script> </script>
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
@request-success="handleSuccess" @request-success="handleSuccess"
/> />
</div> </div>
<customerAddAddress :addBtnStart='addBtnStart'/> <customerAddAddress :addBtnStart='addBtnStart' :objectId='objectId'/>
<customerAddAccessory :addBtnStart='addBtnStart'/> <customerAddAccessory :addBtnStart='addBtnStart' :objectId='objectId'/>
<!-- <div class="btn"> <!-- <div class="btn">
<el-button type="primary">提交保存</el-button> <el-button type="primary">提交保存</el-button>
</div> --> </div> -->
...@@ -22,22 +22,29 @@ ...@@ -22,22 +22,29 @@
<script> <script>
import Title from '@/components/Title' import Title from '@/components/Title'
import { customerCreate } from '@/api/customers'; import { customerCreate, provinceSearch, citySearch, districtSearch } from '@/api/customers';
import customerAddAddress from './components/customersAdd-adress/index' import customerAddAddress from './components/customersAdd-adress/index'
import customerAddAccessory from './components/customersAdd-accessory/index' import customerAddAccessory from './components/customersAdd-accessory/index'
// import dictionary from '@/api/dictionary'
export default { export default {
components: { components: {
Title, Title,
customerCreate, customerCreate,
customerAddAddress, customerAddAddress,
customerAddAccessory customerAddAccessory,
provinceSearch,
citySearch,
districtSearch
}, },
data () { data () {
return { return {
title: '代理商新增', title: '代理商新增',
addBtnStart: false, addBtnStart: true,
objectId: '',
formData: {}, formData: {},
province: [],
sections: [ sections: [
{ {
title: '基本信息', title: '基本信息',
...@@ -49,7 +56,9 @@ export default { ...@@ -49,7 +56,9 @@ export default {
code: 'qcc', code: 'qcc',
returnFn: function(row) { returnFn: function(row) {
return { return {
Name: row.Name Name: row.Name,
ExtSocialUnifiedCreditCode_SDK: row.CreditCode,
ExtCorporateName_SDK: row.OperName
} }
}, },
}, },
...@@ -83,21 +92,65 @@ export default { ...@@ -83,21 +92,65 @@ export default {
{ {
title: '地址信息', title: '地址信息',
formDesc: { formDesc: {
// Name: { ExtProvinceCode_SDK: {
// type: 'select', type: 'select',
// label: '省份', label: '省份',
// layout: 12 layout: 12,
// }, options: async data => {
// ExtSecondName_SDK: { const res = await provinceSearch({})
// type: 'select', var result = res.results.map(item => {
// label: '城市', return {
// layout: 12, text: item.Name,
// }, value: item.Code
// ExtSocialUnifiedCreditCode_SDK: { }
// type: 'select', })
// label: '县市', return result
// layout: 12 },
// }, },
ExtCityCode_SDK: {
type: 'select',
label: '城市',
layout: 12,
isOptions: true,
optionsLinkageFields: ['ExtProvinceCode_SDK'],
options: async data => {
if (!data.ExtProvinceCode_SDK) {
return []
}
const res = await citySearch({
provinceCode: data.ExtProvinceCode_SDK
})
var result = res.results.map(item => {
return {
text: item.Name,
value: item.Code
}
})
return result
},
},
ExtDistrictCode_SDK: {
type: 'select',
label: '县市',
layout: 12,
isOptions: true,
optionsLinkageFields: ['ExtProvinceCode_SDK', 'ExtCityCode_SDK'],
options: async data => {
if (!data.ExtCityCode_SDK) {
return []
}
const res = await districtSearch({
cityCode: data.ExtCityCode_SDK
})
var result = res.results.map(item => {
return {
text: item.Name,
value: item.Code
}
})
return result
},
},
ExtAddressDetail_SDK: { ExtAddressDetail_SDK: {
type: 'input', type: 'input',
label: '详细经营地址', label: '详细经营地址',
...@@ -158,17 +211,23 @@ export default { ...@@ -158,17 +211,23 @@ export default {
], ],
// 同 vue-ele-form // 同 vue-ele-form
rules: { rules: {
ExtSocialUnifiedCreditCode_SDK: { required: true, message: '名称必填' } Name: {required: true, message: '名称必填'},
ExtSocialUnifiedCreditCode_SDK: { required: true, message: '名称必填' },
ExtSocialUnifiedCreditCode_SDK: { required: true, message: '名称必填' },
ExtRegisteredCapital_SDK: {required: true, message: '名称必填' },
ExtCorporateName_SDK: { required: true, message: '名称必填' },
} }
} }
}, },
methods: { methods: {
handleSubmit (data) { handleSubmit (data) {
console.log(data) console.log(data)
this.addBtnStart = true // this.addBtnStart = true
customerCreate(this.paramsToFormData(data)).then(res => { customerCreate(this.paramsToFormData(data)).then(res => {
console.log(res) // console.log(res)
this.addBtnStart = true this.addBtnStart = true
this.objectId = res.results
this.$message.success('创建成功') this.$message.success('创建成功')
}) })
// return Promise.resolve() // return Promise.resolve()
......
...@@ -31,7 +31,8 @@ const tableConfig = { ...@@ -31,7 +31,8 @@ const tableConfig = {
}, },
Name: { Name: {
label: '公司名称', label: '公司名称',
type: 'input' type: 'input',
showInSearch: true,
}, },
ExtCorporateName_SDK: { ExtCorporateName_SDK: {
label: '法定人代表', label: '法定人代表',
......
<template> <template>
<div class="app-container"> <h3>测试</h3>
<ele-search
:columns="tableConfig.columns"
@handleSearch="handleSearch"
@handleReset="handleReset"
@handleFilter="handleFilter"
/>
<div class="table-container">
<TableBtns>
<template v-slot:left>
<el-dropdown
style="margin-right: 10px;"
@command="handleAdd"
>
<el-button
type="primary"
icon="el-icon-plus"
>
添加
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="1">创建个人客户</el-dropdown-item>
<el-dropdown-item :command="2">创建企业客户</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button
plain
icon="el-icon-refresh"
@click="handleShowDialog(config.followTask)"
>分配</el-button>
<el-button
plain
icon="el-icon-user"
@click="handleShowDialog(config.resourcePool)"
>转资源池</el-button>
<el-button
plain
icon="el-icon-document"
@click="handleShowDialog(config.supervise)"
>
督办
</el-button>
<export-btn
:expand-params="expandParams"
config-code="customer"
/>
</template>
</TableBtns>
<ele-table
ref="eleTable"
v-bind="tableConfig"
:expand-params="expandParams"
:listeners="tableListeners"
@handleSelectionChange="handleSelectionChange"
/>
<!-- 弹框部分 -->
<ele-form-dialog
:title="dialogTitle"
:form-data="formData"
:request-fn="handleSave"
:visible.sync="dialogFormVisible"
v-bind="formConfig"
:loading="loading"
/>
</div>
</div>
</template> </template>
<script> <script>
import constant from './constant'
import tableMixin from '@/mixins/table'
import followTask from '../important-customers/components/record-info/components/follow-task/constant'
import supervise from '../important-customers/components/record-info/components/supervise/constant'
import { customer } from '@/api/customers'
export default { export default {
mixins: [tableMixin],
data() {
return {
expandParams: {}, // 筛选条件
tableListeners: {}, // 事件监听对象,供ele-table内部调用
tableConfig: constant.tableConfig,
enterpriseUrl: '/customers/enterprise',
individualUrl: '/customers/individual',
enterpriseDetailUrl: '/customers/enterprise-detail',
individualDetailUrl: '/customers/individual-detail',
selection: [],
config: {
followTask,
supervise,
resourcePool: constant.ResourcePoolFormConfig
},
dialogTitle: '',
dialogFormVisible: false,
formData: {},
formConfig: {
formDesc: {}
},
loading: false
}
},
created() {
this.tableListeners = {
handleCheck: this.handleCheck,
handleEdit: this.handleEdit,
handleDelete: this.handleDelete
}
},
methods: {
handleAdd(type) {
if (type === 1) {
this.$router.push({ path: this.individualUrl })
} else {
this.$router.push({ path: this.enterpriseUrl })
}
},
handleCheck(row) {
if (row.Ext_CustomerType_KUT === '121') {
this.$router.push({
path: this.individualDetailUrl,
query: { objectID: row.ObjectID }
})
} else if (row.Ext_CustomerType_KUT === '131') {
this.$router.push({
path: this.enterpriseDetailUrl,
query: { objectID: row.ObjectID }
})
}
},
handleEdit(row) {
if (row.Ext_CustomerType_KUT === '121') {
this.$router.push({
path: this.individualUrl,
query: { objectID: row.ObjectID }
})
} else if (row.Ext_CustomerType_KUT === '131') {
this.$router.push({
path: this.enterpriseUrl,
query: { objectID: row.ObjectID }
})
}
},
handleSelectionChange(selection) {
console.log(selection)
this.selection = selection
},
handleShowDialog(obj) {
if (this.selection.length === 0) {
this.$message.warning('请先选择一个客户')
return
}
this.dialogTitle = obj.title ? obj.title : '添加' + obj.tableConfig.tableTitle
this.postUrl = obj.createUrl
this.formData = {
objectID: this.selection[0].ObjectID,
roleCode: this.selection[0].roleCode
}
this.formConfig = obj.formConfig || obj
this.dialogFormVisible = true
},
handleSave(data) {
this.loading = true
data = this.$translateToC4CData(data)
this.$request(this.postUrl, [data]).then(res => {
this.loading = false
this.dialogFormVisible = false
}).catch(() => {
this.loading = false
})
},
handleDelete(row) {
this.$confirm('此操作将删除该客户, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const data = {
objectID: row.ObjectID,
ext_CustomerStatus_KUT: '191'
}
this.$request(customer.updateUrl, data).then(res => {
this.$message.success('删除成功')
this.handleSearch()
})
})
}
}
} }
</script> </script>
<style lang="scss" scoped> <style>
</style>
</style>
\ No newline at end of file
...@@ -111,7 +111,7 @@ export default { ...@@ -111,7 +111,7 @@ export default {
created() { created() {
this.tableConfig.columns.handle.vif = this.isShowEditBtn this.tableConfig.columns.handle.vif = this.isShowEditBtn
constant.tableConfig.initialParams = { constant.tableConfig.initialParams = {
AccountID: this.objectID || this.$route.query.objectID, BusinessObjectID: this.objectID || this.$route.query.objectID,
TypeCode: this.typeCode TypeCode: this.typeCode
} }
if (this.moduleType) { if (this.moduleType) {
......
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