Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
portalhtml
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rex
portalhtml
Commits
1facc496
Commit
1facc496
authored
Oct 13, 2021
by
rex
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!3
parents
f049cbf9
d55887d4
Changes
46
Show whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
1592 additions
and
1905 deletions
+1592
-1905
customers.js
src/api/customers.js
+66
-24
dictionary.js
src/api/dictionary.js
+1
-0
lov-data.js
src/api/lov-data.js
+21
-0
qcc.js
src/api/qcc.js
+4
-0
index.vue
src/components/Lov/index.vue
+1
-1
index.js
src/components/Lovs/index.js
+9
-0
index.vue
src/components/Lovs/index.vue
+322
-0
zh.js
src/lang/zh.js
+2
-1
Navbar.vue
src/layout/components/Navbar.vue
+2
-2
main.js
src/main.js
+2
-0
permission.js
src/permission.js
+21
-5
fetch-dictionary.js
src/utils/fetch-dictionary.js
+1
-1
constant.js
...tomers/customers-add/components/adress-config/constant.js
+0
-31
index.vue
...ustomers/customers-add/components/adress-config/index.vue
+0
-97
constant.js
...stomers/customers-add/components/basic-config/constant.js
+0
-47
index.vue
...customers/customers-add/components/basic-config/index.vue
+0
-97
constant.js
...stomers-add/components/customersAdd-accessory/constant.js
+70
-0
index.vue
...customers-add/components/customersAdd-accessory/index.vue
+51
-0
constant.js
.../customers-add/components/customersAdd-adress/constant.js
+70
-0
index.vue
...rs/customers-add/components/customersAdd-adress/index.vue
+56
-0
index.vue
src/views/customers/customers-add/index.vue
+261
-7
constant.js
src/views/customers/customers-overview/constant.js
+2
-1
constant.js
src/views/customers/potential-customers/constant.js
+79
-134
index.vue
src/views/customers/potential-customers/index.vue
+14
-155
SystemNotice.vue
src/views/dashboard/admin/components/SystemNotice.vue
+1
-1
index.vue
src/views/dashboard/admin/index.vue
+2
-3
constant.js
...oice/incoice-details/components/apply-invoice/constant.js
+0
-47
index.vue
...nvoice/incoice-details/components/apply-invoice/index.vue
+0
-30
constant.js
...voice/incoice-details/components/list-invoice/constant.js
+0
-128
index.vue
...invoice/incoice-details/components/list-invoice/index.vue
+0
-46
constant.js
...ce/incoice-details/components/remarks-invoice/constant.js
+0
-27
index.vue
...oice/incoice-details/components/remarks-invoice/index.vue
+0
-85
constant.js
...voice/incoice-details/components/rise-invoice/constant.js
+0
-56
index.vue
...invoice/incoice-details/components/rise-invoice/index.vue
+0
-36
index.vue
src/views/invoice/incoice-details/index.vue
+0
-119
constant.js
src/views/invoice/invoice-list/constant.js
+0
-89
index.vue
src/views/invoice/invoice-list/index.vue
+0
-105
index.vue
src/views/invoice/invoice-overview/index.vue
+0
-15
constant.js
src/views/invoice/invoicing-list/constant.js
+0
-122
index.vue
src/views/invoice/invoicing-list/index.vue
+0
-77
constant.js
src/views/invoice/invoicing-requisition/constant.js
+0
-85
index.vue
src/views/invoice/invoicing-requisition/index.vue
+0
-68
index.vue
src/views/invoice/review/index.vue
+0
-13
index.vue
src/views/login/city-register/index.vue
+68
-39
index.vue
src/views/login/prov-register/index.vue
+465
-110
index.vue
src/views/public/file-info/index.vue
+1
-1
No files found.
src/api/customers.js
View file @
1facc496
...
@@ -8,7 +8,11 @@ export const customer = {
...
@@ -8,7 +8,11 @@ export const customer = {
updateUrl
:
'/customer/update'
,
updateUrl
:
'/customer/update'
,
deleteUrl
:
'/customer/delete'
,
deleteUrl
:
'/customer/delete'
,
}
}
//查询省级供应商待审批列表
export
const
province
=
{
searchUrl
:
'/customer/searchProcessCustomer'
,
}
// 查询全部代理商数据
// 查询全部代理商数据
export
function
getAllData
(
data
)
{
export
function
getAllData
(
data
)
{
return
request
({
return
request
({
...
@@ -17,6 +21,52 @@ export function getAllData(data) {
...
@@ -17,6 +21,52 @@ export function getAllData(data) {
data
data
})
})
}
}
// 新增代理商
export
function
customerCreate
(
data
)
{
return
request
({
url
:
'/customer/create'
,
method
:
'post'
,
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
function
searchProduct
(
data
)
{
return
request
({
method
:
'post'
,
url
:
'/commonSession/searchAll'
,
data
})
}
// // 客户发布记录
// // 客户发布记录
// export const releaseRecord = {
// export const releaseRecord = {
// createUrl: '/releaserecord/create',
// createUrl: '/releaserecord/create',
...
@@ -65,13 +115,6 @@ export function getAllData(data) {
...
@@ -65,13 +115,6 @@ export function getAllData(data) {
// })
// })
// }
// }
// // 一级分类
// export function fetchFirstLevelClassification() {
// return request({
// method: 'post',
// url: '/levelClassification/searchAllOne'
// })
// }
// // 二级分类
// // 二级分类
// export function fetchSecondLevelClassification(data) {
// export function fetchSecondLevelClassification(data) {
...
@@ -91,14 +134,14 @@ export function getAllData(data) {
...
@@ -91,14 +134,14 @@ export function getAllData(data) {
// })
// })
// }
// }
//
//
客户项目信息
// 客户项目信息
//
export const project = {
export
const
project
=
{
// createUrl: '/project
/create',
createUrl
:
'/address
/create'
,
// searchUrl: '/project
/search',
searchUrl
:
'/address
/search'
,
// detailUrl: '/project
/getOne',
detailUrl
:
'/address
/getOne'
,
// updateUrl: '/project
/update',
updateUrl
:
'/address
/update'
,
// deleteUrl: '/project
/delete'
deleteUrl
:
'/address
/delete'
//
}
}
// // 客户市场信息
// // 客户市场信息
// export const market = {
// export const market = {
...
@@ -211,15 +254,14 @@ export function getAllData(data) {
...
@@ -211,15 +254,14 @@ export function getAllData(data) {
// 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'
...
...
src/api/dictionary.js
View file @
1facc496
...
@@ -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'
,
...
...
src/api/lov-data.js
View file @
1facc496
...
@@ -173,5 +173,26 @@ export default {
...
@@ -173,5 +173,26 @@ export default {
layout
:
12
layout
:
12
}
}
}
}
},
// 公司企称
qcc
:
{
searchUrl
:
'/qcc/search'
,
formDesc
:
{
Name
:
{
label
:
'公司名称'
,
type
:
'input'
,
layout
:
12
},
OperName
:
{
label
:
'法人'
,
type
:
'input'
,
layout
:
12
},
CreditCode
:
{
label
:
'社会统一信用代码'
,
type
:
'input'
,
layout
:
12
}
}
}
}
}
}
src/api/qcc.js
View file @
1facc496
...
@@ -11,3 +11,7 @@ export const Country = {
...
@@ -11,3 +11,7 @@ export const Country = {
export
const
Customer
=
{
export
const
Customer
=
{
searchUrl
:
'/customer/create'
,
searchUrl
:
'/customer/create'
,
}
}
export
const
Common
=
{
searchUrl
:
'/commonSession/searchAll'
,
}
\ No newline at end of file
src/components/Lov/index.vue
View file @
1facc496
...
@@ -248,7 +248,7 @@ export default {
...
@@ -248,7 +248,7 @@ export default {
const
params
=
this
.
$translateToC4CData
(
data
)
const
params
=
this
.
$translateToC4CData
(
data
)
delete
params
.
total
delete
params
.
total
this
.
$request
(
url
,
params
).
then
(
res
=>
{
this
.
$request
(
url
,
params
).
then
(
res
=>
{
this
.
tableData
=
res
.
results
||
[]
this
.
tableData
=
res
.
results
.
Result
||
[]
this
.
pageData
.
total
=
Number
(
res
.
totalSize
||
0
)
this
.
pageData
.
total
=
Number
(
res
.
totalSize
||
0
)
this
.
loading
=
false
this
.
loading
=
false
})
})
...
...
src/components/Lovs/index.js
0 → 100644
View file @
1facc496
import
LovComponent
from
'./index.vue'
const
Lovs
=
{
install
:
function
(
Vue
)
{
Vue
.
component
(
LovComponent
.
name
,
LovComponent
)
}
}
export
default
Lovs
src/components/Lovs/index.vue
0 → 100644
View file @
1facc496
<
template
>
<div
class=
"lovs"
style=
"width: 100%"
>
<el-input
v-model=
"text"
:readonly=
"true"
:disabled=
"disabled"
:placeholder=
"placeholder ? placeholder : '请选择'"
style=
"width: 100%"
@
mouseenter
.
native=
"hovering = true"
@
mouseleave
.
native=
"hovering = false"
@
focus=
"focused = true"
@
blur=
"focused = false"
>
<i
v-if=
"clearable && showClear"
slot=
"suffix"
class=
"el-input__icon el-icon-circle-close el-input__clear"
@
click=
"clear"
/>
<i
v-if=
"!disabled"
slot=
"suffix"
class=
"el-input__icon el-icon-search"
@
click=
"createLovTable"
/>
</el-input>
<el-dialog
v-el-drag-dialog
:visible
.
sync=
"dialogTableVisible"
:title=
"'请选择'+label"
width=
"50%"
class=
"lov-dialog"
:append-to-body=
"true"
:before-close=
"handleClose"
@
opened=
"onPreviewDialogOpened"
@
dragDialog=
"handleDrag"
>
<el-row
class=
"rowbig"
>
<el-col
:span=
"16"
class=
"dynamic-class"
>
<ele-form
v-model=
"searchData"
v-bind=
"formConfig"
/>
</el-col>
<el-col
:span=
"8"
>
<div
style=
"display:flex;justify-content: flex-end;"
>
<el-button
type=
"primary"
@
click=
"handleSearch"
>
查询
</el-button>
<el-button
plain
@
click=
"handleReset"
>
重置
</el-button>
<el-button
v-if=
"multi"
plain
@
click=
"handleMultiSelect"
>
选择
</el-button>
</div>
</el-col>
</el-row>
<div>
<el-table
v-loading=
"loading"
:data=
"tableData"
fit
highlight-current-row
:header-cell-style=
"dialogHeaderCellStyle"
style=
"width: 100%;"
@
row-dblclick=
"handleSelect"
@
selection-change=
"(rows) => (selectedRows = rows)"
>
<el-table-column
v-if=
"multi"
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
v-for=
"(item, key) in formConfig.formDesc"
:key=
"key"
:label=
"item.label"
:width=
"item.width"
align=
"center"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
{{
item
.
value
?
scope
.
row
[
item
.
value
]
:
scope
.
row
[
key
]
}}
</
template
>
</el-table-column>
</el-table>
</div>
<pagination
v-show=
"pageData.total > 0"
style=
"padding-bottom:8px"
:total=
"pageData.total"
:page
.
sync=
"pageData.currentPage"
:limit
.
sync=
"pageData.pageSize"
@
pagination=
"fetchTable"
/>
</el-dialog>
</div>
</template>
<
script
>
/* eslint-disable no-eval */
import
Pagination
from
'@/components/Pagination'
import
elDragDialog
from
'@/directive/el-drag-dialog'
import
lovData
from
'@/api/lov-data'
const
isNumber
=
require
(
'is-number'
)
function
isNil
(
value
)
{
return
value
==
null
}
export
default
{
name
:
'Lovs'
,
directives
:
{
elDragDialog
},
components
:
{
Pagination
},
filters
:
{
dialogWidthFilter
(
width
)
{
if
(
isNil
(
width
)
||
!
isNumber
(
width
))
{
return
'60%'
}
else
{
return
`
${
width
}
%`
}
}
},
props
:
{
code
:
{
type
:
String
,
default
:
''
},
searchUrl
:
{
type
:
String
,
default
:
''
},
// 请求地址,请求地址为空时候使用`/${code}/search`查询
label
:
{
type
:
String
,
default
:
''
},
// 作为标题
initialParams
:
{
type
:
Object
,
default
:
()
=>
{
}
},
// 初始搜索条件
displayKey
:
{
type
:
String
,
default
:
''
},
// 展示在页面的属性值,若无则使用表格第一列数据
/* eslint-disable */
returnFn
:
[
Function
],
// 处理返回值函数,使其符合接口要求
/* eslint-enable */
value
:
{
type
:
String
,
default
:
''
},
multi
:
{
type
:
Boolean
,
default
:
false
},
disabled
:
{
type
:
Boolean
,
default
:
false
},
/* eslint-disable */
beforeSelected
:
[
Function
],
/* eslint-enable */
clearable
:
{
type
:
Boolean
,
default
:
false
},
placeholder
:
{
type
:
String
,
default
:
''
}
},
data
:
function
()
{
return
{
defaultFormConfig
:
{
isShowSubmitBtn
:
false
,
isShowBackBtn
:
false
,
labelPosition
:
'left'
},
formConfig
:
{
formDesc
:
{}
},
dialogTableVisible
:
false
,
searchData
:
{},
tableData
:
[],
pageData
:
{
total
:
0
,
currentPage
:
0
,
pageSize
:
10
},
text
:
this
.
value
,
selectedRows
:
[],
hovering
:
false
,
focused
:
false
,
loading
:
true
}
},
computed
:
{
showClear
()
{
return
this
.
focused
||
this
.
hovering
}
},
watch
:
{
value
(
val
)
{
this
.
text
=
val
}
},
methods
:
{
clear
()
{
this
.
text
=
''
// 清空显示文本
const
val
=
this
.
translateRow
({})
this
.
$emit
(
'handleSelected'
,
val
)
},
// v-el-drag-dialog onDrag callback function
handleDrag
()
{
// this.$refs.select.blur()
},
createLovTable
()
{
var
formConfig
=
Object
.
assign
(
this
.
defaultFormConfig
,
lovData
[
this
.
code
])
this
.
formConfig
=
formConfig
this
.
dialogTableVisible
=
true
this
.
handleSearch
()
},
handleSearch
()
{
this
.
pageData
.
currentPage
=
1
this
.
fetchTable
()
},
handleReset
()
{
this
.
searchData
=
{}
this
.
handleSearch
()
},
fetchTable
()
{
this
.
loading
=
true
const
url
=
this
.
searchUrl
?
this
.
searchUrl
:
`/
${
this
.
code
}
/search`
const
data
=
Object
.
assign
({},
this
.
initialParams
,
this
.
searchData
,
this
.
pageData
)
const
params
=
this
.
$translateToC4CData
(
data
)
delete
params
.
total
this
.
$request
(
url
,
params
).
then
(
res
=>
{
this
.
tableData
=
res
.
results
.
Result
||
[]
this
.
pageData
.
total
=
Number
(
res
.
totalSize
||
0
)
this
.
loading
=
false
})
},
handleSelect
(
row
)
{
if
(
typeof
this
.
beforeSelected
===
'function'
)
{
this
.
beforeSelected
(
this
.
setValue
,
row
)
}
else
{
this
.
setValue
(
row
)
}
},
setValue
(
row
)
{
// 展示的key值,如果没有传值进来则使用表格第一列的值
const
key
=
this
.
displayKey
?
this
.
displayKey
:
Object
.
keys
(
this
.
formConfig
.
formDesc
)[
0
]
this
.
text
=
row
[
key
]
const
val
=
this
.
translateRow
(
row
)
this
.
$emit
(
'handleSelected'
,
val
)
this
.
dialogTableVisible
=
false
},
translateRow
(
row
)
{
var
result
if
(
this
.
returnFn
&&
typeof
this
.
returnFn
===
'function'
)
{
result
=
this
.
returnFn
(
row
)
if
(
Object
.
prototype
.
toString
.
call
(
result
)
!==
'[object Object]'
)
{
throw
Error
(
'lov配置中returnFn的返回值不是object'
)
}
}
else
{
result
=
this
.
text
}
return
result
},
handleMultiSelect
()
{
if
(
this
.
_
.
isEmpty
(
this
.
selectedRows
))
{
this
.
$notify
({
title
:
'警告'
,
message
:
'未选择'
,
type
:
'warning'
,
duration
:
2000
})
}
else
{
const
values
=
this
.
selectedRows
.
map
((
r
)
=>
r
[
this
.
lovData
.
valueField
])
const
texts
=
this
.
selectedRows
.
map
((
r
)
=>
r
[
this
.
lovData
.
textField
])
this
.
$emit
(
'handleSelected'
,
this
.
selectedRows
)
this
.
text
=
this
.
_
.
toString
(
texts
)
// this.$emit('update:text', this._.toString(texts))
this
.
$parent
.
$emit
(
'el.form.change'
,
[
values
])
this
.
dialogTableVisible
=
false
}
},
onPreviewDialogOpened
()
{
},
handleClose
(
done
)
{
done
()
},
dialogHeaderCellStyle
()
{
return
'background-color: #f7f8fa;'
}
}
}
</
script
>
<
style
lang=
"scss"
>
.lov-dialog
{
.el-dialog__header
{
padding
:
16px
20px
;
border-bottom
:
1px
solid
#f4f4f4
;
}
.el-dialog__body
{
padding
:
16px
20px
;
}
}
</
style
>
src/lang/zh.js
View file @
1facc496
...
@@ -185,7 +185,8 @@ export default {
...
@@ -185,7 +185,8 @@ export default {
takeEffect
:
'生效'
,
takeEffect
:
'生效'
,
invalid
:
'失效'
,
invalid
:
'失效'
,
baseInfo
:
'基础信息'
,
baseInfo
:
'基础信息'
,
viewAttachments
:
'查看附件'
viewAttachments
:
'查看附件'
,
approve
:
'审批'
},
},
example
:
{
example
:
{
warning
:
'创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见'
warning
:
'创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见'
...
...
src/layout/components/Navbar.vue
View file @
1facc496
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</ul>
</ul>
</li>
</li>
<!-- 消息三小列表 -->
<!-- 消息三小列表 -->
<li
<
!--
<
li
v-for=
"route in topRoutes.slice(-1)"
v-for=
"route in topRoutes.slice(-1)"
:key=
"route.meta.title"
:key=
"route.meta.title"
class=
"nav-item"
class=
"nav-item"
...
@@ -72,7 +72,7 @@
...
@@ -72,7 +72,7 @@
/>
/>
<span>
{{
route
.
meta
.
topTitle
}}
</span>
<span>
{{
route
.
meta
.
topTitle
}}
</span>
<el-badge
:value=
"2"
class=
"item"
/>
<el-badge
:value=
"2"
class=
"item"
/>
</li>
</li>
-->
</ul>
</ul>
<!--
<div
class=
"Mymessage"
>
<!--
<div
class=
"Mymessage"
>
<router-link
to=
"/message/index"
>
<router-link
to=
"/message/index"
>
...
...
src/main.js
View file @
1facc496
...
@@ -15,6 +15,7 @@ import EleSearch from '@/components/EleSearch'
...
@@ -15,6 +15,7 @@ import EleSearch from '@/components/EleSearch'
import
TableBtns
from
'@/components/TableBtns'
import
TableBtns
from
'@/components/TableBtns'
import
FormTitle
from
'@/components/FormTitle'
import
FormTitle
from
'@/components/FormTitle'
import
Lov
from
'@/components/Lov'
import
Lov
from
'@/components/Lov'
import
Lovs
from
'@/components/Lovs'
import
BusinessTable
from
'@/components/BusinessTable'
import
BusinessTable
from
'@/components/BusinessTable'
import
DetailTable
from
'@/components/DetailTable'
import
DetailTable
from
'@/components/DetailTable'
import
DescriptionTable
from
'@/components/DescriptionTable'
import
DescriptionTable
from
'@/components/DescriptionTable'
...
@@ -60,6 +61,7 @@ Vue.use(EleSearch)
...
@@ -60,6 +61,7 @@ Vue.use(EleSearch)
Vue
.
use
(
TableBtns
)
Vue
.
use
(
TableBtns
)
Vue
.
use
(
FormTitle
)
Vue
.
use
(
FormTitle
)
Vue
.
use
(
Lov
)
Vue
.
use
(
Lov
)
Vue
.
use
(
Lovs
)
Vue
.
use
(
BusinessTable
)
Vue
.
use
(
BusinessTable
)
Vue
.
use
(
DetailTable
)
Vue
.
use
(
DetailTable
)
Vue
.
use
(
DescriptionTable
)
Vue
.
use
(
DescriptionTable
)
...
...
src/permission.js
View file @
1facc496
/*
* @Descripttion:
* @Author: 薛泽展
* @Date: 2021-10-12 12:29:05
* @Since: JDK1.8
*/
import
router
from
'./router'
import
router
from
'./router'
import
store
from
'./store'
import
store
from
'./store'
import
{
Message
}
from
'element-ui'
import
{
Message
}
from
'element-ui'
...
@@ -8,7 +14,7 @@ import getPageTitle from '@/utils/get-page-title'
...
@@ -8,7 +14,7 @@ import getPageTitle from '@/utils/get-page-title'
NProgress
.
configure
({
showSpinner
:
false
})
// NProgress Configuration
NProgress
.
configure
({
showSpinner
:
false
})
// NProgress Configuration
const
whiteList
=
[
'/login'
,
'/auth-redirect'
]
// no redirect whitelist
const
whiteList
=
[
'/
prov-register'
,
'/city-register'
,
'/
login'
,
'/auth-redirect'
]
// no redirect whitelist
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
// start progress bar
// start progress bar
...
@@ -63,15 +69,25 @@ router.beforeEach(async(to, from, next) => {
...
@@ -63,15 +69,25 @@ router.beforeEach(async(to, from, next) => {
}
}
}
else
{
}
else
{
/* has no token*/
/* has no token*/
console
.
info
(
'=========================111'
+
to
.
path
)
if
(
whiteList
.
indexOf
(
to
.
path
)
!==
-
1
)
{
if
(
whiteList
.
indexOf
(
to
.
path
)
!==
-
1
)
{
// in the free login whitelist, go directly
// in the free login whitelist, go directly
console
.
info
(
'=========================2222'
)
next
()
next
()
}
else
{
}
else
{
console
.
info
(
'=========================3333'
)
// other pages that do not have permission to access are redirected to the login page.
// other pages that do not have permission to access are redirected to the login page.
if
(
to
.
path
===
'/city-register'
)
{
next
({
path
:
'/city-register'
})
}
else
if
(
to
.
path
===
'/prov-register'
)
{
next
({
path
:
'/prov-register'
})
}
else
{
next
(
`/login?redirect=
${
to
.
path
}
`
)
next
(
`/login?redirect=
${
to
.
path
}
`
)
NProgress
.
done
()
NProgress
.
done
()
}
}
// next(`/login?redirect=${to.path}`)
// NProgress.done()
}
}
}
})
})
...
...
src/utils/fetch-dictionary.js
View file @
1facc496
...
@@ -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/query
All'
,
url
:
'/
commonSession/search
All'
,
method
:
'post'
,
method
:
'post'
,
data
data
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
...
...
src/views/customers/customers-add/components/adress-config/constant.js
deleted
100644 → 0
View file @
f049cbf9
// import dictionary from '@/api/dictionary'
const
adressConfig
=
{
labelPosition
:
'left'
,
isShowBackBtn
:
false
,
isShowSubmitBtn
:
true
,
formDesc
:
{
Name
:
{
type
:
'select'
,
label
:
'省份'
,
layout
:
24
},
ExtSecondName_SDK
:
{
type
:
'input'
,
label
:
'城市'
,
layout
:
12
,
},
ExtSocialUnifiedCreditCode_SDK
:
{
type
:
'input'
,
label
:
'县市'
,
layout
:
12
},
ExtAddressDetail_SDK
:
{
type
:
'input'
,
label
:
'详细经营地址'
,
layout
:
12
,
},
}
}
export
default
{
adressConfig
}
src/views/customers/customers-add/components/adress-config/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div>
<!--
<Title
:title=
"title"
>
<span>
*
</span>
为必填项
</Title>
-->
<div
class=
"form-container"
>
<form-title
:title=
"formTitle"
/>
<ele-form
ref=
"form"
v-model=
"formData"
v-bind=
"basicConfig"
>
<template
v-slot:form-btn
>
<el-button
type=
"primary"
icon=
"el-icon-right"
:loading=
"loading"
@
click=
"handleSubmit"
>
保存提交
</el-button>
</
template
>
</ele-form>
</div>
</div>
</template>
<
script
>
import
Title
from
'@/components/Title'
import
formConfig
from
'./constant'
export
default
{
components
:
{
Title
},
props
:
{
// 状态判断是由那个页面跳转
status
:
{
type
:
String
,
default
:
''
},
formList
:
{
type
:
Object
,
default
:
Function
}
},
data
()
{
return
{
// title: '报价申请',
formTitle
:
'基础信息'
,
loading
:
false
,
formData
:
{},
basicConfig
:
formConfig
.
basicConfig
,
adressConfig
:
formConfig
.
adressConfig
}
},
// watch: {
// formList() {
// this.formData = this.formList
// },
// status: {
// handler(newVal) {
// console.log(newVal)
// },
// immediate: true,
// deep: true
// }
// },
// mounted() {
// // 判断是有那个页面跳转,一个是从报价新增按钮一个是从商机
// if (this.status === '新增') {
// this.formData = {
// Ext_QuoteType_KUT: '预备货报价',
// Ext_QuoteStatus_KUT: '101'
// }
// this.formConfig.formDesc.ProductRecipientPartyName.disabled = false
// } else {
// this.formData = {
// Ext_QuoteType_KUT: '普通报价',
// Ext_QuoteStatus_KUT: '101'
// }
// }
// },
methods
:
{
// handleSubmit() {
// // console.log('跳转')
// this.stepBmit()
// },
// stepBmit() {
// // 将表单中的存储的数据返回
// this.$emit('changeComponent', 'productInforma', this.formData)
// }
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/views/customers/customers-add/components/basic-config/constant.js
deleted
100644 → 0
View file @
f049cbf9
// import dictionary from '@/api/dictionary'
const
basicConfig
=
{
labelPosition
:
'left'
,
isShowBackBtn
:
false
,
isShowSubmitBtn
:
true
,
formDesc
:
{
Name
:
{
type
:
'lov'
,
label
:
'公司企称'
,
layout
:
24
},
ExtSecondName_SDK
:
{
type
:
'input'
,
label
:
'公司企称曾用名'
,
layout
:
12
,
},
ExtSocialUnifiedCreditCode_SDK
:
{
type
:
'input'
,
label
:
'社会统一信用代码'
,
layout
:
12
},
ExtRegisteredCapital_SDK
:
{
type
:
'input'
,
label
:
'注册资本(万元)'
,
layout
:
12
,
},
ExtCorporateName_SDK
:
{
type
:
'input'
,
label
:
'法人'
,
layout
:
12
,
},
// Ext_QuoteOppotunity_KUT: {
// type: 'input',
// label: '税务登记编号',
// layout: 12
// },
ExtAddressDetail_SDK
:
{
type
:
'input'
,
label
:
'详细经营地址'
,
layout
:
12
,
},
}
}
export
default
{
basicConfig
}
src/views/customers/customers-add/components/basic-config/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div>
<!--
<Title
:title=
"title"
>
<span>
*
</span>
为必填项
</Title>
-->
<div
class=
"form-container"
>
<form-title
:title=
"formTitle"
/>
<ele-form
ref=
"form"
v-model=
"formData"
v-bind=
"basicConfig"
>
<template
v-slot:form-btn
>
<el-button
type=
"primary"
icon=
"el-icon-right"
:loading=
"loading"
@
click=
"handleSubmit"
>
保存提交
</el-button>
</
template
>
</ele-form>
</div>
</div>
</template>
<
script
>
import
Title
from
'@/components/Title'
import
formConfig
from
'./constant'
export
default
{
components
:
{
Title
},
props
:
{
// 状态判断是由那个页面跳转
status
:
{
type
:
String
,
default
:
''
},
formList
:
{
type
:
Object
,
default
:
Function
}
},
data
()
{
return
{
// title: '报价申请',
formTitle
:
'基础信息'
,
loading
:
false
,
formData
:
{},
basicConfig
:
formConfig
.
basicConfig
,
adressConfig
:
formConfig
.
adressConfig
}
},
// watch: {
// formList() {
// this.formData = this.formList
// },
// status: {
// handler(newVal) {
// console.log(newVal)
// },
// immediate: true,
// deep: true
// }
// },
// mounted() {
// // 判断是有那个页面跳转,一个是从报价新增按钮一个是从商机
// if (this.status === '新增') {
// this.formData = {
// Ext_QuoteType_KUT: '预备货报价',
// Ext_QuoteStatus_KUT: '101'
// }
// this.formConfig.formDesc.ProductRecipientPartyName.disabled = false
// } else {
// this.formData = {
// Ext_QuoteType_KUT: '普通报价',
// Ext_QuoteStatus_KUT: '101'
// }
// }
// },
methods
:
{
// handleSubmit() {
// // console.log('跳转')
// this.stepBmit()
// },
// stepBmit() {
// // 将表单中的存储的数据返回
// this.$emit('changeComponent', 'productInforma', this.formData)
// }
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/views/customers/customers-add/components/customersAdd-accessory/constant.js
0 → 100644
View file @
1facc496
import
{
project
}
from
'@/api/customers'
const
tableConfig
=
{
tableTitle
:
'上传附件'
,
url
:
project
.
searchUrl
,
showPagination
:
false
,
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
Name
:
{
label
:
'联系人'
,
},
Phone
:
{
label
:
'电话'
},
Detail
:
{
label
:
'地址详细信息'
},
handle
:
{
label
:
'操作'
,
hideInFilter
:
true
,
fixed
:
'right'
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleEdit
(
scope
.
row
,
scope
.
$index
)
},
class
:
'el-icon-edit'
,
props
:
{
type
:
'text'
}
},
'编辑'
)
}
}
}
}
const
formConfig
=
{
labelPosition
:
'left'
,
submitBtnText
:
'保存'
,
formDesc
:
{
Name
:
{
type
:
'input'
,
layout
:
12
,
label
:
'联系人'
},
Phone
:
{
label
:
'电话'
,
type
:
'input'
,
layout
:
12
,
},
Detail
:
{
label
:
'地址详细信息'
,
type
:
'input'
,
layout
:
12
,
},
}
}
export
default
{
tableConfig
,
formConfig
,
...
project
}
src/views/customers/customers-add/components/customersAdd-accessory/index.vue
0 → 100644
View file @
1facc496
<
template
>
<div
v-if=
"addBtnStart"
>
<FileTable
:type-code=
"typeCode"
:objectID=
'objectId'
/>
</div>
</
template
>
<
script
>
import
{
uploadCode
}
from
'@/api/upload'
import
FileTable
from
'@/views/public/file-info'
export
default
{
components
:
{
FileTable
},
props
:
{
addBtnStart
:
{
type
:
Boolean
,
default
:
false
},
objectId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
typeCode
:
uploadCode
.
customer
}
},
watch
:
{
addBtnStart
:
{
handler
(
newVal
)
{
console
.
log
(
newVal
)
},
immediate
:
true
,
deep
:
true
},
objectId
:
{
handler
(
newVal
)
{
console
.
log
(
newVal
)
},
immediate
:
true
,
deep
:
true
}
}
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
src/views/customers/customers-add/components/customersAdd-adress/constant.js
0 → 100644
View file @
1facc496
import
{
project
}
from
'@/api/customers'
const
tableConfig
=
{
tableTitle
:
'收货地址'
,
url
:
project
.
searchUrl
,
showPagination
:
false
,
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
Name
:
{
label
:
'联系人'
,
},
Phone
:
{
label
:
'电话'
},
Detail
:
{
label
:
'地址详细信息'
},
handle
:
{
label
:
'操作'
,
hideInFilter
:
true
,
fixed
:
'right'
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleEdit
(
scope
.
row
,
scope
.
$index
)
},
class
:
'el-icon-edit'
,
props
:
{
type
:
'text'
}
},
'编辑'
)
}
}
}
}
const
formConfig
=
{
labelPosition
:
'left'
,
submitBtnText
:
'保存'
,
formDesc
:
{
Name
:
{
type
:
'input'
,
layout
:
12
,
label
:
'联系人'
},
Phone
:
{
label
:
'电话'
,
type
:
'input'
,
layout
:
12
,
},
Detail
:
{
label
:
'地址详细信息'
,
type
:
'input'
,
layout
:
12
,
},
}
}
export
default
{
tableConfig
,
formConfig
,
...
project
}
src/views/customers/customers-add/components/customersAdd-adress/index.vue
0 → 100644
View file @
1facc496
<
template
>
<div
v-if=
"addBtnStart"
>
<BusinessTable
v-bind=
"constant"
/>
</div>
</
template
>
<
script
>
import
constant
from
'./constant'
export
default
{
props
:
{
addBtnStart
:
{
type
:
Boolean
,
default
:
false
},
objectId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
constant
:
{}
}
},
watch
:
{
addBtnStart
:
{
handler
(
newVal
)
{
console
.
log
(
newVal
)
},
immediate
:
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
>
<
style
>
</
style
>
\ No newline at end of file
src/views/customers/customers-add/index.vue
View file @
1facc496
<
template
>
<
template
>
<div
class=
"form-container"
>
<Title
:title=
"title"
>
<span>
*
</span>
为必填项
</Title>
<div>
<div>
<ele-form-section
v-model=
"formData"
:request-fn=
"handleSubmit"
:rules=
"rules"
:sections=
"sections"
@
request-success=
"handleSuccess"
/>
</div>
<customerAddAddress
:addBtnStart=
'addBtnStart'
:objectId=
'objectId'
/>
<customerAddAccessory
:addBtnStart=
'addBtnStart'
:objectId=
'objectId'
/>
<!--
<div
class=
"btn"
>
<el-button
type=
"primary"
>
提交保存
</el-button>
</div>
-->
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
basicConfig
from
'./components/basic-config/index'
import
Title
from
'@/components/Title'
import
{
customerCreate
,
provinceSearch
,
citySearch
,
districtSearch
}
from
'@/api/customers'
;
import
customerAddAddress
from
'./components/customersAdd-adress/index'
import
customerAddAccessory
from
'./components/customersAdd-accessory/index'
// import dictionary from '@/api/dictionary'
export
default
{
export
default
{
components
:
{
Title
,
customerCreate
,
customerAddAddress
,
customerAddAccessory
,
provinceSearch
,
citySearch
,
districtSearch
},
data
()
{
return
{
title
:
'代理商新增'
,
addBtnStart
:
true
,
objectId
:
''
,
formData
:
{},
province
:
[],
sections
:
[
{
title
:
'基本信息'
,
formDesc
:
{
Name
:
{
type
:
'lov'
,
label
:
'公司企称'
,
layout
:
24
,
code
:
'qcc'
,
returnFn
:
function
(
row
)
{
return
{
Name
:
row
.
Name
,
ExtSocialUnifiedCreditCode_SDK
:
row
.
CreditCode
,
ExtCorporateName_SDK
:
row
.
OperName
}
},
},
ExtSecondName_SDK
:
{
type
:
'input'
,
label
:
'公司企称曾用名'
,
layout
:
12
,
},
ExtSocialUnifiedCreditCode_SDK
:
{
type
:
'input'
,
label
:
'社会统一信用代码'
,
layout
:
12
},
ExtRegisteredCapital_SDK
:
{
type
:
'input'
,
label
:
'注册资本(万元)'
,
layout
:
12
,
},
ExtCorporateName_SDK
:
{
type
:
'input'
,
label
:
'法人'
,
layout
:
12
,
},
// Ext_QuoteOppotunity_KUT: {
// type: 'input',
// label: '税务登记编号',
// layout: 12
// },
}
},
{
title
:
'地址信息'
,
formDesc
:
{
ExtProvinceCode_SDK
:
{
type
:
'select'
,
label
:
'省份'
,
layout
:
12
,
options
:
async
data
=>
{
const
res
=
await
provinceSearch
({})
var
result
=
res
.
results
.
map
(
item
=>
{
return
{
text
:
item
.
Name
,
value
:
item
.
Code
}
})
return
result
},
},
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
:
{
type
:
'input'
,
label
:
'详细经营地址'
,
layout
:
12
,
},
}
},
{
title
:
'联系信息'
,
formDesc
:
{
ExtLeader_SDK
:
{
type
:
'input'
,
label
:
'公司负责人姓名'
,
layout
:
12
},
ExtLeaderPhone_SDK
:
{
type
:
'input'
,
label
:
'公司负责人联系方式'
,
layout
:
12
},
ExtLeaderEmail_SDK
:
{
type
:
'input'
,
label
:
'公司负责人邮箱'
,
layout
:
12
},
ExtUnis_SDK
:
{
type
:
'input'
,
layout
:
12
,
label
:
'Unis业务负责人姓名'
},
ExtUnisPhone_SDK
:
{
type
:
'input'
,
layout
:
12
,
label
:
'Unis业务负责人联系方式'
},
ExtUnisEmail_SDK
:
{
type
:
'input'
,
label
:
'Unis业务负责人邮箱'
,
layout
:
12
},
ExtBusiness_SDK
:
{
type
:
'input'
,
layout
:
12
,
label
:
'商务负责人姓名'
},
ExtBusinessPhone_SDK
:
{
type
:
'input'
,
layout
:
12
,
label
:
'商务负责人联系方式'
},
ExtBusinessEmail_SDK
:
{
type
:
'input'
,
label
:
'商务负责人邮箱'
,
layout
:
12
},
}
}
],
// 同 vue-ele-form
rules
:
{
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
:
{
handleSubmit
(
data
)
{
console
.
log
(
data
)
// this.addBtnStart = true
customerCreate
(
this
.
paramsToFormData
(
data
)).
then
(
res
=>
{
// console.log(res)
this
.
addBtnStart
=
true
this
.
objectId
=
res
.
results
this
.
$message
.
success
(
'创建成功'
)
})
// return Promise.resolve()
},
handleSuccess
()
{
// this.$message.success('创建成功')
},
// 对象格式转化为键值对
paramsToFormData
(
obj
)
{
const
formData
=
new
FormData
();
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
obj
[
key
]
instanceof
Array
)
{
obj
[
key
].
forEach
((
item
)
=>
{
formData
.
append
(
key
,
item
);
});
return
;
}
formData
.
append
(
key
,
obj
[
key
]);
});
return
formData
;
},
}
}
}
</
script
>
</
script
>
<
style
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-row--flex
{
display
:
-
webkit-box
;
.el-col-14
{
width
:
90%
;
}
}
::v-deep
.ele-form-btns
{
.el-form-item__content
{
margin-left
:
45%
!
important
;
}
}
.btn
{
margin-left
:
45%
;
}
</
style
>
</
style
>
src/views/customers/customers-overview/constant.js
View file @
1facc496
...
@@ -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
:
'法定人代表'
,
...
...
src/views/customers/potential-customers/constant.js
View file @
1facc496
import
dictionary
from
'@/api/dictionary
'
import
i18n
from
'@/lang
'
import
{
customer
}
from
'@/api/customers'
import
{
province
,
searchProduct
}
from
'@/api/customers'
// 潜在客户主列表配置
const
tableConfig
=
{
const
tableConfig
=
{
url
:
customer
.
searchUrl
,
url
:
province
.
searchUrl
,
initialParams
:
{
roleCode
:
'BUP002'
},
defaultColumns
:
{
defaultColumns
:
{
minWidth
:
120
,
minWidth
:
120
,
showOverflowTooltip
:
true
,
showOverflowTooltip
:
true
,
align
:
'center'
align
:
'center'
},
},
columns
:
{
searchColums
:
{
Name
:
{
Name
:
{
label
:
'客户名称'
,
label
:
'公司名称'
,
showInSearch
:
true
,
type
:
'input'
,
type
:
'input'
,
fixed
:
'left'
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
return
h
(
'el-button'
,
{
'el-button'
,
{
on
:
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleCheck
(
scope
.
row
)
click
:
(
e
)
=>
listeners
.
handleDetails
(
scope
.
row
)
},
},
props
:
{
props
:
{
type
:
'text'
type
:
'text'
}
}
},
scope
.
row
.
ID
)
}
},
},
scope
.
row
.
Name
)
ExtProductGroup_SDK
:
{
label
:
'签约产品组'
,
showInSearch
:
true
,
type
:
'select'
,
fixed
:
'left'
,
isOptions
:
'true'
,
options
:
async
data
=>
{
const
res
=
await
searchProduct
({
code
:
'ExtProductGroup_SDK'
,
module
:
'Customer'
})
var
result
=
res
.
map
(
item
=>
{
return
{
text
:
item
.
content
,
value
:
item
.
keyword
}
})
return
result
},
},
showInSearch
:
true
},
},
Ext_CustomerType_KUT
:
{
label
:
'客户类型'
,
type
:
'select'
,
value
:
'Ext_CustomerType_KUTText'
,
showInSearch
:
true
,
options
:
dictionary
.
customerType
},
},
Ext_CustomerStatus_KUT
:
{
columns
:
{
label
:
'客户状态'
,
ExtCustomerID_SDK
:
{
type
:
'select'
,
label
:
'代理商编码'
,
value
:
'Ext_CustomerStatus_KUTText'
,
type
:
'input'
showInSearch
:
true
,
options
:
dictionary
.
customerStatus
},
},
Ext_CustomerMainContactName_KUT
:
{
Name
:
{
label
:
'
联系人
'
,
label
:
'
公司名称
'
,
type
:
'input'
type
:
'input'
},
},
Ext
_CustomerMainContactPhone_KUT
:
{
Ext
CorporateName_SDK
:
{
label
:
'
手机号码
'
,
label
:
'
法定人代表
'
,
type
:
'input'
type
:
'input'
},
},
Ext
_CustomerFollowUpDate_KUT
:
{
Ext
SocialUnifiedCreditCode_SDK
:
{
label
:
'
最后跟进
'
,
label
:
'
统一社会信用代码
'
,
type
:
'input'
type
:
'input'
},
},
Ext_CustomerForm_KUT
:
{
label
:
'来源'
,
CreationOn
:
{
value
:
'Ext_CustomerForm_KUTText
'
,
label
:
'注册时间
'
,
type
:
'input'
type
:
'input'
},
},
// Ext_QuoteOppotunity_KUT: {
// type: 'input',
// label: '代理商类型',
// showInSearch: true
// },
handle
:
{
handle
:
{
label
:
'操作'
,
label
:
'操作'
,
hideInFilter
:
true
,
fixed
:
'right'
,
fixed
:
'right'
,
minWidth
:
100
,
hideInFilter
:
true
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'div'
,
{},
[
return
h
(
'div'
,
[
h
(
h
(
'el-button'
,
{
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleEdit
(
scope
.
row
)
},
class
:
'el-icon-edit'
,
props
:
{
type
:
'text'
}
},
'编辑'
),
scope
.
row
.
Ext_CustomerStatus_KUTText
===
'草稿'
&&
h
(
'el-button'
,
{
on
:
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleDelete
(
scope
.
row
)
click
:
(
e
)
=>
listeners
.
handleEdit
(
scope
.
row
,
'approve'
)
},
},
class
:
'el-icon-delete'
,
props
:
{
props
:
{
type
:
'text'
type
:
'text'
,
label
:
'审批'
}
}
},
},
i18n
.
t
(
'table.approve'
)),
'删除'
)
// h('el-button', {
// on: {
// click: (e) => listeners.handleTakeEffect(scope.row, 'takeEffect')
// },
// props: {
// icon: 'el-icon-circle-check',
// type: 'text'
// }
// }, i18n.t('table.takeEffect')),
// h('el-button', {
// on: {
// click: (e) => listeners.handleInvalid(scope.row, 'invalid')
// },
// props: {
// icon: 'el-icon-circle-check',
// type: 'text'
// }
// }, i18n.t('table.invalid'))
])
])
}
}
}
}
}
}
}
}
// 注销客户弹框配置
export
default
tableConfig
const
CancellationFormConfig
=
{
title
:
'注销原因'
,
createUrl
:
customer
.
updateUrl
,
labelPosition
:
'left'
,
submitBtnText
:
'确定'
,
span
:
22
,
formDesc
:
{
Ext_CustomerStatus_KUT
:
{
type
:
'input'
,
label
:
'客户状态'
,
default
:
'131'
,
vif
:
false
,
layout
:
24
},
Ext_CustomerCancellationReasons_KUT
:
{
type
:
'textarea'
,
label
:
'注销原因'
,
layout
:
24
}
}
}
// 激活客户弹框配置
const
ActivationFormConfig
=
{
title
:
'激活原因'
,
createUrl
:
customer
.
updateUrl
,
labelPosition
:
'left'
,
submitBtnText
:
'确定'
,
span
:
22
,
formDesc
:
{
Ext_CustomerStatus_KUT
:
{
type
:
'input'
,
label
:
'客户状态'
,
default
:
'111'
,
vif
:
false
,
layout
:
24
},
Ext_CustomerActivationReasons_KUT
:
{
type
:
'textarea'
,
label
:
'激活原因'
,
layout
:
24
}
}
}
// 移入资源池弹框配置
const
ResourcePoolFormConfig
=
{
title
:
'移入资源池'
,
createUrl
:
customer
.
toPoolUrl
,
labelPosition
:
'left'
,
submitBtnText
:
'确定'
,
span
:
22
,
formDesc
:
{
Ext_CustomerActivationReasons_KUT
:
{
type
:
'textarea'
,
label
:
'移入资源池原因'
,
layout
:
24
}
}
}
export
default
{
tableConfig
,
ActivationFormConfig
,
CancellationFormConfig
,
ResourcePoolFormConfig
}
src/views/customers/potential-customers/index.vue
View file @
1facc496
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<ele-search
<ele-search
:columns=
"tableConfig.
column
s"
:columns=
"tableConfig.
searchColum
s"
@
handleSearch=
"handleSearch"
@
handleSearch=
"handleSearch"
@
handleReset=
"handleReset"
@
handleReset=
"handleReset"
@
handleFilter=
"handleFilter"
/>
/>
<div
class=
"table-container"
>
<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
<ele-table
ref=
"eleTable"
ref=
"eleTable"
v-bind=
"tableConfig"
v-bind=
"tableConfig"
:expand-params=
"expandParams"
:expand-params=
"expandParams"
:listeners=
"tableListeners"
: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>
</div>
</div>
...
@@ -71,125 +22,33 @@
...
@@ -71,125 +22,33 @@
<
script
>
<
script
>
import
constant
from
'./constant'
import
constant
from
'./constant'
import
tableMixin
from
'@/mixins/table'
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
],
mixins
:
[
tableMixin
],
inject
:
[
'reload'
],
data
()
{
data
()
{
return
{
return
{
expandParams
:
{},
// 筛选条件
expandParams
:
{},
// 筛选条件
tableListeners
:
{},
// 事件监听对象,供ele-table内部调用
tableListeners
:
{},
// 事件监听对象,供ele-table内部调用
tableConfig
:
constant
.
tableConfig
,
tableConfig
:
constant
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
()
{
created
()
{
this
.
tableListeners
=
{
this
.
tableListeners
=
{
handleCheck
:
this
.
handleCheck
,
// handleDetails: this.handleDetails, // 添加
handleEdit
:
this
.
handleEdit
,
// handleTakeEffect: this.handleTakeEffect, // 生效
handleDelete
:
this
.
handleDelete
handleEdit
:
this
.
handleEdit
,
// 编辑
// handleInvalid: this.handleInvalid // 失效
}
}
},
},
methods
:
{
methods
:
{
handleAdd
(
type
)
{
// 编辑
if
(
type
===
1
)
{
handleEdit
(
val
)
{
this
.
$router
.
push
({
path
:
this
.
individualUrl
})
this
.
$router
.
push
({
path
:
'/customersAdd'
,
query
:{
id
:
val
.
ObjectID
}
})
}
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
>
src/views/dashboard/admin/components/SystemNotice.vue
View file @
1facc496
...
@@ -32,7 +32,7 @@ export default {
...
@@ -32,7 +32,7 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
getTableData
()
//
this.getTableData()
},
},
mounted
()
{
mounted
()
{
},
},
...
...
src/views/dashboard/admin/index.vue
View file @
1facc496
...
@@ -9,7 +9,6 @@
...
@@ -9,7 +9,6 @@
</div>
</div>
<div
class=
"two-column"
>
<div
class=
"two-column"
>
<div
class=
"left"
/>
<div
class=
"left"
/>
<ComplaintsAndSuggestions
/>
</div>
</div>
<el-row
style=
"background:#fff;padding:16px 16px 0;margin-bottom:32px;"
>
<el-row
style=
"background:#fff;padding:16px 16px 0;margin-bottom:32px;"
>
...
@@ -83,7 +82,7 @@
...
@@ -83,7 +82,7 @@
<
script
>
<
script
>
import
SystemNotice
from
'./components/SystemNotice'
import
SystemNotice
from
'./components/SystemNotice'
import
ComplaintsAndSuggestions
from
'./components/ComplaintsAndSuggestions'
//
import ComplaintsAndSuggestions from './components/ComplaintsAndSuggestions'
import
PanelGroup
from
'./components/PanelGroup'
import
PanelGroup
from
'./components/PanelGroup'
import
LineChart
from
'./components/LineChart'
import
LineChart
from
'./components/LineChart'
import
RaddarChart
from
'./components/RaddarChart'
import
RaddarChart
from
'./components/RaddarChart'
...
@@ -116,7 +115,7 @@ export default {
...
@@ -116,7 +115,7 @@ export default {
name
:
'DashboardAdmin'
,
name
:
'DashboardAdmin'
,
components
:
{
components
:
{
SystemNotice
,
SystemNotice
,
ComplaintsAndSuggestions
,
//
ComplaintsAndSuggestions,
PanelGroup
,
PanelGroup
,
LineChart
,
LineChart
,
RaddarChart
,
RaddarChart
,
...
...
src/views/invoice/incoice-details/components/apply-invoice/constant.js
deleted
100644 → 0
View file @
f049cbf9
const
applyConfig
=
{
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
numberID
:
{
type
:
'input'
,
label
:
'序号'
},
GoodsORTaxableServicesName
:
{
type
:
'input'
,
label
:
'货物或应税劳务、服务名称'
},
SpecificationModel
:
{
type
:
'input'
,
label
:
'规格型号'
},
Unit
:
{
type
:
'input'
,
label
:
'单位'
},
Quantity
:
{
type
:
'input'
,
label
:
'数量'
},
UnitPrice
:
{
type
:
'input'
,
label
:
'单价'
},
Money
:
{
type
:
'input'
,
label
:
'金额'
},
TaxRate
:
{
type
:
'input'
,
label
:
'税率'
},
TaxAmount
:
{
type
:
'input'
,
label
:
'税额'
}
}
}
export
default
applyConfig
src/views/invoice/incoice-details/components/apply-invoice/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"apply"
>
<Title
:title=
"apply"
/>
<ele-table
ref=
"eleTable"
v-bind=
"applyConfig"
/>
</div>
</
template
>
<
script
>
import
constant
from
'./constant'
import
Title
from
'@/components/Title'
export
default
{
components
:
{
Title
},
data
()
{
return
{
apply
:
'开票申请信息'
,
applyConfig
:
constant
}
}
}
</
script
>
<
style
>
</
style
>
src/views/invoice/incoice-details/components/list-invoice/constant.js
deleted
100644 → 0
View file @
f049cbf9
const
tableConfig
=
{
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
BillOfParcels
:
{
type
:
'input'
,
label
:
'订单行'
,
fixed
:
'left'
},
OrderID
:
{
type
:
'input'
,
label
:
'订单编号'
},
OrderType
:
{
type
:
'input'
,
label
:
'订单类型'
},
CustomerID
:
{
type
:
'input'
,
label
:
'客户编号'
},
CustomerName
:
{
type
:
'input'
,
label
:
'客户名称'
},
ReceiptPlace
:
{
type
:
'input'
,
label
:
'收获地点'
},
ShippingTime
:
{
type
:
'input'
,
label
:
'出货时间'
},
MaterialCode
:
{
type
:
'input'
,
label
:
'物料编码'
},
MaterialCodeDescription
:
{
type
:
'input'
,
label
:
'物料编码说明'
},
Quantity
:
{
type
:
'input'
,
label
:
'数量'
},
Unit
:
{
type
:
'input'
,
label
:
'单位'
},
UnitPrice
:
{
type
:
'input'
,
label
:
'单价'
},
Money
:
{
type
:
'input'
,
label
:
'金额'
},
InvoiceSource
:
{
type
:
'input'
,
label
:
'发票来源'
},
Currency
:
{
type
:
'input'
,
label
:
'币种'
},
ExchangeRate
:
{
type
:
'input'
,
label
:
'汇率'
},
IsInformationComplete
:
{
type
:
'input'
,
label
:
'资料是否齐全'
},
IsCustomsDeclaration
:
{
type
:
'input'
,
label
:
'是否有报关单'
},
CustomsDeclarationID
:
{
type
:
'input'
,
label
:
'报关单号'
},
CheckFeedback
:
{
type
:
'input'
,
label
:
'审核反馈'
},
TwiceCheckFeedback
:
{
type
:
'input'
,
label
:
'复核反馈'
},
ConfirmStatus
:
{
type
:
'input'
,
label
:
'状态'
},
handle
:
{
label
:
'操作'
,
fixed
:
'right'
,
minWidth
:
200
,
hideInFilter
:
true
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'div'
,
[
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleEdit
(
scope
.
row
)
},
props
:
{
icon
:
'el-icon-success'
,
type
:
'text'
}
},
'通过'
),
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleTakeEffect
(
scope
.
row
)
},
props
:
{
icon
:
'el-icon-error'
,
type
:
'text'
}
},
'未通过'
)
])
}
}
}
}
export
default
tableConfig
src/views/invoice/incoice-details/components/list-invoice/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"list"
>
<Title
:title=
"list"
/>
<div
class=
"listHanle"
>
<div
class=
"listHanle_title"
>
<span><i
class=
"el-icon-pie-chart"
/>
行数:10
</span>
<span>
数量:1000
</span>
<span>
金额:1000
</span>
</div>
</div>
<ele-table
ref=
"eleTable"
v-bind=
"tableConfig"
/>
</div>
</
template
>
<
script
>
import
constant
from
'./constant'
import
Title
from
'@/components/Title'
export
default
{
components
:
{
Title
},
data
()
{
return
{
tableConfig
:
constant
,
list
:
'开票清单信息'
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.listHanle
{
height
:
60px
;
line-height
:
60px
;
.listHanle_title
{
float
:
right
;
span
{
padding-right
:
20px
;
}
}
}
</
style
>
src/views/invoice/incoice-details/components/remarks-invoice/constant.js
deleted
100644 → 0
View file @
f049cbf9
const
formConfigNote
=
{
isShowBackBtn
:
false
,
isShowSubmitBtn
:
true
,
detailUrl
:
'/invoiceApply/getOne'
,
formDesc
:
{
SpecialInstructions
:
{
type
:
'input'
,
label
:
'特殊说明'
,
disabled
:
true
,
layout
:
12
},
ReferenceNote
:
{
type
:
'input'
,
label
:
'参考备注'
,
disabled
:
true
,
layout
:
12
},
ActualNote
:
{
type
:
'input'
,
label
:
'实际备注'
,
disabled
:
true
,
layout
:
12
}
}
}
export
default
formConfigNote
src/views/invoice/incoice-details/components/remarks-invoice/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"remarks"
>
<Title
:title=
"remarks"
/>
<div
class=
"remarks-btn"
>
<div
class=
"addBtn"
>
<el-button
type=
"text"
@
click=
"handleAdd"
>
编辑
</el-button>
</div>
</div>
<detail-table
:table-config=
"formConfigNote"
:table-data=
"tableData"
/>
</div>
</
template
>
<
script
>
import
DetailTable
from
'@/components/DetailTable'
import
constant
from
'./constant'
import
Title
from
'@/components/Title'
import
{
invoiceApplyUpdate
,
invoiceApplyGetOne
}
from
'@/api/invoice'
export
default
{
components
:
{
DetailTable
,
Title
},
props
:
{
objectId
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
remarks
:
'特殊开票及备注说明'
,
formConfigNote
:
constant
,
tableData
:
{}
}
},
watch
:
{
objectId
:
{
handler
(
newVal
)
{
console
.
log
(
newVal
)
},
deep
:
true
,
immediate
:
true
}
},
methods
:
{
handleAdd
()
{
this
.
$prompt
(
'实际备注'
,
'编辑实际备注'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
}).
then
(({
value
})
=>
{
// console.log(value, this.objectId)
invoiceApplyUpdate
({
objectID
:
this
.
objectId
.
objectID
,
actualNote
:
value
}).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功'
})
this
.
toUpdate
()
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'取消输入'
})
})
},
toUpdate
()
{
invoiceApplyGetOne
(
this
.
objectId
).
then
(
res
=>
{
console
.
log
(
res
.
results
[
0
])
this
.
tableData
=
res
.
results
[
0
]
})
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.remarks-btn
{
height
:
30px
;
line-height
:
30px
;
padding
:
0
20px
;
.addBtn
{
float
:
right
;
}
}
</
style
>
src/views/invoice/incoice-details/components/rise-invoice/constant.js
deleted
100644 → 0
View file @
f049cbf9
const
formConfig
=
{
isShowBackBtn
:
false
,
isShowSubmitBtn
:
true
,
detailUrl
:
'/invoiceApply/getOne'
,
formDesc
:
{
CustomerName
:
{
type
:
'input'
,
label
:
'客户名称'
,
disabled
:
true
,
layout
:
12
},
DetailedAddress
:
{
type
:
'input'
,
label
:
'地址'
,
disabled
:
true
,
layout
:
12
},
TaxpayerIdentificationNumber
:
{
type
:
'input'
,
label
:
'纳税人识别号'
,
disabled
:
true
,
layout
:
12
},
DepositBank
:
{
type
:
'input'
,
layout
:
12
,
label
:
'开户行'
},
BankNumber
:
{
type
:
'input'
,
label
:
'账户'
,
disabled
:
true
,
layout
:
12
},
Phone
:
{
type
:
'input'
,
label
:
'电话'
,
disabled
:
true
,
layout
:
12
},
BillingType
:
{
type
:
'input'
,
label
:
'开票类型'
,
disabled
:
true
,
layout
:
12
},
Currency
:
{
type
:
'input'
,
label
:
'币种'
,
disabled
:
true
,
layout
:
12
}
}
}
export
default
formConfig
src/views/invoice/incoice-details/components/rise-invoice/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"rise"
>
<Title
:title=
"rise"
/>
<detail-table
:table-config=
"formConfig"
:table-data=
"tableData"
/>
</div>
</
template
>
<
script
>
import
DetailTable
from
'@/components/DetailTable'
import
constant
from
'./constant'
import
Title
from
'@/components/Title'
export
default
{
components
:
{
DetailTable
,
Title
},
props
:
{
objectId
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
formConfig
:
constant
,
rise
:
'客户抬头信息'
,
tableData
:
{}
}
}
}
</
script
>
<
style
>
</
style
>
src/views/invoice/incoice-details/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
v-loading=
"loading"
class=
"app-container"
>
<div
class=
"detail-header-container"
>
<div
class=
"detail-header-title"
>
<h3>
深圳市深蓝集团
</h3>
<div
class=
"detail-header-info"
>
<div>
<i
class=
"el-icon-c-scale-to-original"
/>
<span>
申请编码:
{{
tableData
.
ID
}}
</span>
</div>
<div>
<i
class=
"el-icon-c-scale-to-original"
/>
<span>
申请状态:
{{
tableData
.
Ext_QuoteStatus_KUT
}}
</span>
</div>
</div>
</div>
<div
class=
"detail-header-info"
>
<div><span>
申请总金额:
{{
tableData
.
RequisitionTotalAmount
}}
</span></div>
<div><span>
申请人:
{{
tableData
.
RequisitionPerson
}}
</span></div>
<div><span>
开票时间:
{{
tableData
.
BillingTime
}}
</span></div>
<div><span>
是否同步ERP:
{{
tableData
.
IsToERP
?
'是'
:
'否'
}}
</span></div>
<div><span>
同步状态:
{{
tableData
.
CreationDateTime
?
'同步成功'
:
'同步失败'
}}
</span></div>
</div>
</div>
<div
class=
"detail-content-container"
>
<Remarks
:object-id=
"objectID"
/>
<Rise
/>
<Apply
:object-id=
"objectID"
/>
<List
:object-id=
"objectID"
/>
<div
class=
"floor-btn"
>
<div
class=
"btn"
>
<el-button
type=
"primary"
size=
"medium"
>
<i
class=
"el-icon-error"
/>
不同意开票
</el-button>
<el-button
type=
"primary"
size=
"medium"
>
<i
class=
"el-icon-success"
/>
同意开票
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
invoiceApplyGetOne
}
from
'@/api/invoice'
import
Remarks
from
'./components/remarks-invoice/index'
import
Rise
from
'./components/rise-invoice/index'
import
Apply
from
'./components/apply-invoice/index'
import
List
from
'./components/list-invoice/index'
export
default
{
components
:
{
Remarks
,
Rise
,
Apply
,
List
},
data
()
{
return
{
tableData
:
{},
objectID
:
''
,
loading
:
false
}
},
created
()
{
this
.
getTableData
()
},
methods
:
{
getTableData
()
{
this
.
objectID
=
this
.
$route
.
query
this
.
loading
=
true
invoiceApplyGetOne
(
this
.
objectID
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
tableData
=
res
.
results
[
0
]
this
.
loading
=
false
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.apply
.el-table--border
{
margin-top
:
40px
;
}
.listHanle
{
height
:
60px
;
line-height
:
60px
;
.listHanle_title
{
float
:
right
;
span
{
padding-right
:
20px
;
}
}
}
.floor-btn
{
height
:
200px
;
line-height
:
200px
;
.btn
{
float
:
right
;
}
}
.remarks-btn
{
height
:
30px
;
line-height
:
30px
;
padding
:
0
20px
;
.addBtn
{
float
:
right
;
}
}
</
style
>
src/views/invoice/invoice-list/constant.js
deleted
100644 → 0
View file @
f049cbf9
import
{
billingMessage
}
from
'@/api/invoice'
const
tableConfig
=
{
url
:
billingMessage
.
searchUrl
,
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
InvoiceNo
:
{
type
:
'input'
,
showInSearch
:
true
,
fixed
:
'left'
,
label
:
'发票号码'
},
InvoicingRequisitionNo
:
{
type
:
'input'
,
label
:
'申请单号'
},
InvoiceCode
:
{
type
:
'input'
,
label
:
'发票代码'
},
InvoiceType
:
{
type
:
'input'
,
showInSearch
:
true
,
label
:
'发票类型'
},
InvoiceAmount
:
{
type
:
'input'
,
label
:
'发票金额'
},
BillingTime
:
{
type
:
'input'
,
label
:
'开票时间'
},
SignStatus
:
{
type
:
'input'
,
label
:
'开票状态'
},
SignTime
:
{
type
:
'input'
,
label
:
'签收时间'
},
SignBack
:
{
type
:
'input'
,
label
:
'签收回执'
},
CourierCompany
:
{
type
:
'input'
,
label
:
'快递公司'
},
CourierNumber
:
{
type
:
'input'
,
label
:
'快递单号'
},
handle
:
{
label
:
'操作'
,
fixed
:
'right'
,
minWidth
:
200
,
hideInFilter
:
true
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'div'
,
[
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
enterInvoice
(
scope
.
row
,
'录入发票'
)
},
props
:
{
icon
:
'el-icon-full-screen'
,
type
:
'text'
}
},
'录入发票'
),
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
uploadReceipt
(
scope
.
row
,
'上传回执'
)
},
props
:
{
icon
:
'el-icon-circle-check'
,
type
:
'text'
}
},
'上传回执'
)
])
}
}
}
}
export
default
tableConfig
src/views/invoice/invoice-list/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"app-container"
>
<ele-search
:columns=
"tableConfig.columns"
@
handleSearch=
"handleSearch"
@
handleReset=
"handleReset"
@
handleFilter=
"handleFilter"
/>
<div
class=
"table-container"
>
<TableBtns>
<template
v-slot:left
>
<el-button
type=
"primary"
icon=
"el-icon-success"
@
click=
"confirmReceipt"
>
确认收票
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-edit-outline"
@
click=
"fillLogistics"
>
填写物流
</el-button>
</
template
>
</TableBtns>
<ele-table
ref=
"eleTable"
v-bind=
"tableConfig"
:expand-params=
"expandParams"
:listeners=
"tableListeners"
@
handleSelectionChange=
"handleSelectionChange"
/>
</div>
</div>
</template>
<
script
>
import
constant
from
'./constant'
import
tableMixin
from
'@/mixins/table'
import
{
billingMessageUpdate
}
from
'@/api/invoice'
export
default
{
mixins
:
[
tableMixin
],
data
()
{
return
{
expandParams
:
{},
// 筛选条件
tableListeners
:
{},
// 事件监听对象,供ele-table内部调用
tableConfig
:
constant
,
selection
:
[]
}
},
created
()
{
this
.
tableListeners
=
{
enterInvoice
:
this
.
enterInvoice
,
// 录入发票
uploadReceipt
:
this
.
uploadReceipt
// 上传回执
}
},
methods
:
{
// 录入发票
enterInvoice
(
row
)
{
console
.
log
(
'录入发票'
,
row
)
},
// 上传回执
uploadReceipt
(
row
)
{
console
.
log
(
'上传回执'
,
row
)
},
handleSelectionChange
(
selection
)
{
console
.
log
(
selection
)
this
.
selection
=
selection
},
confirmReceipt
()
{
console
.
log
(
this
.
selection
)
if
(
this
.
selection
.
length
===
0
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请选择需要收票的发票'
})
}
else
{
this
.
$confirm
(
' 是否确定签收发票?'
,
'确定提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
billingMessageUpdate
(
this
.
selection
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'签收成功!'
})
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
})
})
}
},
fillLogistics
()
{
console
.
log
(
'确认物流'
)
}
}
}
</
script
>
<
style
>
</
style
>
src/views/invoice/invoice-overview/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div>
<h2>
发票总览
</h2>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
src/views/invoice/invoicing-list/constant.js
deleted
100644 → 0
View file @
f049cbf9
// import { invoiceApply } from '@/api/invoice'
const
tableConfig
=
{
// url: invoiceApply.billingMessageSearchUrl,
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
BillOfParcels
:
{
type
:
'input'
,
fixed
:
'left'
,
label
:
'订单行'
},
OrderID
:
{
type
:
'input'
,
showInSearch
:
true
,
label
:
'订单编号'
},
OrderType
:
{
type
:
'input'
,
label
:
'订单类型'
},
InvoicingRequisitionNo
:
{
type
:
'input'
,
label
:
'开票申请单号'
},
CustomerID
:
{
type
:
'input'
,
label
:
'客户编号'
},
CustomerName
:
{
type
:
'input'
,
showInSearch
:
true
,
label
:
'客户名称'
},
ReceiptPlace
:
{
type
:
'input'
,
label
:
'收货地点'
},
ShippingTime
:
{
type
:
'input'
,
label
:
'出货时间'
},
MaterialCode
:
{
type
:
'input'
,
label
:
'物料编码'
},
MaterialCodeDescription
:
{
type
:
'input'
,
label
:
'物料编码说明'
},
Quantity
:
{
type
:
'input'
,
label
:
'数量'
},
Unit
:
{
type
:
'input'
,
label
:
'单位'
},
UnitPrice
:
{
type
:
'input'
,
label
:
'单价'
},
Money
:
{
type
:
'input'
,
label
:
'金额'
},
InvoiceSource
:
{
type
:
'input'
,
label
:
'发票来源'
},
Currency
:
{
type
:
'input'
,
label
:
'币种'
},
ExchangeRate
:
{
type
:
'input'
,
label
:
'汇率'
},
// InvoiceCode: {
// type: 'input',
// label: '发票代码'
// },
InvoiceNo
:
{
type
:
'input'
,
label
:
'发票号码'
},
IsInformationComplete
:
{
type
:
'input'
,
label
:
'资料是否齐全'
},
IsEmbedded
:
{
type
:
'input'
,
label
:
'是否嵌入式'
},
IsCustomsDeclaration
:
{
type
:
'input'
,
label
:
'是否有报关单'
},
CustomsDeclarationID
:
{
type
:
'input'
,
label
:
'报关单号'
},
CheckFeedback
:
{
type
:
'input'
,
label
:
'审核反馈'
},
ConfirmStatus
:
{
type
:
'input'
,
label
:
'确认状态'
},
SignStatus
:
{
type
:
'input'
,
label
:
'状态'
,
fixed
:
'right'
}
}
}
export
default
tableConfig
src/views/invoice/invoicing-list/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"app-container"
>
<ele-search
:columns=
"tableConfig.columns"
@
handleSearch=
"handleSearch"
@
handleReset=
"handleReset"
@
handleFilter=
"handleFilter"
/>
<div
class=
"table-container"
>
<TableBtns>
<template
v-slot:left
>
<el-button
type=
"primary"
icon=
"el-icon-success"
size=
"medium"
@
click=
"handleAdd"
>
开票申请
</el-button>
</
template
>
</TableBtns>
<ele-table
ref=
"eleTable"
v-bind=
"tableConfig"
:expand-params=
"expandParams"
:listeners=
"tableListeners"
@
handleSelectionChange=
"handleSelectionChange"
/>
</div>
</div>
</template>
<
script
>
import
constant
from
'./constant'
import
tableMixin
from
'@/mixins/table'
export
default
{
mixins
:
[
tableMixin
],
data
()
{
return
{
expandParams
:
{},
// 筛选条件
tableListeners
:
{},
// 事件监听对象,供ele-table内部调用
tableConfig
:
constant
}
},
created
()
{
this
.
tableListeners
=
{
handleDetails
:
this
.
handleDetails
,
// 添加
handleTakeEffect
:
this
.
handleTakeEffect
,
// 生效
handleEdit
:
this
.
handleEdit
// 编辑
}
},
methods
:
{
// 新增报价,报价申请
handleAdd
()
{
},
// 报价编辑
handleEdit
(
row
)
{
console
.
log
(
'编辑页面'
,
row
)
},
// 报价单详情页
handleDetails
(
row
)
{
console
.
log
(
row
)
},
// 报价单生效
handleTakeEffect
()
{
console
.
log
(
'生效'
)
},
handleSelectionChange
(
selection
)
{
console
.
log
(
selection
)
this
.
selection
=
selection
}
}
}
</
script
>
<
style
>
</
style
>
src/views/invoice/invoicing-requisition/constant.js
deleted
100644 → 0
View file @
f049cbf9
import
{
invoiceApply
}
from
'@/api/invoice'
const
tableConfig
=
{
url
:
invoiceApply
.
searchUrl
,
defaultColumns
:
{
minWidth
:
120
,
showOverflowTooltip
:
true
,
align
:
'center'
},
columns
:
{
InvoicingRequisitionNo
:
{
type
:
'input'
,
label
:
'申请单号'
,
showInSearch
:
true
,
fixed
:
'left'
},
RequisitionType
:
{
type
:
'input'
,
label
:
'申请类型'
},
SignStatusText
:
{
type
:
'input'
,
label
:
'开票状态'
,
showInSearch
:
true
},
RequisitionTotalAmount
:
{
type
:
'input'
,
label
:
'申请总金额'
},
CustomerName
:
{
type
:
'input'
,
label
:
'客户名称'
,
showInSearch
:
true
},
CreateName
:
{
type
:
'input'
,
label
:
'申请人'
},
CreateOn
:
{
type
:
'input'
,
label
:
'申请时间'
},
ReferenceNote
:
{
type
:
'input'
,
label
:
'参考备注'
},
ActualNote
:
{
type
:
'input'
,
label
:
'实际备注'
},
DisagreementReasons
:
{
type
:
'input'
,
label
:
'不同意原因'
},
TwiceCheckNoPastReasons
:
{
type
:
'input'
,
label
:
'复核未通过原因'
},
IsToERP
:
{
type
:
'input'
,
label
:
'是否同步ERP'
},
Total_invoice_price
:
{
label
:
'操作'
,
fixed
:
'right'
,
minWidth
:
200
,
hideInFilter
:
true
,
renderItem
:
(
h
,
scope
,
listeners
)
=>
{
return
h
(
'div'
,
[
h
(
'el-button'
,
{
on
:
{
click
:
(
e
)
=>
listeners
.
handleDetails
(
scope
.
row
)
},
props
:
{
icon
:
'el-icon-d-arrow-right'
,
type
:
'text'
}
},
'详情'
)
])
}
}
}
}
export
default
tableConfig
src/views/invoice/invoicing-requisition/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<div
class=
"app-container"
>
<ele-search
:columns=
"tableConfig.columns"
@
handleSearch=
"handleSearch"
@
handleReset=
"handleReset"
@
handleFilter=
"handleFilter"
/>
<div
class=
"table-container"
>
<TableBtns>
<template
v-slot:left
>
<el-button
icon=
"el-icon-upload2"
@
click=
"handleAdd"
>
导出申请
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-sort"
@
click=
"handleSynchronization"
>
ERP同步
</el-button>
</
template
>
</TableBtns>
<ele-table
ref=
"eleTable"
v-bind=
"tableConfig"
:expand-params=
"expandParams"
:listeners=
"tableListeners"
@
handleSelectionChange=
"handleSelectionChange"
/>
</div>
</div>
</template>
<
script
>
import
constant
from
'./constant'
import
tableMixin
from
'@/mixins/table'
export
default
{
mixins
:
[
tableMixin
],
data
()
{
return
{
expandParams
:
{},
// 筛选条件
tableListeners
:
{},
// 事件监听对象,供ele-table内部调用
tableConfig
:
constant
}
},
created
()
{
this
.
tableListeners
=
{
handleDetails
:
this
.
handleDetails
// 详情
}
},
methods
:
{
// 详情页
handleDetails
(
row
)
{
console
.
log
(
row
)
this
.
$router
.
push
({
path
:
'/invoiceDetails'
,
query
:
{
objectID
:
row
.
ObjectID
}
})
},
handleSelectionChange
(
selection
)
{
console
.
log
(
selection
)
this
.
selection
=
selection
}
}
}
</
script
>
<
style
>
</
style
>
src/views/invoice/review/index.vue
deleted
100644 → 0
View file @
f049cbf9
<
template
>
<h2>
复刻
</h2>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
src/views/login/city-register/index.vue
View file @
1facc496
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"注册资本(万元):"
<el-form-item
label=
"注册资本(万元):"
label-width=
"150px"
label-width=
"150px"
required
>
prop=
"extRegisteredCapital_SDK"
>
<el-input
v-model=
"formData.extRegisteredCapital_SDK"
<el-input
v-model=
"formData.extRegisteredCapital_SDK"
:disabled=
"inputEnter"
:disabled=
"inputEnter"
style=
"width: 80%"
style=
"width: 80%"
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"法人:"
<el-form-item
label=
"法人:"
label-width=
"150px"
label-width=
"150px"
required
>
prop=
"extCorporateName_SDK"
>
<
template
>
<
template
>
<el-input
v-model=
"formData.extCorporateName_SDK"
<el-input
v-model=
"formData.extCorporateName_SDK"
:disabled=
"inputEnter"
:disabled=
"inputEnter"
...
@@ -99,10 +99,10 @@
...
@@ -99,10 +99,10 @@
:offset=
"1"
:offset=
"1"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"省份:"
<el-form-item
label=
"省份:"
prop=
"
cerInfo.district
"
prop=
"
extProvinceCode_SDK
"
label-width=
"80px"
label-width=
"80px"
required
>
>
<el-select
v-model=
"formData.extProvince
Nam
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择省份"
no-match-text=
"无匹配数据"
@
change=
"handleSelect"
>
<el-select
v-model=
"formData.extProvince
Cod
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择省份"
no-match-text=
"无匹配数据"
@
change=
"handleSelect"
>
<el-option
<el-option
v-for=
"item in countryOptions"
v-for=
"item in countryOptions"
:key=
"item.Code"
:key=
"item.Code"
...
@@ -115,10 +115,10 @@
...
@@ -115,10 +115,10 @@
<el-col
:span=
"7"
<el-col
:span=
"7"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"市:"
<el-form-item
label=
"市:"
prop=
"
cerInfo.district
"
prop=
"
extCityCode_SDK
"
label-width=
"80px"
label-width=
"80px"
required
>
required
>
<el-select
v-model=
"formData.extCity
Nam
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择市"
@
change=
"handleSelectCity"
>
<el-select
v-model=
"formData.extCity
Cod
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择市"
@
change=
"handleSelectCity"
>
<el-option
<el-option
v-for=
"item in cityOptions"
v-for=
"item in cityOptions"
:key=
"item.Code"
:key=
"item.Code"
...
@@ -131,10 +131,10 @@
...
@@ -131,10 +131,10 @@
<el-col
:span=
"7"
<el-col
:span=
"7"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"区:"
<el-form-item
label=
"区:"
prop=
"
cerInfo.district
"
prop=
"
extDistrictCode_SDK
"
label-width=
"80px"
label-width=
"80px"
required
>
required
>
<el-select
v-model=
"formData.extDistrict
Nam
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择区"
no-match-text=
"无匹配数据"
>
<el-select
v-model=
"formData.extDistrict
Cod
e_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择区"
no-match-text=
"无匹配数据"
>
<el-option
<el-option
v-for=
"item in disOptions"
v-for=
"item in disOptions"
:key=
"item.Code"
:key=
"item.Code"
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"详细经营地址:"
<el-form-item
label=
"详细经营地址:"
label-width=
"150px"
label-width=
"150px"
required
>
prop=
"extAddressDetail_SDK"
>
<el-input
v-model=
"formData.extAddressDetail_SDK"
<el-input
v-model=
"formData.extAddressDetail_SDK"
placeholder=
""
placeholder=
""
autocomplete=
"off"
autocomplete=
"off"
...
@@ -166,9 +166,9 @@
...
@@ -166,9 +166,9 @@
:offset=
"1"
:offset=
"1"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"公司负责人姓名:"
<el-form-item
label=
"公司负责人姓名:"
prop=
"
legalPerson
"
prop=
"
extLeader_SDK
"
label-width=
"150px"
label-width=
"150px"
required
>
>
<el-input
v-model=
"formData.extLeader_SDK"
<el-input
v-model=
"formData.extLeader_SDK"
placeholder=
""
placeholder=
""
style=
"width: 80%"
style=
"width: 80%"
...
@@ -179,10 +179,10 @@
...
@@ -179,10 +179,10 @@
<el-col
:span=
"12"
<el-col
:span=
"12"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"公司负责人联系电话:"
<el-form-item
label=
"公司负责人联系电话:"
prop=
"
legalEmail
"
prop=
"
extLeaderPhone_SDK
"
label-width=
"160px"
label-width=
"160px"
class=
"filter-icon-none"
class=
"filter-icon-none"
required
>
>
<el-input
v-model=
"formData.extLeaderPhone_SDK"
<el-input
v-model=
"formData.extLeaderPhone_SDK"
placeholder=
""
placeholder=
""
style=
"width: 80%"
style=
"width: 80%"
...
@@ -199,10 +199,10 @@
...
@@ -199,10 +199,10 @@
:offset=
"1"
:offset=
"1"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"公司负责人邮箱:"
<el-form-item
label=
"公司负责人邮箱:"
prop=
"
legalIdCard
"
prop=
"
extLeaderEmail_SDK
"
label-width=
"150px"
label-width=
"150px"
class=
"filter-icon-none"
class=
"filter-icon-none"
required
>
>
<el-input
v-model=
"formData.extLeaderEmail_SDK"
<el-input
v-model=
"formData.extLeaderEmail_SDK"
placeholder=
""
placeholder=
""
style=
"width: 52%"
style=
"width: 52%"
...
@@ -215,9 +215,9 @@
...
@@ -215,9 +215,9 @@
:offset=
"1"
:offset=
"1"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"Unis业务负责人姓名:"
<el-form-item
label=
"Unis业务负责人姓名:"
prop=
"e
mail
"
prop=
"e
xtUnis_SDK
"
label-width=
"160px"
label-width=
"160px"
required
>
>
<el-input
v-model=
"formData.extUnis_SDK"
<el-input
v-model=
"formData.extUnis_SDK"
placeholder=
""
placeholder=
""
style=
"width: 80%"
style=
"width: 80%"
...
@@ -228,9 +228,9 @@
...
@@ -228,9 +228,9 @@
<el-col
:span=
"11"
<el-col
:span=
"11"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"Unis业务负责人电话:"
<el-form-item
label=
"Unis业务负责人电话:"
prop=
"
mobile
"
prop=
"
extUnisPhone_SDK
"
label-width=
"160px"
label-width=
"160px"
required
>
>
<el-input
v-model=
"formData.extUnisPhone_SDK"
<el-input
v-model=
"formData.extUnisPhone_SDK"
placeholder=
""
placeholder=
""
style=
"width: 90%"
style=
"width: 90%"
...
@@ -242,10 +242,10 @@
...
@@ -242,10 +242,10 @@
:offset=
"1"
:offset=
"1"
class=
"padding-bottom"
>
class=
"padding-bottom"
>
<el-form-item
label=
"Unis业务负责人邮箱:"
<el-form-item
label=
"Unis业务负责人邮箱:"
prop=
"
financerMobile
"
prop=
"
extUnisEmail_SDK
"
label-width=
"160px"
label-width=
"160px"
class=
"filter-icon-none"
class=
"filter-icon-none"
required
>
>
<el-input
v-model=
"formData.extUnisEmail_SDK"
<el-input
v-model=
"formData.extUnisEmail_SDK"
placeholder=
""
placeholder=
""
style=
"width: 80%"
style=
"width: 80%"
...
@@ -268,14 +268,12 @@
...
@@ -268,14 +268,12 @@
class=
"filter-icon-none"
class=
"filter-icon-none"
required
>
required
>
<el-upload
class=
"upload-demo"
<el-upload
class=
"upload-demo"
:headers=
"myHeader"
:on-change=
"handleChange"
action=
"https://jsonplaceholder.typicode.com/posts/"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
multiple
multiple
:limit=
"1"
:limit=
"1"
:on-exceed=
"handleExceed"
>
:file-list=
"fileList"
>
<el-button
size=
"small"
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
type=
"primary"
>
点击上传
</el-button>
...
@@ -322,8 +320,8 @@
...
@@ -322,8 +320,8 @@
label=
"社会统一信用代码"
>
label=
"社会统一信用代码"
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<pagination
v-show=
"
page.
TotalRecords>0"
<pagination
v-show=
"TotalRecords>0"
:total=
"
page.
TotalRecords"
:total=
"TotalRecords"
:page
.
sync=
"page.currentPage"
:page
.
sync=
"page.currentPage"
:limit
.
sync=
"page.pageSize"
:limit
.
sync=
"page.pageSize"
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
...
@@ -353,7 +351,7 @@ export default {
...
@@ -353,7 +351,7 @@ export default {
countryArea
:
''
,
countryArea
:
''
,
title
:
'城市代理商注册'
,
title
:
'城市代理商注册'
,
loading
:
false
,
loading
:
false
,
formInline
:
[]
,
formInline
:
{}
,
recordList
:
[],
recordList
:
[],
tableData
:
[],
tableData
:
[],
fileList
:[],
fileList
:[],
...
@@ -361,17 +359,27 @@ export default {
...
@@ -361,17 +359,27 @@ export default {
cityOptions
:[],
cityOptions
:[],
disOptions
:[],
disOptions
:[],
supplierBaseRules
:
{
supplierBaseRules
:
{
Name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
Name
:
[{
required
:
true
,
message
:
'请选择公司名称'
,
trigger
:
'blur'
}],
extSocialUnifiedCreditCode_SDK
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
extSocialUnifiedCreditCode_SDK
:
[{
required
:
true
,
message
:
'请输入统一社会信用代码'
,
trigger
:
'blur'
}],
name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
extRegisteredCapital_SDK
:
[{
required
:
true
,
message
:
'请输入注册资本(万元)'
,
trigger
:
'blur'
}],
name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
extCorporateName_SDK
:
[{
required
:
true
,
message
:
'请输入法人'
,
trigger
:
'blur'
}],
name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
extProvinceCode_SDK
:
[{
required
:
true
,
message
:
'请选择省份'
,
trigger
:
'blur'
}],
name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
]
}],
extCityCode_SDK
:
[{
required
:
true
,
message
:
'请选择市'
,
trigger
:
'blur'
}],
extDistrictCode_SDK
:
[{
required
:
true
,
message
:
'请选择区'
,
trigger
:
'blur'
}],
extAddressDetail_SDK
:
[{
required
:
true
,
message
:
'请输入详细经营地址'
,
trigger
:
'blur'
}],
extLeader_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人姓名'
,
trigger
:
'blur'
}],
extLeaderPhone_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人联系电话'
,
trigger
:
'blur'
}],
extLeaderEmail_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人邮箱'
,
trigger
:
'blur'
}],
extUnis_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人姓名'
,
trigger
:
'blur'
}],
extUnisPhone_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人电话'
,
trigger
:
'blur'
}],
extUnisEmail_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人邮箱'
,
trigger
:
'blur'
}],
},
},
dialogTableVisible
:
false
,
dialogTableVisible
:
false
,
TotalRecords
:
0
,
page
:
{
page
:
{
currentPage
:
0
,
currentPage
:
0
,
pageSize
:
0
pageSize
:
0
,
}
}
}
}
...
@@ -388,6 +396,7 @@ export default {
...
@@ -388,6 +396,7 @@ export default {
this
.
$request
(
Qcc
.
searchUrl
,
this
.
page
).
then
((
resp
)
=>
{
this
.
$request
(
Qcc
.
searchUrl
,
this
.
page
).
then
((
resp
)
=>
{
this
.
tableData
=
resp
.
results
.
Result
this
.
tableData
=
resp
.
results
.
Result
this
.
page
=
resp
.
results
.
Paging
this
.
page
=
resp
.
results
.
Paging
this
.
TotalRecords
=
resp
.
results
.
Paging
.
TotalRecords
})
})
},
},
selectCountry
(){
selectCountry
(){
...
@@ -421,14 +430,34 @@ export default {
...
@@ -421,14 +430,34 @@ export default {
})
})
},
},
handleApprove
(){
handleApprove
(){
this
.
$request
(
Customer
.
searchUrl
,
this
.
formData
).
then
((
resp
)
=>
{
this
.
formData
.
ExtCustomerType_SDK
=
111
this
.
$request
(
Customer
.
searchUrl
,
this
.
paramsToFormData
(
this
.
formData
)).
then
((
resp
)
=>
{
this
.
$message
.
success
(
'提交成功!'
)
this
.
$message
.
success
(
'提交成功!'
)
})
})
},
},
reSet
()
{
},
paramsToFormData
(
obj
)
{
const
formData
=
new
FormData
();
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
obj
[
key
]
instanceof
Array
)
{
obj
[
key
].
forEach
((
item
)
=>
{
formData
.
append
(
key
,
item
);
});
return
;
}
formData
.
append
(
key
,
obj
[
key
]);
});
return
formData
;
},
reSet
()
{
this
.
formInline
.
Name
=
''
},
handleClose
()
{
handleClose
()
{
this
.
dialogTableVisible
=
false
this
.
dialogTableVisible
=
false
},
},
myHeader
(){
return
{
'Content-Type'
:
'multipart/form-data'
}
},
handleChange
(
file
,
fileList
){
this
.
formData
.
file
=
(
file
.
raw
)
},
onSubmit
()
{
},
onSubmit
()
{
},
handlePreview
()
{
},
handlePreview
()
{
},
handleRemove
()
{
},
handleRemove
()
{
},
...
...
src/views/login/prov-register/index.vue
View file @
1facc496
<
template
>
<
template
>
<div
class=
"register-container"
>
<div
class=
"register-container"
>
<div
class=
"register-main"
>
<div
class=
"register-main"
>
<el-row
class=
"border-bottom"
><h4>
省级代理商注册
</h4></el-row>
<el-row
class=
"border-bottom"
>
<el-form
id=
"registerForm"
:model=
"formData"
status-icon
label-position=
"right"
>
<h4>
省级代理商注册
</h4>
</el-row>
<el-form
id=
"registerForm"
:model=
"formData"
status-icon
ref=
"formData"
:rules=
"supplierBaseRules"
label-position=
"right"
>
<el-row
class=
"border-bottom"
>
<el-row
class=
"border-bottom"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"基本信息"
/>
<el-form-item
label=
"基本信息"
/>
</el-col>
</el-col>
<el-col
:span=
"13"
class=
"padding-bottom"
>
<el-col
:span=
"13"
<el-form-item
label=
"公司全称:"
prop=
"name"
label-width=
"150px"
required
>
class=
"padding-bottom"
>
<!--
<el-input
v-model=
"formData.name"
placeholder=
"点击查询获取公司信息,不可编辑"
disabled
style=
"width: 80%"
class=
"filter-item"
clearable
/>
-->
<el-form-item
label=
"公司全称:"
<lov
prop=
"Name"
v-model=
"formData.companyId"
label-width=
"150px"
:default-text=
"formData.companyName"
>
clearable
<el-input
v-model=
"formData.Name"
@
returnFn=
"data=>
{}"
placeholder=
'请选择公司'
/>
style=
"width: 100%"
>
<i
slot=
"suffix"
class=
"el-input__icon el-icon-search"
@
click=
"createLovTable"
/>
</el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<!--
<el-col
:span=
"5"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-button
type=
"primary"
>
查询
</el-button>
:offset=
"1"
</el-col>
-->
class=
"padding-bottom"
>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"公司全称曾用名:"
<el-form-item
label=
"公司全称曾用名:"
prop=
"shortName"
label-width=
"150px"
>
label-width=
"150px"
>
<el-input
v-model=
"formData.shortName"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.extSecondName_SDK"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"统一社会信用代码:"
label-width=
"150px"
required
>
class=
"padding-bottom"
>
<el-form-item
label=
"统一社会信用代码:"
label-width=
"150px"
prop=
"extSocialUnifiedCreditCode_SDK"
>
<template>
<template>
<el-input
v-model=
"formData.englishName"
placeholder=
"企查查获取"
style=
"width: 80%"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.extSocialUnifiedCreditCode_SDK"
placeholder=
"企查查获取"
style=
"width: 80%"
readonly
class=
"filter-item"
clearable
/>
</
template
>
</
template
>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"注册资本(万元):"
label-width=
"150px"
required
>
:offset=
"1"
<el-input
v-model=
"formData.enterpriseCode"
:disabled=
"inputEnter"
style=
"width: 80%"
placeholder=
"企查查获取"
class=
"filter-item"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"注册资本(万元):"
label-width=
"150px"
prop=
"extRegisteredCapital_SDK"
>
<el-input
v-model=
"formData.extRegisteredCapital_SDK"
:disabled=
"inputEnter"
style=
"width: 80%"
readonly
placeholder=
"企查查获取"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"法人:"
label-width=
"150px"
required
>
class=
"padding-bottom"
>
<el-form-item
label=
"法人:"
label-width=
"150px"
prop=
"extCorporateName_SDK"
>
<
template
>
<
template
>
<el-input
v-model=
"formData.enterpriseCode"
:disabled=
"inputEnter"
style=
"width: 80%"
placeholder=
"企查查获取"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.extCorporateName_SDK"
:disabled=
"inputEnter"
style=
"width: 80%"
readonly
placeholder=
"企查查获取"
class=
"filter-item"
clearable
/>
</
template
>
</
template
>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -51,24 +96,66 @@
...
@@ -51,24 +96,66 @@
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"地址信息"
/>
<el-form-item
label=
"地址信息"
/>
</el-col>
</el-col>
<el-col
:span=
"7"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"7"
<el-form-item
label=
"省份:"
prop=
"cerInfo.district"
label-width=
"80px"
required
>
:offset=
"1"
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearable
style=
"width: 80%"
/>
class=
"padding-bottom"
>
<el-form-item
label=
"省份:"
prop=
"extProvinceName_SDK"
label-width=
"80px"
>
<el-select
v-model=
"formData.extProvinceCode_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择省份"
no-match-text=
"无匹配数据"
@
change=
"handleSelect"
>
<el-option
v-for=
"item in countryOptions"
:key=
"item.Code"
:label=
"item.Name"
:value=
"item.Code"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"7"
class=
"padding-bottom"
>
<el-col
:span=
"7"
<el-form-item
label=
"地市:"
prop=
"cerInfo.district"
label-width=
"80px"
required
>
class=
"padding-bottom"
>
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearablestyle=
"width: 80%"
/>
<el-form-item
label=
"市:"
prop=
"extCityName_SDK"
label-width=
"80px"
>
<el-select
v-model=
"formData.extCityCode_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择市"
@
change=
"handleSelectCity"
>
<el-option
v-for=
"item in cityOptions"
:key=
"item.Code"
:label=
"item.Name"
:value=
"item.Code"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"7"
class=
"padding-bottom"
>
<el-col
:span=
"7"
<el-form-item
label=
"县市:"
prop=
"cerInfo.district"
label-width=
"80px"
required
>
class=
"padding-bottom"
>
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearable
style=
"width: 80%"
/>
<el-form-item
label=
"区:"
prop=
"extDistrictName_SDK"
label-width=
"80px"
>
<el-select
v-model=
"formData.extDistrictCode_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择区"
no-match-text=
"无匹配数据"
>
<el-option
v-for=
"item in disOptions"
:key=
"item.Code"
:label=
"item.Name"
:value=
"item.Code"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"20"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"20"
<el-form-item
label=
"详细经营地址:"
label-width=
"150px"
required
>
:offset=
"1"
<el-input
v-model=
"formData.cerInfo"
placeholder=
""
autocomplete=
"off"
style=
"width: 80%"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"详细经营地址:"
label-width=
"150px"
prop=
"extAddressDetail_SDK"
>
<el-input
v-model=
"formData.extAddressDetail_SDK"
placeholder=
""
autocomplete=
"off"
style=
"width: 80%"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -76,14 +163,32 @@
...
@@ -76,14 +163,32 @@
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"联系信息"
/>
<el-form-item
label=
"联系信息"
/>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"公司负责人姓名:"
prop=
"legalPerson"
label-width=
"150px"
required
>
:offset=
"1"
<el-input
v-model=
"formData.legalPerson"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"公司负责人姓名:"
prop=
"extLeader_SDK"
label-width=
"150px"
>
<el-input
v-model=
"formData.extLeader_SDK"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
class=
"padding-bottom"
>
<el-col
:span=
"12"
<el-form-item
label=
"公司负责人联系电话:"
prop=
"legalEmail"
label-width=
"160px"
class=
"filter-icon-none"
required
>
class=
"padding-bottom"
>
<el-input
v-model=
"formData.legalEmail"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
<el-form-item
label=
"公司负责人联系电话:"
prop=
"extLeaderPhone_SDK"
label-width=
"160px"
class=
"filter-icon-none"
>
<el-input
v-model=
"formData.extLeaderPhone_SDK"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<!-- <el-col v-if="showForm.legalPersonNumber" :span="7" class="padding-bottom">
<!-- <el-col v-if="showForm.legalPersonNumber" :span="7" class="padding-bottom">
...
@@ -91,40 +196,77 @@
...
@@ -91,40 +196,77 @@
<el-input v-model="supplierBase.legalIdPhone" placeholder="法人手机号" style="width: 83%" class="filter-item" clearable />
<el-input v-model="supplierBase.legalIdPhone" placeholder="法人手机号" style="width: 83%" class="filter-item" clearable />
</el-form-item>
</el-form-item>
</el-col> -->
</el-col> -->
<el-col
:span=
"15"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"15"
<el-form-item
label=
"公司负责人邮箱:"
prop=
"legalIdCard"
label-width=
"150px"
class=
"filter-icon-none"
required
>
:offset=
"1"
<el-input
v-model=
"formData.legalIdCard"
placeholder=
""
style=
"width: 52%"
class=
"filter-item"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"公司负责人邮箱:"
prop=
"extLeaderEmail_SDK"
label-width=
"150px"
class=
"filter-icon-none"
>
<el-input
v-model=
"formData.extLeaderEmail_SDK"
placeholder=
""
style=
"width: 52%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"Unis业务负责人姓名:"
prop=
"email"
label-width=
"160px"
required
>
:offset=
"1"
<el-input
v-model=
"formData.email"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"Unis业务负责人姓名:"
prop=
"extUnis_SDK"
label-width=
"160px"
>
<el-input
v-model=
"formData.extUnis_SDK"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"Unis业务负责人电话:"
prop=
"mobile"
label-width=
"160px"
required
>
class=
"padding-bottom"
>
<el-input
v-model=
"formData.mobile"
placeholder=
""
style=
"width: 90%"
class=
"filter-item"
clearable
/>
<el-form-item
label=
"Unis业务负责人电话:"
prop=
"extUnisPhone_SDK"
label-width=
"160px"
>
<el-input
v-model=
"formData.extUnisPhone_SDK"
placeholder=
""
style=
"width: 90%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"Unis业务负责人邮箱:"
prop=
"financerMobile"
label-width=
"160px"
class=
"filter-icon-none"
required
>
:offset=
"1"
<el-input
v-model=
"formData.financerMobile"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
class=
"padding-bottom"
>
<el-form-item
label=
"Unis业务负责人邮箱:"
prop=
"extUnisEmail_SDK"
label-width=
"160px"
class=
"filter-icon-none"
>
<el-input
v-model=
"formData.extUnisEmail_SDK"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"商务负责人姓名:"
prop=
"e
mail"
label-width=
"150px"
required
>
<el-form-item
label=
"商务负责人姓名:"
prop=
"e
xtBusiness_SDK"
label-width=
"150px"
>
<el-input
v-model=
"formData.e
mail
"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.e
xtBusiness_SDK
"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
class=
"padding-bottom"
>
<el-col
:span=
"11"
class=
"padding-bottom"
>
<el-form-item
label=
"商务负责人电话:"
prop=
"
mobile"
label-width=
"150px"
required
>
<el-form-item
label=
"商务负责人电话:"
prop=
"
extBusinessPhone_SDK"
label-width=
"150px"
>
<el-input
v-model=
"formData.
mobile
"
placeholder=
""
style=
"width: 90%"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.
extBusinessPhone_SDK
"
placeholder=
""
style=
"width: 90%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"商务负责人邮箱:"
prop=
"
financerMobile"
label-width=
"160px"
class=
"filter-icon-none"
required
>
<el-form-item
label=
"商务负责人邮箱:"
prop=
"
extBusinessEmail_SDK"
label-width=
"160px"
class=
"filter-icon-none"
>
<el-input
v-model=
"formData.
financerMobile
"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
<el-input
v-model=
"formData.
extBusinessEmail_SDK
"
placeholder=
""
style=
"width: 80%"
class=
"filter-item"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -133,88 +275,301 @@
...
@@ -133,88 +275,301 @@
<el-form-item
label=
"签约信息"
/>
<el-form-item
label=
"签约信息"
/>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"签约渠道类型:"
prop=
"cerInfo.district"
label-width=
"120px"
required
>
<el-form-item
label=
"签约渠道类型:"
prop=
"ExtChannelType_SDK"
label-width=
"120px"
>
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearable
style=
"width: 80%"
/>
<el-select
v-model=
"formData.ExtChannelType_SDK"
style=
"width: 91%"
filterable
placeholder=
"请选择"
no-match-text=
"无匹配数据"
>
<el-option
v-for=
"item in aOptions"
:key=
"item.id"
:label=
"item.content"
:value=
"item.keyword"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
class=
"padding-bottom"
>
<el-col
:span=
"12"
class=
"padding-bottom"
>
<el-form-item
label=
"签约产品组:"
prop=
"cerInfo.district"
label-width=
"120px"
required
>
<el-form-item
label=
"签约产品组:"
prop=
"ExtProductGroup_SDK"
label-width=
"120px"
>
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearablestyle=
"width: 90%"
/>
<el-select
v-model=
"formData.ExtProductGroup_SDK"
style=
"width: 91%"
multiple
filterable
placeholder=
"请选择"
no-match-text=
"无匹配数据"
>
<el-option
v-for=
"item in bOptions"
:key=
"item.id"
:label=
"item.content"
:value=
"item.keyword"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"签约总代:"
prop=
"cerInfo.district"
label-width=
"100px"
required
>
<el-form-item
label=
"签约总代:"
prop=
"extTotalAgent_SDK"
label-width=
"100px"
>
<el-cascader
ref=
"cascader"
v-model=
"countryArea"
clearable
style=
"width: 80%"
/>
<el-select
v-model=
"formData.extTotalAgent_SDK"
style=
"width: 91%"
multiple
filterable
placeholder=
"请选择"
no-match-text=
"无匹配数据"
>
<el-option
v-for=
"item in cOptions"
:key=
"item.id"
:label=
"item.content"
:value=
"item.keyword"
/>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row
>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"上传附件"
/>
<el-form-item
label=
"上传附件"
/>
</el-col>
</el-col>
<el-col
:span=
"11"
:offset=
"1"
class=
"padding-bottom"
>
<el-col
:span=
"11"
<el-form-item
label=
"营业执照:"
prop=
"financerMobile"
label-width=
"100px"
class=
"filter-icon-none"
required
>
:offset=
"1"
class=
"padding-bottom"
>
<el-form-item
label=
"营业执照:"
prop=
"financerMobile"
label-width=
"100px"
class=
"filter-icon-none"
required
>
<el-upload
<el-upload
class=
"upload-demo
"
ref=
"uploadExcel
"
action=
"https://jsonplaceholder.typicode.com/posts/"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-preview=
"handlePreview"
:limit=
'1'
:on-remove=
"handleRemove"
:auto-upload=
"false"
:before-remove=
"beforeRemove"
:on-change=
"fileChange"
multiple
:limit=
"3"
:on-exceed=
"handleExceed"
:file-list=
"fileList"
>
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
<el-row>
<el-row>
<el-col
align=
"center"
>
<el-col
align=
"center"
>
<el-button
type=
"primary"
@
click=
"handle
Next
"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"handle
Approve(formData)
"
>
提交
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
<el-dialog
title=
"请选择公司"
:visible
.
sync=
"dialogTableVisible"
width=
"50%"
:before-close=
"handleClose"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item
label=
"公司名称:"
>
<el-input
v-model=
"formInline.Name"
placeholder=
""
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
获取企查查信息
</el-button>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"reSet"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"tableData"
border
@
row-click=
"select"
style=
"width: 100%"
>
<el-table-column
prop=
"Status"
label=
"状态"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"公司"
>
</el-table-column>
<el-table-column
prop=
"OperName"
label=
"法定代表人"
>
</el-table-column>
<el-table-column
prop=
"CreditCode"
label=
"社会统一信用代码"
>
</el-table-column>
</el-table>
<pagination
v-show=
"TotalRecords>0"
:total=
"TotalRecords"
:page
.
sync=
"page.currentPage"
:limit
.
sync=
"page.pageSize"
@
pagination=
"getList"
/>
</el-dialog>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
Qcc
,
Country
,
Customer
,
Common
}
from
'@/api/qcc'
import
Pagination
from
'@/components/Pagination'
export
default
{
export
default
{
name
:
'city-register'
,
name
:
'city-register'
,
components
:
{
Pagination
},
data
()
{
data
()
{
return
{
return
{
formData
:{},
formData
:
{},
inputEnter
:
false
,
inputEnter
:
false
,
countryArea
:
''
,
countryArea
:
''
,
title
:
'城市代理商注册'
,
loading
:
false
,
loading
:
false
,
formInline
:
{},
recordList
:
[],
tableData
:
[],
fileList
:[],
fileList
:[],
countryOptions
:[],
cityOptions
:[],
disOptions
:[],
aOptions
:[],
bOptions
:[],
cOptions
:[],
supplierBaseRules
:
{
supplierBaseRules
:
{
name
:
[{
required
:
true
,
message
:
'请选择公司全称'
,
trigger
:
[
'change'
,
'blur'
]
}],
Name
:
[{
required
:
true
,
message
:
'请选择公司名称'
,
trigger
:
[
'change'
,
'blur'
]
}],
extSocialUnifiedCreditCode_SDK
:
[{
required
:
true
,
message
:
'请输入统一社会信用代码'
,
trigger
:
'blur'
}],
extRegisteredCapital_SDK
:
[{
required
:
true
,
message
:
'请输入注册资本(万元)'
,
trigger
:
'blur'
}],
extCorporateName_SDK
:
[{
required
:
true
,
message
:
'请输入法人'
,
trigger
:
'blur'
}],
extProvinceName_SDK
:
[{
required
:
true
,
message
:
'请选择省份'
,
trigger
:
'blur'
}],
extCityName_SDK
:
[{
required
:
true
,
message
:
'请选择市'
,
trigger
:
'blur'
}],
extDistrictName_SDK
:
[{
required
:
true
,
message
:
'请选择区'
,
trigger
:
'blur'
}],
extAddressDetail_SDK
:
[{
required
:
true
,
message
:
'请输入详细经营地址'
,
trigger
:
'blur'
}],
extLeader_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人姓名'
,
trigger
:
'blur'
}],
extLeaderPhone_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人联系电话'
,
trigger
:
'blur'
}],
extLeaderEmail_SDK
:
[{
required
:
true
,
message
:
'请输入公司负责人邮箱'
,
trigger
:
'blur'
}],
extUnis_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人姓名'
,
trigger
:
'blur'
}],
extUnisPhone_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人电话'
,
trigger
:
'blur'
}],
extUnisEmail_SDK
:
[{
required
:
true
,
message
:
'请输入Unis业务负责人邮箱'
,
trigger
:
'blur'
}],
extBusiness_SDK
:
[{
required
:
true
,
message
:
'请输入商务负责人姓名'
,
trigger
:
'blur'
}],
extBusinessPhone_SDK
:
[{
required
:
true
,
message
:
'请输入商务负责人电话'
,
trigger
:
'blur'
}],
extBusinessEmail_SDK
:
[{
required
:
true
,
message
:
'请输入商务负责人邮箱'
,
trigger
:
'blur'
}],
ExtChannelType_SDK
:
[{
required
:
true
,
message
:
'请选择签约渠道类型'
,
trigger
:
'blur'
}],
ExtProductGroup_SDK
:
[{
required
:
true
,
message
:
'请选择签约产品组'
,
trigger
:
'blur'
}],
extTotalAgent_SDK
:
[{
required
:
true
,
message
:
'请选择签约总代'
,
trigger
:
'blur'
}],
},
},
dialogTableVisible
:
false
,
TotalRecords
:
0
,
page
:
{
currentPage
:
0
,
pageSize
:
0
}
}
}
},
},
watch
:
{
watch
:
{
},
computed
:{
visitedViews
()
{
return
this
.
$store
.
state
.
tagsView
.
visitedViews
},
},
},
created
()
{
created
()
{
this
.
selectCountry
()
this
.
getCommon
()
},
},
methods
:
{
methods
:
{
handlePreview
(){},
getList
()
{
handleRemove
(){},
this
.
page
.
searchKey
=
this
.
formInline
.
Name
beforeRemove
(){},
this
.
$request
(
Qcc
.
searchUrl
,
this
.
page
).
then
((
resp
)
=>
{
handleExceed
(){},
this
.
tableData
=
resp
.
results
.
Result
fileList
(){},
this
.
page
=
resp
.
results
.
Paging
handleNext
(){}
this
.
TotalRecords
=
resp
.
results
.
Paging
.
TotalRecords
})
},
selectCountry
(){
this
.
$request
(
Country
.
searchPro
,
this
.
page
).
then
((
resp
)
=>
{
this
.
countryOptions
=
resp
.
results
})
},
getCommon
(){
const
adata
=
{
code
:
'ExtChannelType_SDK'
,
module
:
'Customer'
}
this
.
$request
(
Common
.
searchUrl
,
adata
).
then
((
resp
)
=>
{
this
.
aOptions
=
resp
})
const
bdata
=
{
code
:
'ExtProductGroup_SDK'
,
module
:
'Customer'
}
this
.
$request
(
Common
.
searchUrl
,
bdata
).
then
((
resp
)
=>
{
this
.
bOptions
=
resp
})
const
cdata
=
{
code
:
'ExtTotalAgent_SDK'
,
module
:
'Customer'
}
this
.
$request
(
Common
.
searchUrl
,
cdata
).
then
((
resp
)
=>
{
this
.
cOptions
=
resp
})
},
handleSelect
(
value
){
const
app
=
{
provinceCode
:
value
}
this
.
$request
(
Country
.
searchCity
,
app
).
then
((
resp
)
=>
{
this
.
cityOptions
=
resp
.
results
})
},
handleSelectCity
(
value
){
const
app
=
{
cityCode
:
value
}
this
.
$request
(
Country
.
searchDis
,
app
).
then
((
resp
)
=>
{
this
.
disOptions
=
resp
.
results
})
},
createLovTable
()
{
this
.
dialogTableVisible
=
true
},
select
(
row
,
column
,
event
)
{
this
.
page
.
searchKey
=
row
.
CreditCode
this
.
$request
(
Qcc
.
detailUrl
,
this
.
page
).
then
((
resp
)
=>
{
this
.
formData
.
extCorporateName_SDK
=
row
.
OperName
this
.
formData
.
extSocialUnifiedCreditCode_SDK
=
row
.
CreditCode
this
.
formData
.
Name
=
row
.
Name
this
.
formData
.
extRegisteredCapital_SDK
=
resp
.
results
.
Result
.
RegistCapi
this
.
dialogTableVisible
=
false
})
},
handleApprove
(
formName
){
// this.$refs[formName].validate((valid) => {
// if (valid) {
// alert('submit!');
// } else {
// console.log('error submit!!');
// return false;
// }
// });
this
.
formData
.
ExtCustomerType_SDK
=
101
this
.
$request
(
Customer
.
searchUrl
,
this
.
paramsToFormData
(
this
.
formData
)).
then
((
resp
)
=>
{
this
.
$message
.
success
(
'提交成功!'
)
// this.handleClickGoBack()
})
},
handleClickGoBack
()
{
// const visitedViews = this.$store.state.tagsView.visitedViews
// const path = this.$route.path
// visitedViews.forEach(function(item, index) {
// if (item.path == path) {
// visitedViews.splice(index, 1)
// }
// })
this
.
$store
.
dispatch
(
'tagsView/delView'
,
this
.
visitedViews
).
then
((
visitedViews
)
=>
{
this
.
$router
.
back
()
})
},
paramsToFormData
(
obj
)
{
const
formData
=
new
FormData
();
Object
.
keys
(
obj
).
forEach
((
key
)
=>
{
if
(
obj
[
key
]
instanceof
Array
)
{
obj
[
key
].
forEach
((
item
)
=>
{
formData
.
append
(
key
,
item
);
});
return
;
}
formData
.
append
(
key
,
obj
[
key
]);
});
return
formData
;
},
reSet
()
{
this
.
formInline
.
Name
=
''
},
handleClose
()
{
this
.
dialogTableVisible
=
false
},
myHeader
(){
return
{
'Content-Type'
:
'multipart/form-data'
}
},
fileChange
(
res
,
file
){
this
.
formData
.
file
=
(
res
.
raw
)
},
onSubmit
()
{},
handlePreview
()
{
},
handleRemove
()
{
},
beforeRemove
()
{
},
handleExceed
()
{
},
handleNext
()
{
}
}
}
}
}
</
script
>
</
script
>
...
@@ -234,6 +589,6 @@ export default {
...
@@ -234,6 +589,6 @@ export default {
padding-bottom
:
20px
;
padding-bottom
:
20px
;
}
}
.border-bottom
{
.border-bottom
{
border-bottom
:
solid
2px
#409eff
;
border-bottom
:
solid
2px
#a22796
;
}
}
</
style
>
</
style
>
src/views/public/file-info/index.vue
View file @
1facc496
...
@@ -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
=
{
Accoun
tID
:
this
.
objectID
||
this
.
$route
.
query
.
objectID
,
BusinessObjec
tID
:
this
.
objectID
||
this
.
$route
.
query
.
objectID
,
TypeCode
:
this
.
typeCode
TypeCode
:
this
.
typeCode
}
}
if
(
this
.
moduleType
)
{
if
(
this
.
moduleType
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment