system-clients 3.3.5 → 3.3.6
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/.gradle/8.5/checksums/checksums.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
- package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
- package/.gradle/8.5/fileChanges/last-build.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
- package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
- package/.gradle/8.5/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/.gradle/file-system.probe +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/gradlew +249 -0
- package/gradlew.bat +92 -0
- package/package.json +105 -105
- package/src/components/server/Login.vue +615 -615
- package/src/components/server/ResSelect.vue +3 -0
- package/src/filiale/bayan/PosAdd.vue +245 -200
- package/src/filiale/bayan/PosList.vue +187 -143
- package/src/plugins/GetLoginInfoService.js +480 -480
- package/src/system.js +122 -122
@@ -23,7 +23,7 @@
|
|
23
23
|
<div class="col-sm-6 form-group" :class="{'has-error': $v.f_equipment_type.required}">
|
24
24
|
<label class="font_normal_body">设备类型</label>
|
25
25
|
<input type="text" class="input_search" style="width: 60%" v-model="model.f_equipment_type" placeholder="设备类型"
|
26
|
-
|
26
|
+
v-validate:f_equipment_type="{required: true}" />
|
27
27
|
</div>
|
28
28
|
<div class="col-sm-6 form-group">
|
29
29
|
<label class="font_normal_body" > MAC 号  </label>
|
@@ -37,12 +37,19 @@
|
|
37
37
|
<label class="font_normal_body"> 联系电话 </label>
|
38
38
|
<input type="text" class="input_search" style="width: 60%" v-model="model.f_phone" placeholder="联系电话"
|
39
39
|
v-validate:f_phone="{required: true, minlength:7, maxlength: 11}" title="手机号必须7-11位">
|
40
|
-
<!-- <div class="font_normal_body" v-if="$v.f_phone.minlength || $v.f_phone.maxlength"><span>手机号必须7-11位</span></div>-->
|
40
|
+
<!-- <div class="font_normal_body" v-if="$v.f_phone.minlength || $v.f_phone.maxlength"><span>手机号必须7-11位</span></div>-->
|
41
41
|
</div>
|
42
42
|
<div class="col-sm-6 form-group" :class="{'has-error': $v.f_bank_name.required}">
|
43
43
|
<label class="font_normal_body">所属银行</label>
|
44
|
-
<
|
45
|
-
|
44
|
+
<v-select id="f_charge_type"
|
45
|
+
v-model="model.f_bank_name"
|
46
|
+
placeholder='所属银行'
|
47
|
+
:value.sync="model.f_bank_name"
|
48
|
+
:options='bankAffiliation'
|
49
|
+
:value-single="true"
|
50
|
+
v-validate:f_bank_name="{ required: true }"
|
51
|
+
close-on-select clear-button>
|
52
|
+
</v-select>
|
46
53
|
</div>
|
47
54
|
<div class="col-sm-6 form-group">
|
48
55
|
<label class="font_normal_body"> 所属参数 </label>
|
@@ -54,6 +61,19 @@
|
|
54
61
|
close-on-select clear-button>
|
55
62
|
</v-select>
|
56
63
|
</div>
|
64
|
+
<div class="col-sm-6 form-group">
|
65
|
+
<label class="font_normal_body">所属部门</label>
|
66
|
+
<res-select restype='department'
|
67
|
+
:is-mul="false"
|
68
|
+
@res-select="getdep"
|
69
|
+
:parentresid="depresid"
|
70
|
+
:initresid="initresid">
|
71
|
+
</res-select>
|
72
|
+
</div>
|
73
|
+
<div class="col-sm-6 form-group" v-show="false">
|
74
|
+
<label class="font_normal_body">公  司 </label>
|
75
|
+
<right-tree @re-res="getRes1"></right-tree>
|
76
|
+
</div>
|
57
77
|
<div class="col-sm-12 form-group" :class="{'has-error': $v.f_address.required}">
|
58
78
|
<label class="font_normal_body"> 放置地点 </label>
|
59
79
|
<input type="text" class="input_search" style="width: 80%" v-model="model.f_address" placeholder="所在地"
|
@@ -91,17 +111,17 @@
|
|
91
111
|
<div>
|
92
112
|
<h4>是否升级?</h4>
|
93
113
|
</div>
|
94
|
-
<!-- <div class="col-sm-6 form-group">-->
|
95
|
-
<!-- <label class="font_normal_body">参数名称</label>-->
|
96
|
-
<!-- <input type="text" class="input_search" style="width: 60%" v-model="modifyItem.name" @keyup.enter="confirm">-->
|
97
|
-
<!-- </div>-->
|
98
|
-
<!-- <div class="col-sm-6 form-group" v-if="modifyItem.EntityType === 't_parameter'">-->
|
99
|
-
<!-- <div class="checkbox">-->
|
100
|
-
<!-- <label>-->
|
101
|
-
<!-- <input type="checkbox" v-model="modifyItem.isGlobal" :checked="modifyItem.isGlobal">是否全局-->
|
102
|
-
<!-- </label>-->
|
103
|
-
<!-- </div>-->
|
104
|
-
<!-- </div>-->
|
114
|
+
<!-- <div class="col-sm-6 form-group">-->
|
115
|
+
<!-- <label class="font_normal_body">参数名称</label>-->
|
116
|
+
<!-- <input type="text" class="input_search" style="width: 60%" v-model="modifyItem.name" @keyup.enter="confirm">-->
|
117
|
+
<!-- </div>-->
|
118
|
+
<!-- <div class="col-sm-6 form-group" v-if="modifyItem.EntityType === 't_parameter'">-->
|
119
|
+
<!-- <div class="checkbox">-->
|
120
|
+
<!-- <label>-->
|
121
|
+
<!-- <input type="checkbox" v-model="modifyItem.isGlobal" :checked="modifyItem.isGlobal">是否全局-->
|
122
|
+
<!-- </label>-->
|
123
|
+
<!-- </div>-->
|
124
|
+
<!-- </div>-->
|
105
125
|
</div>
|
106
126
|
</form>
|
107
127
|
</article>
|
@@ -116,208 +136,233 @@
|
|
116
136
|
</template>
|
117
137
|
<script>
|
118
138
|
import {HttpResetClass, PagedList} from 'vue-client'
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
139
|
+
export default {
|
140
|
+
data () {
|
141
|
+
return {
|
142
|
+
depname: '',
|
143
|
+
f_depid: '',
|
144
|
+
orgname: '',
|
145
|
+
initresid: [], // 用于存放初始化选中的部门 ID
|
146
|
+
depresid: [this.$login.f.depids],
|
147
|
+
depid: [this.f_depid],
|
148
|
+
f_orgid: this.$login.f.orgid,
|
149
|
+
userresid: [this.$login.f.id],
|
150
|
+
checkparam: false,
|
151
|
+
bankAffiliation: this.$appdata.getParam('所属银行'),
|
152
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
|
153
|
+
userid: this.$login.f.id,
|
154
|
+
model: {
|
155
|
+
f_terminal_number: '',
|
156
|
+
f_terminal_name: '',
|
157
|
+
f_depname: '',
|
158
|
+
f_mac_number:'',
|
159
|
+
// f_username:'',
|
160
|
+
f_bank_name: '微信',
|
161
|
+
f_equipment_type: 'POS',
|
162
|
+
f_state: '正常',
|
163
|
+
f_machine_number: '',
|
164
|
+
f_phone:'',
|
165
|
+
f_comments:'',
|
166
|
+
f_address:'',
|
167
|
+
f_filialeids: '',
|
168
|
+
f_orgid:'',
|
169
|
+
f_param_id:''
|
170
|
+
},
|
140
171
|
ParamTypeItems:[],
|
141
172
|
showfiles: false,
|
142
|
-
|
143
|
-
|
144
|
-
|
173
|
+
show:false,
|
174
|
+
infoadd: this.infoadd,
|
175
|
+
isSelPop: false
|
176
|
+
}
|
177
|
+
},
|
178
|
+
props: ['data', 'f_filialeids','info'],
|
179
|
+
|
180
|
+
watch: {
|
181
|
+
'data' (val) {
|
182
|
+
if (val) {
|
183
|
+
this.edit(val)
|
184
|
+
} else {
|
185
|
+
this.initModel()
|
145
186
|
}
|
146
|
-
}
|
147
|
-
|
187
|
+
}
|
188
|
+
},
|
189
|
+
async ready () {
|
190
|
+
console.log('mac信息:', this.data)
|
191
|
+
if (this.data) {
|
192
|
+
this.edit(this.data)
|
193
|
+
}
|
194
|
+
console.log('查看是否隐藏', this.info)
|
195
|
+
try {
|
196
|
+
// 获取参数
|
197
|
+
let http = new HttpResetClass()
|
198
|
+
let res = await http.load('POST', 'rs/sql/get_posParam', {data: {condition : ' 1 = 1 '}}, {
|
199
|
+
resolveMsg: null,
|
200
|
+
rejectMsg: '获取参数出错!!'
|
201
|
+
})
|
202
|
+
this.ParamTypeItems = res.data.map(item=>{
|
203
|
+
return {
|
204
|
+
label:item.name,
|
205
|
+
value:item.f_param_id
|
206
|
+
}
|
207
|
+
})
|
208
|
+
} catch (e) {
|
209
|
+
console.log(e)
|
210
|
+
}
|
211
|
+
},
|
148
212
|
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
213
|
+
methods: {
|
214
|
+
getRes1 (obj) {
|
215
|
+
this.orgname = obj.res[0]
|
216
|
+
this.depresid = obj.resids
|
217
|
+
this.f_orgid = obj.resids
|
218
|
+
this.userresid = obj.resids
|
219
|
+
},
|
220
|
+
getdep (obj, val) {
|
221
|
+
this.depname = val
|
222
|
+
// this.userresid = obj
|
223
|
+
this.f_depid = obj
|
224
|
+
},
|
225
|
+
recursiveSelOrg(val, flag){
|
226
|
+
if(val.parent){
|
227
|
+
if(val.parent.resourcetype===flag){
|
228
|
+
return {id: val.parent.id, name: val.parent.name}
|
153
229
|
} else {
|
154
|
-
this.
|
230
|
+
return this.recursiveSelOrg(val.parent,flag)
|
155
231
|
}
|
232
|
+
} else {
|
233
|
+
return {id: '', name: ''}
|
156
234
|
}
|
157
235
|
},
|
158
|
-
|
159
|
-
console.log('
|
160
|
-
if (
|
161
|
-
|
236
|
+
getRes(val){
|
237
|
+
console.log('====================', val)
|
238
|
+
if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user'){
|
239
|
+
|
240
|
+
let org = this.recursiveSelOrg(val.orgobj[0], 'organization')
|
241
|
+
this.model.f_orgid=org.id
|
242
|
+
this.model.f_orgname=org.name
|
243
|
+
let dep = this.recursiveSelOrg(val.orgobj[0], 'department')
|
244
|
+
this.model.f_depid=dep.id
|
245
|
+
this.model.f_depname=dep.name
|
246
|
+
|
247
|
+
this.model.f_operatorid = val.orgobj[0].userid
|
248
|
+
this.model.f_operator=val.orgobj[0].name
|
249
|
+
this.isSelPop = true
|
250
|
+
} else {
|
251
|
+
// 不可提交
|
252
|
+
this.isSelPop = false
|
162
253
|
}
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
254
|
+
},
|
255
|
+
close () {
|
256
|
+
this.show = false
|
257
|
+
},
|
258
|
+
uploadFiles(){
|
259
|
+
this.showfiles= !this.showfiles
|
260
|
+
},
|
261
|
+
getEditState () {
|
262
|
+
if (this.model.f_state === '正常') {
|
263
|
+
this.$showMessage(`当前设备号: ${this.model.f_terminal_number} ,确认停用该设备?`, ['confirm', 'cancel']).then((res) => {
|
264
|
+
if (res === 'confirm') {
|
265
|
+
this.$showAlert(`已向设备号: ${this.model.f_terminal_number}发送停用指令,请稍后查看执行结果!`, 'success', 2500)
|
266
|
+
this.model.f_state = '停用'
|
267
|
+
try {
|
268
|
+
// 测试接口
|
269
|
+
// this.$resetpost('rs/logic/updatePosState', {data: {number: this.model.f_terminal_number, state: '停用'}}, {resolveMsg: null, rejectMsg: null}, 0)
|
270
|
+
// .then((res) => {})
|
271
|
+
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 0}}, {rejectMsg: null, resolveMsg: null})
|
272
|
+
} catch (error) {
|
273
|
+
this.search()
|
274
|
+
}
|
275
|
+
}
|
170
276
|
})
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
277
|
+
} else if (this.model.f_state === '停用'){
|
278
|
+
this.$showMessage(`当前设备号: ${this.model.f_terminal_number} ,确认启用该设备?`, ['confirm', 'cancel']).then((res) => {
|
279
|
+
if (res === 'confirm') {
|
280
|
+
this.$showAlert(`已向设备号: ${this.model.f_terminal_number}发送启用指令,请稍后查看执行结果!`, 'success', 2500)
|
281
|
+
this.model.f_state = '正常'
|
282
|
+
try {
|
283
|
+
// 测试接口
|
284
|
+
// this.$resetpost('rs/logic/getEditPosState', {data: {number: this.model.f_terminal_number, state: '正常'}}, {resolveMsg: null, rejectMsg: null}, 0)
|
285
|
+
// .then((res) => {})
|
286
|
+
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 1}}, {rejectMsg: null, resolveMsg: null})
|
287
|
+
} catch (error) {
|
288
|
+
this.search()
|
289
|
+
}
|
175
290
|
}
|
176
291
|
})
|
177
|
-
} catch (e) {
|
178
|
-
console.log(e)
|
179
292
|
}
|
180
293
|
},
|
294
|
+
editBeizhu (val) {
|
295
|
+
this.editshow = true
|
296
|
+
this.posBase = val
|
297
|
+
},
|
181
298
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
} else {
|
209
|
-
// 不可提交
|
210
|
-
this.isSelPop = false
|
211
|
-
}
|
212
|
-
},
|
213
|
-
close () {
|
214
|
-
this.show = false
|
215
|
-
},
|
216
|
-
uploadFiles(){
|
217
|
-
this.showfiles= !this.showfiles
|
218
|
-
},
|
219
|
-
getEditState () {
|
220
|
-
if (this.model.f_state === '正常') {
|
221
|
-
this.$showMessage(`当前设备号: ${this.model.f_terminal_number} ,确认停用该设备?`, ['confirm', 'cancel']).then((res) => {
|
222
|
-
if (res === 'confirm') {
|
223
|
-
this.$showAlert(`已向设备号: ${this.model.f_terminal_number}发送停用指令,请稍后查看执行结果!`, 'success', 2500)
|
224
|
-
this.model.f_state = '停用'
|
225
|
-
try {
|
226
|
-
// 测试接口
|
227
|
-
// this.$resetpost('rs/logic/updatePosState', {data: {number: this.model.f_terminal_number, state: '停用'}}, {resolveMsg: null, rejectMsg: null}, 0)
|
228
|
-
// .then((res) => {})
|
229
|
-
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 0}}, {rejectMsg: null, resolveMsg: null})
|
230
|
-
} catch (error) {
|
231
|
-
this.search()
|
232
|
-
}
|
233
|
-
}
|
234
|
-
})
|
235
|
-
} else if (this.model.f_state === '停用'){
|
236
|
-
this.$showMessage(`当前设备号: ${this.model.f_terminal_number} ,确认启用该设备?`, ['confirm', 'cancel']).then((res) => {
|
237
|
-
if (res === 'confirm') {
|
238
|
-
this.$showAlert(`已向设备号: ${this.model.f_terminal_number}发送启用指令,请稍后查看执行结果!`, 'success', 2500)
|
239
|
-
this.model.f_state = '正常'
|
240
|
-
try {
|
241
|
-
// 测试接口
|
242
|
-
// this.$resetpost('rs/logic/getEditPosState', {data: {number: this.model.f_terminal_number, state: '正常'}}, {resolveMsg: null, rejectMsg: null}, 0)
|
243
|
-
// .then((res) => {})
|
244
|
-
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 1}}, {rejectMsg: null, resolveMsg: null})
|
245
|
-
} catch (error) {
|
246
|
-
this.search()
|
247
|
-
}
|
248
|
-
}
|
249
|
-
})
|
250
|
-
}
|
251
|
-
},
|
252
|
-
editBeizhu (val) {
|
253
|
-
this.editshow = true
|
254
|
-
this.posBase = val
|
255
|
-
},
|
256
|
-
|
257
|
-
//升级
|
258
|
-
upgrade(){
|
259
|
-
this.show=true
|
260
|
-
},
|
261
|
-
upgradeRoot() {
|
262
|
-
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 2}}, {rejectMsg: null, resolveMsg: null})
|
299
|
+
//升级
|
300
|
+
upgrade(){
|
301
|
+
this.show=true
|
302
|
+
},
|
303
|
+
upgradeRoot() {
|
304
|
+
this.$resetpost('rs/logic/batchPos',{data: {tasks: [this.data], taskState: 2}}, {rejectMsg: null, resolveMsg: null})
|
305
|
+
this.$dispatch('refresh')
|
306
|
+
},
|
307
|
+
search () {
|
308
|
+
this.$refs.paged.$refs.cri.search()
|
309
|
+
},
|
310
|
+
confirm () {
|
311
|
+
// 如果是修改的话,只修改页面上用户填写的信息
|
312
|
+
this.model.f_depname = this.depname[0]
|
313
|
+
this.model.f_depid = this.f_depid[0]
|
314
|
+
if (!this.info) {
|
315
|
+
this.model.f_online = '离线'
|
316
|
+
this.model.f_operator = this.$login.f.name
|
317
|
+
this.model.f_orgid = this.$login.f.orgid
|
318
|
+
this.model.f_filialeids = this.$login.f.orgid
|
319
|
+
this.model.f_operatorid = this.$login.f.id
|
320
|
+
this.model.f_orgname = this.$login.f.orgs
|
321
|
+
// this.model.f_depname=this.depname[0]
|
322
|
+
this.model.f_orgstr = this.$login.f.fullids
|
323
|
+
}
|
324
|
+
this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
|
263
325
|
this.$dispatch('refresh')
|
264
|
-
}
|
265
|
-
|
266
|
-
|
267
|
-
},
|
268
|
-
confirm () {
|
269
|
-
// 如果是修改的话,只修改页面上用户填写的信息
|
270
|
-
if (!this.info) {
|
271
|
-
this.model.f_online = '离线'
|
272
|
-
this.model.f_operator = this.$login.f.name
|
273
|
-
this.model.f_orgid = this.$login.f.orgid
|
274
|
-
this.model.f_filialeids = this.$login.f.orgid
|
275
|
-
this.model.f_operatorid = this.$login.f.id
|
276
|
-
this.model.f_orgname = this.$login.f.orgs
|
277
|
-
this.model.f_depid = this.$login.f.depids
|
278
|
-
this.model.f_depname = this.$login.f.deps
|
279
|
-
this.model.f_orgstr = this.$login.f.fullids
|
280
|
-
}
|
281
|
-
this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
|
282
|
-
this.$dispatch('refresh')
|
283
|
-
}).catch((error) => {
|
284
|
-
this.$dispatch('refresh')
|
285
|
-
})
|
326
|
+
}).catch((error) => {
|
327
|
+
this.$dispatch('refresh')
|
328
|
+
})
|
286
329
|
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
330
|
+
},
|
331
|
+
edit (row) {
|
332
|
+
this.model.f_terminal_number = row.f_terminal_number
|
333
|
+
this.model.f_terminal_name = row.f_terminal_name
|
334
|
+
this.model.f_bank_name = row.f_bank_name
|
335
|
+
this.model.f_machine_number = row.f_machine_number
|
336
|
+
this.model.f_mac_number = row.f_mac_number
|
337
|
+
this.model.f_address = row.f_address
|
338
|
+
this.model.f_phone = row.f_phone
|
339
|
+
this.model.f_state = row.f_state
|
340
|
+
this.model.f_comments=row.f_comments
|
341
|
+
this.model.f_param_id=row.f_param_id
|
342
|
+
// this.model.f_username=row.f_username
|
343
|
+
this.model.id = row.id
|
344
|
+
this.model.f_filialeids=row.f_filialeids
|
345
|
+
this.model.f_orgid = row.f_orgid
|
346
|
+
this.model.f_depname = row.f_depname
|
347
|
+
this.initresid = [row.f_depid]
|
348
|
+
},
|
349
|
+
initModel () {
|
350
|
+
delete this.model.id
|
351
|
+
this.model.f_terminal_number = ''
|
352
|
+
this.model.f_terminal_name = ''
|
353
|
+
this.model.f_bank_name = ''
|
354
|
+
this.model.f_machine_number = ''
|
355
|
+
this.model.f_state = '正常'
|
356
|
+
this.model.f_phone = ''
|
357
|
+
this.model.f_param_id = ''
|
358
|
+
this.model.f_address = ''
|
359
|
+
this.model.f_filialeids=''
|
360
|
+
this.model.f_orgid=''
|
361
|
+
this.model.f_comments=''
|
362
|
+
},
|
363
|
+
cancel () {
|
364
|
+
this.$dispatch('close')
|
321
365
|
}
|
322
366
|
}
|
367
|
+
}
|
323
368
|
</script>
|