apply-clients 7.1.36-yuchuan-12 → 7.1.36-yuchuan-13
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/android.html +28 -28
- package/build/dev-server.js +28 -10
- package/index.html +39 -39
- package/package.json +3 -4
- package/src/apply.js +162 -161
- package/src/applyAndroid.js +97 -97
- package/src/components/android/AppSign.vue +235 -235
- package/src/components/android/AppUpload.vue +275 -275
- package/src/components/android/Ignition/VentilationIgnition.vue +408 -408
- package/src/components/android/Ignition/VentilationIgnitionHandle.vue +462 -462
- package/src/components/android/Process/AppExplorationUser.vue +454 -454
- package/src/components/android/Process/AppServiceControl.vue +1437 -1437
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +980 -980
- package/src/components/android/Sign/AppSignTask.vue +183 -183
- package/src/components/android/Supervisory/AppProcessSupervisory.vue +344 -344
- package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +317 -317
- package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +431 -431
- package/src/components/android/Task/yiban/AppShowDone.vue +442 -442
- package/src/components/android/Task/yiban/ShowDone.vue +95 -95
- package/src/components/android/Task/yiban/satisfactionShow.vue +166 -166
- package/src/components/android/newPackage/customerServiceManager.vue +218 -218
- package/src/components/android/newPackage/projectPrice.vue +218 -218
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +1 -1
- package/src/components/product/ApplyGaiXianCharge/ApplyGaiXianViewList.vue +272 -272
- package/src/components/product/ApplyGuanXian/GuanXianCaiLiao.vue +236 -236
- package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +324 -324
- package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +144 -144
- package/src/components/product/ApplyGuanXian/GuanXianSupervisoryhCart.vue +119 -119
- package/src/components/product/ApplyMap/AMapLocation.vue +870 -0
- package/src/components/product/ApplyMap/AmapUtil.js +37 -0
- package/src/components/product/ApplyMap/ApplyDragaboutList.vue +223 -223
- package/src/components/product/ApplyMap/ApplyInputSearch.vue +212 -212
- package/src/components/product/ApplyMap/ApplyMapCom.vue +82 -82
- package/src/components/product/ApplyMap/ApplyMapInputSearch.vue +335 -335
- package/src/components/product/ApplyMap/ApplyMapLocation.vue +862 -862
- package/src/components/product/ChongZheng/ApplyChongZhengList.vue +415 -415
- package/src/components/product/Function/InstallFunction.vue +133 -133
- package/src/components/product/Function/InstallInfoSelect.vue +371 -371
- package/src/components/product/Function/Service/FunctionServiceControl.vue +586 -586
- package/src/components/product/GongJianPush/ApplyPushDispose.vue +162 -72
- package/src/components/product/GongJianPush/ApplyPushList.vue +47 -52
- package/src/components/product/GongJianPush/ApplyPushManage.vue +4 -3
- package/src/components/product/Ignition/IgnitionListManage.vue +602 -602
- package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
- package/src/components/product/InsuranceApply/InsuranceReport.vue +3 -4
- package/src/components/product/List/OldShowDevices.vue +271 -271
- package/src/components/product/List/ShowAllActivity.vue +540 -540
- package/src/components/product/List/ShowDevices.vue +279 -279
- package/src/components/product/Print/BuildOrder/buildOrderList.vue +446 -446
- package/src/components/product/Process/ExplorationSelect.vue +597 -597
- package/src/components/product/Process/ExplorationUser.vue +158 -158
- package/src/components/product/Process/New1ExplorationUser.vue +201 -201
- package/src/components/product/Process/NewExplorationSelect.vue +586 -586
- package/src/components/product/Process/NewExplorationUser.vue +219 -219
- package/src/components/product/Process/Processes/InstallationDetails.vue +1159 -1159
- package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
- package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
- package/src/components/product/Process/Processes/chargeManagement.vue +704 -704
- package/src/components/product/Process/Processes/devicesManagement.vue +393 -393
- package/src/components/product/Process/Processes/newDevicesManagement.vue +413 -413
- package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +230 -230
- package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -241
- package/src/components/product/Process/Processes/selectUserinfo.vue +234 -234
- package/src/components/product/Process/Service/ServiceControl.vue +2205 -2205
- package/src/components/product/ServiceView.vue +644 -644
- package/src/components/product/Stop/StopApplyList.vue +224 -224
- package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -175
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +592 -592
- package/src/components/product/Supervisory/SupervisoryControl.vue +116 -116
- package/src/components/product/Supervisory/SupervisoryList.vue +557 -557
- package/src/components/product/Supervisory/SupervisoryhCart.vue +119 -119
- package/src/components/product/Supervisory/YiBanSupervisoryList.vue +539 -539
- package/src/components/product/VueUtils/ApplyUpload.vue +294 -285
- package/src/components/product/records/AdjustmentRecordList.vue +162 -162
- package/src/main.js +27 -27
- package/static/marker-default.png +0 -0
- package/static/myLocationIcon.png +0 -0
|
@@ -1,462 +1,462 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="form-horizontal select-overspread p-10">
|
|
3
|
-
<validator name="v1" v-if="selectdata.f_process_id !== null">
|
|
4
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
5
|
-
<label class="control-label-justify">用户编号</label>
|
|
6
|
-
<div class="col-xs-8">
|
|
7
|
-
<input class="" style="width: 100%" type="input"
|
|
8
|
-
v-model="selectdata.f_userinfo_id"
|
|
9
|
-
:value="selectdata.f_userinfo_id"
|
|
10
|
-
:readonly="true"
|
|
11
|
-
/>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
15
|
-
<label class="control-label-justify">用户名</label>
|
|
16
|
-
<div class="col-xs-8">
|
|
17
|
-
<input class="" style="width: 100%" type="input"
|
|
18
|
-
v-model="selectdata.f_user_name"
|
|
19
|
-
:value="selectdata.f_user_name"
|
|
20
|
-
:readonly="true"
|
|
21
|
-
/>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
25
|
-
<label class="control-label-justify">电话</label>
|
|
26
|
-
<div class="col-xs-8">
|
|
27
|
-
<input class="" style="width: 100%" type="input"
|
|
28
|
-
v-model="selectdata.f_user_phone"
|
|
29
|
-
:value="selectdata.f_user_phone"
|
|
30
|
-
:readonly="true"
|
|
31
|
-
/>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
35
|
-
<label class="control-label-justify">地址</label>
|
|
36
|
-
<div class="col-xs-8">
|
|
37
|
-
<input class="" style="width: 100%" type="input"
|
|
38
|
-
v-model="selectdata.f_address + selectdata.f_address_detail"
|
|
39
|
-
:readonly="true"
|
|
40
|
-
/>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
44
|
-
<label class="control-label-justify">派单时间</label>
|
|
45
|
-
<div class="col-xs-8">
|
|
46
|
-
<input class="" style="width: 100%" type="input"
|
|
47
|
-
v-model="selectdata.f_date"
|
|
48
|
-
:value="selectdata.f_date"
|
|
49
|
-
:readonly="true"
|
|
50
|
-
/>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
54
|
-
<label class="control-label-justify">表号</label>
|
|
55
|
-
<div class="col-xs-8">
|
|
56
|
-
<input class="" style="width: 100%" type="input"
|
|
57
|
-
v-model="selectdata.f_meternumber"
|
|
58
|
-
:value="selectdata.f_meternumber"
|
|
59
|
-
:readonly="true"
|
|
60
|
-
/>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
64
|
-
<label class="control-label-justify">气表分类</label>
|
|
65
|
-
<div class="col-xs-8">
|
|
66
|
-
<input class="" style="width: 100%" type="input"
|
|
67
|
-
v-model="selectdata.f_meter_classify"
|
|
68
|
-
:value="selectdata.f_meter_classify"
|
|
69
|
-
:readonly="true"
|
|
70
|
-
/>
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
74
|
-
<label class="control-label-justify">气表品牌</label>
|
|
75
|
-
<div class="col-xs-8">
|
|
76
|
-
<input class="" style="width: 100%" type="input"
|
|
77
|
-
v-model="selectdata.f_meter_brand"
|
|
78
|
-
:value="selectdata.f_meter_brand"
|
|
79
|
-
:readonly="true"
|
|
80
|
-
/>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
84
|
-
<label class="control-label-justify">气表型号</label>
|
|
85
|
-
<div class="col-xs-8">
|
|
86
|
-
<input class="" style="width: 100%" type="input"
|
|
87
|
-
v-model="selectdata.f_meter_style"
|
|
88
|
-
:value="selectdata.f_meter_style"
|
|
89
|
-
:readonly="true"
|
|
90
|
-
/>
|
|
91
|
-
</div>
|
|
92
|
-
</div>
|
|
93
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
94
|
-
<label class="control-label-justify">有无隐患</label>
|
|
95
|
-
<div class="col-xs-8">
|
|
96
|
-
<input-select
|
|
97
|
-
class="select select_list"
|
|
98
|
-
:value.sync="model.f_ignition_trouble"
|
|
99
|
-
v-model="model.f_ignition_trouble"
|
|
100
|
-
:options="ignition_trouble"
|
|
101
|
-
:valueSingle="true"></input-select>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
<div class="col-xs-12 form-group app-input auto">
|
|
105
|
-
<label class="control-label-justify">点火备注</label>
|
|
106
|
-
<div class="col-xs-8">
|
|
107
|
-
<input class="" style="width: 100%" type="input"
|
|
108
|
-
v-model="model.f_ignition_remarks"
|
|
109
|
-
:value="model.f_ignition_remarks"
|
|
110
|
-
:readonly="false"
|
|
111
|
-
/>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
<div class="col-xs-12 auto">
|
|
115
|
-
<accordion one-at-a-time="true">
|
|
116
|
-
<panel header="设备查看" :is-open="false" type="primary">
|
|
117
|
-
<app-devices-management :selectdata="selectdata" :mark = 1 ></app-devices-management>
|
|
118
|
-
</panel>
|
|
119
|
-
<panel header="拍照" :is-open="false" type="primary">
|
|
120
|
-
<app-take-pic
|
|
121
|
-
:blobid="selectdata.f_blobid"
|
|
122
|
-
:defname="selectdata.defname"
|
|
123
|
-
:isdelete="true"
|
|
124
|
-
:istakepic="true"
|
|
125
|
-
:istype="true">
|
|
126
|
-
|
|
127
|
-
</app-take-pic>
|
|
128
|
-
</panel>
|
|
129
|
-
</accordion>
|
|
130
|
-
</div>
|
|
131
|
-
<div class="col-xs-12 form-group auto" v-if="selectdata.f_meter_classify === '物联网表'">
|
|
132
|
-
<div class="col-xs-5">
|
|
133
|
-
<button style="width: 100%" class="btn btn-success" @click.prevent="openModal('退出强制状态')">退出强制状态</button>
|
|
134
|
-
</div>
|
|
135
|
-
<div class="col-xs-5 col-xs-offset-2">
|
|
136
|
-
<button style="width: 100%" class="btn btn-danger" @click.prevent="openModal('关阀')">强制关阀</button>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
<div class="col-xs-12 auto">
|
|
140
|
-
<accordion one-at-a-time="true">
|
|
141
|
-
<panel header="用户签字" :is-open="false" type="primary">
|
|
142
|
-
<survey-user-sign
|
|
143
|
-
:title="'用户签字'"
|
|
144
|
-
:selectdata="selectdata">
|
|
145
|
-
</survey-user-sign>
|
|
146
|
-
</panel>
|
|
147
|
-
</accordion>
|
|
148
|
-
</div>
|
|
149
|
-
<div class="col-xs-12 form-group auto">
|
|
150
|
-
<button style="width: 100%" class="btn btn-warning" :disabled="!$v1.valid" @click.prevent="saveApplyVentilate">保存</button>
|
|
151
|
-
<button v-if="model.f_ignition_trouble === '有隐患'" style="width: 100%" class="btn btn-danger" :disabled="!$v1.valid" @click.prevent="cleanTrouble">消除隐患</button>
|
|
152
|
-
<button style="width: 100%" class="btn btn-success" :disabled="!$v1.valid" @click.prevent="applyVentilate">提交</button>
|
|
153
|
-
</div>
|
|
154
|
-
</validator>
|
|
155
|
-
</div>
|
|
156
|
-
|
|
157
|
-
<validator name="v">
|
|
158
|
-
<modal v-if="showModal" :show.sync="showModal" v-ref:modal :large="true" :backdrop="false">
|
|
159
|
-
<header slot="modal-header" class="modal-header">
|
|
160
|
-
<button type="button" class="close" @click="closeModal"><span>×</span></button>
|
|
161
|
-
<h4 class="modal-title">{{type}}操作</h4>
|
|
162
|
-
</header>
|
|
163
|
-
<article slot="modal-body" class="modal-body clearfix">
|
|
164
|
-
<div class="form-group row vertical-center">
|
|
165
|
-
<div class="col-xs-12" v-if="type !== '关阀'" :class="[$v.reason.required ? 'apply-has-error' : '']">
|
|
166
|
-
<input
|
|
167
|
-
type="checkbox"
|
|
168
|
-
class=""
|
|
169
|
-
:value.sync="boxReason"
|
|
170
|
-
v-model="boxReason"
|
|
171
|
-
:value="boxReason"
|
|
172
|
-
@change="changeAllChecked()"
|
|
173
|
-
></input>{{ reasonOptions[0].label }}
|
|
174
|
-
</div>
|
|
175
|
-
<div class="col-xs-12" :class="[$v.reason.required ? 'apply-has-error' : '']">
|
|
176
|
-
<textarea rows="2" style="width: 100%;height: 100%"
|
|
177
|
-
:placeholder="type+'操作原因'" v-validate:reason = "['required']"
|
|
178
|
-
v-model="reason" :value="reason"
|
|
179
|
-
></textarea>
|
|
180
|
-
</div>
|
|
181
|
-
</div>
|
|
182
|
-
</article>
|
|
183
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
184
|
-
<button type="button" class="btn btn-primary" @click="onOffValve" :disabled="!$v.valid">确认</button>
|
|
185
|
-
</footer>
|
|
186
|
-
</modal>
|
|
187
|
-
</validator>
|
|
188
|
-
</template>
|
|
189
|
-
<script>
|
|
190
|
-
import {HttpResetClass, PagedList} from 'vue-client'
|
|
191
|
-
import Vue from 'vue'
|
|
192
|
-
import {isEmpty} from '../../Util'
|
|
193
|
-
|
|
194
|
-
export default {
|
|
195
|
-
title: '通气点火',
|
|
196
|
-
props: ['selectdata'],
|
|
197
|
-
data () {
|
|
198
|
-
return {
|
|
199
|
-
showModal: false,
|
|
200
|
-
type: null,
|
|
201
|
-
reason: null,
|
|
202
|
-
boxReason: null,
|
|
203
|
-
reasonOptions:[{label: '具备通气条件', value: '具备通气条件'}],
|
|
204
|
-
model: {
|
|
205
|
-
f_ignition_trouble: '',
|
|
206
|
-
f_ignition_remarks: ''
|
|
207
|
-
},
|
|
208
|
-
ignition_trouble:[{label: '有隐患', value: '有隐患'}, {label: '无隐患', value: '无隐患'}]
|
|
209
|
-
}
|
|
210
|
-
},
|
|
211
|
-
ready () {
|
|
212
|
-
this.search()
|
|
213
|
-
},
|
|
214
|
-
methods: {
|
|
215
|
-
changeAllChecked(){
|
|
216
|
-
if (this.boxReason){
|
|
217
|
-
this.reason = this.reasonOptions[0].value
|
|
218
|
-
}else {
|
|
219
|
-
this.reason = ''
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
async applyVentilate () {
|
|
223
|
-
let res = await this.$showMessage('是否需要继续此次操作')
|
|
224
|
-
if (res === 'cancel') {
|
|
225
|
-
return
|
|
226
|
-
}else{
|
|
227
|
-
if (this.model.f_ignition_trouble === '有隐患'){
|
|
228
|
-
this.$showMessage("隐患未消除,无法提交")
|
|
229
|
-
return
|
|
230
|
-
}
|
|
231
|
-
let http = new HttpResetClass()
|
|
232
|
-
let data = {
|
|
233
|
-
selectdata: this.selectdata,
|
|
234
|
-
user: Vue.user
|
|
235
|
-
}
|
|
236
|
-
let res = await http.load(
|
|
237
|
-
'POST',
|
|
238
|
-
`${this.$androidUtil.getProxyUrl()}/rs/logic/applyVentilate`,
|
|
239
|
-
{data: data},
|
|
240
|
-
{resolveMsg: null, rejectMsg: `操作失败!!!`}
|
|
241
|
-
)
|
|
242
|
-
// 返回上层
|
|
243
|
-
this.$dispatch('confirm')
|
|
244
|
-
}
|
|
245
|
-
},
|
|
246
|
-
async saveApplyVentilate () {
|
|
247
|
-
let res = await this.$showMessage('是否需要继续此次操作')
|
|
248
|
-
if (res === 'cancel') {
|
|
249
|
-
return
|
|
250
|
-
}else{
|
|
251
|
-
let http = new HttpResetClass()
|
|
252
|
-
let data = {
|
|
253
|
-
selectdata: this.selectdata,
|
|
254
|
-
user: Vue.user,
|
|
255
|
-
model:this.model
|
|
256
|
-
}
|
|
257
|
-
let res = await http.load(
|
|
258
|
-
'POST',
|
|
259
|
-
`${this.$androidUtil.getProxyUrl()}/rs/logic/saveApplyVentilate`,
|
|
260
|
-
{data: data},
|
|
261
|
-
{resolveMsg: null, rejectMsg: `操作失败!!!`}
|
|
262
|
-
)
|
|
263
|
-
// 刷新
|
|
264
|
-
this.$dispatch('confirm')
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
},
|
|
268
|
-
async cleanTrouble () {
|
|
269
|
-
let http = new HttpResetClass()
|
|
270
|
-
let data = {
|
|
271
|
-
selectdata: this.selectdata,
|
|
272
|
-
model:this.model
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
let res = await http.load(
|
|
276
|
-
'POST',
|
|
277
|
-
`${this.$androidUtil.getProxyUrl()}/rs/logic/cleanTrouble`,
|
|
278
|
-
{data: data},
|
|
279
|
-
{resolveMsg: null, rejectMsg: `清除隐患操作失败!!!`}
|
|
280
|
-
)
|
|
281
|
-
|
|
282
|
-
// 返回上层
|
|
283
|
-
this.$dispatch('confirm')
|
|
284
|
-
},
|
|
285
|
-
async search(){
|
|
286
|
-
console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>", this.selectdata.f_process_id + 'cs' + this.selectdata.defname + 'cs' + this.selectdata.f_apply_type)
|
|
287
|
-
let data = {
|
|
288
|
-
tablename: 't_ignition_record',
|
|
289
|
-
condition: `f_userinfo_id = '${this.selectdata.f_userinfo_id}'`
|
|
290
|
-
}
|
|
291
|
-
let http = new HttpResetClass()
|
|
292
|
-
let res = await http.load(
|
|
293
|
-
'POST',
|
|
294
|
-
`${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
|
|
295
|
-
{data: data},
|
|
296
|
-
{resolveMsg: null, rejectMsg: '点火记录查询失败!!!'}
|
|
297
|
-
)
|
|
298
|
-
if (res.data.length > 0) {
|
|
299
|
-
this.model.f_ignition_trouble = res.data[0].f_ignition_trouble
|
|
300
|
-
this.model.f_ignition_remarks = res.data[0].f_ignition_remarks
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
async onOffValve () {
|
|
304
|
-
let http = new HttpResetClass()
|
|
305
|
-
let data = null
|
|
306
|
-
let res = null
|
|
307
|
-
|
|
308
|
-
if (this.type !== '退出强制状态') {
|
|
309
|
-
data = {
|
|
310
|
-
condition: `f_meternumber = '${this.selectdata.f_meternumber}'`,
|
|
311
|
-
contentData: {
|
|
312
|
-
isOpen: this.type === '开阀' ? 1 : 0
|
|
313
|
-
},
|
|
314
|
-
inputtor: Vue.user.name,
|
|
315
|
-
instructTitle: this.type,
|
|
316
|
-
instructType: '阀门控制',
|
|
317
|
-
meterBrandName: this.selectdata.f_meter_brand
|
|
318
|
-
}
|
|
319
|
-
res = await http.load(
|
|
320
|
-
'POST',
|
|
321
|
-
`${this.$androidUtil.getProxyUrl()}/rs/logic/saveInstruct`,
|
|
322
|
-
{data: data},
|
|
323
|
-
{resolveMsg: null, rejectMsg: `${this.type}失败!!!`}
|
|
324
|
-
)
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
data = {
|
|
328
|
-
f_user_id: this.selectdata.f_user_id,
|
|
329
|
-
f_userinfo_id: this.selectdata.f_userinfo_id,
|
|
330
|
-
record: {
|
|
331
|
-
f_filiale: Vue.user.f_fengongsi?Vue.user.f_fengongsi:'榆林.榆川天然气',
|
|
332
|
-
f_instruct_meta_data: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
333
|
-
f_instruct_title: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
334
|
-
f_instruct_type: '阀门控制',
|
|
335
|
-
f_meternumber: this.selectdata.f_meternumber,
|
|
336
|
-
f_operator: Vue.user.name,
|
|
337
|
-
f_outlets: this.selectdata.f_outlets,
|
|
338
|
-
f_reason: this.reason,
|
|
339
|
-
f_user_id: this.selectdata.f_user_id,
|
|
340
|
-
f_userinfo_id: this.selectdata.f_userinfo_id
|
|
341
|
-
},
|
|
342
|
-
state: this.type === '退出强制状态' ? 0 : 1
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
res = await http.load(
|
|
346
|
-
'POST',
|
|
347
|
-
`${this.$androidUtil.getProxyUrl()}/rs/logic/updateNetWorkValve`,
|
|
348
|
-
{data: data},
|
|
349
|
-
{resolveMsg: '执行成功!!!', rejectMsg: `执行失败!!!`}
|
|
350
|
-
)
|
|
351
|
-
|
|
352
|
-
this.closeModal()
|
|
353
|
-
},
|
|
354
|
-
openModal (type) {
|
|
355
|
-
this.type = type
|
|
356
|
-
this.showModal = true
|
|
357
|
-
},
|
|
358
|
-
closeModal () {
|
|
359
|
-
this.showModal = false
|
|
360
|
-
this.type = null
|
|
361
|
-
|
|
362
|
-
this.reason = null
|
|
363
|
-
}
|
|
364
|
-
},
|
|
365
|
-
events: {
|
|
366
|
-
},
|
|
367
|
-
watch: {
|
|
368
|
-
},
|
|
369
|
-
computed: {
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
</script>
|
|
373
|
-
<style scoped>
|
|
374
|
-
.apply-has-error {
|
|
375
|
-
border-bottom: 1px solid #a94442;
|
|
376
|
-
}
|
|
377
|
-
.control-label-justify {
|
|
378
|
-
width: 30%;
|
|
379
|
-
text-align: justify;
|
|
380
|
-
text-align-last: justify;
|
|
381
|
-
font-family: PingFang-SC-Bold;
|
|
382
|
-
float: left;
|
|
383
|
-
}
|
|
384
|
-
textarea {
|
|
385
|
-
padding: 8px 10px;
|
|
386
|
-
outline: none;
|
|
387
|
-
margin: 0px;
|
|
388
|
-
background: #FFF;
|
|
389
|
-
border: 1px solid #ccc;
|
|
390
|
-
}
|
|
391
|
-
textarea[readonly]{
|
|
392
|
-
color: #ACA899!important;
|
|
393
|
-
background: #FFFFFF;
|
|
394
|
-
border: none;
|
|
395
|
-
outline: none;
|
|
396
|
-
}
|
|
397
|
-
textarea:disabled{
|
|
398
|
-
color: #ACA899!important;
|
|
399
|
-
background: #FFFFFF;
|
|
400
|
-
border: none;
|
|
401
|
-
outline: none;
|
|
402
|
-
}
|
|
403
|
-
.button_spacing{margin: 0px 0px 0px 10px;}
|
|
404
|
-
</style>
|
|
405
|
-
<style lang="less">
|
|
406
|
-
.apply-has-error {
|
|
407
|
-
border-bottom: 1px solid #a94442;
|
|
408
|
-
}
|
|
409
|
-
.app-input {
|
|
410
|
-
label {
|
|
411
|
-
float: left;
|
|
412
|
-
}
|
|
413
|
-
.select {
|
|
414
|
-
button {
|
|
415
|
-
border: none;
|
|
416
|
-
outline: none;
|
|
417
|
-
text-align: left;
|
|
418
|
-
.btn-placeholder {
|
|
419
|
-
color: #ACA899
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
.datepicker {
|
|
424
|
-
.form-control:focus {
|
|
425
|
-
border: none!important;
|
|
426
|
-
outline: none!important;
|
|
427
|
-
-webkit-box-shadow: none;
|
|
428
|
-
box-shadow: none;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
textarea {
|
|
432
|
-
padding: 8px 10px;
|
|
433
|
-
border: none;
|
|
434
|
-
outline: none;
|
|
435
|
-
margin: 0px;
|
|
436
|
-
}
|
|
437
|
-
input[readonly]{
|
|
438
|
-
color: #ACA899!important;
|
|
439
|
-
background: #FFFFFF;
|
|
440
|
-
border: none;
|
|
441
|
-
outline: none;
|
|
442
|
-
}
|
|
443
|
-
input:disabled{
|
|
444
|
-
color: #ACA899!important;
|
|
445
|
-
background: #FFFFFF;
|
|
446
|
-
border: none;
|
|
447
|
-
outline: none;
|
|
448
|
-
}
|
|
449
|
-
textarea[readonly]{
|
|
450
|
-
color: #ACA899!important;
|
|
451
|
-
background: #FFFFFF;
|
|
452
|
-
border: none;
|
|
453
|
-
outline: none;
|
|
454
|
-
}
|
|
455
|
-
textarea:disabled{
|
|
456
|
-
color: #ACA899!important;
|
|
457
|
-
background: #FFFFFF;
|
|
458
|
-
border: none;
|
|
459
|
-
outline: none;
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="form-horizontal select-overspread p-10">
|
|
3
|
+
<validator name="v1" v-if="selectdata.f_process_id !== null">
|
|
4
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
5
|
+
<label class="control-label-justify">用户编号</label>
|
|
6
|
+
<div class="col-xs-8">
|
|
7
|
+
<input class="" style="width: 100%" type="input"
|
|
8
|
+
v-model="selectdata.f_userinfo_id"
|
|
9
|
+
:value="selectdata.f_userinfo_id"
|
|
10
|
+
:readonly="true"
|
|
11
|
+
/>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
15
|
+
<label class="control-label-justify">用户名</label>
|
|
16
|
+
<div class="col-xs-8">
|
|
17
|
+
<input class="" style="width: 100%" type="input"
|
|
18
|
+
v-model="selectdata.f_user_name"
|
|
19
|
+
:value="selectdata.f_user_name"
|
|
20
|
+
:readonly="true"
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
25
|
+
<label class="control-label-justify">电话</label>
|
|
26
|
+
<div class="col-xs-8">
|
|
27
|
+
<input class="" style="width: 100%" type="input"
|
|
28
|
+
v-model="selectdata.f_user_phone"
|
|
29
|
+
:value="selectdata.f_user_phone"
|
|
30
|
+
:readonly="true"
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
35
|
+
<label class="control-label-justify">地址</label>
|
|
36
|
+
<div class="col-xs-8">
|
|
37
|
+
<input class="" style="width: 100%" type="input"
|
|
38
|
+
v-model="selectdata.f_address + selectdata.f_address_detail"
|
|
39
|
+
:readonly="true"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
44
|
+
<label class="control-label-justify">派单时间</label>
|
|
45
|
+
<div class="col-xs-8">
|
|
46
|
+
<input class="" style="width: 100%" type="input"
|
|
47
|
+
v-model="selectdata.f_date"
|
|
48
|
+
:value="selectdata.f_date"
|
|
49
|
+
:readonly="true"
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
54
|
+
<label class="control-label-justify">表号</label>
|
|
55
|
+
<div class="col-xs-8">
|
|
56
|
+
<input class="" style="width: 100%" type="input"
|
|
57
|
+
v-model="selectdata.f_meternumber"
|
|
58
|
+
:value="selectdata.f_meternumber"
|
|
59
|
+
:readonly="true"
|
|
60
|
+
/>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
64
|
+
<label class="control-label-justify">气表分类</label>
|
|
65
|
+
<div class="col-xs-8">
|
|
66
|
+
<input class="" style="width: 100%" type="input"
|
|
67
|
+
v-model="selectdata.f_meter_classify"
|
|
68
|
+
:value="selectdata.f_meter_classify"
|
|
69
|
+
:readonly="true"
|
|
70
|
+
/>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
74
|
+
<label class="control-label-justify">气表品牌</label>
|
|
75
|
+
<div class="col-xs-8">
|
|
76
|
+
<input class="" style="width: 100%" type="input"
|
|
77
|
+
v-model="selectdata.f_meter_brand"
|
|
78
|
+
:value="selectdata.f_meter_brand"
|
|
79
|
+
:readonly="true"
|
|
80
|
+
/>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
84
|
+
<label class="control-label-justify">气表型号</label>
|
|
85
|
+
<div class="col-xs-8">
|
|
86
|
+
<input class="" style="width: 100%" type="input"
|
|
87
|
+
v-model="selectdata.f_meter_style"
|
|
88
|
+
:value="selectdata.f_meter_style"
|
|
89
|
+
:readonly="true"
|
|
90
|
+
/>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
94
|
+
<label class="control-label-justify">有无隐患</label>
|
|
95
|
+
<div class="col-xs-8">
|
|
96
|
+
<input-select
|
|
97
|
+
class="select select_list"
|
|
98
|
+
:value.sync="model.f_ignition_trouble"
|
|
99
|
+
v-model="model.f_ignition_trouble"
|
|
100
|
+
:options="ignition_trouble"
|
|
101
|
+
:valueSingle="true"></input-select>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="col-xs-12 form-group app-input auto">
|
|
105
|
+
<label class="control-label-justify">点火备注</label>
|
|
106
|
+
<div class="col-xs-8">
|
|
107
|
+
<input class="" style="width: 100%" type="input"
|
|
108
|
+
v-model="model.f_ignition_remarks"
|
|
109
|
+
:value="model.f_ignition_remarks"
|
|
110
|
+
:readonly="false"
|
|
111
|
+
/>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="col-xs-12 auto">
|
|
115
|
+
<accordion one-at-a-time="true">
|
|
116
|
+
<panel header="设备查看" :is-open="false" type="primary">
|
|
117
|
+
<app-devices-management :selectdata="selectdata" :mark = 1 ></app-devices-management>
|
|
118
|
+
</panel>
|
|
119
|
+
<panel header="拍照" :is-open="false" type="primary">
|
|
120
|
+
<app-take-pic
|
|
121
|
+
:blobid="selectdata.f_blobid"
|
|
122
|
+
:defname="selectdata.defname"
|
|
123
|
+
:isdelete="true"
|
|
124
|
+
:istakepic="true"
|
|
125
|
+
:istype="true">
|
|
126
|
+
|
|
127
|
+
</app-take-pic>
|
|
128
|
+
</panel>
|
|
129
|
+
</accordion>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="col-xs-12 form-group auto" v-if="selectdata.f_meter_classify === '物联网表'">
|
|
132
|
+
<div class="col-xs-5">
|
|
133
|
+
<button style="width: 100%" class="btn btn-success" @click.prevent="openModal('退出强制状态')">退出强制状态</button>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="col-xs-5 col-xs-offset-2">
|
|
136
|
+
<button style="width: 100%" class="btn btn-danger" @click.prevent="openModal('关阀')">强制关阀</button>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
<div class="col-xs-12 auto">
|
|
140
|
+
<accordion one-at-a-time="true">
|
|
141
|
+
<panel header="用户签字" :is-open="false" type="primary">
|
|
142
|
+
<survey-user-sign
|
|
143
|
+
:title="'用户签字'"
|
|
144
|
+
:selectdata="selectdata">
|
|
145
|
+
</survey-user-sign>
|
|
146
|
+
</panel>
|
|
147
|
+
</accordion>
|
|
148
|
+
</div>
|
|
149
|
+
<div class="col-xs-12 form-group auto">
|
|
150
|
+
<button style="width: 100%" class="btn btn-warning" :disabled="!$v1.valid" @click.prevent="saveApplyVentilate">保存</button>
|
|
151
|
+
<button v-if="model.f_ignition_trouble === '有隐患'" style="width: 100%" class="btn btn-danger" :disabled="!$v1.valid" @click.prevent="cleanTrouble">消除隐患</button>
|
|
152
|
+
<button style="width: 100%" class="btn btn-success" :disabled="!$v1.valid" @click.prevent="applyVentilate">提交</button>
|
|
153
|
+
</div>
|
|
154
|
+
</validator>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<validator name="v">
|
|
158
|
+
<modal v-if="showModal" :show.sync="showModal" v-ref:modal :large="true" :backdrop="false">
|
|
159
|
+
<header slot="modal-header" class="modal-header">
|
|
160
|
+
<button type="button" class="close" @click="closeModal"><span>×</span></button>
|
|
161
|
+
<h4 class="modal-title">{{type}}操作</h4>
|
|
162
|
+
</header>
|
|
163
|
+
<article slot="modal-body" class="modal-body clearfix">
|
|
164
|
+
<div class="form-group row vertical-center">
|
|
165
|
+
<div class="col-xs-12" v-if="type !== '关阀'" :class="[$v.reason.required ? 'apply-has-error' : '']">
|
|
166
|
+
<input
|
|
167
|
+
type="checkbox"
|
|
168
|
+
class=""
|
|
169
|
+
:value.sync="boxReason"
|
|
170
|
+
v-model="boxReason"
|
|
171
|
+
:value="boxReason"
|
|
172
|
+
@change="changeAllChecked()"
|
|
173
|
+
></input>{{ reasonOptions[0].label }}
|
|
174
|
+
</div>
|
|
175
|
+
<div class="col-xs-12" :class="[$v.reason.required ? 'apply-has-error' : '']">
|
|
176
|
+
<textarea rows="2" style="width: 100%;height: 100%"
|
|
177
|
+
:placeholder="type+'操作原因'" v-validate:reason = "['required']"
|
|
178
|
+
v-model="reason" :value="reason"
|
|
179
|
+
></textarea>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</article>
|
|
183
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
184
|
+
<button type="button" class="btn btn-primary" @click="onOffValve" :disabled="!$v.valid">确认</button>
|
|
185
|
+
</footer>
|
|
186
|
+
</modal>
|
|
187
|
+
</validator>
|
|
188
|
+
</template>
|
|
189
|
+
<script>
|
|
190
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
191
|
+
import Vue from 'vue'
|
|
192
|
+
import {isEmpty} from '../../Util'
|
|
193
|
+
|
|
194
|
+
export default {
|
|
195
|
+
title: '通气点火',
|
|
196
|
+
props: ['selectdata'],
|
|
197
|
+
data () {
|
|
198
|
+
return {
|
|
199
|
+
showModal: false,
|
|
200
|
+
type: null,
|
|
201
|
+
reason: null,
|
|
202
|
+
boxReason: null,
|
|
203
|
+
reasonOptions:[{label: '具备通气条件', value: '具备通气条件'}],
|
|
204
|
+
model: {
|
|
205
|
+
f_ignition_trouble: '',
|
|
206
|
+
f_ignition_remarks: ''
|
|
207
|
+
},
|
|
208
|
+
ignition_trouble:[{label: '有隐患', value: '有隐患'}, {label: '无隐患', value: '无隐患'}]
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
ready () {
|
|
212
|
+
this.search()
|
|
213
|
+
},
|
|
214
|
+
methods: {
|
|
215
|
+
changeAllChecked(){
|
|
216
|
+
if (this.boxReason){
|
|
217
|
+
this.reason = this.reasonOptions[0].value
|
|
218
|
+
}else {
|
|
219
|
+
this.reason = ''
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
async applyVentilate () {
|
|
223
|
+
let res = await this.$showMessage('是否需要继续此次操作')
|
|
224
|
+
if (res === 'cancel') {
|
|
225
|
+
return
|
|
226
|
+
}else{
|
|
227
|
+
if (this.model.f_ignition_trouble === '有隐患'){
|
|
228
|
+
this.$showMessage("隐患未消除,无法提交")
|
|
229
|
+
return
|
|
230
|
+
}
|
|
231
|
+
let http = new HttpResetClass()
|
|
232
|
+
let data = {
|
|
233
|
+
selectdata: this.selectdata,
|
|
234
|
+
user: Vue.user
|
|
235
|
+
}
|
|
236
|
+
let res = await http.load(
|
|
237
|
+
'POST',
|
|
238
|
+
`${this.$androidUtil.getProxyUrl()}/rs/logic/applyVentilate`,
|
|
239
|
+
{data: data},
|
|
240
|
+
{resolveMsg: null, rejectMsg: `操作失败!!!`}
|
|
241
|
+
)
|
|
242
|
+
// 返回上层
|
|
243
|
+
this.$dispatch('confirm')
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
async saveApplyVentilate () {
|
|
247
|
+
let res = await this.$showMessage('是否需要继续此次操作')
|
|
248
|
+
if (res === 'cancel') {
|
|
249
|
+
return
|
|
250
|
+
}else{
|
|
251
|
+
let http = new HttpResetClass()
|
|
252
|
+
let data = {
|
|
253
|
+
selectdata: this.selectdata,
|
|
254
|
+
user: Vue.user,
|
|
255
|
+
model:this.model
|
|
256
|
+
}
|
|
257
|
+
let res = await http.load(
|
|
258
|
+
'POST',
|
|
259
|
+
`${this.$androidUtil.getProxyUrl()}/rs/logic/saveApplyVentilate`,
|
|
260
|
+
{data: data},
|
|
261
|
+
{resolveMsg: null, rejectMsg: `操作失败!!!`}
|
|
262
|
+
)
|
|
263
|
+
// 刷新
|
|
264
|
+
this.$dispatch('confirm')
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
},
|
|
268
|
+
async cleanTrouble () {
|
|
269
|
+
let http = new HttpResetClass()
|
|
270
|
+
let data = {
|
|
271
|
+
selectdata: this.selectdata,
|
|
272
|
+
model:this.model
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
let res = await http.load(
|
|
276
|
+
'POST',
|
|
277
|
+
`${this.$androidUtil.getProxyUrl()}/rs/logic/cleanTrouble`,
|
|
278
|
+
{data: data},
|
|
279
|
+
{resolveMsg: null, rejectMsg: `清除隐患操作失败!!!`}
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
// 返回上层
|
|
283
|
+
this.$dispatch('confirm')
|
|
284
|
+
},
|
|
285
|
+
async search(){
|
|
286
|
+
console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>>", this.selectdata.f_process_id + 'cs' + this.selectdata.defname + 'cs' + this.selectdata.f_apply_type)
|
|
287
|
+
let data = {
|
|
288
|
+
tablename: 't_ignition_record',
|
|
289
|
+
condition: `f_userinfo_id = '${this.selectdata.f_userinfo_id}'`
|
|
290
|
+
}
|
|
291
|
+
let http = new HttpResetClass()
|
|
292
|
+
let res = await http.load(
|
|
293
|
+
'POST',
|
|
294
|
+
`${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
|
|
295
|
+
{data: data},
|
|
296
|
+
{resolveMsg: null, rejectMsg: '点火记录查询失败!!!'}
|
|
297
|
+
)
|
|
298
|
+
if (res.data.length > 0) {
|
|
299
|
+
this.model.f_ignition_trouble = res.data[0].f_ignition_trouble
|
|
300
|
+
this.model.f_ignition_remarks = res.data[0].f_ignition_remarks
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
async onOffValve () {
|
|
304
|
+
let http = new HttpResetClass()
|
|
305
|
+
let data = null
|
|
306
|
+
let res = null
|
|
307
|
+
|
|
308
|
+
if (this.type !== '退出强制状态') {
|
|
309
|
+
data = {
|
|
310
|
+
condition: `f_meternumber = '${this.selectdata.f_meternumber}'`,
|
|
311
|
+
contentData: {
|
|
312
|
+
isOpen: this.type === '开阀' ? 1 : 0
|
|
313
|
+
},
|
|
314
|
+
inputtor: Vue.user.name,
|
|
315
|
+
instructTitle: this.type,
|
|
316
|
+
instructType: '阀门控制',
|
|
317
|
+
meterBrandName: this.selectdata.f_meter_brand
|
|
318
|
+
}
|
|
319
|
+
res = await http.load(
|
|
320
|
+
'POST',
|
|
321
|
+
`${this.$androidUtil.getProxyUrl()}/rs/logic/saveInstruct`,
|
|
322
|
+
{data: data},
|
|
323
|
+
{resolveMsg: null, rejectMsg: `${this.type}失败!!!`}
|
|
324
|
+
)
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
data = {
|
|
328
|
+
f_user_id: this.selectdata.f_user_id,
|
|
329
|
+
f_userinfo_id: this.selectdata.f_userinfo_id,
|
|
330
|
+
record: {
|
|
331
|
+
f_filiale: Vue.user.f_fengongsi?Vue.user.f_fengongsi:'榆林.榆川天然气',
|
|
332
|
+
f_instruct_meta_data: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
333
|
+
f_instruct_title: this.type === '退出强制状态' ? '退出强制阀控' : '进入强制阀控',
|
|
334
|
+
f_instruct_type: '阀门控制',
|
|
335
|
+
f_meternumber: this.selectdata.f_meternumber,
|
|
336
|
+
f_operator: Vue.user.name,
|
|
337
|
+
f_outlets: this.selectdata.f_outlets,
|
|
338
|
+
f_reason: this.reason,
|
|
339
|
+
f_user_id: this.selectdata.f_user_id,
|
|
340
|
+
f_userinfo_id: this.selectdata.f_userinfo_id
|
|
341
|
+
},
|
|
342
|
+
state: this.type === '退出强制状态' ? 0 : 1
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
res = await http.load(
|
|
346
|
+
'POST',
|
|
347
|
+
`${this.$androidUtil.getProxyUrl()}/rs/logic/updateNetWorkValve`,
|
|
348
|
+
{data: data},
|
|
349
|
+
{resolveMsg: '执行成功!!!', rejectMsg: `执行失败!!!`}
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
this.closeModal()
|
|
353
|
+
},
|
|
354
|
+
openModal (type) {
|
|
355
|
+
this.type = type
|
|
356
|
+
this.showModal = true
|
|
357
|
+
},
|
|
358
|
+
closeModal () {
|
|
359
|
+
this.showModal = false
|
|
360
|
+
this.type = null
|
|
361
|
+
|
|
362
|
+
this.reason = null
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
events: {
|
|
366
|
+
},
|
|
367
|
+
watch: {
|
|
368
|
+
},
|
|
369
|
+
computed: {
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
</script>
|
|
373
|
+
<style scoped>
|
|
374
|
+
.apply-has-error {
|
|
375
|
+
border-bottom: 1px solid #a94442;
|
|
376
|
+
}
|
|
377
|
+
.control-label-justify {
|
|
378
|
+
width: 30%;
|
|
379
|
+
text-align: justify;
|
|
380
|
+
text-align-last: justify;
|
|
381
|
+
font-family: PingFang-SC-Bold;
|
|
382
|
+
float: left;
|
|
383
|
+
}
|
|
384
|
+
textarea {
|
|
385
|
+
padding: 8px 10px;
|
|
386
|
+
outline: none;
|
|
387
|
+
margin: 0px;
|
|
388
|
+
background: #FFF;
|
|
389
|
+
border: 1px solid #ccc;
|
|
390
|
+
}
|
|
391
|
+
textarea[readonly]{
|
|
392
|
+
color: #ACA899!important;
|
|
393
|
+
background: #FFFFFF;
|
|
394
|
+
border: none;
|
|
395
|
+
outline: none;
|
|
396
|
+
}
|
|
397
|
+
textarea:disabled{
|
|
398
|
+
color: #ACA899!important;
|
|
399
|
+
background: #FFFFFF;
|
|
400
|
+
border: none;
|
|
401
|
+
outline: none;
|
|
402
|
+
}
|
|
403
|
+
.button_spacing{margin: 0px 0px 0px 10px;}
|
|
404
|
+
</style>
|
|
405
|
+
<style lang="less">
|
|
406
|
+
.apply-has-error {
|
|
407
|
+
border-bottom: 1px solid #a94442;
|
|
408
|
+
}
|
|
409
|
+
.app-input {
|
|
410
|
+
label {
|
|
411
|
+
float: left;
|
|
412
|
+
}
|
|
413
|
+
.select {
|
|
414
|
+
button {
|
|
415
|
+
border: none;
|
|
416
|
+
outline: none;
|
|
417
|
+
text-align: left;
|
|
418
|
+
.btn-placeholder {
|
|
419
|
+
color: #ACA899
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
.datepicker {
|
|
424
|
+
.form-control:focus {
|
|
425
|
+
border: none!important;
|
|
426
|
+
outline: none!important;
|
|
427
|
+
-webkit-box-shadow: none;
|
|
428
|
+
box-shadow: none;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
textarea {
|
|
432
|
+
padding: 8px 10px;
|
|
433
|
+
border: none;
|
|
434
|
+
outline: none;
|
|
435
|
+
margin: 0px;
|
|
436
|
+
}
|
|
437
|
+
input[readonly]{
|
|
438
|
+
color: #ACA899!important;
|
|
439
|
+
background: #FFFFFF;
|
|
440
|
+
border: none;
|
|
441
|
+
outline: none;
|
|
442
|
+
}
|
|
443
|
+
input:disabled{
|
|
444
|
+
color: #ACA899!important;
|
|
445
|
+
background: #FFFFFF;
|
|
446
|
+
border: none;
|
|
447
|
+
outline: none;
|
|
448
|
+
}
|
|
449
|
+
textarea[readonly]{
|
|
450
|
+
color: #ACA899!important;
|
|
451
|
+
background: #FFFFFF;
|
|
452
|
+
border: none;
|
|
453
|
+
outline: none;
|
|
454
|
+
}
|
|
455
|
+
textarea:disabled{
|
|
456
|
+
color: #ACA899!important;
|
|
457
|
+
background: #FFFFFF;
|
|
458
|
+
border: none;
|
|
459
|
+
outline: none;
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
</style>
|