apply-clients 3.2.41 → 3.2.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/App.vue +20 -20
- package/src/apply.js +185 -175
- package/src/components/app_apply/Process/AppExplorationUser.vue +1 -1
- package/src/components/app_apply/ProgressReport/ProgressReportList.vue +209 -208
- package/src/components/app_apply/Supervisory/AppProcessSupervisory.vue +183 -183
- package/src/components/image/tubiao.png +0 -0
- package/src/components/product/Ledger/ContractManagement/OtherContract/OtherContractInformation.vue +429 -429
- package/src/components/product/Ledger/ContractManagement/OtherContract/OtherContractList.vue +267 -267
- package/src/components/product/Ledger/ContractManagement/PurchaseContract/PurchaseContractInformation.vue +715 -682
- package/src/components/product/Ledger/ContractManagement/PurchaseContract/PurchaseContractList.vue +304 -304
- package/src/components/product/Ledger/ContractManagement/RepairContract/RepairContractInformation.vue +286 -286
- package/src/components/product/Ledger/ContractManagement/RepairContract/RepairContractList.vue +258 -258
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/FacilityInventory.vue +31 -0
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/FacilityInventoryList.vue +5 -0
- package/src/components/product/Ledger/FacilityManagement/FacilityInventory/addoldFacilityInformation.vue +326 -0
- package/src/components/product/Ledger/FileDownload/FileDownload.vue +42 -0
- package/src/components/product/Ledger/Function/InstallInfoSelect.vue +4 -1
- package/src/components/product/Ledger/ImportApply/ImportApply.vue +68 -0
- package/src/components/product/Ledger/MaterialManagement/DeliveryRecord/DeliveryRecordList.vue +39 -3
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/InventoryInformationList.vue +32 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialInformation.vue +1 -1
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutStock.vue +438 -430
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutboundOrder.vue +457 -449
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseMaterial.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseOrder.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/InventoryInformation/ReturnMaterial.vue +10 -2
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/OutboundOrderInformation.vue +3 -1
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/OutboundOrderList.vue +31 -2
- package/src/components/product/Ledger/MaterialManagement/OutboundOrder/PrintMaterialBill.vue +2 -2
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PrintPurchaseOrder.vue +5 -4
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsInformation.vue +5 -1
- package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsList.vue +33 -7
- package/src/components/product/Ledger/MaterialManagement/WarehousingRecord/WarehousingRecordList.vue +45 -3
- package/src/components/product/Ledger/Process/ProcessSelect.vue +3 -5
- package/src/components/product/Ledger/Process/Service/ServiceControl.vue +42 -5
- package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingInformation.vue +24 -3
- package/src/components/product/Ledger/QinhuaMaterial/SeasoningRecord/SeasoningRecordList.vue +14 -2
- package/src/components/product/Ledger/Supervisory/Service/RenWuDan.vue +78 -0
- package/src/components/product/Ledger/Supervisory/Service/SupervisoryServiceControl.vue +38 -2
- package/src/components/product/Ledger/Supervisory/SupervisoryList.vue +182 -7
- package/src/components/product/ServiceView.vue +761 -850
- package/static/images/lefticon//346/226/207/344/273/266/346/250/241/345/235/227.png +0 -0
|
@@ -1,286 +1,286 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
|
|
3
|
-
<validator name="v">
|
|
4
|
-
<form class="form-horizontal">
|
|
5
|
-
<div class="form-group">
|
|
6
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_contract_number.required ? 'has-error' : '']">
|
|
7
|
-
<label class="control-label-justify control-label col-sm-6">合同编号</label>
|
|
8
|
-
<div class="col-sm-6">
|
|
9
|
-
<input class="form-control input_view" style=""
|
|
10
|
-
type="text"
|
|
11
|
-
:readonly="type !== 'add'"
|
|
12
|
-
v-validate:f_contract_number = "['required']"
|
|
13
|
-
@change="getContractByNumber()"
|
|
14
|
-
v-model="contract.f_contract_number"
|
|
15
|
-
:value="contract.f_contract_number"/>
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_supplier.required ? 'has-error' : '']">
|
|
19
|
-
<label class="control-label-justify control-label col-sm-6">服务方名称</label>
|
|
20
|
-
<div class="col-sm-6">
|
|
21
|
-
<input class="form-control input_view" style=""
|
|
22
|
-
type="text"
|
|
23
|
-
:readonly="type !== 'add'"
|
|
24
|
-
v-validate:f_supplier = "['required']"
|
|
25
|
-
v-model="contract.f_supplier"
|
|
26
|
-
:value="contract.f_supplier"/>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_contact_person.required ? 'has-error' : '']">
|
|
30
|
-
<label class="control-label-justify control-label col-sm-6">联系人</label>
|
|
31
|
-
<div class="col-sm-6">
|
|
32
|
-
<input type="text" v-model="contract.f_contact_person" v-validate:f_contact_person = "['required']" v-show="false">
|
|
33
|
-
<input-select
|
|
34
|
-
class="select select_list"
|
|
35
|
-
:disable="type !== 'add'"
|
|
36
|
-
:value.sync="contract.f_contact_person"
|
|
37
|
-
v-model="contract.f_contact_person"
|
|
38
|
-
:options="f_contact_person"
|
|
39
|
-
:valueSingle="true">
|
|
40
|
-
</input-select>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_tel.required ? 'has-error' : '']">
|
|
44
|
-
<label class="control-label-justify control-label col-sm-6">电话</label>
|
|
45
|
-
<div class="col-sm-6">
|
|
46
|
-
<input type="text" v-model="contract.f_tel" v-validate:f_tel = "['required']" v-show="false">
|
|
47
|
-
<input-select
|
|
48
|
-
class="select select_list"
|
|
49
|
-
:disable="type !== 'add'"
|
|
50
|
-
:value.sync="contract.f_tel"
|
|
51
|
-
v-model="contract.f_tel"
|
|
52
|
-
:options="tel"
|
|
53
|
-
:valueSingle="true">
|
|
54
|
-
</input-select>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_contract_source.required ? 'has-error' : '']">
|
|
58
|
-
<label class="control-label-justify control-label col-sm-6">合同来源</label>
|
|
59
|
-
<div class="col-sm-6">
|
|
60
|
-
<input type="text" v-model="contract.f_contract_source" v-show="false" v-validate:f_contract_source = "['required']">
|
|
61
|
-
<input-select
|
|
62
|
-
class="select select_list"
|
|
63
|
-
:disable="type !== 'add'"
|
|
64
|
-
:value.sync="contract.f_contract_source"
|
|
65
|
-
v-model="contract.f_contract_source"
|
|
66
|
-
:options="contractSource"
|
|
67
|
-
:valueSingle="true"></input-select>
|
|
68
|
-
</div>
|
|
69
|
-
</div>
|
|
70
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_amount.required ? 'has-error' : '']">
|
|
71
|
-
<label class="control-label-justify control-label col-sm-6">合同份数</label>
|
|
72
|
-
<div class="col-sm-6">
|
|
73
|
-
<input class="form-control input_view" style=""
|
|
74
|
-
type="number"
|
|
75
|
-
:readonly="type === 'view'"
|
|
76
|
-
v-validate:f_amount = "['required']"
|
|
77
|
-
v-model="contract.f_amount"
|
|
78
|
-
:value="contract.f_amount"/>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_estimate_money.required ? 'has-error' : '']">
|
|
82
|
-
<label class="control-label-justify control-label col-sm-6">预估金额</label>
|
|
83
|
-
<div class="col-sm-6">
|
|
84
|
-
<input class="form-control input_view" style=""
|
|
85
|
-
type="number"
|
|
86
|
-
:readonly="type !== 'add'"
|
|
87
|
-
v-validate:f_estimate_money = "['required']"
|
|
88
|
-
v-model="contract.f_estimate_money"
|
|
89
|
-
:value="contract.f_estimate_money"/>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_contract_time.required ? 'has-error' : '']">
|
|
93
|
-
<label class="control-label-justify control-label col-sm-6">签订时间</label>
|
|
94
|
-
<div class="col-sm-6">
|
|
95
|
-
<input type="text" v-model="contract.f_contract_time" v-show="false" v-validate:f_contract_time = "['required']">
|
|
96
|
-
<datepicker
|
|
97
|
-
:disabled="type !== 'add'"
|
|
98
|
-
:value.sync="contract.f_contract_time"
|
|
99
|
-
format="yyyy-MM-dd"
|
|
100
|
-
v-model="contract.f_contract_time">
|
|
101
|
-
</datepicker>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
<div class="col-sm-4 form-group item" :class="[$v.f_contract_expiration_date.required ? 'has-error' : '']">
|
|
105
|
-
<label class="control-label-justify control-label col-sm-6">到期时间</label>
|
|
106
|
-
<div class="col-sm-6">
|
|
107
|
-
<input type="text" v-model="contract.f_contract_expiration_date" v-show="false" v-validate:f_contract_expiration_date = "['required']">
|
|
108
|
-
<datepicker
|
|
109
|
-
format="yyyy-MM-dd"
|
|
110
|
-
:disabled="type === 'view'"
|
|
111
|
-
:value.sync="contract.f_contract_expiration_date"
|
|
112
|
-
@change="changeExpirationDate"
|
|
113
|
-
v-model="contract.f_contract_expiration_date">
|
|
114
|
-
</datepicker>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
<div class="col-sm-4 form-group item" v-if="type !== 'add'">
|
|
118
|
-
<label class="control-label-justify control-label col-sm-6">合同总金额</label>
|
|
119
|
-
<div class="col-sm-6">
|
|
120
|
-
<input class="form-control input_view" style=""
|
|
121
|
-
type="number"
|
|
122
|
-
readonly
|
|
123
|
-
v-model="contract.f_contract_money"
|
|
124
|
-
:value="contract.f_contract_money"/>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
<div class="col-sm-4 form-group item" v-if="type !== 'add'">
|
|
128
|
-
<label class="control-label-justify control-label col-sm-6">维修次数</label>
|
|
129
|
-
<div class="col-sm-6">
|
|
130
|
-
<input class="form-control input_view" style=""
|
|
131
|
-
type="number"
|
|
132
|
-
readonly
|
|
133
|
-
v-model="contract.f_warehousing_quantity"
|
|
134
|
-
:value="contract.f_warehousing_quantity"/>
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
<div class="col-sm-12 form-group item">
|
|
138
|
-
<label class="control-label-justify control-label col-sm-3">备注</label>
|
|
139
|
-
<div class="col-sm-10">
|
|
140
|
-
<textarea
|
|
141
|
-
class="form-control input_view"
|
|
142
|
-
style="width: 100%;height: 100%"
|
|
143
|
-
rows="2"
|
|
144
|
-
:readonly="type !== 'add'"
|
|
145
|
-
v-model="contract.f_remarks"
|
|
146
|
-
:value="contract.f_remarks"
|
|
147
|
-
></textarea>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
<div class="col-sm-12 form-group" style="text-align: center">
|
|
151
|
-
<button class="btn btn-primary" v-if="type === 'add'" @click.prevent="addContract()" :disabled='!$v.valid'>保存</button>
|
|
152
|
-
<button class="btn btn-primary" v-if="type === 'renew'" @click.prevent="renewContract()" :disabled='!$v.valid'>续签</button>
|
|
153
|
-
</div>
|
|
154
|
-
|
|
155
|
-
</div>
|
|
156
|
-
</form>
|
|
157
|
-
</validator>
|
|
158
|
-
</div>
|
|
159
|
-
</template>
|
|
160
|
-
|
|
161
|
-
<script>
|
|
162
|
-
import {HttpResetClass} from 'vue-client'
|
|
163
|
-
import {isEmpty} from '../../../../Util'
|
|
164
|
-
export default {
|
|
165
|
-
props: ['contract', 'type'],
|
|
166
|
-
title: '合同信息',
|
|
167
|
-
data () {
|
|
168
|
-
return {
|
|
169
|
-
f_contact_person:[{label:'全部', value:''}, ...this.$appdata.getParam('联系人')],
|
|
170
|
-
tel:[{label:'全部',value:''}, ...this.$appdata.getParam('电话')],
|
|
171
|
-
contractSource: [{label:'全部',value:''},... this.$appdata.getParam('合同来源')]
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
ready () {
|
|
175
|
-
},
|
|
176
|
-
methods: {
|
|
177
|
-
renewContract () {
|
|
178
|
-
this.$dispatch('renewContract', this.contract)
|
|
179
|
-
},
|
|
180
|
-
addContract () {
|
|
181
|
-
this.$dispatch('addContract', this.contract)
|
|
182
|
-
},
|
|
183
|
-
// 到期时间检查
|
|
184
|
-
changeExpirationDate () {
|
|
185
|
-
if (!isEmpty(this.contract.f_contract_expiration_date)) {
|
|
186
|
-
if (isEmpty(this.contract.f_contract_time)) {
|
|
187
|
-
this.contract.f_contract_expiration_date = null
|
|
188
|
-
this.$showAlert('先输入合同签订时间!!!', 'warning', 3000)
|
|
189
|
-
}
|
|
190
|
-
if (new Date(this.contract.f_contract_expiration_date) < new Date(this.contract.f_contract_time)) {
|
|
191
|
-
this.contract.f_contract_expiration_date = null
|
|
192
|
-
this.$showAlert('到期时间需要大于签订时间!!!', 'warning', 3000)
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
|
-
// 合同编号查询
|
|
197
|
-
async getContractByNumber () {
|
|
198
|
-
let data = {
|
|
199
|
-
tablename: 't_contract',
|
|
200
|
-
condition: `f_contract_number = '${this.contract.f_contract_number}' and f_contract_type = '维修合同'`
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
let res = await this.$resetpost(
|
|
204
|
-
`rs/sql/singleTable`,
|
|
205
|
-
{data: data},
|
|
206
|
-
{resolveMsg: null, rejectMsg: '合同编号查询失败!!!'}
|
|
207
|
-
)
|
|
208
|
-
|
|
209
|
-
if (res.data.length > 0) {
|
|
210
|
-
this.contract.f_contract_number = null
|
|
211
|
-
this.$showAlert('合同编号已存在!!!', 'warning', 3000)
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
},
|
|
215
|
-
events: {
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
</script>
|
|
219
|
-
|
|
220
|
-
<style scoped>
|
|
221
|
-
.item{
|
|
222
|
-
height: 40px;
|
|
223
|
-
margin-bottom: 20px;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
th{
|
|
227
|
-
font-size: 15px !important;
|
|
228
|
-
text-align: center !important;
|
|
229
|
-
background-color: #dfedfb!important;
|
|
230
|
-
color: #666666 !important;
|
|
231
|
-
font-family: PINGFANG-BOLD !important;
|
|
232
|
-
font-weight: normal!important;
|
|
233
|
-
}
|
|
234
|
-
/*清除model中的浮动*/
|
|
235
|
-
.clearfix:after,.clearfix:before{
|
|
236
|
-
display: table;
|
|
237
|
-
}
|
|
238
|
-
.clearfix:after{
|
|
239
|
-
clear: both;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.input_view{
|
|
243
|
-
padding: 8px;
|
|
244
|
-
background-color: #ffffff;
|
|
245
|
-
border-radius: 2px;
|
|
246
|
-
border: solid 1px #c7c7c7!important;
|
|
247
|
-
color: #333333!important;
|
|
248
|
-
font-size: 15px!important;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.input_view[readonly]{
|
|
252
|
-
border: 1px solid #DDD!important;
|
|
253
|
-
/*background-color: #F5F5F5;*/
|
|
254
|
-
color:#ACA899!important;
|
|
255
|
-
}
|
|
256
|
-
.input_view:disabled{
|
|
257
|
-
border: 1px solid #DDD!important;
|
|
258
|
-
/*background-color: #F5F5F5;*/
|
|
259
|
-
color:#ACA899!important;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
.control-label-justify {
|
|
263
|
-
display: inline-block;
|
|
264
|
-
vertical-align: top;
|
|
265
|
-
width: 110px;
|
|
266
|
-
text-align: justify;
|
|
267
|
-
font-family: PingFang-SC-Bold;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
.control-label-justify::after {
|
|
271
|
-
content: "";
|
|
272
|
-
display: inline-block;
|
|
273
|
-
width: 70px;
|
|
274
|
-
overflow: hidden;
|
|
275
|
-
height: 0;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
input::-webkit-outer-spin-button,
|
|
279
|
-
input::-webkit-inner-spin-button {
|
|
280
|
-
-webkit-appearance: none;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
input[type="number"] {
|
|
284
|
-
-moz-appearance: textfield;
|
|
285
|
-
}
|
|
286
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
|
|
3
|
+
<validator name="v">
|
|
4
|
+
<form class="form-horizontal">
|
|
5
|
+
<div class="form-group">
|
|
6
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_contract_number.required ? 'has-error' : '']">
|
|
7
|
+
<label class="control-label-justify control-label col-sm-6">合同编号</label>
|
|
8
|
+
<div class="col-sm-6">
|
|
9
|
+
<input class="form-control input_view" style=""
|
|
10
|
+
type="text"
|
|
11
|
+
:readonly="type !== 'add'"
|
|
12
|
+
v-validate:f_contract_number = "['required']"
|
|
13
|
+
@change="getContractByNumber()"
|
|
14
|
+
v-model="contract.f_contract_number"
|
|
15
|
+
:value="contract.f_contract_number"/>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_supplier.required ? 'has-error' : '']">
|
|
19
|
+
<label class="control-label-justify control-label col-sm-6">服务方名称</label>
|
|
20
|
+
<div class="col-sm-6">
|
|
21
|
+
<input class="form-control input_view" style=""
|
|
22
|
+
type="text"
|
|
23
|
+
:readonly="type !== 'add'"
|
|
24
|
+
v-validate:f_supplier = "['required']"
|
|
25
|
+
v-model="contract.f_supplier"
|
|
26
|
+
:value="contract.f_supplier"/>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_contact_person.required ? 'has-error' : '']">
|
|
30
|
+
<label class="control-label-justify control-label col-sm-6">联系人</label>
|
|
31
|
+
<div class="col-sm-6">
|
|
32
|
+
<input type="text" v-model="contract.f_contact_person" v-validate:f_contact_person = "['required']" v-show="false">
|
|
33
|
+
<input-select
|
|
34
|
+
class="select select_list"
|
|
35
|
+
:disable="type !== 'add'"
|
|
36
|
+
:value.sync="contract.f_contact_person"
|
|
37
|
+
v-model="contract.f_contact_person"
|
|
38
|
+
:options="f_contact_person"
|
|
39
|
+
:valueSingle="true">
|
|
40
|
+
</input-select>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_tel.required ? 'has-error' : '']">
|
|
44
|
+
<label class="control-label-justify control-label col-sm-6">电话</label>
|
|
45
|
+
<div class="col-sm-6">
|
|
46
|
+
<input type="text" v-model="contract.f_tel" v-validate:f_tel = "['required']" v-show="false">
|
|
47
|
+
<input-select
|
|
48
|
+
class="select select_list"
|
|
49
|
+
:disable="type !== 'add'"
|
|
50
|
+
:value.sync="contract.f_tel"
|
|
51
|
+
v-model="contract.f_tel"
|
|
52
|
+
:options="tel"
|
|
53
|
+
:valueSingle="true">
|
|
54
|
+
</input-select>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_contract_source.required ? 'has-error' : '']">
|
|
58
|
+
<label class="control-label-justify control-label col-sm-6">合同来源</label>
|
|
59
|
+
<div class="col-sm-6">
|
|
60
|
+
<input type="text" v-model="contract.f_contract_source" v-show="false" v-validate:f_contract_source = "['required']">
|
|
61
|
+
<input-select
|
|
62
|
+
class="select select_list"
|
|
63
|
+
:disable="type !== 'add'"
|
|
64
|
+
:value.sync="contract.f_contract_source"
|
|
65
|
+
v-model="contract.f_contract_source"
|
|
66
|
+
:options="contractSource"
|
|
67
|
+
:valueSingle="true"></input-select>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_amount.required ? 'has-error' : '']">
|
|
71
|
+
<label class="control-label-justify control-label col-sm-6">合同份数</label>
|
|
72
|
+
<div class="col-sm-6">
|
|
73
|
+
<input class="form-control input_view" style=""
|
|
74
|
+
type="number"
|
|
75
|
+
:readonly="type === 'view'"
|
|
76
|
+
v-validate:f_amount = "['required']"
|
|
77
|
+
v-model="contract.f_amount"
|
|
78
|
+
:value="contract.f_amount"/>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_estimate_money.required ? 'has-error' : '']">
|
|
82
|
+
<label class="control-label-justify control-label col-sm-6">预估金额</label>
|
|
83
|
+
<div class="col-sm-6">
|
|
84
|
+
<input class="form-control input_view" style=""
|
|
85
|
+
type="number"
|
|
86
|
+
:readonly="type !== 'add'"
|
|
87
|
+
v-validate:f_estimate_money = "['required']"
|
|
88
|
+
v-model="contract.f_estimate_money"
|
|
89
|
+
:value="contract.f_estimate_money"/>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_contract_time.required ? 'has-error' : '']">
|
|
93
|
+
<label class="control-label-justify control-label col-sm-6">签订时间</label>
|
|
94
|
+
<div class="col-sm-6">
|
|
95
|
+
<input type="text" v-model="contract.f_contract_time" v-show="false" v-validate:f_contract_time = "['required']">
|
|
96
|
+
<datepicker
|
|
97
|
+
:disabled="type !== 'add'"
|
|
98
|
+
:value.sync="contract.f_contract_time"
|
|
99
|
+
format="yyyy-MM-dd"
|
|
100
|
+
v-model="contract.f_contract_time">
|
|
101
|
+
</datepicker>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="col-sm-4 form-group item" :class="[$v.f_contract_expiration_date.required ? 'has-error' : '']">
|
|
105
|
+
<label class="control-label-justify control-label col-sm-6">到期时间</label>
|
|
106
|
+
<div class="col-sm-6">
|
|
107
|
+
<input type="text" v-model="contract.f_contract_expiration_date" v-show="false" v-validate:f_contract_expiration_date = "['required']">
|
|
108
|
+
<datepicker
|
|
109
|
+
format="yyyy-MM-dd"
|
|
110
|
+
:disabled="type === 'view'"
|
|
111
|
+
:value.sync="contract.f_contract_expiration_date"
|
|
112
|
+
@change="changeExpirationDate"
|
|
113
|
+
v-model="contract.f_contract_expiration_date">
|
|
114
|
+
</datepicker>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
<div class="col-sm-4 form-group item" v-if="type !== 'add'">
|
|
118
|
+
<label class="control-label-justify control-label col-sm-6">合同总金额</label>
|
|
119
|
+
<div class="col-sm-6">
|
|
120
|
+
<input class="form-control input_view" style=""
|
|
121
|
+
type="number"
|
|
122
|
+
readonly
|
|
123
|
+
v-model="contract.f_contract_money"
|
|
124
|
+
:value="contract.f_contract_money"/>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
<div class="col-sm-4 form-group item" v-if="type !== 'add'">
|
|
128
|
+
<label class="control-label-justify control-label col-sm-6">维修次数</label>
|
|
129
|
+
<div class="col-sm-6">
|
|
130
|
+
<input class="form-control input_view" style=""
|
|
131
|
+
type="number"
|
|
132
|
+
readonly
|
|
133
|
+
v-model="contract.f_warehousing_quantity"
|
|
134
|
+
:value="contract.f_warehousing_quantity"/>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
<div class="col-sm-12 form-group item">
|
|
138
|
+
<label class="control-label-justify control-label col-sm-3">备注</label>
|
|
139
|
+
<div class="col-sm-10">
|
|
140
|
+
<textarea
|
|
141
|
+
class="form-control input_view"
|
|
142
|
+
style="width: 100%;height: 100%"
|
|
143
|
+
rows="2"
|
|
144
|
+
:readonly="type !== 'add'"
|
|
145
|
+
v-model="contract.f_remarks"
|
|
146
|
+
:value="contract.f_remarks"
|
|
147
|
+
></textarea>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="col-sm-12 form-group" style="text-align: center">
|
|
151
|
+
<button class="btn btn-primary" v-if="type === 'add'" @click.prevent="addContract()" :disabled='!$v.valid'>保存</button>
|
|
152
|
+
<button class="btn btn-primary" v-if="type === 'renew'" @click.prevent="renewContract()" :disabled='!$v.valid'>续签</button>
|
|
153
|
+
</div>
|
|
154
|
+
|
|
155
|
+
</div>
|
|
156
|
+
</form>
|
|
157
|
+
</validator>
|
|
158
|
+
</div>
|
|
159
|
+
</template>
|
|
160
|
+
|
|
161
|
+
<script>
|
|
162
|
+
import {HttpResetClass} from 'vue-client'
|
|
163
|
+
import {isEmpty} from '../../../../Util'
|
|
164
|
+
export default {
|
|
165
|
+
props: ['contract', 'type'],
|
|
166
|
+
title: '合同信息',
|
|
167
|
+
data () {
|
|
168
|
+
return {
|
|
169
|
+
f_contact_person:[{label:'全部', value:''}, ...this.$appdata.getParam('联系人')],
|
|
170
|
+
tel:[{label:'全部',value:''}, ...this.$appdata.getParam('电话')],
|
|
171
|
+
contractSource: [{label:'全部',value:''},... this.$appdata.getParam('合同来源')]
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
ready () {
|
|
175
|
+
},
|
|
176
|
+
methods: {
|
|
177
|
+
renewContract () {
|
|
178
|
+
this.$dispatch('renewContract', this.contract)
|
|
179
|
+
},
|
|
180
|
+
addContract () {
|
|
181
|
+
this.$dispatch('addContract', this.contract)
|
|
182
|
+
},
|
|
183
|
+
// 到期时间检查
|
|
184
|
+
changeExpirationDate () {
|
|
185
|
+
if (!isEmpty(this.contract.f_contract_expiration_date)) {
|
|
186
|
+
if (isEmpty(this.contract.f_contract_time)) {
|
|
187
|
+
this.contract.f_contract_expiration_date = null
|
|
188
|
+
this.$showAlert('先输入合同签订时间!!!', 'warning', 3000)
|
|
189
|
+
}
|
|
190
|
+
if (new Date(this.contract.f_contract_expiration_date) < new Date(this.contract.f_contract_time)) {
|
|
191
|
+
this.contract.f_contract_expiration_date = null
|
|
192
|
+
this.$showAlert('到期时间需要大于签订时间!!!', 'warning', 3000)
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
// 合同编号查询
|
|
197
|
+
async getContractByNumber () {
|
|
198
|
+
let data = {
|
|
199
|
+
tablename: 't_contract',
|
|
200
|
+
condition: `f_contract_number = '${this.contract.f_contract_number}' and f_contract_type = '维修合同'`
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
let res = await this.$resetpost(
|
|
204
|
+
`rs/sql/singleTable`,
|
|
205
|
+
{data: data},
|
|
206
|
+
{resolveMsg: null, rejectMsg: '合同编号查询失败!!!'}
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
if (res.data.length > 0) {
|
|
210
|
+
this.contract.f_contract_number = null
|
|
211
|
+
this.$showAlert('合同编号已存在!!!', 'warning', 3000)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
events: {
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
</script>
|
|
219
|
+
|
|
220
|
+
<style scoped>
|
|
221
|
+
.item{
|
|
222
|
+
height: 40px;
|
|
223
|
+
margin-bottom: 20px;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
th{
|
|
227
|
+
font-size: 15px !important;
|
|
228
|
+
text-align: center !important;
|
|
229
|
+
background-color: #dfedfb!important;
|
|
230
|
+
color: #666666 !important;
|
|
231
|
+
font-family: PINGFANG-BOLD !important;
|
|
232
|
+
font-weight: normal!important;
|
|
233
|
+
}
|
|
234
|
+
/*清除model中的浮动*/
|
|
235
|
+
.clearfix:after,.clearfix:before{
|
|
236
|
+
display: table;
|
|
237
|
+
}
|
|
238
|
+
.clearfix:after{
|
|
239
|
+
clear: both;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.input_view{
|
|
243
|
+
padding: 8px;
|
|
244
|
+
background-color: #ffffff;
|
|
245
|
+
border-radius: 2px;
|
|
246
|
+
border: solid 1px #c7c7c7!important;
|
|
247
|
+
color: #333333!important;
|
|
248
|
+
font-size: 15px!important;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.input_view[readonly]{
|
|
252
|
+
border: 1px solid #DDD!important;
|
|
253
|
+
/*background-color: #F5F5F5;*/
|
|
254
|
+
color:#ACA899!important;
|
|
255
|
+
}
|
|
256
|
+
.input_view:disabled{
|
|
257
|
+
border: 1px solid #DDD!important;
|
|
258
|
+
/*background-color: #F5F5F5;*/
|
|
259
|
+
color:#ACA899!important;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.control-label-justify {
|
|
263
|
+
display: inline-block;
|
|
264
|
+
vertical-align: top;
|
|
265
|
+
width: 110px;
|
|
266
|
+
text-align: justify;
|
|
267
|
+
font-family: PingFang-SC-Bold;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.control-label-justify::after {
|
|
271
|
+
content: "";
|
|
272
|
+
display: inline-block;
|
|
273
|
+
width: 70px;
|
|
274
|
+
overflow: hidden;
|
|
275
|
+
height: 0;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
input::-webkit-outer-spin-button,
|
|
279
|
+
input::-webkit-inner-spin-button {
|
|
280
|
+
-webkit-appearance: none;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
input[type="number"] {
|
|
284
|
+
-moz-appearance: textfield;
|
|
285
|
+
}
|
|
286
|
+
</style>
|