Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
platform
/
finance_serv
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit dafd19cc
authored
Aug 09, 2018
by
谢明辉
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
a
1 parent
2235725d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
567 additions
and
190 deletions
code/finance_web/src/components/contract.vue
code/finance_web/src/components/login.vue
code/finance_web/src/components/manage.vue
code/finance_web/src/components/search.vue
code/finance_web/static/disparch.js
code/finance_web/src/components/contract.vue
View file @
dafd19c
...
...
@@ -5,15 +5,15 @@
<el-card
class=
"box-card"
:name=
"1"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"contract_show =!contract_show"
>
合同基本信息
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('form')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('form')"
:disabled=
"disabled_list[0]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
<el-form
id=
"form"
:inline=
"true"
:model=
"form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"add_rules"
v-show=
"contract_show"
>
<el-form
id=
"form"
:inline=
"true"
:model=
"form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"add_rules"
v-show=
"contract_show"
:disabled=
"disabled_list[0]==1"
>
<el-row
style=
"text-align:left"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"合同编号"
>
<el-select
class=
"width-220"
v-model=
"form.contract_unid"
clearable
filterable
remote
reserve-keyword
placeholder=
"合同编号"
:remote-method=
"contractIdRemoteMethod
"
@
change=
"get_contract_info(form.contract_unid)"
>
<el-select
class=
"width-220"
v-model=
"form.contract_unid"
clearable
filterable
placeholder=
"合同编号
"
@
change=
"get_contract_info(form.contract_unid)"
>
<el-option
v-for=
"(item,index) in contract_unid_selected_data"
:key=
"index"
:label=
"item"
:value=
"item"
>
</el-option>
</el-select>
...
...
@@ -21,15 +21,15 @@
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"销售员"
>
<el-select
class=
"width-220"
v-model=
"form.salesperson_unid"
clearable
filterable
remote
placeholder=
"销售人员"
:remote-method=
"salespersonIdRemoteMethod
"
>
<el-option
v-for=
"(item,index) in salesperson_unid_selected_data"
:key=
"index"
:label=
"item.name"
:value=
"item.
code
_unid"
>
<el-select
class=
"width-220"
v-model=
"form.salesperson_unid"
clearable
filterable
placeholder=
"销售人员
"
>
<el-option
v-for=
"(item,index) in salesperson_unid_selected_data"
:key=
"index"
:label=
"item.name"
:value=
"item.
user
_unid"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"项目名称"
>
<el-select
class=
"width-220"
v-model=
"form.project_unid"
clearable
filterable
remote
placeholder=
"项目名称"
:remote-method=
"projectIdRemoteMethod
"
>
<el-select
class=
"width-220"
v-model=
"form.project_unid"
clearable
filterable
placeholder=
"项目名称
"
>
<el-option
v-for=
"(item,index) in project_unid_selected_data"
:key=
"index"
:label=
"item.project_name"
:value=
"item.project_unid"
>
</el-option>
</el-select>
...
...
@@ -39,7 +39,7 @@
<el-row
style=
"text-align:left"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"客户名称"
>
<el-select
class=
"width-220"
v-model=
"form.customer_unid"
clearable
filterable
remote
placeholder=
"客户名称"
:remote-method=
"customerIdRemoteMethod
"
>
<el-select
class=
"width-220"
v-model=
"form.customer_unid"
clearable
filterable
placeholder=
"客户名称
"
>
<el-option
v-for=
"(item,index) in customer_unid_selected_data"
:key=
"item.customer_unid"
:label=
"item.customer_name"
:value=
"item.customer_unid"
>
</el-option>
</el-select>
...
...
@@ -89,7 +89,7 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"产品线类型"
>
<el-select
class=
"width-220"
v-model=
"form.product_line_type"
clearable
placeholder=
"产品线类型"
>
<el-option
v-for=
"
(value,index) in product_line_type_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in product_line_type_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -97,7 +97,7 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"合同状态"
>
<el-select
class=
"width-220"
v-model=
"form.contract_state"
clearable
placeholder=
"合同状态"
>
<el-option
v-for=
"
(value,index) in contract_state_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in contract_state_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -105,7 +105,7 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"合同性质"
>
<el-select
class=
"width-220"
v-model=
"form.contract_type"
clearable
placeholder=
"合同性质"
>
<el-option
v-for=
"
(value,index) in contract_type_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in contract_type_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -208,7 +208,7 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"账款状态"
>
<el-select
class=
"width-220"
v-model=
"form.amount_state_unid"
clearable
placeholder=
"账款状态"
>
<el-option
v-for=
"
(value,index) in amount_state_unid_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in amount_state_unid_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -224,7 +224,7 @@
<el-col
:span=
"15"
style=
"text-align:left"
>
<el-form-item
label=
"质保期"
>
<el-select
v-model=
"form.mainten_start_point"
clearable
placeholder=
"开始节点"
>
<el-option
v-for=
"
(value,index) in mainten_start_point_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in mainten_start_point_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
<el-date-picker
v-model=
"this.mainten_start_date"
type=
"date"
placeholder=
"开始日期"
value-format=
"yyyy-MM-dd"
:readonly=
"true"
>
...
...
@@ -259,7 +259,7 @@
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"payments_show = !payments_show"
>
付款约定
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('payment')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('payment')"
:disabled=
"disabled_list[0]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
...
...
@@ -272,7 +272,7 @@
</el-table-column>
<el-table-column
label=
"付款类型"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
payment_type_data
[
payments_data
[
scope
.
$index
].
payment_type
]
}}
{{
get_payment_type
(
scope
.
$index
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"days"
label=
"天数"
min-width=
"100"
align=
"center"
>
...
...
@@ -296,17 +296,17 @@
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"200"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click
.
native
.
prevent=
"payment_data_modify(scope.$index, payments_data)"
type=
"primary"
round
>
<el-button
@
click
.
native
.
prevent=
"payment_data_modify(scope.$index, payments_data)"
type=
"primary"
round
:disabled=
"disabled_list[0]==1"
>
修改
</el-button>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, payments_data,'payments')"
type=
"danger"
round
>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, payments_data,'payments')"
type=
"danger"
round
:disabled=
"disabled_list[0]==1"
>
移除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row>
<el-button
class=
"add_button"
type=
"text"
@
click=
"payments_dialog_show = true"
>
添加付款约定
</el-button>
<el-button
class=
"add_button"
type=
"text"
@
click=
"payments_dialog_show = true"
:disabled=
"disabled_list[0]==1"
>
添加付款约定
</el-button>
</el-row>
</div>
</transition>
...
...
@@ -314,14 +314,13 @@
<!-- 付款约定弹出框 -->
<el-dialog
id=
"payments_dialog"
title=
"付款约定"
:visible
.
sync=
"payments_dialog_show"
width=
"30%"
>
<el-dialog
id=
"payments_dialog"
title=
"付款约定"
:visible
.
sync=
"payments_dialog_show"
width=
"30%"
:show-close=
"false"
>
<el-form
:model=
"payments_form"
label-width=
"150px"
label-position=
"left"
:rules=
"add_rules"
ref=
"payments_form"
>
<el-form-item
label=
"付款类型"
prop=
"payment_type"
>
<el-select
v-model=
"payments_form.payment_type"
clearable
placeholder=
"付款类型"
style=
"width:100%"
>
<el-option
v-for=
"
(value,index) in payment_type_data"
:key=
"index"
:label=
"value"
:value=
"index
"
>
<el-option
v-for=
"
item in payment_type_data"
:key=
"item.unid"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"天数"
prop=
"days"
>
<el-input
v-model=
"payments_form.days"
placeholder=
"请输入天数"
style=
"width:100%"
></el-input>
...
...
@@ -345,7 +344,7 @@
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"rebacks_show = !rebacks_show"
>
合同回款信息(财务部)
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('reback')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('reback')"
:disabled=
"disabled_list[0]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
...
...
@@ -369,24 +368,24 @@
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"200"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click
.
native
.
prevent=
"reback_data_modify(scope.$index, rebacks_data)"
type=
"primary"
round
>
<el-button
@
click
.
native
.
prevent=
"reback_data_modify(scope.$index, rebacks_data)"
type=
"primary"
round
:disabled=
"disabled_list[0]==1"
>
修改
</el-button>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, rebacks_data,'rebacks')"
type=
"danger"
round
>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, rebacks_data,'rebacks')"
type=
"danger"
round
:disabled=
"disabled_list[0]==1"
>
移除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row>
<el-button
class=
"add_button"
type=
"text"
@
click=
"rebacks_dialog_show = true"
>
添加合同回款信息
</el-button>
<el-button
class=
"add_button"
type=
"text"
@
click=
"rebacks_dialog_show = true"
:disabled=
"disabled_list[0]==1"
>
添加合同回款信息
</el-button>
</el-row>
</div>
</transition>
</el-card>
<!-- 合同回款信息弹出框 -->
<el-dialog
id=
"rebacks_dialog"
title=
"回款信息"
:visible
.
sync=
"rebacks_dialog_show"
width=
"30%"
>
<el-dialog
id=
"rebacks_dialog"
title=
"回款信息"
:visible
.
sync=
"rebacks_dialog_show"
width=
"30%"
:show-close=
"false"
>
<el-form
:model=
"rebacks_form"
label-width=
"150px"
label-position=
"left"
:rules=
"rebacks_form_rules"
ref=
"rebacks_form"
>
<el-form-item
label=
"实际回款金额"
prop=
"actual_reback_amount"
>
<el-input
v-model=
"rebacks_form.actual_reback_amount"
placeholder=
"请输入金额"
style=
"width:100%"
></el-input>
...
...
@@ -411,7 +410,7 @@
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"receipts_show = !receipts_show"
>
合同开票信息(财务部)
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('receipt')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('receipt')"
:disabled=
"disabled_list[0]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
...
...
@@ -442,24 +441,24 @@
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"200"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click
.
native
.
prevent=
"receipt_data_modify(scope.$index, receipts_data)"
type=
"primary"
round
>
<el-button
@
click
.
native
.
prevent=
"receipt_data_modify(scope.$index, receipts_data)"
type=
"primary"
round
:disabled=
"disabled_list[0]==1"
>
修改
</el-button>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, receipts_data,'receipts')"
type=
"danger"
round
>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, receipts_data,'receipts')"
type=
"danger"
round
:disabled=
"disabled_list[0]==1"
>
移除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row>
<el-button
class=
"add_button"
type=
"text"
@
click=
"receipts_dialog_show = true"
>
添加开票信息
</el-button>
<el-button
class=
"add_button"
type=
"text"
@
click=
"receipts_dialog_show = true"
:disabled=
"disabled_list[0]==1"
>
添加开票信息
</el-button>
</el-row>
</div>
</transition>
</el-card>
<!-- 开票信息弹出框 -->
<el-dialog
id=
"receipts_dialog"
title=
"开票合同"
:visible
.
sync=
"receipts_dialog_show"
width=
"30%"
>
<el-dialog
id=
"receipts_dialog"
title=
"开票合同"
:visible
.
sync=
"receipts_dialog_show"
width=
"30%"
:show-close=
"false"
>
<el-form
:model=
"receipts_form"
label-width=
"150px"
label-position=
"left"
:rules=
"receipts_form_rules"
ref=
"receipts_form"
>
<el-form-item
label=
"开票金额"
prop=
"receipt_amount"
>
<el-input
v-model=
"receipts_form.receipt_amount"
placeholder=
"请输入金额"
style=
"width:100%"
></el-input>
...
...
@@ -483,7 +482,7 @@
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"delivers_show = !delivers_show"
>
发货信息(生产部)
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('deliver')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('deliver')"
:disabled=
"disabled_list[1]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
...
...
@@ -495,24 +494,24 @@
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"100"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click
.
native
.
prevent=
"deliver_data_modify(scope.$index, delivers_data)"
type=
"primary"
round
>
<el-button
:disabled=
"disabled_list[1]==1"
@
click
.
native
.
prevent=
"deliver_data_modify(scope.$index, delivers_data)"
type=
"primary"
round
>
修改
</el-button>
<el-button
@
click
.
native
.
prevent=
"data_delete(scope.$index, delivers_data,'delivers')"
type=
"danger"
round
>
<el-button
:disabled=
"disabled_list[1]==1"
@
click
.
native
.
prevent=
"data_delete(scope.$index, delivers_data,'delivers')"
type=
"danger"
round
>
移除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-row>
<el-button
class=
"add_button"
type=
"text"
@
click=
"delivers_dialog_show = true"
>
添加发货信息
</el-button>
<el-button
class=
"add_button"
type=
"text"
@
click=
"delivers_dialog_show = true"
:disabled=
"disabled_list[1]==1"
>
添加发货信息
</el-button>
</el-row>
</div>
</transition>
</el-card>
<!-- 发货信息信息弹出框 -->
<el-dialog
id=
"delivers_dialog"
title=
"发货信息"
:visible
.
sync=
"delivers_dialog_show"
width=
"30%"
>
<el-dialog
id=
"delivers_dialog"
title=
"发货信息"
:visible
.
sync=
"delivers_dialog_show"
width=
"30%"
:show-close=
"false"
>
<el-form
:model=
"delivers_form"
label-width=
"150px"
label-position=
"left"
:rules=
"add_rules"
ref=
"delivers_form"
>
<el-form-item
label=
"发货日期"
prop=
"deliver_goods_date"
>
<el-date-picker
style=
"width:100%"
v-model=
"delivers_form.deliver_goods_date"
type=
"date"
value-format=
"yyyy-MM-dd"
>
...
...
@@ -540,12 +539,12 @@
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span
style=
"font-size:24px"
@
click=
"acceptanc_show = !acceptanc_show"
>
工程验收信息(工程部)
</span>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('project')"
>
提交
</el-button>
<el-button
style=
"float: right; padding: 8px 0"
type=
"text"
@
click=
"form_submit('project')"
:disabled=
"disabled_list[2]==1"
>
提交
</el-button>
</div>
<transition
name=
"el-fade-in-linear"
>
<div
id=
"acceptanc_form"
v-show=
"acceptanc_show"
>
<el-form
:inline=
"true"
:model=
"first_acceptancs_form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"acceptanc_form_rules"
ref=
"first_acceptancs_form"
>
<el-form
:inline=
"true"
:model=
"first_acceptancs_form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"acceptanc_form_rules"
ref=
"first_acceptancs_form"
:disabled=
"disabled_list[2]==1"
>
<el-row>
<el-col
:span=
"8"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"填写初验必须填写终验"
placement=
"top"
>
...
...
@@ -580,7 +579,7 @@
</el-row>
</el-form>
</el-form>
<el-form
:inline=
"true"
:model=
"final_acceptancs_form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"acceptanc_form_rules2"
ref=
"final_acceptancs_form"
>
<el-form
:inline=
"true"
:model=
"final_acceptancs_form"
class=
"demo-form-inline"
label-width=
"100px"
:rules=
"acceptanc_form_rules2"
ref=
"final_acceptancs_form"
:disabled=
"disabled_list[2]==1"
>
<el-row>
<el-col
:span=
"8"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"填写初验必须填写终验"
placement=
"top"
>
...
...
@@ -630,12 +629,14 @@ export default {
name
:
"contract_information"
,
data
()
{
return
{
disabled_list
:
[
1
,
1
,
1
],
contract_appendix_list
:
[],
acceptancs_appendix_list
:
[],
first_acceptancs_appendix_list
:
[],
operate_type
:
[
0
,
0
,
0
,
0
,
0
,
0
],
//整个页面的操作类型,一共6个表单,0表示新增,1表示修改
code_base_url
:
disparch_data
.
code_base_url
,
contract_base_url
:
disparch_data
.
contract_base_url
,
auth_base_url
:
disparch_data
.
auth_base_url
,
contract_unid_selected_data
:
[],
//合同编号数据数组
salesperson_unid_selected_data
:
[],
//销售人员数据数组
project_unid_selected_data
:
[],
//项目名称数据数组
...
...
@@ -645,18 +646,12 @@ export default {
counties
:
[],
modify_data
:
false
,
//用来标志dialog用来修改数据
modify_index
:
-
1
,
//用来标志修改数据的索引
payment_type_data
:
[
"预付款"
,
"到货款"
,
"系统验收款"
,
"质保款(发货节点)"
,
"质保款(验收节点)"
],
product_line_type_data
:
[
"安防"
,
"交通"
,
"客流"
,
"维保"
],
contract_state_data
:
[
"已完成"
,
"待发货"
,
"施工中"
,
"项目暂停"
],
contract_type_data
:
[
"供货"
,
"施工"
,
"集成"
,
"维保"
],
amount_state_unid_data
:
[
"正常验收款"
,
"正常维保"
],
mainten_start_point_data
:
[
"签订时间"
,
"到货验收时间"
,
"项目终验时间"
],
payment_type_data
:
[],
product_line_type_data
:
[],
contract_state_data
:
[],
contract_type_data
:
[],
amount_state_unid_data
:
[],
mainten_start_point_data
:
[],
guarantee_date
:
[,],
//维保服务期,数组形式的日期,0开始,1结束。
// show and display~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
payments_dialog_show
:
false
,
...
...
@@ -918,17 +913,18 @@ export default {
},
// 合同余额
contract_remaining
:
function
()
{
var
a
=
this
.
form
.
contract_amount
-
var
a
=
this
.
form
.
contract_amount
-
this
.
form
.
deduct_amount
-
this
.
total_reback_amount
-
this
.
form
.
stop_amount
-
this
.
form
.
exemptions_amount
-
this
.
form
.
bad_amount
;
if
(
isNaN
(
a
))
{
return
null
;
}
else
{
return
a
.
toFixed
(
2
)
}
if
(
isNaN
(
a
))
{
return
null
;
}
else
{
return
a
.
toFixed
(
2
);
}
},
// 累计回款额
total_reback_amount
:
function
()
{
...
...
@@ -955,17 +951,18 @@ export default {
},
// 应收账款余额
total_leave_amount
:
function
()
{
var
a
=
this
.
total_receive_amount
-
var
a
=
this
.
total_receive_amount
-
this
.
total_reback_amount
-
this
.
form
.
deduct_amount
-
this
.
form
.
stop_amount
-
this
.
form
.
exemptions_amount
-
this
.
form
.
bad_amount
;
if
(
isNaN
(
a
))
{
return
null
}
else
{
return
a
.
toFixed
(
2
);
}
if
(
isNaN
(
a
))
{
return
null
;
}
else
{
return
a
.
toFixed
(
2
);
}
},
// 逾期天数
over_days_unid
:
function
()
{
...
...
@@ -974,17 +971,30 @@ export default {
var
now_date
=
now
.
getFullYear
()
+
"-"
+
(
now
.
getMonth
()
+
1
)
+
"-"
+
now
.
getDate
();
var
amount
=
0
;
var
days
=
0
;
for
(
let
i
=
0
;
i
<
this
.
payments_data
.
length
;
i
++
)
{
const
element
=
this
.
payments_data
[
i
];
pay_date
=
this
.
get_pay_date
(
i
);
amount
+=
this
.
get_pay_amount
(
i
);
}
if
(
now_date
>
pay_date
&&
amount
>
this
.
total_reback_amount
)
{
var
a
=
this
.
date_diff
(
now_date
,
pay_date
);
return
a
>
0
?
a
:
0
;
}
else
{
return
0
;
var
pay_amount
=
this
.
get_pay_amount
(
i
);
amount
+=
pay_amount
;
if
(
now_date
>
pay_date
)
{
var
a
=
this
.
date_diff
(
now_date
,
pay_date
);
if
(
(
amount
>
this
.
total_reback_amount
&&
a
>
days
)
||
(
pay_amount
>
this
.
total_reback_amount
&&
a
>
days
)
)
{
days
=
a
;
}
}
}
// if (now_date > pay_date && amount > this.total_reback_amount) {
// var a = this.date_diff(now_date, pay_date);
// console.log(a);
// return a > 0 ? a : 0;
// } else {
// return 0;
// }
return
days
;
},
// 维保服务期开始时间
start_guarantee_date
:
function
()
{
...
...
@@ -1000,16 +1010,19 @@ export default {
},
mainten_start_date
:
function
()
{
if
(
this
.
form
.
mainten_start_point
==
0
&&
this
.
form
.
mainten_start_point
==
"60001"
&&
this
.
form
.
sign_date
&&
this
.
form
.
guarantee_period
)
{
return
this
.
form
.
sign_date
;
}
else
if
(
this
.
form
.
mainten_start_point
==
1
&&
this
.
delivers_data
[
0
])
{
}
else
if
(
this
.
form
.
mainten_start_point
==
"60002"
&&
this
.
delivers_data
[
0
]
)
{
var
index
=
this
.
delivers_data
.
length
-
1
;
return
this
.
delivers_data
[
index
].
goods_acceptanc_date
;
}
else
if
(
this
.
form
.
mainten_start_point
==
2
&&
this
.
form
.
mainten_start_point
==
"60003"
&&
this
.
final_acceptancs_form
.
acceptanc_type
==
"2"
&&
this
.
final_acceptancs_form
.
acceptanc_date
!=
""
)
{
...
...
@@ -1018,7 +1031,7 @@ export default {
},
mainten_end_date
:
function
()
{
if
(
this
.
form
.
mainten_start_point
==
0
&&
this
.
form
.
mainten_start_point
==
"60001"
&&
this
.
form
.
sign_date
&&
this
.
form
.
guarantee_period
)
{
...
...
@@ -1026,14 +1039,17 @@ export default {
this
.
form
.
sign_date
,
this
.
form
.
guarantee_period
);
}
else
if
(
this
.
form
.
mainten_start_point
==
1
&&
this
.
delivers_data
[
0
])
{
}
else
if
(
this
.
form
.
mainten_start_point
==
"60002"
&&
this
.
delivers_data
[
0
]
)
{
var
index
=
this
.
delivers_data
.
length
-
1
;
return
this
.
date_add_month
(
this
.
delivers_data
[
index
].
goods_acceptanc_date
,
this
.
form
.
guarantee_period
);
}
else
if
(
this
.
form
.
mainten_start_point
==
2
&&
this
.
form
.
mainten_start_point
==
"60003"
&&
this
.
final_acceptancs_form
.
acceptanc_type
==
"2"
&&
this
.
final_acceptancs_form
.
acceptanc_date
!=
""
)
{
...
...
@@ -1285,7 +1301,7 @@ export default {
// date_methods~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// remoteMethod~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
contractIdRemoteMethod
(
query
)
{
get_contract_unid
(
)
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
contract_base_url
+
"codes"
...
...
@@ -1297,13 +1313,13 @@ export default {
console
.
log
(
err
.
message
);
});
},
salespersonIdRemoteMethod
(
query
)
{
get_salesperson
(
)
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"simple/cates/09BB973F92/codes"
// params:
{
// wd:this.form.contract_unid
//
}
url
:
this
.
auth_base_url
+
"users"
,
params
:
{
norm_type
:
"employee"
}
})
.
then
(
response
=>
{
this
.
salesperson_unid_selected_data
=
response
.
data
.
list_data
;
...
...
@@ -1312,18 +1328,6 @@ export default {
console
.
log
(
err
.
message
);
});
},
projectIdRemoteMethod
(
query
)
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
contract_base_url
+
"projects"
})
.
then
(
response
=>
{
this
.
project_unid_selected_data
=
response
.
data
;
})
.
catch
(
err
=>
{
console
.
log
(
err
.
message
);
});
},
customerIdRemoteMethod
(
query
)
{
this
.
$Axios
({
method
:
"get"
,
...
...
@@ -1358,6 +1362,8 @@ export default {
payment_propority
:
propority
,
payment_requirement
:
requirement
};
console
.
log
(
a
);
if
(
!
this
.
modify_data
)
{
if
(
this
.
payments_data
.
length
>
0
)
{
a
.
payment_progress
=
...
...
@@ -1373,6 +1379,7 @@ export default {
].
payment_progress
;
this
.
$set
(
this
.
payments_data
,
this
.
modify_index
,
a
);
}
console
.
log
(
this
.
payments_data
);
this
.
payments_form
=
{};
this
.
modify_data
=
false
;
...
...
@@ -1571,6 +1578,75 @@ export default {
// modifyend~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// getlocation start~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_payment_type
(
index
)
{
for
(
let
i
=
0
;
i
<
this
.
payment_type_data
.
length
;
i
++
)
{
const
e
=
this
.
payment_type_data
[
i
];
if
(
this
.
payments_data
[
index
].
payment_type
===
e
.
code
)
{
return
e
.
name
;
}
}
return
"无"
;
},
get_payment_type_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/215649FB93/codes"
})
.
then
(
res
=>
{
this
.
payment_type_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_product_line_type_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/4FC51AD3C9/codes"
})
.
then
(
res
=>
{
this
.
product_line_type_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_contract_state_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/13BEFACBCF/codes"
})
.
then
(
res
=>
{
this
.
contract_state_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_contract_type_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/8EC31D08A0/codes"
})
.
then
(
res
=>
{
this
.
contract_type_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_amount_state_unid_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/42407C5EF2/codes"
})
.
then
(
res
=>
{
this
.
amount_state_unid_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_mainten_start_point_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/55B997D596/codes"
})
.
then
(
res
=>
{
this
.
mainten_start_point_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_provinces
()
{
this
.
$Axios
({
method
:
"get"
,
...
...
@@ -1628,16 +1704,19 @@ export default {
var
date
=
""
;
var
type
=
this
.
payments_data
[
index
].
payment_type
;
var
days
=
this
.
payments_data
[
index
].
days
;
if
(
type
==
"
0
"
&&
this
.
form
.
sign_date
)
{
if
(
type
==
"
100001
"
&&
this
.
form
.
sign_date
)
{
date
=
this
.
date_add_days
(
this
.
form
.
sign_date
,
days
);
}
else
if
((
type
==
"1"
||
type
==
"3"
)
&&
this
.
delivers_data
[
0
])
{
}
else
if
(
(
type
==
"100002"
||
type
==
"100004"
)
&&
this
.
delivers_data
[
0
]
)
{
var
i
=
this
.
delivers_data
.
length
-
1
;
date
=
this
.
date_add_days
(
this
.
delivers_data
[
i
].
goods_acceptanc_date
,
days
);
}
else
if
(
(
type
==
"
2"
||
type
==
"4
"
)
&&
(
type
==
"
100003"
||
type
==
"100005
"
)
&&
this
.
final_acceptancs_form
.
acceptanc_date
!=
null
)
{
date
=
this
.
date_add_days
(
...
...
@@ -1669,19 +1748,6 @@ export default {
console
.
log
(
err
.
message
);
});
},
get_salers
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"customers"
,
headers
:
{
"Content-Type"
:
"application/json"
}
})
.
then
(
response
=>
{
this
.
customer_unid_selected_data
=
response
.
data
;
})
.
catch
(
err
=>
{
console
.
log
(
err
.
message
);
});
},
get_projects
()
{
this
.
$Axios
({
method
:
"get"
,
...
...
@@ -1711,7 +1777,7 @@ export default {
.
then
(
response
=>
{
if
(
response
.
data
.
ecode
==
"100"
)
{
this
.
$alert
(
"合同已删除"
);
this
.
$router
.
push
({
path
:
'0'
})
this
.
$router
.
push
({
path
:
"0"
});
}
else
{
this
.
$set
(
this
.
form
,
...
...
@@ -1723,26 +1789,29 @@ export default {
this
.
$set
(
this
.
form
,
"city"
,
response
.
data
.
city
);
this
.
get_counties
();
this
.
$set
(
this
.
form
,
"county"
,
response
.
data
.
county
);
if
(
response
.
data
.
contract_state
)
{
this
.
$set
(
this
.
form
,
"contract_state"
,
parseInt
(
response
.
data
.
contract_state
)
-
1
response
.
data
.
contract_state
);
}
if
(
response
.
data
.
contract_type
)
{
this
.
$set
(
this
.
form
,
"contract_type"
,
parseInt
(
response
.
data
.
contract_type
)
-
1
response
.
data
.
contract_type
);
}
this
.
$set
(
this
.
form
,
"is_archive"
,
response
.
data
.
is_archive
);
if
(
response
.
data
.
amount_state_unid
)
{
this
.
$set
(
this
.
form
,
"amount_state_unid"
,
parseInt
(
response
.
data
.
amount_state_unid
)
-
1
response
.
data
.
amount_state_unid
);
}
this
.
$set
(
...
...
@@ -1750,9 +1819,7 @@ export default {
"salesperson_unid"
,
response
.
data
.
salesperson_unid
);
this
.
get_projects
();
this
.
$set
(
this
.
form
,
"project_unid"
,
response
.
data
.
project_unid
);
this
.
get_customers
();
this
.
$set
(
this
.
form
,
"customer_unid"
,
...
...
@@ -1785,11 +1852,12 @@ export default {
"bad_amount_note"
,
response
.
data
.
bad_amount_note
);
if
(
response
.
data
.
mainten_start_point
)
{
this
.
$set
(
this
.
form
,
"mainten_start_point"
,
parseInt
(
response
.
data
.
mainten_start_point
)
-
1
response
.
data
.
mainten_start_point
);
}
this
.
$set
(
...
...
@@ -1807,11 +1875,12 @@ export default {
"guarantee_period"
,
response
.
data
.
guarantee_period
);
if
(
response
.
data
.
product_line_type
)
{
this
.
$set
(
this
.
form
,
"product_line_type"
,
parseInt
(
response
.
data
.
product_line_type
)
-
1
response
.
data
.
product_line_type
);
}
this
.
$set
(
...
...
@@ -1854,7 +1923,7 @@ export default {
var
item
=
{};
const
e
=
response
.
data
[
i
];
item
.
payment_unid
=
e
.
payment_unid
;
item
.
payment_type
=
parseInt
(
e
.
payment_type
)
-
1
;
item
.
payment_type
=
e
.
payment_type
;
item
.
payment_progress
=
e
.
payment_progress
;
item
.
days
=
e
.
days
;
item
.
payment_propority
=
e
.
payment_propority
;
...
...
@@ -1874,7 +1943,7 @@ export default {
headers
:
{
"Content-Type"
:
"application/json"
}
})
.
then
(
response
=>
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
for
(
let
i
=
0
;
i
<
response
.
data
.
length
;
i
++
)
{
var
e
=
response
.
data
[
i
];
var
item
=
{};
...
...
@@ -1896,7 +1965,7 @@ export default {
headers
:
{
"Content-Type"
:
"application/json"
}
})
.
then
(
response
=>
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
for
(
let
i
=
0
;
i
<
response
.
data
.
length
;
i
++
)
{
var
e
=
response
.
data
[
i
];
var
item
=
{};
...
...
@@ -1918,7 +1987,7 @@ export default {
headers
:
{
"Content-Type"
:
"application/json"
}
})
.
then
(
response
=>
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
if
(
!
response
.
data
.
ecode
||
response
.
data
!=
[])
{
for
(
let
i
=
0
;
i
<
response
.
data
.
list_deliver_data
.
length
;
i
++
)
{
var
e
=
response
.
data
.
list_deliver_data
[
i
];
var
item
=
{};
...
...
@@ -2271,7 +2340,29 @@ export default {
}
},
created
()
{
var
roles
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"user_roles"
));
for
(
let
i
=
0
;
i
<
roles
.
length
;
i
++
)
{
const
e
=
roles
[
i
];
if
(
e
.
role_unid
==
"ec480894ee85f1fa282ee7fa27be9cbc"
)
{
this
.
disabled_list
[
1
]
=
0
;
}
else
if
(
e
.
role_unid
==
"91d5185d47e3bad099e17570b0dd0ed2"
)
{
this
.
disabled_list
[
0
]
=
0
;
}
else
if
(
e
.
role_unid
==
"65f881ffa510eb9ec0c0dc76d625515f"
)
{
this
.
disabled_list
[
2
]
=
0
;
}
}
this
.
get_provinces
();
this
.
get_contract_state_data
();
this
.
get_contract_type_data
();
this
.
get_amount_state_unid_data
();
this
.
get_mainten_start_point_data
();
this
.
get_product_line_type_data
();
this
.
get_payment_type_data
();
this
.
get_salesperson
();
this
.
get_contract_unid
();
this
.
get_projects
();
this
.
get_customers
();
var
id
=
this
.
$route
.
params
.
contract_unid
;
this
.
get_contract_info
(
id
);
},
...
...
@@ -2285,11 +2376,7 @@ export default {
<
style
scoped
>
.add_button
{
font-size
:
20px
;
padding-top
:
60px
;
color
:
gray
;
}
.add_button
:hover
{
color
:
black
;
padding-top
:
20px
;
}
.width-220
{
...
...
code/finance_web/src/components/login.vue
View file @
dafd19c
...
...
@@ -12,8 +12,8 @@
</el-input>
</el-form-item>
<el-form-item
prop=
"password"
>
<el-input
type=
"password"
v-model=
"form.password"
auto-complete=
"off"
>
<
template
slot=
"prepend"
>
密码
</
template
>
<el-input
type=
"password"
v-model=
"form.password"
auto-complete=
"off"
@
keydown
.
enter=
"submitForm('login_form')"
>
<
template
slot=
"prepend"
>
密码
</
template
>
</el-input>
</el-form-item>
<el-form-item>
...
...
@@ -31,17 +31,16 @@ export default {
name
:
"login"
,
data
()
{
return
{
auth_base_url
:
disparch_data
.
auth_base_url
,
form
:
{
username
:
""
,
password
:
""
},
rules
:
{
username
:
[
{
required
:
true
,
message
:
"请输入用户名"
,
trigger
:
"blur"
}
],
password
:
[
{
required
:
true
,
message
:
"请输入登录密码"
,
trigger
:
"blur"
}
]
username
:
[{
required
:
true
,
message
:
"请输入用户名"
,
trigger
:
"blur"
}]
// password: [
// { required: true, message: "请输入登录密码", trigger: "blur" }
// ]
}
};
},
...
...
@@ -49,28 +48,53 @@ export default {
submitForm
(
form
)
{
this
.
$refs
[
form
].
validate
(
valid
=>
{
if
(
valid
)
{
console
.
log
(
valid
);
console
.
log
(
this
.
form
.
username
);
console
.
log
(
this
.
form
.
password
);
window
.
localStorage
.
setItem
(
"username"
,
this
.
form
.
username
);
window
.
sessionStorage
.
setItem
(
"loginCheck"
,
true
);
window
.
sessionStorage
.
setItem
(
"username"
,
this
.
form
.
username
);
this
.
$router
.
push
({
path
:
"/nav/search"
});
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
auth_base_url
+
"users/login"
,
headers
:
{
"Content-Type"
:
"application/json"
},
data
:
{
user_type
:
"user"
,
username
:
this
.
form
.
username
,
password
:
this
.
form
.
password
}
})
.
then
(
res
=>
{
if
(
res
.
data
.
ecode
)
{
this
.
$message
({
message
:
res
.
data
.
enote
,
type
:
"error"
});
}
else
{
window
.
sessionStorage
.
setItem
(
"username"
,
this
.
form
.
username
);
window
.
sessionStorage
.
setItem
(
"user_unid"
,
res
.
data
.
user_unid
);
window
.
sessionStorage
.
setItem
(
'user_roles'
,
JSON
.
stringify
(
res
.
data
.
roles
));
this
.
$router
.
push
({
path
:
"/nav/search"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"登录错误"
,
type
:
"error"
});
});
}
});
},
resetForm
(
form
)
{
this
.
$refs
[
form
].
resetFields
();
}
},
is_login
()
{}
},
mounted
()
{
this
.
form
.
username
=
localStorage
.
getItem
(
"username"
);
}
,
}
};
</
script
>
<
style
scoped
>
#login_box
{
height
:
100%
height
:
100%
;
}
</
style
>
code/finance_web/src/components/manage.vue
View file @
dafd19c
...
...
@@ -4,13 +4,51 @@
<span
style=
"font-size:24px"
>
后台管理
</span>
</div>
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<el-row
type=
"flex"
justify=
"start"
style=
"text-align :left"
>
<el-row
type=
"flex"
justify=
"start"
style=
"text-align :left
;border-bottom:1px solid #ebeef5;padding-bottom:18px
"
>
<el-col
:span=
"6"
>
<el-input
class=
"input"
v-model=
"contract_unid"
placeholder=
"合同编号"
></el-input>
<el-button
type=
"primary"
@
click=
"contract_unid_add"
>
添加
</el-button>
</el-col>
<el-col
:span=
"6"
>
<el-input
class=
"input"
v-model=
"customer_name"
placeholder=
"客户名称"
></el-input>
<el-button
type=
"primary"
@
click=
"customer_name_add"
>
添加
</el-button>
</el-col>
<el-col
:span=
"6"
>
<el-input
class=
"input"
v-model=
"salesperson"
placeholder=
"销售员"
></el-input>
<el-button
type=
"primary"
@
click=
"salesperson_add('employee')"
>
添加
</el-button>
</el-col>
<el-col
:span=
"6"
>
<el-input
class=
"input"
v-model=
"project_name"
placeholder=
"项目名称"
></el-input>
<el-button
type=
"primary"
@
click=
"project_name_add"
>
添加
</el-button>
</el-col>
</el-row>
<el-row>
<el-button
class=
"add_button"
type=
"text"
@
click=
"login_user_dialog_show = true"
>
添加登录用户
</el-button>
</el-row>
<el-dialog
id=
"login_user_dialog"
title=
"添加登录户"
:visible
.
sync=
"login_user_dialog_show"
width=
"30%"
:show-close=
"false"
>
<el-form
:model=
"login_user_form"
label-width=
"100px"
label-position=
"left"
:rules=
"login_user_form_rules"
ref=
"login_user_form"
>
<el-form-item
label=
"用户类型"
prop=
"role_unid"
>
<el-select
v-model=
"login_user_form.role_unid"
clearable
placeholder=
"用户类型"
style=
"width:100%"
>
<el-option
v-for=
"item in roles"
:key=
"item.role_unid"
:label=
"item.name"
:value=
"item.role_unid"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"用户名"
prop=
"username"
>
<el-input
v-model=
"login_user_form.username"
placeholder=
"用户名"
style=
"width:100%"
></el-input>
</el-form-item>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"login_user_form.name"
placeholder=
"姓名"
style=
"width:100%"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"login_user_dialog_cancel()"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"login_user_dialog_confirm()"
>
确 定
</el-button>
</div>
</el-dialog>
</el-card>
</
template
>
<
script
>
...
...
@@ -18,35 +56,187 @@ export default {
name
:
"manage"
,
data
()
{
return
{
login_user_dialog_show
:
false
,
code_base_url
:
disparch_data
.
code_base_url
,
contract_base_url
:
disparch_data
.
contract_base_url
,
contract_unid
:
null
auth_base_url
:
disparch_data
.
auth_base_url
,
contract_unid
:
null
,
customer_name
:
null
,
salesperson
:
null
,
project_name
:
null
,
roles
:
[],
login_user_form
:
{
role_unid
:
""
,
username
:
""
,
name
:
""
,
password
:
"0000"
,
norm_type
:
"login"
},
login_user_form_rules
:
{
username
:
{
required
:
true
,
pattern
:
/^
[
a-z
]{2,8}
$/
,
message
:
"请输入2至8位英文"
,
trigger
:
"blur"
},
name
:
{
required
:
true
,
message
:
"请输入用户姓名"
,
trigger
:
"blur"
},
role_unid
:
{
required
:
true
,
message
:
"请选择用户类型"
,
trigger
:
"blur"
}
}
};
},
methods
:
{
contract_unid_add
()
{
this
.
$Axios
({
method
:
"post"
,
data
:
{
contract_unid
:
this
.
contract_unid
},
url
:
this
.
contract_base_url
}).
then
(
response
=>
{
this
.
contract_unid
=
null
;
if
(
response
.
data
.
encode
=
'200'
)
{
this
.
show_message
(
"添加成功"
,
'success'
)
}
else
{
this
.
show_message
(
'添加失败'
,
'error'
)
}
});
if
(
this
.
contract_unid
)
{
this
.
$Axios
({
method
:
"post"
,
data
:
{
contract_unid
:
this
.
contract_unid
},
url
:
this
.
contract_base_url
,
headers
:
{
"Content-Type"
:
"application/json"
}
}).
then
(
response
=>
{
this
.
contract_unid
=
null
;
if
(
response
.
data
.
ecode
==
"200"
)
{
this
.
show_message
(
"添加成功"
,
"success"
);
}
else
{
this
.
show_message
(
"添加失败"
,
"error"
);
}
});
}
else
{
this
.
show_message
(
"请填写信息"
,
"info"
);
}
},
customer_name_add
()
{
if
(
this
.
customer_name
)
{
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
contract_base_url
+
"customers"
,
data
:
{
customer_name
:
this
.
customer_name
},
headers
:
{
"Content-Type"
:
"application/json"
}
}).
then
(
response
=>
{
this
.
customer_name
=
null
;
if
(
response
.
data
.
ecode
==
"200"
)
{
this
.
show_message
(
"添加成功"
,
"success"
);
}
else
{
this
.
show_message
(
"添加失败"
,
"error"
);
}
});
}
else
{
this
.
show_message
(
"请填写信息"
,
"info"
);
}
},
salesperson_add
(
type
)
{
if
(
this
.
salesperson
)
{
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
auth_base_url
+
"users"
,
data
:
{
norm_type
:
type
,
username
:
this
.
salesperson
,
name
:
this
.
salesperson
,
password
:
"0000"
},
headers
:
{
"Content-Type"
:
"application/json"
}
}).
then
(
response
=>
{
this
.
salesperson
=
null
;
this
.
show_message
(
"添加成功"
,
"success"
);
});
}
else
{
this
.
show_message
(
"请填写信息"
,
"info"
);
}
},
show_message
(
message
,
type
){
project_name_add
()
{
if
(
this
.
project_name
)
{
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
contract_base_url
+
"projects"
,
data
:
{
project_name
:
this
.
project_name
},
headers
:
{
"Content-Type"
:
"application/json"
}
}).
then
(
response
=>
{
this
.
project_name
=
null
;
if
(
response
.
data
.
ecode
==
"200"
)
{
this
.
show_message
(
"添加成功"
,
"success"
);
}
else
{
this
.
show_message
(
"添加失败"
,
"error"
);
}
});
}
else
{
this
.
show_message
(
"请填写信息"
,
"info"
);
}
},
show_message
(
message
,
type
)
{
this
.
$message
({
message
:
message
,
type
:
type
,
center
:
true
,
showClose
:
true
,
duration
:
1500
message
:
message
,
type
:
type
,
center
:
true
,
showClose
:
true
,
duration
:
1500
});
},
get_roles
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
auth_base_url
+
"roles"
})
.
then
(
response
=>
{
if
(
response
.
data
.
list_data
)
{
this
.
roles
=
response
.
data
.
list_data
;
}
})
.
catch
(
err
=>
{
console
.
log
(
err
.
message
);
});
},
login_user_dialog_cancel
()
{
this
.
$refs
[
"login_user_form"
].
resetFields
();
this
.
login_user_dialog_show
=
false
;
},
login_user_dialog_confirm
()
{
this
.
$refs
[
"login_user_form"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
auth_base_url
+
"users"
,
headers
:
{
"Content-Type"
:
"application/json"
},
data
:
this
.
login_user_form
}).
then
(
res
=>
{
if
(
res
.
data
.
user_unid
)
{
this
.
$Axios
({
method
:
"post"
,
url
:
this
.
auth_base_url
+
"users/"
+
res
.
data
.
user_unid
+
"/roles"
,
headers
:
{
"Content-Type"
:
"application/json"
},
data
:
{
role_unid
:
this
.
login_user_form
.
role_unid
}
})
.
then
(
res
=>
{
this
.
show_message
(
"添加成功"
,
"success"
);
this
.
$refs
[
"login_user_form"
].
resetFields
();
this
.
login_user_dialog_show
=
false
;
console
.
log
(
res
.
data
);
})
.
catch
(
err
=>
{
this
.
show_message
(
"添加失败"
,
"error"
);
});
}
else
{
this
.
show_message
(
"添加失败"
,
"error"
);
}
});
}
});
}
},
created
()
{
this
.
get_roles
();
}
};
</
script
>
...
...
@@ -55,5 +245,10 @@ export default {
.input
{
width
:
200px
;
}
.add_button
{
font-size
:
20px
;
padding-top
:
18px
;
color
:
#409eff
;
}
</
style
>
code/finance_web/src/components/search.vue
View file @
dafd19c
...
...
@@ -49,7 +49,7 @@
<el-col
:span=
"6"
>
<el-form-item
label=
"合同状态"
prop=
"contract_state"
>
<el-select
v-model=
"search_form.contract_state"
clearable
>
<el-option
v-for=
"
(value,index) in contract_state_data"
:key=
"index"
:label=
"value"
:value=
"index+1
"
>
<el-option
v-for=
"
item in contract_state_data"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -57,7 +57,7 @@
<el-col
:span=
"6"
>
<el-form-item
label=
"合同性质"
prop=
"contract_type"
>
<el-select
v-model=
"search_form.contract_type"
clearable
>
<el-option
v-for=
"
(value,index) in contract_type_data"
:key=
"index"
:label=
"value"
:value=
"index+1
"
>
<el-option
v-for=
"
item in contract_type_data"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -67,7 +67,7 @@
<el-col
:span=
"6"
>
<el-form-item
label=
"产品线类型"
prop=
"product_line_type"
>
<el-select
v-model=
"search_form.product_line_type"
clearable
>
<el-option
v-for=
"
(value,index) in product_line_type_data"
:key=
"index"
:label=
"value"
:value=
"index+1
"
>
<el-option
v-for=
"
item in product_line_type_data"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -93,7 +93,7 @@
<el-col
:span=
"6"
>
<el-form-item
label=
"账款状态"
prop=
"amount_state_unid"
>
<el-select
v-model=
"search_form.amount_state_unid"
clearable
>
<el-option
v-for=
"
(value,index) in amount_state_unid_data"
:key=
"index"
:label=
"value"
:value=
"index+1
"
>
<el-option
v-for=
"
item in amount_state_unid_data"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code
"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -318,7 +318,7 @@ const twodecimalrule = {
trigger
:
"blur"
};
export
default
{
name
:
'search'
,
name
:
"search"
,
data
()
{
return
{
provinces
:
[],
...
...
@@ -340,10 +340,10 @@ export default {
"11"
,
"12"
],
contract_state_data
:
[
"已完成"
,
"待发货"
,
"施工中"
,
"项目暂停"
],
contract_type_data
:
[
"供货"
,
"施工"
,
"集成"
,
"维保"
],
product_line_type_data
:
[
"安防"
,
"交通"
,
"客流"
,
"维保"
],
amount_state_unid_data
:
[
"正常验收款"
,
"正常维保"
],
contract_state_data
:
[],
contract_type_data
:
[],
product_line_type_data
:
[],
amount_state_unid_data
:
[],
search_form
:
{
salesperson_name__like
:
null
,
project_name__like
:
null
,
...
...
@@ -368,7 +368,7 @@ export default {
amount_start_point
:
null
,
amount_end_point
:
null
,
leave_amount_start_point
:
null
,
leave_amount_end_point
:
null
,
leave_amount_end_point
:
null
},
list_data
:
[],
...
...
@@ -392,15 +392,15 @@ export default {
offset
()
{
return
(
this
.
current_page
-
1
)
*
this
.
limit
;
},
guarantee_period_list
(){
guarantee_period_list
()
{
var
arr
=
[];
var
a
=
6
;
for
(
let
i
=
0
;
i
<
10
;
i
++
)
{
const
element
=
10
[
i
];
for
(
let
i
=
0
;
i
<
10
;
i
++
)
{
const
element
=
(
10
)
[
i
];
arr
.
push
(
a
);
a
+=
6
;
}
return
arr
return
arr
;
}
},
methods
:
{
...
...
@@ -444,6 +444,46 @@ export default {
// remote---------------------------------------------------------------------------------
// get start~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
get_amount_state_unid_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/42407C5EF2/codes"
})
.
then
(
res
=>
{
this
.
amount_state_unid_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_contract_type_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/8EC31D08A0/codes"
})
.
then
(
res
=>
{
this
.
contract_type_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_contract_state_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/13BEFACBCF/codes"
})
.
then
(
res
=>
{
this
.
contract_state_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_product_line_type_data
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
code_base_url
+
"custom/cates/4FC51AD3C9/codes"
})
.
then
(
res
=>
{
this
.
product_line_type_data
=
res
.
data
.
list_data
;
})
.
catch
(
err
=>
{});
},
get_provinces
()
{
this
.
$Axios
({
method
:
"get"
,
...
...
@@ -511,6 +551,21 @@ export default {
.
then
(
response
=>
{
this
.
total_data
=
response
.
data
.
total_number
;
this
.
list_data
=
response
.
data
.
list_data
;
for
(
let
i
=
0
;
i
<
this
.
list_data
.
length
;
i
++
)
{
const
e
=
this
.
list_data
[
i
];
for
(
let
j
=
0
;
j
<
this
.
contract_state_data
.
length
;
j
++
)
{
const
a
=
this
.
contract_state_data
[
j
];
if
(
e
.
contract_state
==
a
.
code
)
{
this
.
list_data
[
i
].
contract_state_name
=
a
.
name
;
}
}
for
(
let
k
=
0
;
k
<
this
.
product_line_type_data
.
length
;
k
++
)
{
const
b
=
this
.
product_line_type_data
[
k
];
if
(
e
.
product_line_type
==
b
.
code
)
{
this
.
list_data
[
i
].
product_line_type_name
=
b
.
name
;
}
}
}
})
.
catch
(
err
=>
{
console
.
log
(
err
.
message
);
...
...
@@ -541,28 +596,44 @@ export default {
this
.
search_form
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"search_form"
));
this
.
current_page
=
val
;
console
.
log
(
this
.
current_page
);
this
.
list_data
=
this
.
get_list_data
().
data
;
this
.
get_list_data
()
;
},
export_contract
()
{
this
.
$Axios
({
method
:
"get"
,
url
:
this
.
contract_base_url
+
"export"
,
params
:
this
.
search_form
,
responseType
:
"blob"
}).
then
(
res
=>
{
let
blob
=
new
Blob
([
res
.
data
],{
type
:
"application/vnd.ms-excel;charset=UTF-8"
});
let
ourl
=
URL
.
createObjectURL
(
blob
);
window
.
location
.
href
=
ourl
;
}).
catch
(
err
=>
{
console
.
log
(
err
.
message
);
method
:
"get"
,
url
:
this
.
contract_base_url
+
"export"
,
params
:
this
.
search_form
,
responseType
:
"blob"
})
.
then
(
res
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel;charset=UTF-8"
});
// let ourl = URL.createObjectURL(blob);
// window.location.href = ourl;
var
downloadElement
=
document
.
createElement
(
"a"
);
var
href
=
window
.
URL
.
createObjectURL
(
blob
);
//创建下载的链接
downloadElement
.
href
=
href
;
downloadElement
.
download
=
"合同.xlsx"
;
//下载后文件名
document
.
body
.
appendChild
(
downloadElement
);
downloadElement
.
click
();
//点击下载
document
.
body
.
removeChild
(
downloadElement
);
//下载完成移除元素
window
.
URL
.
revokeObjectURL
(
href
);
//释放掉blob对象
})
.
catch
(
err
=>
{
console
.
log
(
err
.
message
);
});
},
go_to
(
id
){
this
.
$router
.
push
(
'/nav/contract/'
+
id
);
go_to
(
id
)
{
this
.
$router
.
push
(
"/nav/contract/"
+
id
);
}
},
created
()
{
this
.
get_provinces
();
this
.
get_amount_state_unid_data
();
this
.
get_contract_type_data
();
this
.
get_contract_state_data
();
this
.
get_product_line_type_data
();
}
};
</
script
>
...
...
code/finance_web/static/disparch.js
View file @
dafd19c
disparch_data
=
{
code_base_url
:
"http://192.168.9.162:20080/api/v1/codes/"
,
contract_base_url
:
"http://192.168.9.162:20080/api/v1/financial/contracts/"
,
auth_base_url
:
"http://192.168.9.162:20080/api/v1/auth/"
}
Write
Preview
Markdown
is supported
Attach a file
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 post a comment