apply-clients 3.3.48 → 3.3.49

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.
@@ -1,757 +1,761 @@
1
- <template>
2
- <div class="col-sm-12 col-xs-12 p-10">
3
- <accordion one-at-a-time="true">
4
- <panel :header="selectdata.defname" :is-open="true" type="primary">
5
- <app-service-view v-ref:serviceview :data="show_data" v-if="showview"></app-service-view>
6
- </panel>
7
- <panel header="拍照" :is-open="false" type="primary" v-if="selectdata.f_process_id">
8
- <app-take-pic :blobid="selectdata.f_process_id" :defname="selectdata.defname" :isdelete="true" :istakepic="true" :istype="true"></app-take-pic>
9
- </panel>
10
- </accordion>
11
- </div>
12
- </template>
13
- <script>
14
- import Vue from 'vue'
15
- import {HttpResetClass} from 'vue-client'
16
- import {isEmpty} from "../../Util";
17
- // Date格式化
18
- Date.prototype.Format = function (fmt) {
19
- var o = {
20
- 'M+': this.getMonth() + 1, // 月份
21
- 'd+': this.getDate(), // 日
22
- 'H+': this.getHours(), // 小时
23
- 'm+': this.getMinutes(), // 分
24
- 's+': this.getSeconds(), // 秒
25
- 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
26
- 'S': this.getMilliseconds() // 毫秒
27
- }
28
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
29
- for (var k in o) {
30
- if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
31
- }
32
- return fmt
33
- }
34
- export default {
35
- title: '报建流程业务控制层',
36
- props: ['selectdata'],
37
- data () {
38
- return {
39
- json_datas: null,
40
- data: null,
41
- show_data: null,
42
- showview: false,
43
- config: {}
44
- }
45
- },
46
- ready () {
47
- this.refurbish()
48
- },
49
- methods: {
50
- async refurbish() {
51
- let data = {
52
- workname: this.selectdata.processname
53
- }
54
-
55
- let res = await this.$resetpost(
56
- `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyGetConfigs`,
57
- {data: data},
58
- {resolveMsg: null, rejectMsg: '配置数据获取失败!!!'}
59
- )
60
-
61
- this.json_datas = res.data
62
- // this.json_datas = {"start_activity":"报装申请","workflow_xmlfilename":"散户报建流程","activitys":[{"title":"报装申请","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":false,"disabled":false,"required":true},{"label":"报建类型","type":"select","field":"f_apply_type","readonly":true,"required":true,"disabled":true,"placeholder":"请选择","param":true,"options":[]},{"label":"用户名称","type":"input","field":"f_user_name","readonly":false,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":false,"disabled":false,"required":true},{"label":"证件类型","type":"select","field":"f_credentials","readonly":false,"required":true,"disabled":false,"placeholder":"请选择","param":true,"options":[{"label":"身份证","value":"身份证"},{"label":"营业执照","value":"营业执照"}]},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":false,"required":true,"disabled":false},{"label":"片区","type":"select","field":"f_slice_area","readonly":false,"required":true,"disabled":false,"ready":"getSliceArea","options":[]},{"label":"地址类型","type":"select","field":"f_address_type","readonly":false,"required":true,"disabled":false,"onchange":"addressTypeChange","options":[{"label":"民用城区","value":"民用城区"},{"label":"民用农村","value":"民用农村"},{"label":"特殊城区","value":"特殊城区"},{"label":"特殊农村","value":"特殊农村"}]},{"label":"区/县","type":"select","field":"f_pcd","hidden":true,"readonly":false,"required":true,"disabled":false,"ready":"getPcd","onchange":"pcdChange","options":[]},{"label":"街道","type":"select","field":"f_street","hidden":true,"readonly":false,"required":true,"disabled":false,"onchange":"streetChange","options":[]},{"label":"小区","type":"select","field":"f_residential_area","hidden":true,"readonly":false,"required":true,"disabled":false,"options":[]},{"label":"楼号(乡/镇)","type":"input","field":"f_building","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"单元(村)","type":"input","field":"f_unit","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"楼层(组)","type":"input","field":"f_floor","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"门牌号(号)","type":"input","field":"f_room","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":false,"required":true,"disabled":false},{"label":"预约地址","type":"textarea","field":"f_order_address","rows":1,"readonly":true,"required":false,"disabled":false},{"label":"备注","type":"textarea","field":"f_apply_remarks","rows":2,"readonly":false,"required":false,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"勘察","disabled":true},{"button_name":"合同","disabled":true}],"readyEvent":"applyReadyEvent"},{"title":"勘察派工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($市场部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"现场勘察","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"勘查结果","type":"textarea","field":"f_prospecting_result","rows":2,"readonly":false,"required":true,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}]},{"title":"合同签订","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"合同编号","type":"input","field":"f_contract_number","prefix":"","suffix":null,"placeholder":"请输入","readonly":true,"required":true,"default":"this.selectdata.f_apply_num","eval":true},{"label":"合同金额","type":"number","field":"f_contract_money","placeholder":"0.00","readonly":false,"required":true,"onchange":"contractMoneyChange"},{"label":"追加金额","type":"number","field":"f_add_contract_money","placeholder":"请输入","readonly":true,"required":true,"default":0},{"label":"应交金额","type":"number","field":"f_due_money","placeholder":"请输入","readonly":true,"required":true,"default":0},{"label":"合同签订时间","type":"datepicker","field":"f_contract_date","placeholder":"请选择","readonly":false,"required":true}],"components":[{"title":"补充协议","device":"pc","name":"supplemental-agreement"},{"title":"补充协议","device":"app","name":"app-supplemental-agreement"}],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}]},{"title":"报装缴费","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"合同编号","type":"input","field":"f_contract_number","placeholder":"","readonly":true,"required":true},{"label":"合同金额","type":"number","field":"f_contract_money","placeholder":"请输入","readonly":true,"required":true},{"label":"追加款","type":"number","field":"f_add_contract_money","placeholder":"请输入","readonly":true,"required":false},{"label":"应交金额","type":"number","field":"f_due_money","placeholder":"请输入","readonly":true,"required":false},{"label":"累计缴费金额","type":"number","field":"f_cumulative_payment_money","placeholder":"请输入","readonly":true,"required":false},{"label":"未结总金额","type":"number","field":"f_surplus_money","placeholder":"请输入","readonly":true,"required":false},{"label":"付款比例","type":"input","field":"f_payment_ratio","placeholder":"请输入","readonly":true,"required":false},{"label":"累计退款金额","type":"number","field":"f_cumulative_retreat_money","placeholder":"请输入","readonly":true,"required":false,"default":0}],"components":[{"title":"缴费明细","device":"pc","name":"apply-charge-management"},{"title":"补充协议","device":"pc","name":"supplemental-agreement","mark":1},{"title":"缴费明细","device":"app","name":"app-charge-management"},{"title":"补充协议","device":"app","name":"app-supplemental-agreement","mark":1}],"buttons":[{"button_name":"保存"},{"before":"chargeBefore","button_name":"提交","disabled":true}]},{"title":"工程派工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false}],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"工程施工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":false,"required":true,"disabled":false,"default":"this.$login.f.name","eval":true},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":false,"required":true,"disabled":false},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":false,"required":true,"disabled":false,"param":false,"options":[{"label":"入户","value":"入户"},{"label":"热水器","value":"热水器"},{"label":"壁挂炉","value":"壁挂炉"}]},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":false,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":false,"required":false,"disabled":false}],"onetomany":[{"title":"材料明细","hidden":false,"tables":["t_material_list"],"hiddenOperate":false,"modalSize":"large","addHidden":false,"addStyle":null,"deleteHidden":false,"deleteText":"删除","deleteMessage":null,"updateHidden":false,"updateText":"修改","fields":[{"label":"材料名称","type":"input","field":"f_material_name","placeholder":"请输入","readonly":false,"required":true},{"label":"材料型号","type":"input","field":"f_material_style","placeholder":"请输入","readonly":false,"required":true},{"label":"材料价格","type":"number","field":"f_material_price","placeholder":"请输入","readonly":false,"required":true},{"label":"材料单位","type":"input","field":"f_material_unit","placeholder":"请输入","readonly":false,"required":true},{"label":"材料数量","type":"number","field":"f_material_number","placeholder":"请输入","readonly":false,"required":true},{"label":"材料备注","type":"input","field":"f_material_remarks","placeholder":"请输入","readonly":false,"required":false}]}],"components":[{"title":"安装明细","device":"pc","name":"installation-details"},{"title":"安装明细","device":"app","name":"app-installation-details"},{"title":"用气设备","device":"pc","name":"apply-devices-management"},{"title":"用气设备","device":"app","name":"app-apply-devices-management"}],"buttons":[{"button_name":"保存"},{"before":"constructionBefore","button_name":"提交","disabled":true}]},{"title":"点火派单","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":true,"required":true,"disabled":false},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":true,"required":true,"disabled":true},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":true,"required":true,"disabled":true,"param":false,"options":[{"label":"入户","value":"入户"},{"label":"热水器","value":"热水器"},{"label":"壁挂炉","value":"壁挂炉"}]},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":true,"required":false,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($运营部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"通气点火","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":true,"required":true,"disabled":false},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":true,"required":true,"disabled":true},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":true,"required":true,"disabled":true,"param":true},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":true,"required":false,"disabled":false},{"label":"点火人","type":"input","field":"f_igniter_people","readonly":true,"required":true,"disabled":false,"default":"this.$login.f.name","eval":true},{"label":"通气时间","type":"datepicker","field":"f_ventilate_date","readonly":true,"required":true,"disabled":true,"default":true},{"label":"通气情况","type":"textarea","field":"f_gas_result","readonly":false,"required":true,"disabled":true,"rows":"7","default":"客户如认可以下内容请签字,如有不认可之处请说明情况\n1、气密性检测合格,已对各接口处进行查漏无泄漏\n2、燃气表运转正常并告知用户。灶具点火测试正常。使用金属波纹管\n3、已向用户讲解安全常识及注意事项。发放《用户使用手册》并张贴提示标签\n4、灶具品牌 油烟机品牌\n5、热水器品牌 壁挂炉品牌\n6、金属波纹品牌。"},{"label":"通气备注","type":"textarea","field":"f_gas_result","readonly":false,"required":false,"disabled":false},{"label":"是否购买保险","type":"select","field":"f_is_insure","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[{"label":"是","value":"是"},{"label":"否","value":"否"}],"default":"是","onchange":"isInsureChange"},{"label":"保费开始日期","type":"datepicker","field":"f_ins_start_date","readonly":false,"required":true,"disabled":false,"default":true,"format":"yyyy-MM-dd","hidden":true},{"label":"保费结束日期","type":"datepicker","field":"f_ins_expiration_date","readonly":false,"required":true,"disabled":false,"hidden":true},{"label":"险种","type":"select","field":"f_insurance_type","readonly":false,"disabled":false,"required":true,"options":[],"param":true,"hidden":true},{"label":"保费金额","type":"number","field":"f_insurance_money","placeholder":"请输入","readonly":false,"required":true,"hidden":true},{"label":"保险备注","type":"textarea","field":"f_ins_comments","rows":2,"readonly":false,"required":false,"disabled":false,"hidden":true}],"components":[{"title":"安装明细","device":"pc","name":"installation-details"},{"title":"安装明细","device":"app","name":"app-installation-details"},{"title":"用气设备","device":"pc","name":"apply-devices-management"},{"title":"用气设备","device":"app","name":"app-apply-devices-management"}],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}],"readyEvent":"gasReadyEvent"},{"title":"完工","tables":["t_apply"],"fields":[{"label":"完工","type":"input","field":"f_successful","disabled":true,"value":"---success---"}]}]}
63
-
64
- let sum = 0
65
- let jsonData = {}
66
- if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length === 0) {
67
- this.$showMessage("网络故障,请刷新页面")
68
- return
69
- }
70
- this.json_datas.activitys.forEach(item => {
71
- if (this.selectdata.defname === item.title) {
72
- jsonData = item // 拿到当前节点的json配置信息
73
- sum++ // 节点名一样的个数
74
- }
75
- return this.selectdata.defname === item.title // 拿到当前节点的json配置信息
76
- })
77
-
78
- if (sum === 0) {
79
- this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
80
- return
81
- }
82
- if (sum > 1) {
83
- this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
84
- return
85
- }
86
-
87
- this.selectdata = Object.assign({}, this.selectdata, jsonData)
88
-
89
- // fields 字段填充值
90
- for (const item of this.selectdata.fields) {
91
- if (!item.value) {
92
- item.value = null
93
- }
94
-
95
- if (!item.value && (item.default || item.default === 0) && item.type !== 'datepicker') {
96
- if (item.eval) {
97
- let user = Vue.user
98
- // 将PC用户信息 替换成 APP的
99
- item.value = eval(item.default.replace('this.$login.f', 'user'))
100
- } else {
101
- item.value = item.default
102
- }
103
- }
104
-
105
- if (this.selectdata[item.field]) {
106
- // 将json字符串格式化赋值给value
107
- if (String(this.selectdata[item.field]).startsWith("{")) {
108
- item.value = JSON.parse(this.selectdata[item.field])
109
- } else {
110
- item.value = this.selectdata[item.field]
111
- }
112
- }
113
- if (this.selectdata[item.field] === 0) {
114
- item.value = 0
115
- }
116
-
117
- // datepicker
118
- if (item.type === 'datepicker' && !item.value && item.default) {
119
- item.value = new Date().Format(`${item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'}`)
120
- }
121
-
122
- // 如果配置类型为select,优先从参数列表获取options
123
- if (item.type === 'select' || item.type === 'checkbox') {
124
- if (item.param) {
125
- let temp = this.$appdata.getParam(item.label)
126
-
127
- if (temp && temp.length > 0) {
128
- item.options = temp
129
- }
130
-
131
- if (item.paramLabel) {
132
- temp = this.$appdata.getParam(item.paramLabel)
133
- if (temp && temp.length > 0) {
134
- item.options = temp
135
- }
136
- }
137
- }
138
-
139
- if (item.ready) {
140
- item.options = await this[item.ready]()
141
- }
142
- }
143
-
144
-
145
- if (item.type === 'checkbox') {
146
- if (this.selectdata[item.field]) {
147
- item.value = JSON.parse(this.selectdata[item.field])
148
- } else {
149
- item.value = []
150
- }
151
- }
152
- }
153
-
154
- // 控制组件
155
- if (this.selectdata.components) {
156
- this.selectdata.components.forEach(item => {
157
- if (!item.mark) {
158
- item.mark = 0
159
- }
160
- })
161
- }
162
-
163
- // 初始化onetomany
164
- if (this.selectdata.onetomany) {
165
- for (const item of this.selectdata.onetomany) {
166
- let res = null
167
- if (item.queryEvent) {
168
- res = this[item.queryEvent]()
169
- } else {
170
- let http = new HttpResetClass()
171
- let data = {
172
- tablename: item.tables[0],
173
- condition: `f_process_id='${this.selectdata.f_process_id}'`
174
- }
175
- res = await http.load(
176
- 'POST',
177
- `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
178
- // `rs/sql/singleTable`,
179
- {data: data},
180
- {resolveMsg: null, rejectMsg: 'onetomany查询失败'}
181
- )
182
- }
183
-
184
- item.rows = res.data
185
-
186
- // 初始化onetomany中的fields
187
- for (const field of item.fields) {
188
- if (!field.value) {
189
- if (field.value !== 0) {
190
- field.value = null
191
- }
192
- }
193
-
194
- if (field.default || field.default === 0) {
195
- field.value = field.default
196
- }
197
-
198
- // datepicker
199
- if (field.type === 'datepicker' && !field.value && field.default) {
200
- field.value = new Date().Format(`${field.format ? field.format : 'yyyy-MM-dd HH:mm:ss'}`)
201
- }
202
-
203
- if (field.type === 'select') {
204
-
205
- if (field.param) {
206
- let temp = this.$appdata.getParam(field.label)
207
-
208
- if (temp && temp.length > 0) {
209
- field.options = temp
210
- }
211
-
212
- if (field.paramLabel) {
213
- temp = this.$appdata.getParam(field.paramLabel)
214
- if (temp && temp.length > 0) {
215
- item.options = temp
216
- }
217
- }
218
- }
219
-
220
- }
221
- }
222
- }
223
- }
224
-
225
- // 初始化 buttons_fields
226
- for (const item of this.selectdata.buttons) {
227
- if (item.button_name === '下发') {
228
- let data = {
229
- source: item.source,
230
- userid: Vue.user.id
231
- // userid: '51953'
232
- }
233
- if (item.sourceMethod) {
234
- data.source = this[item.sourceMethod]()
235
- }
236
- if (!data.source) {
237
- this.$showMessage("请配置获取人员表达式")
238
- return
239
- }
240
- let res = await this.$resetpost(
241
- `${this.$androidUtil.getProxyUrl()}/rs/search`,
242
- // `rs/search`,
243
- {data: data},
244
- {resolveMsg: null, rejectMsg: '下发人员查询失败!!!'}
245
- )
246
-
247
- let options = res.data.map(source => {
248
- return {
249
- "label": source.name,
250
- "value": source.id
251
- }
252
- })
253
-
254
- if (item.button_fields.length !== 1) {
255
- this.$showMessage("下发有且只能有一个字段!!!")
256
- return
257
- }
258
-
259
- item.button_fields[0].options = options
260
- }
261
- if (item.button_fields) {
262
- item.button_fields.forEach(x => {
263
- // 如果配置类型为select,优先从参数列表获取options
264
- if (x.type === 'select') {
265
-
266
- if (x.param) {
267
- let temp = this.$appdata.getParam(x.label)
268
-
269
- if (temp && temp.length > 0) {
270
- x.options = temp
271
- }
272
-
273
- if (x.paramLabel) {
274
- temp = this.$appdata.getParam(x.paramLabel)
275
- if (temp && temp.length > 0) {
276
- x.options = temp
277
- }
278
- }
279
- }
280
-
281
- }
282
- })
283
- }
284
- }
285
-
286
- // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
287
- let temp = JSON.parse(JSON.stringify(this.selectdata))
288
-
289
- this.show_data = temp
290
- this.$nextTick(() => {
291
- this.showview = true
292
- })
293
- },
294
- // 金额转大写
295
- smalltoBIG(n) {
296
- let fraction = ['角', '分'];
297
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
298
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
299
- let head = n < 0 ? '欠' : '';
300
- n = Math.abs(n);
301
-
302
- let s = '';
303
-
304
- for (var i = 0; i < fraction.length; i++) {
305
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
306
- }
307
- s = s || '整';
308
- n = Math.floor(n);
309
-
310
- for (var i = 0; i < unit[0].length && n > 0; i++) {
311
- let p = '';
312
- for (var j = 0; j < unit[1].length && n > 0; j++) {
313
- p = digit[n % 10] + unit[1][j] + p;
314
- n = Math.floor(n / 10);
315
- }
316
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
317
- }
318
- return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
319
- },
320
- getLableValue(label) {
321
- for (const item of this.show_data.fields) {
322
- if (item.label === label && item.type !== 'number') {
323
- return item.value || ''
324
- }
325
- if (item.label === label && item.type === 'number') {
326
- return item.value || 0
327
- }
328
- }
329
- },
330
- getLableOptions(label) {
331
- for (const item of this.show_data.fields) {
332
- if (item.label === label) {
333
- return item.options
334
- }
335
- }
336
- },
337
- setLabelValue(label, value) {
338
- for (const item of this.show_data.fields) {
339
- if (item.label === label) {
340
- item.value = value
341
- this.show_data[item.field] = value
342
- }
343
- }
344
- },
345
- setLabelOptions(label, options) {
346
- for (const item of this.show_data.fields) {
347
- if (item.label === label) {
348
- item.options = options
349
- }
350
- }
351
- },
352
- async checkDuplicate(index) {
353
- let http = new HttpResetClass()
354
- let data = {
355
- tablename: 't_apply',
356
- condition: `${this.show_data.fields[index].field} = '${this.show_data.fields[index].value}'`
357
- }
358
- let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
359
- resolveMsg: null,
360
- rejectMsg: `${this.show_data.fields[index].label}查询失败`
361
- })
362
- if (res.data.length > 0) {
363
- this.show_data.fields[index].value = null
364
- this.$showAlert(`${this.show_data.fields[index].label}已存在!!!`, 'warning', 3000)
365
- }
366
- },
367
- async breakControl () {
368
- if (this.show_data.id) {
369
- let data = {
370
- condition: `u.id = ${this.show_data.id}`,
371
- data: {
372
- id: Vue.user.id,
373
- orgid: Vue.user.orgid
374
- // id: '51953',
375
- // orgid: '10101'
376
- }
377
- }
378
- let res = await this.$resetpost(
379
- `${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`,
380
- // `rs/sql/checkuser`,
381
- {data: data},
382
- {resolveMsg: null, rejectMsg: '数据更新失败,请手查询更新!!!'}
383
- )
384
-
385
- this.selectdata = res.data[0]
386
- } else {
387
- this.selectdata = servicedata
388
- }
389
-
390
- this.refurbish()
391
- },
392
- // 缴费前置
393
- chargeBefore () {
394
- if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {
395
- this.$showAlert('费用未结清!!!', 'warning', 3000)
396
- throw null
397
- }
398
- },
399
- // 施工前置
400
- async constructionBefore () {
401
- let http = new HttpResetClass()
402
- let data = {
403
- condition: `ui.f_process_id = '${this.show_data.f_process_id}' and uf.f_table_state = '待开通'`
404
- }
405
- let res = await http.load(
406
- 'POST',
407
- `${this.$androidUtil.getProxyUrl()}/rs/sql/countApplyUserinfo`,
408
- {data: data},
409
- {
410
- resolveMsg: null,
411
- rejectMsg: '安装明细查询失败!!!'
412
- })
413
- if (res.data[0].num > 0) {
414
- this.$showAlert(`还有${res.data[0].num}户未安装,无法提交`, 'warning', 3000)
415
- throw `还有${res.data[0].num}户未安装,无法提交`
416
- }
417
- },
418
- changePipeBuild () {
419
- if (this.selectdata.f_process_dep === '工程部') {
420
- return 'this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()'
421
- }
422
- if (this.selectdata.f_process_dep === '运营部') {
423
- return 'this.getParentByType($organization$).getChildByName($运营部报装$).getChildren()'
424
- }
425
- return 'this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()'
426
- },
427
- async getPrice (f_price_id) {
428
- console.log('=======================')
429
- console.log(f_price_id)
430
-
431
- let data = {
432
- condition: `sp.f_orgid = '${Vue.user.orgid}'`
433
- }
434
-
435
- if (!isEmpty(f_price_id)) {
436
- data.condition = `sp.f_orgid = '${Vue.user.orgid}' and sp.f_price_id = ${f_price_id}`
437
- }
438
- let http = new HttpResetClass()
439
- let res = await http.load(
440
- 'POST',
441
- `${this.$androidUtil.getProxyUrl()}/rs/sql/applyGetPrice`,
442
- {data: data},
443
- {resolveMsg: null, rejectMsg: '气价查询失败!!!'}
444
- )
445
-
446
- return res.data.map(item => {
447
- return {
448
- label: item.f_price_name,
449
- value: item
450
- }
451
- })
452
- }
453
- },
454
- events: {
455
- 'breakControl' () {
456
- this.breakControl()
457
- },
458
- // 检查重复
459
- 'checkRepeat' (index) {
460
- this.checkDuplicate(index)
461
- },
462
- // 选择材料
463
- async materialNameChenge (index, fieldIndex) {
464
- let material = this.show_data.onetomany[index].fields[fieldIndex].value
465
-
466
- this.show_data.onetomany[index].fields.forEach(item => {
467
- if (material[item.field]) {
468
- item.value = material[item.field]
469
- }
470
- })
471
- },
472
- // 打开模态框获取材料
473
- async 'getMaterialName' (index) {
474
- let data = {
475
- condition: `1=1`
476
- }
477
- let http = new HttpResetClass()
478
- let res = await http.load(
479
- 'POST',
480
- `${this.$androidUtil.getProxyUrl()}/rs/sql/getStockMaterial`,
481
- {data: data},
482
- {resolveMsg: null, rejectMsg: '材料查询失败!!!'}
483
- )
484
-
485
- this.show_data.onetomany[index].fields.forEach(field => {
486
- if (field.label === '选择材料') {
487
- field.options = res.data.map(item => {
488
- return {
489
- 'label': `${item.f_material_name}--${item.f_material_style}--${item.f_material_unit}`,
490
- 'value': item
491
- }
492
- })
493
- }
494
- })
495
- },
496
- // 选择气价
497
- 'priceChange' (index) {
498
- if (isEmpty(this.show_data.stairPrice)) {
499
- return
500
- }
501
-
502
- let stairPrice = this.getLableValue('气价名称')
503
-
504
- this.setLabelValue('气价类型', stairPrice.f_price_type)
505
- this.setLabelValue('用气性质', stairPrice.f_gasproperties)
506
- this.setLabelValue('价格', stairPrice.f_price)
507
- this.setLabelValue('客户类型', stairPrice.f_user_type)
508
-
509
- this.show_data.f_price_id = stairPrice.f_price_id
510
- this.show_data.f_price_name = stairPrice.f_price_name
511
- },
512
- // 是否购买保险
513
- isInsureChange (index) {
514
- let f_is_insure = this.getLableValue('是否购买保险')
515
- for (const item of this.show_data.fields) {
516
- if (f_is_insure === '是') {
517
- if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额') {
518
- item.hidden = false
519
- item.required = true
520
- }
521
- if (item.label === '保险备注') {
522
- item.hidden = false
523
- }
524
- } else {
525
- if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
526
- item.hidden = true
527
- item.required = false
528
- }
529
- }
530
- }
531
- },
532
- // 通气点火初始化
533
- async 'gasReadyEvent' () {
534
- if (!isEmpty(this.show_data.f_price_id)) {
535
- let priceList = await this.getPrice(this.show_data.f_price_id)
536
- this.setLabelValue('气价名称', priceList[0].value)
537
- }
538
-
539
- let data = {
540
- tablename: 't_userfees',
541
- condition: `f_orgid = '${Vue.user.orgid}' and f_userinfo_id = '${this.show_data.f_userinfo_id}' and f_state = '待执行'`
542
- }
543
- let http = new HttpResetClass()
544
- let res = await http.load(
545
- 'POST',
546
- `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
547
- {data: data},
548
- {resolveMsg: null, rejectMsg: '保险查询失败!!!'}
549
- )
550
- if (res.data.length > 0) {
551
- this.setLabelValue('待执行保险', '是')
552
- for (const item of this.show_data.fields) {
553
- if (item.label === '保费开始日期' || item.label === '是否购买保险' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
554
- item.hidden = true
555
- item.required = false
556
- item.value = null
557
- }
558
- }
559
- } else {
560
- this.setLabelValue('待执行保险', '否')
561
- for (const item of this.show_data.fields) {
562
- if (item.label === '是否购买保险' || item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
563
- item.hidden = false
564
- item.required = true
565
- }
566
- }
567
- }
568
-
569
- // 初始化显示内容
570
- let f_is_insure = this.getLableValue('是否购买保险')
571
- for (const item of this.show_data.fields) {
572
- if (f_is_insure === '是') {
573
- if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额') {
574
- item.hidden = false
575
- item.required = true
576
- }
577
- if (item.label === '保险备注') {
578
- item.hidden = false
579
- }
580
- // 本期保费到期时间默认一年
581
- if (isEmpty(this.selectdata.f_ins_expiration_date)) {
582
- let f_ins_expiration_date = new Date().setFullYear(new Date().getFullYear() + 1)
583
- this.setLabelValue("保费结束日期", new Date(f_ins_expiration_date).Format('yyyy-MM-dd'))
584
- }
585
- }
586
- if (f_is_insure === '否') {
587
- if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
588
- item.hidden = true
589
- item.required = false
590
- }
591
- }
592
- }
593
- },
594
- // 合同金额失去焦点
595
- async 'contractMoneyChange' (index) {
596
- let data = {
597
- operator: '+',
598
- num1: this.show_data.f_contract_money || 0,
599
- num2: this.getLableValue('追加金额') || 0
600
- }
601
- let res = await this.$resetpost(
602
- `${this.$androidUtil.getProxyUrl()}/rs/logic/compute`,
603
- {data: data},
604
- {resolveMsg: null, rejectMsg: '金额计算失败!!!'}
605
- )
606
-
607
- this.setLabelValue('应交金额', res.data)
608
- },
609
- // ===========================================
610
- async 'button'() {
611
- if (this.show_data.button.before) {
612
- await this[this.show_data.button.before]()
613
- }
614
- // 点击重置按钮就重置数据
615
- if (this.show_data.button.button_name === '重置') {
616
- this.$dispatch('breakControl', this.selectdata)
617
- return
618
- }
619
-
620
- this.show_data.user = Vue.user
621
- // this.show_data.user = {"f_show_department_name":"","parentname":"市场部","functions":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"客服系统","icon":"/images/lefticon/档案管理.png","hasright":false,"resourcetype":"function","parentid":"27","children":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"city-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"231","name":"街道管理","templatename":"functionedit","id":"230","position":"1","fullname":"资源管理.功能模块.客服系统.档案管理.街道管理","fullid":"3.21.27.212.230","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"area-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"219","name":"小区管理","templatename":"functionedit","id":"218","position":"3","fullname":"资源管理.功能模块.客服系统.档案管理.小区管理","fullid":"3.21.27.212.218","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"address-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"33664","name":"地址管理","templatename":"functionedit","id":"33663","position":"5","fullname":"资源管理.功能模块.客服系统.档案管理.地址管理","fullid":"3.21.27.212.33663","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"file-user-files","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"237","name":"用户档案","templatename":"functionedit","id":"236","position":"5","fullname":"资源管理.功能模块.客服系统.档案管理.用户档案","fullid":"3.21.27.212.236","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"档案管理","link":"file-user-files-new","hasright":true,"resourcetype":"function","parentid":"212","f_parentname":"档案管理","children":[],"selfid":"39450","name":"预备户管理","templatename":"functionedit","id":"39449","position":"6","fullname":"资源管理.功能模块.客服系统.档案管理.预备户管理","fullid":"3.21.27.212.39449","tablename":"t_function"}],"selfid":"213","name":"档案管理","templatename":"functionedit","id":"212","position":"2","fullname":"资源管理.功能模块.客服系统.档案管理","fullid":"3.21.27.212","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"客服系统","icon":"/images/lefticon/报建系统.png","hasright":true,"resourcetype":"function","parentid":"27","f_parentname":"客服系统","children":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"install-function","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34680","name":"功能业务","templatename":"functionedit","id":"34679","position":"1","fullname":"资源管理.功能模块.客服系统.报建业务.功能业务","fullid":"3.21.27.34673.34679","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"exploration-user","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34686","name":"流程业务","templatename":"functionedit","id":"34685","position":"2","fullname":"资源管理.功能模块.客服系统.报建业务.流程业务","fullid":"3.21.27.34673.34685","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"supervisory-control","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34692","name":"流程监控","templatename":"functionedit","id":"34691","position":"3","fullname":"资源管理.功能模块.客服系统.报建业务.流程监控","fullid":"3.21.27.34673.34691","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"apply-charge-search","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34698","name":"收费明细","templatename":"functionedit","id":"34697","position":"4","fullname":"资源管理.功能模块.客服系统.报建业务.收费明细","fullid":"3.21.27.34673.34697","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"order-apply","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34704","name":"预约申请","templatename":"functionedit","id":"34703","position":"5","fullname":"资源管理.功能模块.客服系统.报建业务.预约申请","fullid":"3.21.27.34673.34703","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"stop-apply","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34710","name":"终止报建","templatename":"functionedit","id":"34709","position":"6","fullname":"资源管理.功能模块.客服系统.报建业务.终止报建","fullid":"3.21.27.34673.34709","tablename":"t_function"}],"selfid":"34674","name":"报建业务","templatename":"functionedit","id":"34673","position":"12","fullname":"资源管理.功能模块.客服系统.报建业务","fullid":"3.21.27.34673","tablename":"t_function"}],"qrcode":"/rs/user/getQRcode?QRCODE=12b2-1631604191812-03447","rolesnames":"营业厅报装,市场部报装,设计部报装,工程部报装,运营部报装,财务部报装,角色监控","roles":"51383,51485,51707,51767,51833,51905,52289","f_sex":"男","f_icon":"tree_user","fullnames":"河南亿星集团实业有限公司.周口市天然气有限公司.市场部.报建测试","dir":"ZhouKou","userid":"12b2-1631604191812-03447","accesstime":"1632214307117","parentid":"46545","f_show_rolestr":"","fullids":"30463.10101.46545.51953.","number":"10101","f_dep_id":"1010101201","f_idnumber":null,"selfid":"51954","templatename":"useredit","logindate":"2021-09-14 18:46:54","id":"51953","state":"在职","tablename":"t_user","deptype":"部门","depids":"46545","loginid":"15","imgid":null,"f_user_telephone":null,"rolestr":"营业厅报装,市场部报装,设计部报装,工程部报装,运营部报装,财务部报装,角色监控","deps":"市场部","loginnum":"0","f_age":null,"resourcetype":"user","orgid":"10101","f_department_name":"周口市场部","ename":"bjcs","deleted":"false","entitytype":"t_user","f_description":null,"loginip":"192.168.66.37","name":"报建测试","position":"1","orgs":"周口市天然气有限公司","haslicense":true,"f_role_name":"营业厅报装 市场部报装 设计部报装 工程部报装 运营部报装 财务部报装 角色监控 ","f_allArea":[],"f_gasman":[{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15294978548","rolestr":"抄表员","resourcetype":"user","userid":"100814","parentid":"46581","f_department_name":"周口客服部","ename":"100814","password":"1","deleted":"false","entitytype":"t_user","selfid":"100814","name":"高雪荣","templatename":"useredit","id":"100814","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"qrcode":"/rs/user/getQRcode?QRCODE=004","roles":"51959","f_sex":"男","f_icon":"tree_user","userid":"004","accesstime":"1631765198067","parentid":"46581","password":"1","selfid":"59044","templatename":"useredit","id":"59043","state":"在职","tablename":"t_user","loginid":"15","rolestr":"抄表员","resourcetype":"user","f_department_name":"周口客服部","ename":"cbcs","deleted":"false","entitytype":"t_user","loginip":"10.10.10.1","name":"抄表测试","position":"23","haslicense":"true","f_role_name":"抄表员 "},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18538602709","rolestr":"抄表员","resourcetype":"user","userid":"100462","parentid":"46581","f_department_name":"周口客服部","ename":"100462","password":"1","deleted":"false","entitytype":"t_user","selfid":"100462","name":"刘林静","templatename":"useredit","id":"100462","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18839409830","rolestr":"抄表员","resourcetype":"user","userid":"100528","parentid":"46581","f_department_name":"周口客服部","ename":"100528","password":"1","deleted":"false","entitytype":"t_user","selfid":"100528","name":"秦春梅","templatename":"useredit","id":"100528","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13243376616","rolestr":"抄表员","resourcetype":"user","userid":"102935","parentid":"46581","f_department_name":"周口客服部","ename":"102935","password":"1","deleted":"false","entitytype":"t_user","selfid":"102935","name":"石磊","templatename":"useredit","id":"102935","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18538602706","rolestr":"抄表员","resourcetype":"user","userid":"100818","parentid":"46581","f_department_name":"周口客服部","ename":"100818","password":"1","deleted":"false","entitytype":"t_user","selfid":"100818","name":"白静","templatename":"useredit","id":"100818","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15294991670","rolestr":"抄表员","resourcetype":"user","userid":"102934","parentid":"46581","f_department_name":"周口客服部","ename":"102934","password":"1","deleted":"false","entitytype":"t_user","selfid":"102934","name":"郭新胜","templatename":"useredit","id":"102934","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15036438918","rolestr":"抄表员","resourcetype":"user","userid":"103392","accesstime":"1631757950369","parentid":"46581","f_department_name":"周口客服部","ename":"103392","password":"1","deleted":"false","entitytype":"t_user","loginip":"10.10.10.1","selfid":"103392","name":"牛永胜","templatename":"useredit","id":"103392","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13592232789","rolestr":"抄表员","resourcetype":"user","userid":"100337","parentid":"46581","f_department_name":"周口客服部","ename":"100337","password":"1","deleted":"false","entitytype":"t_user","selfid":"100337","name":"王雪丽","templatename":"useredit","id":"100337","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"17796528119","rolestr":"抄表员","resourcetype":"user","userid":"101021","parentid":"46581","f_department_name":"周口客服部","ename":"101021","password":"1","deleted":"false","entitytype":"t_user","selfid":"101021","name":"张书荣","templatename":"useredit","id":"101021","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18839409832","rolestr":"抄表员","resourcetype":"user","userid":"100330","parentid":"46581","f_department_name":"周口客服部","ename":"100330","password":"1","deleted":"false","entitytype":"t_user","selfid":"100330","name":"武文平","templatename":"useredit","id":"100330","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13839441227","rolestr":"抄表员","resourcetype":"user","userid":"100871","parentid":"46581","f_department_name":"周口客服部","ename":"100871","password":"1","deleted":"false","entitytype":"t_user","selfid":"100871","name":"李明磊","templatename":"useredit","id":"100871","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"}],"lics":[]}
622
- this.show_data.start_activity = this.json_datas.start_activity
623
- this.show_data.xmlfilename = this.json_datas.workflow_xmlfilename
624
-
625
- let res = await this.$resetpost(
626
- // `rs/logic/ApplyProductService`,
627
- `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyProductService`,
628
- {data: this.show_data},
629
- {resolveMsg: null, rejectMsg: '数据保存失败'}
630
- )
631
-
632
- if (this.show_data.button.after) {
633
- this[this.show_data.button.after]()
634
- }
635
- // 返回上层
636
- this.$dispatch('confirm')
637
- },
638
- // 失去焦点出触发事件
639
- 'onchange' (index) {
640
- if (this.show_data.defname === '报装申请') {
641
- if (
642
- this.show_data.fields[index].label === '街道' ||
643
- this.show_data.fields[index].label === '小区' ||
644
- this.show_data.fields[index].label === '楼号(乡/镇)' ||
645
- this.show_data.fields[index].label === '单元(村)' ||
646
- this.show_data.fields[index].label === '楼层(组)' ||
647
- this.show_data.fields[index].label === '门牌号(号)'
648
- ) {
649
-
650
- let f_street = this.getLableValue('街道')
651
- let f_residential_area = this.getLableValue('小区')
652
- let f_building = this.getLableValue('楼号(乡/镇)')
653
- let f_building_suffix = f_building ? this.config.f_building_suffix : ''
654
- let f_unit = this.getLableValue('单元(村)')
655
- let f_unit_suffix = f_unit ? this.config.f_unit_suffix : ''
656
- let f_floor = this.getLableValue('楼层()')
657
- let f_floor_suffix = f_floor ? this.config.f_floor_suffix : ''
658
- let f_room = this.getLableValue('门牌号()')
659
- let f_room_suffix = f_room ? this.config.f_room_suffix : ''
660
-
661
- let f_address = null
662
-
663
- let f_address_type = this.show_data.f_address_type
664
- if (f_address_type === '民用城区') {
665
- f_address = f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix
666
- }
667
- if (f_address_type === '民用农村') {
668
- f_address = f_building + f_unit + f_floor + f_room
669
- }
670
- if (f_address_type === '特殊城区') {
671
- f_address = f_street + f_residential_area
672
- }
673
- this.setLabelValue("地址", f_address)
674
- }
675
- }
676
- },
677
- 'onblur' (index) {},
678
- 'oninput' (index) {},
679
- 'initializtionView' () {},
680
- async 'onchangeModal' (index, fieldIndex) {
681
- },
682
- async 'onblurModal' (index, fieldIndex) {
683
-
684
- },
685
- async 'oninputModal' (index, fieldIndex) {
686
-
687
- },
688
- async 'onetomanydelete' (index, rowIndex) {
689
-
690
- let http = new HttpResetClass()
691
-
692
- let res = await http.load(
693
- 'DELETE',
694
- `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}/${this.show_data.onetomany[index].rows[rowIndex].id}`,
695
- null,
696
- {resolveMsg: null, rejectMsg: '删除失败!!!'}
697
- )
698
- res = await this.$resetpost(
699
- `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
700
- this.show_data
701
- )
702
- this.breakControl()
703
- },
704
- async 'onetomanyupdate' (index, rowIndex) {
705
- let data = this.show_data.onetomany[index].rows[rowIndex]
706
-
707
- this.show_data.onetomany[index].fields.forEach(item => {
708
- data[item.field] = item.value
709
- })
710
- let res = await this.$resetpost(
711
- `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
712
- data
713
- )
714
- res = await this.$resetpost(
715
- `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
716
- this.show_data
717
- )
718
- this.breakControl()
719
- },
720
- async 'onetomanyadd' (index) {
721
- let data = {
722
- f_process_id : this.show_data.f_process_id,
723
- f_operator_id: Vue.user.id,
724
- f_operator: Vue.user.name,
725
- f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
726
- f_orgid: Vue.user.orgid,
727
- f_orgname: Vue.user.orgs
728
- }
729
- this.show_data.onetomany[index].fields.forEach(item => {
730
- data[item.field] = item.value
731
- })
732
- let res = await this.$resetpost(
733
- `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
734
- data
735
- )
736
- res = await this.$resetpost(
737
- `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
738
- this.show_data
739
- )
740
- this.breakControl()
741
- },
742
- 'onbutchange' (index) {
743
-
744
- },
745
- 'onbutblur' (index) {
746
-
747
- },
748
- 'onbutinput' (index) {
749
-
750
- }
751
- },
752
- watch: {
753
- }
754
- }
755
- </script>
756
- <style scoped>
757
- </style>
1
+ <template>
2
+ <div class="col-sm-12 col-xs-12 p-10">
3
+ <accordion one-at-a-time="true">
4
+ <panel :header="selectdata.defname" :is-open="true" type="primary">
5
+ <app-service-view v-ref:serviceview :data="show_data" v-if="showview"></app-service-view>
6
+ </panel>
7
+ <panel header="拍照" :is-open="false" type="primary" v-if="selectdata.f_process_id">
8
+ <app-take-pic :blobid="selectdata.f_process_id" :defname="selectdata.defname" :isdelete="true" :istakepic="true" :istype="true"></app-take-pic>
9
+ </panel>
10
+ </accordion>
11
+ </div>
12
+ </template>
13
+ <script>
14
+ import Vue from 'vue'
15
+ import {HttpResetClass} from 'vue-client'
16
+ import {isEmpty} from "../../Util";
17
+ // Date格式化
18
+ Date.prototype.Format = function (fmt) {
19
+ var o = {
20
+ 'M+': this.getMonth() + 1, // 月份
21
+ 'd+': this.getDate(), // 日
22
+ 'H+': this.getHours(), // 小时
23
+ 'm+': this.getMinutes(), // 分
24
+ 's+': this.getSeconds(), // 秒
25
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
26
+ 'S': this.getMilliseconds() // 毫秒
27
+ }
28
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
29
+ for (var k in o) {
30
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
31
+ }
32
+ return fmt
33
+ }
34
+ export default {
35
+ title: '报建流程业务控制层',
36
+ props: ['selectdata'],
37
+ data () {
38
+ return {
39
+ json_datas: null,
40
+ data: null,
41
+ show_data: null,
42
+ showview: false,
43
+ config: {}
44
+ }
45
+ },
46
+ ready () {
47
+ this.refurbish()
48
+ },
49
+ methods: {
50
+ async refurbish() {
51
+ let data = {
52
+ workname: this.selectdata.processname
53
+ }
54
+
55
+ let res = await this.$resetpost(
56
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyGetConfigs`,
57
+ {data: data},
58
+ {resolveMsg: null, rejectMsg: '配置数据获取失败!!!'}
59
+ )
60
+
61
+ this.json_datas = res.data
62
+ // this.json_datas = {"start_activity":"报装申请","workflow_xmlfilename":"散户报建流程","activitys":[{"title":"报装申请","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":false,"disabled":false,"required":true},{"label":"报建类型","type":"select","field":"f_apply_type","readonly":true,"required":true,"disabled":true,"placeholder":"请选择","param":true,"options":[]},{"label":"用户名称","type":"input","field":"f_user_name","readonly":false,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":false,"disabled":false,"required":true},{"label":"证件类型","type":"select","field":"f_credentials","readonly":false,"required":true,"disabled":false,"placeholder":"请选择","param":true,"options":[{"label":"身份证","value":"身份证"},{"label":"营业执照","value":"营业执照"}]},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":false,"required":true,"disabled":false},{"label":"片区","type":"select","field":"f_slice_area","readonly":false,"required":true,"disabled":false,"ready":"getSliceArea","options":[]},{"label":"地址类型","type":"select","field":"f_address_type","readonly":false,"required":true,"disabled":false,"onchange":"addressTypeChange","options":[{"label":"民用城区","value":"民用城区"},{"label":"民用农村","value":"民用农村"},{"label":"特殊城区","value":"特殊城区"},{"label":"特殊农村","value":"特殊农村"}]},{"label":"区/县","type":"select","field":"f_pcd","hidden":true,"readonly":false,"required":true,"disabled":false,"ready":"getPcd","onchange":"pcdChange","options":[]},{"label":"街道","type":"select","field":"f_street","hidden":true,"readonly":false,"required":true,"disabled":false,"onchange":"streetChange","options":[]},{"label":"小区","type":"select","field":"f_residential_area","hidden":true,"readonly":false,"required":true,"disabled":false,"options":[]},{"label":"楼号(乡/镇)","type":"input","field":"f_building","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"单元(村)","type":"input","field":"f_unit","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"楼层(组)","type":"input","field":"f_floor","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"门牌号(号)","type":"input","field":"f_room","hidden":true,"readonly":false,"required":false,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":false,"required":true,"disabled":false},{"label":"预约地址","type":"textarea","field":"f_order_address","rows":1,"readonly":true,"required":false,"disabled":false},{"label":"备注","type":"textarea","field":"f_apply_remarks","rows":2,"readonly":false,"required":false,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"勘察","disabled":true},{"button_name":"合同","disabled":true}],"readyEvent":"applyReadyEvent"},{"title":"勘察派工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($市场部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"现场勘察","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"勘查结果","type":"textarea","field":"f_prospecting_result","rows":2,"readonly":false,"required":true,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}]},{"title":"合同签订","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"合同编号","type":"input","field":"f_contract_number","prefix":"","suffix":null,"placeholder":"请输入","readonly":true,"required":true,"default":"this.selectdata.f_apply_num","eval":true},{"label":"合同金额","type":"number","field":"f_contract_money","placeholder":"0.00","readonly":false,"required":true,"onchange":"contractMoneyChange"},{"label":"追加金额","type":"number","field":"f_add_contract_money","placeholder":"请输入","readonly":true,"required":true,"default":0},{"label":"应交金额","type":"number","field":"f_due_money","placeholder":"请输入","readonly":true,"required":true,"default":0},{"label":"合同签订时间","type":"datepicker","field":"f_contract_date","placeholder":"请选择","readonly":false,"required":true}],"components":[{"title":"补充协议","device":"pc","name":"supplemental-agreement"},{"title":"补充协议","device":"app","name":"app-supplemental-agreement"}],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}]},{"title":"报装缴费","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"合同编号","type":"input","field":"f_contract_number","placeholder":"","readonly":true,"required":true},{"label":"合同金额","type":"number","field":"f_contract_money","placeholder":"请输入","readonly":true,"required":true},{"label":"追加款","type":"number","field":"f_add_contract_money","placeholder":"请输入","readonly":true,"required":false},{"label":"应交金额","type":"number","field":"f_due_money","placeholder":"请输入","readonly":true,"required":false},{"label":"累计缴费金额","type":"number","field":"f_cumulative_payment_money","placeholder":"请输入","readonly":true,"required":false},{"label":"未结总金额","type":"number","field":"f_surplus_money","placeholder":"请输入","readonly":true,"required":false},{"label":"付款比例","type":"input","field":"f_payment_ratio","placeholder":"请输入","readonly":true,"required":false},{"label":"累计退款金额","type":"number","field":"f_cumulative_retreat_money","placeholder":"请输入","readonly":true,"required":false,"default":0}],"components":[{"title":"缴费明细","device":"pc","name":"apply-charge-management"},{"title":"补充协议","device":"pc","name":"supplemental-agreement","mark":1},{"title":"缴费明细","device":"app","name":"app-charge-management"},{"title":"补充协议","device":"app","name":"app-supplemental-agreement","mark":1}],"buttons":[{"button_name":"保存"},{"before":"chargeBefore","button_name":"提交","disabled":true}]},{"title":"工程派工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false}],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"工程施工","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":false,"required":true,"disabled":false,"default":"this.$login.f.name","eval":true},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":false,"required":true,"disabled":false},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":false,"required":true,"disabled":false,"param":false,"options":[{"label":"入户","value":"入户"},{"label":"热水器","value":"热水器"},{"label":"壁挂炉","value":"壁挂炉"}]},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":false,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":false,"required":false,"disabled":false}],"onetomany":[{"title":"材料明细","hidden":false,"tables":["t_material_list"],"hiddenOperate":false,"modalSize":"large","addHidden":false,"addStyle":null,"deleteHidden":false,"deleteText":"删除","deleteMessage":null,"updateHidden":false,"updateText":"修改","fields":[{"label":"材料名称","type":"input","field":"f_material_name","placeholder":"请输入","readonly":false,"required":true},{"label":"材料型号","type":"input","field":"f_material_style","placeholder":"请输入","readonly":false,"required":true},{"label":"材料价格","type":"number","field":"f_material_price","placeholder":"请输入","readonly":false,"required":true},{"label":"材料单位","type":"input","field":"f_material_unit","placeholder":"请输入","readonly":false,"required":true},{"label":"材料数量","type":"number","field":"f_material_number","placeholder":"请输入","readonly":false,"required":true},{"label":"材料备注","type":"input","field":"f_material_remarks","placeholder":"请输入","readonly":false,"required":false}]}],"components":[{"title":"安装明细","device":"pc","name":"installation-details"},{"title":"安装明细","device":"app","name":"app-installation-details"},{"title":"用气设备","device":"pc","name":"apply-devices-management"},{"title":"用气设备","device":"app","name":"app-apply-devices-management"}],"buttons":[{"button_name":"保存"},{"before":"constructionBefore","button_name":"提交","disabled":true}]},{"title":"点火派单","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":true,"required":true,"disabled":false},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":true,"required":true,"disabled":true},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":true,"required":true,"disabled":true,"param":false,"options":[{"label":"入户","value":"入户"},{"label":"热水器","value":"热水器"},{"label":"壁挂炉","value":"壁挂炉"}]},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":true,"required":false,"disabled":false}],"components":[],"buttons":[{"button_name":"保存"},{"button_name":"下发","source":"this.getParentByType($organization$).getChildByName($运营部报装$).getChildren()","button_fields":[{"label":"下发给","type":"select","field":"f_issue_man","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[]}],"disabled":true}]},{"title":"通气点火","tables":["t_apply"],"fields":[{"label":"工程名称","type":"input","field":"f_entry_name","readonly":true,"disabled":false,"required":true},{"label":"工程编号","type":"input","field":"f_apply_num","readonly":true,"disabled":false,"required":true},{"label":"报建类型","type":"input","field":"f_apply_type","readonly":true,"required":true,"disabled":false},{"label":"用户编号","type":"input","field":"f_userinfo_code","readonly":true,"disabled":false,"required":true},{"label":"用户名称","type":"input","field":"f_user_name","readonly":true,"disabled":false,"required":true},{"label":"用户电话","type":"tel","field":"f_phone","readonly":true,"disabled":false,"required":true},{"label":"证件类型","type":"input","field":"f_credentials","readonly":true,"required":true,"disabled":false},{"label":"证件号码","type":"input","field":"f_idnumber","readonly":true,"required":true,"disabled":false},{"label":"地址","type":"textarea","field":"f_address","rows":1,"readonly":true,"required":true,"disabled":false},{"label":"施工单位","type":"input","field":"f_construction_unit","readonly":true,"required":true,"disabled":false},{"label":"施工安装时间","type":"datepicker","field":"f_construction_date","readonly":true,"required":true,"disabled":true},{"bootstraped":"col-sm-12 col-xs-12","label":"安装项目","type":"checkbox","field":"f_install_project","readonly":true,"required":true,"disabled":true,"param":true},{"label":"施工安装情况","type":"textarea","field":"f_install_situation","rows":2,"readonly":true,"required":true,"disabled":false},{"label":"施工备注","type":"textarea","field":"f_construction_remarks","rows":2,"readonly":true,"required":false,"disabled":false},{"label":"点火人","type":"input","field":"f_igniter_people","readonly":true,"required":true,"disabled":false,"default":"this.$login.f.name","eval":true},{"label":"通气时间","type":"datepicker","field":"f_ventilate_date","readonly":true,"required":true,"disabled":true,"default":true},{"label":"通气情况","type":"textarea","field":"f_gas_result","readonly":false,"required":true,"disabled":true,"rows":"7","default":"客户如认可以下内容请签字,如有不认可之处请说明情况\n1、气密性检测合格,已对各接口处进行查漏无泄漏\n2、燃气表运转正常并告知用户。灶具点火测试正常。使用金属波纹管\n3、已向用户讲解安全常识及注意事项。发放《用户使用手册》并张贴提示标签\n4、灶具品牌 油烟机品牌\n5、热水器品牌 壁挂炉品牌\n6、金属波纹品牌。"},{"label":"通气备注","type":"textarea","field":"f_gas_result","readonly":false,"required":false,"disabled":false},{"label":"是否购买保险","type":"select","field":"f_is_insure","placeholder":"请输入","readonly":false,"disabled":false,"required":true,"options":[{"label":"是","value":"是"},{"label":"否","value":"否"}],"default":"是","onchange":"isInsureChange"},{"label":"保费开始日期","type":"datepicker","field":"f_ins_start_date","readonly":false,"required":true,"disabled":false,"default":true,"format":"yyyy-MM-dd","hidden":true},{"label":"保费结束日期","type":"datepicker","field":"f_ins_expiration_date","readonly":false,"required":true,"disabled":false,"hidden":true},{"label":"险种","type":"select","field":"f_insurance_type","readonly":false,"disabled":false,"required":true,"options":[],"param":true,"hidden":true},{"label":"保费金额","type":"number","field":"f_insurance_money","placeholder":"请输入","readonly":false,"required":true,"hidden":true},{"label":"保险备注","type":"textarea","field":"f_ins_comments","rows":2,"readonly":false,"required":false,"disabled":false,"hidden":true}],"components":[{"title":"安装明细","device":"pc","name":"installation-details"},{"title":"安装明细","device":"app","name":"app-installation-details"},{"title":"用气设备","device":"pc","name":"apply-devices-management"},{"title":"用气设备","device":"app","name":"app-apply-devices-management"}],"buttons":[{"button_name":"保存"},{"button_name":"提交","disabled":true}],"readyEvent":"gasReadyEvent"},{"title":"完工","tables":["t_apply"],"fields":[{"label":"完工","type":"input","field":"f_successful","disabled":true,"value":"---success---"}]}]}
63
+
64
+ let sum = 0
65
+ let jsonData = {}
66
+ if (!this.json_datas || !this.json_datas.activitys || this.json_datas.activitys.length === 0) {
67
+ this.$showMessage("网络故障,请刷新页面")
68
+ return
69
+ }
70
+ this.json_datas.activitys.forEach(item => {
71
+ if (this.selectdata.defname === item.title) {
72
+ jsonData = item // 拿到当前节点的json配置信息
73
+ sum++ // 节点名一样的个数
74
+ }
75
+ return this.selectdata.defname === item.title // 拿到当前节点的json配置信息
76
+ })
77
+
78
+ if (sum === 0) {
79
+ this.$showMessage(`没有在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置`)
80
+ return
81
+ }
82
+ if (sum > 1) {
83
+ this.$showMessage(`在JSON配置文件中找到活动名为:(${this.selectdata.defname})的节点配置:${sum}个`)
84
+ return
85
+ }
86
+
87
+ this.selectdata = Object.assign({}, this.selectdata, jsonData)
88
+
89
+ // fields 字段填充值
90
+ for (const item of this.selectdata.fields) {
91
+ if (!item.value) {
92
+ item.value = null
93
+ }
94
+
95
+ if (!item.value && (item.default || item.default === 0) && item.type !== 'datepicker') {
96
+ if (item.eval) {
97
+ let user = Vue.user
98
+ // 将PC用户信息 替换成 APP的
99
+ item.value = eval(item.default.replace('this.$login.f', 'user'))
100
+ } else {
101
+ item.value = item.default
102
+ }
103
+ }
104
+
105
+ if (this.selectdata[item.field]) {
106
+ // 将json字符串格式化赋值给value
107
+ if (String(this.selectdata[item.field]).startsWith("{")) {
108
+ item.value = JSON.parse(this.selectdata[item.field])
109
+ } else {
110
+ item.value = this.selectdata[item.field]
111
+ }
112
+ }
113
+ if (this.selectdata[item.field] === 0) {
114
+ item.value = 0
115
+ }
116
+
117
+ // datepicker
118
+ if (item.type === 'datepicker' && !item.value && item.default) {
119
+ item.value = new Date().Format(`${item.format ? item.format : 'yyyy-MM-dd HH:mm:ss'}`)
120
+ }
121
+
122
+ // 如果配置类型为select,优先从参数列表获取options
123
+ if (item.type === 'select' || item.type === 'checkbox') {
124
+ if (item.param) {
125
+ let temp = this.$appdata.getParam(item.label)
126
+
127
+ if (temp && temp.length > 0) {
128
+ item.options = temp
129
+ }
130
+
131
+ if (item.paramLabel) {
132
+ temp = this.$appdata.getParam(item.paramLabel)
133
+ if (temp && temp.length > 0) {
134
+ item.options = temp
135
+ }
136
+ }
137
+ }
138
+
139
+ if (item.ready) {
140
+ item.options = await this[item.ready]()
141
+ }
142
+ }
143
+
144
+
145
+ if (item.type === 'checkbox') {
146
+ if (this.selectdata[item.field]) {
147
+ item.value = JSON.parse(this.selectdata[item.field])
148
+ } else {
149
+ item.value = []
150
+ }
151
+ }
152
+ }
153
+
154
+ // 控制组件
155
+ if (this.selectdata.components) {
156
+ this.selectdata.components.forEach(item => {
157
+ if (!item.mark) {
158
+ item.mark = 0
159
+ }
160
+ })
161
+ }
162
+
163
+ // 初始化onetomany
164
+ if (this.selectdata.onetomany) {
165
+ for (const item of this.selectdata.onetomany) {
166
+ let res = null
167
+ if (item.queryEvent) {
168
+ res = this[item.queryEvent]()
169
+ } else {
170
+ let http = new HttpResetClass()
171
+ let data = {
172
+ tablename: item.tables[0],
173
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
174
+ }
175
+ res = await http.load(
176
+ 'POST',
177
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
178
+ // `rs/sql/singleTable`,
179
+ {data: data},
180
+ {resolveMsg: null, rejectMsg: 'onetomany查询失败'}
181
+ )
182
+ }
183
+
184
+ item.rows = res.data
185
+
186
+ // 初始化onetomany中的fields
187
+ for (const field of item.fields) {
188
+ if (!field.value) {
189
+ if (field.value !== 0) {
190
+ field.value = null
191
+ }
192
+ }
193
+
194
+ if (field.default || field.default === 0) {
195
+ field.value = field.default
196
+ }
197
+
198
+ // datepicker
199
+ if (field.type === 'datepicker' && !field.value && field.default) {
200
+ field.value = new Date().Format(`${field.format ? field.format : 'yyyy-MM-dd HH:mm:ss'}`)
201
+ }
202
+
203
+ if (field.type === 'select') {
204
+
205
+ if (field.param) {
206
+ let temp = this.$appdata.getParam(field.label)
207
+
208
+ if (temp && temp.length > 0) {
209
+ field.options = temp
210
+ }
211
+
212
+ if (field.paramLabel) {
213
+ temp = this.$appdata.getParam(field.paramLabel)
214
+ if (temp && temp.length > 0) {
215
+ item.options = temp
216
+ }
217
+ }
218
+ }
219
+
220
+ }
221
+ }
222
+ }
223
+ }
224
+
225
+ // 初始化 buttons_fields
226
+ for (const item of this.selectdata.buttons) {
227
+ if (item.button_name === '下发') {
228
+ let data = {
229
+ source: item.source,
230
+ userid: Vue.user.id
231
+ // userid: '51953'
232
+ }
233
+ if (item.sourceMethod) {
234
+ data.source = this[item.sourceMethod]()
235
+ }
236
+ if (!data.source) {
237
+ this.$showMessage("请配置获取人员表达式")
238
+ return
239
+ }
240
+ let res = await this.$resetpost(
241
+ `${this.$androidUtil.getProxyUrl()}/rs/search`,
242
+ // `rs/search`,
243
+ {data: data},
244
+ {resolveMsg: null, rejectMsg: '下发人员查询失败!!!'}
245
+ )
246
+
247
+ let options = res.data.map(source => {
248
+ return {
249
+ "label": source.name,
250
+ "value": source.id
251
+ }
252
+ })
253
+
254
+ if (item.button_fields.length !== 1) {
255
+ this.$showMessage("下发有且只能有一个字段!!!")
256
+ return
257
+ }
258
+
259
+ item.button_fields[0].options = options
260
+ }
261
+ if (item.button_fields) {
262
+ item.button_fields.forEach(x => {
263
+ // 如果配置类型为select,优先从参数列表获取options
264
+ if (x.type === 'select') {
265
+
266
+ if (x.param) {
267
+ let temp = this.$appdata.getParam(x.label)
268
+
269
+ if (temp && temp.length > 0) {
270
+ x.options = temp
271
+ }
272
+
273
+ if (x.paramLabel) {
274
+ temp = this.$appdata.getParam(x.paramLabel)
275
+ if (temp && temp.length > 0) {
276
+ x.options = temp
277
+ }
278
+ }
279
+ }
280
+
281
+ }
282
+ })
283
+ }
284
+ }
285
+
286
+ // 消除双向绑定,避免子组件(显示层)数据更改,父组件(控制层)也更改
287
+ let temp = JSON.parse(JSON.stringify(this.selectdata))
288
+
289
+ this.show_data = temp
290
+ this.$nextTick(() => {
291
+ this.showview = true
292
+ })
293
+ },
294
+ // 金额转大写
295
+ smalltoBIG(n) {
296
+ let fraction = ['角', '分'];
297
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
298
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
299
+ let head = n < 0 ? '欠' : '';
300
+ n = Math.abs(n);
301
+
302
+ let s = '';
303
+
304
+ for (var i = 0; i < fraction.length; i++) {
305
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
306
+ }
307
+ s = s || '整';
308
+ n = Math.floor(n);
309
+
310
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
311
+ let p = '';
312
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
313
+ p = digit[n % 10] + unit[1][j] + p;
314
+ n = Math.floor(n / 10);
315
+ }
316
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
317
+ }
318
+ return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
319
+ },
320
+ getLableValue(label) {
321
+ for (const item of this.show_data.fields) {
322
+ if (item.label === label && item.type !== 'number') {
323
+ return item.value || ''
324
+ }
325
+ if (item.label === label && item.type === 'number') {
326
+ return item.value || 0
327
+ }
328
+ }
329
+ },
330
+ getLableOptions(label) {
331
+ for (const item of this.show_data.fields) {
332
+ if (item.label === label) {
333
+ return item.options
334
+ }
335
+ }
336
+ },
337
+ setLabelValue(label, value) {
338
+ for (const item of this.show_data.fields) {
339
+ if (item.label === label) {
340
+ item.value = value
341
+ this.show_data[item.field] = value
342
+ }
343
+ }
344
+ },
345
+ setLabelOptions(label, options) {
346
+ for (const item of this.show_data.fields) {
347
+ if (item.label === label) {
348
+ item.options = options
349
+ }
350
+ }
351
+ },
352
+ async checkDuplicate(index) {
353
+ let http = new HttpResetClass()
354
+ let data = {
355
+ tablename: 't_apply',
356
+ condition: `${this.show_data.fields[index].field} = '${this.show_data.fields[index].value}'`
357
+ }
358
+ let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data: data}, {
359
+ resolveMsg: null,
360
+ rejectMsg: `${this.show_data.fields[index].label}查询失败`
361
+ })
362
+ if (res.data.length > 0) {
363
+ this.show_data.fields[index].value = null
364
+ this.$showAlert(`${this.show_data.fields[index].label}已存在!!!`, 'warning', 3000)
365
+ }
366
+ },
367
+ async breakControl () {
368
+ if (this.show_data.id) {
369
+ let data = {
370
+ condition: `u.id = ${this.show_data.id}`,
371
+ data: {
372
+ id: Vue.user.id,
373
+ orgid: Vue.user.orgid
374
+ // id: '51953',
375
+ // orgid: '10101'
376
+ }
377
+ }
378
+ let res = await this.$resetpost(
379
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/checkuser`,
380
+ // `rs/sql/checkuser`,
381
+ {data: data},
382
+ {resolveMsg: null, rejectMsg: '数据更新失败,请手查询更新!!!'}
383
+ )
384
+
385
+ this.selectdata = res.data[0]
386
+ } else {
387
+ this.selectdata = servicedata
388
+ }
389
+
390
+ this.refurbish()
391
+ },
392
+ // 缴费前置
393
+ chargeBefore () {
394
+ if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {
395
+ this.$showAlert('费用未结清!!!', 'warning', 3000)
396
+ throw null
397
+ }
398
+ },
399
+ // 施工前置
400
+ async constructionBefore () {
401
+ let http = new HttpResetClass()
402
+ let data = {
403
+ condition: `ui.f_process_id = '${this.show_data.f_process_id}' and uf.f_table_state = '待开通'`
404
+ }
405
+ let res = await http.load(
406
+ 'POST',
407
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/countApplyUserinfo`,
408
+ {data: data},
409
+ {
410
+ resolveMsg: null,
411
+ rejectMsg: '安装明细查询失败!!!'
412
+ })
413
+ if (res.data[0].num > 0) {
414
+ this.$showAlert(`还有${res.data[0].num}户未安装,无法提交`, 'warning', 3000)
415
+ throw `还有${res.data[0].num}户未安装,无法提交`
416
+ }
417
+ },
418
+ changePipeBuild () {
419
+ if (this.selectdata.f_process_dep === '工程部') {
420
+ return 'this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()'
421
+ }
422
+ if (this.selectdata.f_process_dep === '运营部') {
423
+ return 'this.getParentByType($organization$).getChildByName($运营部报装$).getChildren()'
424
+ }
425
+ return 'this.getParentByType($organization$).getChildByName($工程部报装$).getChildren()'
426
+ },
427
+ async getPrice (f_price_id) {
428
+ console.log('=======================')
429
+ console.log(f_price_id)
430
+
431
+ let data = {
432
+ condition: `sp.f_orgid = '${Vue.user.orgid}'`
433
+ }
434
+
435
+ if (!isEmpty(f_price_id)) {
436
+ data.condition = `sp.f_orgid = '${Vue.user.orgid}' and sp.f_price_id = ${f_price_id}`
437
+ }
438
+ let http = new HttpResetClass()
439
+ let res = await http.load(
440
+ 'POST',
441
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applyGetPrice`,
442
+ {data: data},
443
+ {resolveMsg: null, rejectMsg: '气价查询失败!!!'}
444
+ )
445
+
446
+ return res.data.map(item => {
447
+ return {
448
+ label: item.f_price_name,
449
+ value: item
450
+ }
451
+ })
452
+ }
453
+ },
454
+ events: {
455
+ 'breakControl' () {
456
+ this.breakControl()
457
+ },
458
+ // 检查重复
459
+ 'checkRepeat' (index) {
460
+ this.checkDuplicate(index)
461
+ },
462
+ 'buildReadyEvent' () {
463
+ this.setLabelValue('施工单位', Vue.user.name)
464
+ this.setLabelValue('施工安装时间', new Date().Format('yyyy-MM-dd HH:mm:ss'))
465
+ },
466
+ // 选择材料
467
+ async materialNameChenge (index, fieldIndex) {
468
+ let material = this.show_data.onetomany[index].fields[fieldIndex].value
469
+
470
+ this.show_data.onetomany[index].fields.forEach(item => {
471
+ if (material[item.field]) {
472
+ item.value = material[item.field]
473
+ }
474
+ })
475
+ },
476
+ // 打开模态框获取材料
477
+ async 'getMaterialName' (index) {
478
+ let data = {
479
+ condition: `1=1`
480
+ }
481
+ let http = new HttpResetClass()
482
+ let res = await http.load(
483
+ 'POST',
484
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/getStockMaterial`,
485
+ {data: data},
486
+ {resolveMsg: null, rejectMsg: '材料查询失败!!!'}
487
+ )
488
+
489
+ this.show_data.onetomany[index].fields.forEach(field => {
490
+ if (field.label === '选择材料') {
491
+ field.options = res.data.map(item => {
492
+ return {
493
+ 'label': `${item.f_material_name}--${item.f_material_style}--${item.f_material_unit}`,
494
+ 'value': item
495
+ }
496
+ })
497
+ }
498
+ })
499
+ },
500
+ // 选择气价
501
+ 'priceChange' (index) {
502
+ if (isEmpty(this.show_data.stairPrice)) {
503
+ return
504
+ }
505
+
506
+ let stairPrice = this.getLableValue('气价名称')
507
+
508
+ this.setLabelValue('气价类型', stairPrice.f_price_type)
509
+ this.setLabelValue('用气性质', stairPrice.f_gasproperties)
510
+ this.setLabelValue('价格', stairPrice.f_price)
511
+ this.setLabelValue('客户类型', stairPrice.f_user_type)
512
+
513
+ this.show_data.f_price_id = stairPrice.f_price_id
514
+ this.show_data.f_price_name = stairPrice.f_price_name
515
+ },
516
+ // 是否购买保险
517
+ isInsureChange (index) {
518
+ let f_is_insure = this.getLableValue('是否购买保险')
519
+ for (const item of this.show_data.fields) {
520
+ if (f_is_insure === '是') {
521
+ if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额') {
522
+ item.hidden = false
523
+ item.required = true
524
+ }
525
+ if (item.label === '保险备注') {
526
+ item.hidden = false
527
+ }
528
+ } else {
529
+ if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
530
+ item.hidden = true
531
+ item.required = false
532
+ }
533
+ }
534
+ }
535
+ },
536
+ // 通气点火初始化
537
+ async 'gasReadyEvent' () {
538
+ if (!isEmpty(this.show_data.f_price_id)) {
539
+ let priceList = await this.getPrice(this.show_data.f_price_id)
540
+ this.setLabelValue('气价名称', priceList[0].value)
541
+ }
542
+
543
+ let data = {
544
+ tablename: 't_userfees',
545
+ condition: `f_orgid = '${Vue.user.orgid}' and f_userinfo_id = '${this.show_data.f_userinfo_id}' and f_state = '待执行'`
546
+ }
547
+ let http = new HttpResetClass()
548
+ let res = await http.load(
549
+ 'POST',
550
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`,
551
+ {data: data},
552
+ {resolveMsg: null, rejectMsg: '保险查询失败!!!'}
553
+ )
554
+ if (res.data.length > 0) {
555
+ this.setLabelValue('待执行保险', '是')
556
+ for (const item of this.show_data.fields) {
557
+ if (item.label === '保费开始日期' || item.label === '是否购买保险' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
558
+ item.hidden = true
559
+ item.required = false
560
+ item.value = null
561
+ }
562
+ }
563
+ } else {
564
+ this.setLabelValue('待执行保险', '否')
565
+ for (const item of this.show_data.fields) {
566
+ if (item.label === '是否购买保险' || item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
567
+ item.hidden = false
568
+ item.required = true
569
+ }
570
+ }
571
+ }
572
+
573
+ // 初始化显示内容
574
+ let f_is_insure = this.getLableValue('是否购买保险')
575
+ for (const item of this.show_data.fields) {
576
+ if (f_is_insure === '是') {
577
+ if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额') {
578
+ item.hidden = false
579
+ item.required = true
580
+ }
581
+ if (item.label === '保险备注') {
582
+ item.hidden = false
583
+ }
584
+ // 本期保费到期时间默认一年
585
+ if (isEmpty(this.selectdata.f_ins_expiration_date)) {
586
+ let f_ins_expiration_date = new Date().setFullYear(new Date().getFullYear() + 1)
587
+ this.setLabelValue("保费结束日期", new Date(f_ins_expiration_date).Format('yyyy-MM-dd'))
588
+ }
589
+ }
590
+ if (f_is_insure === '否') {
591
+ if (item.label === '保费开始日期' || item.label === '保费结束日期' || item.label === '险种' || item.label === '保费金额' || item.label === '保险备注') {
592
+ item.hidden = true
593
+ item.required = false
594
+ }
595
+ }
596
+ }
597
+ },
598
+ // 合同金额失去焦点
599
+ async 'contractMoneyChange' (index) {
600
+ let data = {
601
+ operator: '+',
602
+ num1: this.show_data.f_contract_money || 0,
603
+ num2: this.getLableValue('追加金额') || 0
604
+ }
605
+ let res = await this.$resetpost(
606
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/compute`,
607
+ {data: data},
608
+ {resolveMsg: null, rejectMsg: '金额计算失败!!!'}
609
+ )
610
+
611
+ this.setLabelValue('应交金额', res.data)
612
+ },
613
+ // ===========================================
614
+ async 'button'() {
615
+ if (this.show_data.button.before) {
616
+ await this[this.show_data.button.before]()
617
+ }
618
+ // 点击重置按钮就重置数据
619
+ if (this.show_data.button.button_name === '重置') {
620
+ this.$dispatch('breakControl', this.selectdata)
621
+ return
622
+ }
623
+
624
+ this.show_data.user = Vue.user
625
+ // this.show_data.user = {"f_show_department_name":"","parentname":"市场部","functions":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"客服系统","icon":"/images/lefticon/档案管理.png","hasright":false,"resourcetype":"function","parentid":"27","children":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"city-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"231","name":"街道管理","templatename":"functionedit","id":"230","position":"1","fullname":"资源管理.功能模块.客服系统.档案管理.街道管理","fullid":"3.21.27.212.230","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"area-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"219","name":"小区管理","templatename":"functionedit","id":"218","position":"3","fullname":"资源管理.功能模块.客服系统.档案管理.小区管理","fullid":"3.21.27.212.218","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"address-manage","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"33664","name":"地址管理","templatename":"functionedit","id":"33663","position":"5","fullname":"资源管理.功能模块.客服系统.档案管理.地址管理","fullid":"3.21.27.212.33663","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","parentname":"档案管理","link":"file-user-files","hasright":true,"resourcetype":"function","parentid":"212","children":[],"selfid":"237","name":"用户档案","templatename":"functionedit","id":"236","position":"5","fullname":"资源管理.功能模块.客服系统.档案管理.用户档案","fullid":"3.21.27.212.236","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"档案管理","link":"file-user-files-new","hasright":true,"resourcetype":"function","parentid":"212","f_parentname":"档案管理","children":[],"selfid":"39450","name":"预备户管理","templatename":"functionedit","id":"39449","position":"6","fullname":"资源管理.功能模块.客服系统.档案管理.预备户管理","fullid":"3.21.27.212.39449","tablename":"t_function"}],"selfid":"213","name":"档案管理","templatename":"functionedit","id":"212","position":"2","fullname":"资源管理.功能模块.客服系统.档案管理","fullid":"3.21.27.212","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"客服系统","icon":"/images/lefticon/报建系统.png","hasright":true,"resourcetype":"function","parentid":"27","f_parentname":"客服系统","children":[{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"install-function","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34680","name":"功能业务","templatename":"functionedit","id":"34679","position":"1","fullname":"资源管理.功能模块.客服系统.报建业务.功能业务","fullid":"3.21.27.34673.34679","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"exploration-user","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34686","name":"流程业务","templatename":"functionedit","id":"34685","position":"2","fullname":"资源管理.功能模块.客服系统.报建业务.流程业务","fullid":"3.21.27.34673.34685","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"supervisory-control","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34692","name":"流程监控","templatename":"functionedit","id":"34691","position":"3","fullname":"资源管理.功能模块.客服系统.报建业务.流程监控","fullid":"3.21.27.34673.34691","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"apply-charge-search","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34698","name":"收费明细","templatename":"functionedit","id":"34697","position":"4","fullname":"资源管理.功能模块.客服系统.报建业务.收费明细","fullid":"3.21.27.34673.34697","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"order-apply","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34704","name":"预约申请","templatename":"functionedit","id":"34703","position":"5","fullname":"资源管理.功能模块.客服系统.报建业务.预约申请","fullid":"3.21.27.34673.34703","tablename":"t_function"},{"pagenames":"公共通讯录维护模板","processnames":"发邮件流程","loginid":"15","parentname":"报建业务","link":"stop-apply","hasright":true,"resourcetype":"function","parentid":"34673","f_parentname":"报建业务","children":[],"selfid":"34710","name":"终止报建","templatename":"functionedit","id":"34709","position":"6","fullname":"资源管理.功能模块.客服系统.报建业务.终止报建","fullid":"3.21.27.34673.34709","tablename":"t_function"}],"selfid":"34674","name":"报建业务","templatename":"functionedit","id":"34673","position":"12","fullname":"资源管理.功能模块.客服系统.报建业务","fullid":"3.21.27.34673","tablename":"t_function"}],"qrcode":"/rs/user/getQRcode?QRCODE=12b2-1631604191812-03447","rolesnames":"营业厅报装,市场部报装,设计部报装,工程部报装,运营部报装,财务部报装,角色监控","roles":"51383,51485,51707,51767,51833,51905,52289","f_sex":"男","f_icon":"tree_user","fullnames":"河南亿星集团实业有限公司.周口市天然气有限公司.市场部.报建测试","dir":"ZhouKou","userid":"12b2-1631604191812-03447","accesstime":"1632214307117","parentid":"46545","f_show_rolestr":"","fullids":"30463.10101.46545.51953.","number":"10101","f_dep_id":"1010101201","f_idnumber":null,"selfid":"51954","templatename":"useredit","logindate":"2021-09-14 18:46:54","id":"51953","state":"在职","tablename":"t_user","deptype":"部门","depids":"46545","loginid":"15","imgid":null,"f_user_telephone":null,"rolestr":"营业厅报装,市场部报装,设计部报装,工程部报装,运营部报装,财务部报装,角色监控","deps":"市场部","loginnum":"0","f_age":null,"resourcetype":"user","orgid":"10101","f_department_name":"周口市场部","ename":"bjcs","deleted":"false","entitytype":"t_user","f_description":null,"loginip":"192.168.66.37","name":"报建测试","position":"1","orgs":"周口市天然气有限公司","haslicense":true,"f_role_name":"营业厅报装 市场部报装 设计部报装 工程部报装 运营部报装 财务部报装 角色监控 ","f_allArea":[],"f_gasman":[{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15294978548","rolestr":"抄表员","resourcetype":"user","userid":"100814","parentid":"46581","f_department_name":"周口客服部","ename":"100814","password":"1","deleted":"false","entitytype":"t_user","selfid":"100814","name":"高雪荣","templatename":"useredit","id":"100814","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"qrcode":"/rs/user/getQRcode?QRCODE=004","roles":"51959","f_sex":"男","f_icon":"tree_user","userid":"004","accesstime":"1631765198067","parentid":"46581","password":"1","selfid":"59044","templatename":"useredit","id":"59043","state":"在职","tablename":"t_user","loginid":"15","rolestr":"抄表员","resourcetype":"user","f_department_name":"周口客服部","ename":"cbcs","deleted":"false","entitytype":"t_user","loginip":"10.10.10.1","name":"抄表测试","position":"23","haslicense":"true","f_role_name":"抄表员 "},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18538602709","rolestr":"抄表员","resourcetype":"user","userid":"100462","parentid":"46581","f_department_name":"周口客服部","ename":"100462","password":"1","deleted":"false","entitytype":"t_user","selfid":"100462","name":"刘林静","templatename":"useredit","id":"100462","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18839409830","rolestr":"抄表员","resourcetype":"user","userid":"100528","parentid":"46581","f_department_name":"周口客服部","ename":"100528","password":"1","deleted":"false","entitytype":"t_user","selfid":"100528","name":"秦春梅","templatename":"useredit","id":"100528","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13243376616","rolestr":"抄表员","resourcetype":"user","userid":"102935","parentid":"46581","f_department_name":"周口客服部","ename":"102935","password":"1","deleted":"false","entitytype":"t_user","selfid":"102935","name":"石磊","templatename":"useredit","id":"102935","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18538602706","rolestr":"抄表员","resourcetype":"user","userid":"100818","parentid":"46581","f_department_name":"周口客服部","ename":"100818","password":"1","deleted":"false","entitytype":"t_user","selfid":"100818","name":"白静","templatename":"useredit","id":"100818","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15294991670","rolestr":"抄表员","resourcetype":"user","userid":"102934","parentid":"46581","f_department_name":"周口客服部","ename":"102934","password":"1","deleted":"false","entitytype":"t_user","selfid":"102934","name":"郭新胜","templatename":"useredit","id":"102934","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"15036438918","rolestr":"抄表员","resourcetype":"user","userid":"103392","accesstime":"1631757950369","parentid":"46581","f_department_name":"周口客服部","ename":"103392","password":"1","deleted":"false","entitytype":"t_user","loginip":"10.10.10.1","selfid":"103392","name":"牛永胜","templatename":"useredit","id":"103392","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13592232789","rolestr":"抄表员","resourcetype":"user","userid":"100337","parentid":"46581","f_department_name":"周口客服部","ename":"100337","password":"1","deleted":"false","entitytype":"t_user","selfid":"100337","name":"王雪丽","templatename":"useredit","id":"100337","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"17796528119","rolestr":"抄表员","resourcetype":"user","userid":"101021","parentid":"46581","f_department_name":"周口客服部","ename":"101021","password":"1","deleted":"false","entitytype":"t_user","selfid":"101021","name":"张书荣","templatename":"useredit","id":"101021","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"18839409832","rolestr":"抄表员","resourcetype":"user","userid":"100330","parentid":"46581","f_department_name":"周口客服部","ename":"100330","password":"1","deleted":"false","entitytype":"t_user","selfid":"100330","name":"武文平","templatename":"useredit","id":"100330","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"},{"loginid":"1","roles":"51959","f_icon":"tree_user","f_user_telephone":"13839441227","rolestr":"抄表员","resourcetype":"user","userid":"100871","parentid":"46581","f_department_name":"周口客服部","ename":"100871","password":"1","deleted":"false","entitytype":"t_user","selfid":"100871","name":"李明磊","templatename":"useredit","id":"100871","position":"23","state":"在职","tablename":"t_user","f_role_name":"抄表员"}],"lics":[]}
626
+ this.show_data.start_activity = this.json_datas.start_activity
627
+ this.show_data.xmlfilename = this.json_datas.workflow_xmlfilename
628
+
629
+ let res = await this.$resetpost(
630
+ // `rs/logic/ApplyProductService`,
631
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/ApplyProductService`,
632
+ {data: this.show_data},
633
+ {resolveMsg: null, rejectMsg: '数据保存失败'}
634
+ )
635
+
636
+ if (this.show_data.button.after) {
637
+ this[this.show_data.button.after]()
638
+ }
639
+ // 返回上层
640
+ this.$dispatch('confirm')
641
+ },
642
+ // 失去焦点出触发事件
643
+ 'onchange' (index) {
644
+ if (this.show_data.defname === '报装申请') {
645
+ if (
646
+ this.show_data.fields[index].label === '街道' ||
647
+ this.show_data.fields[index].label === '小区' ||
648
+ this.show_data.fields[index].label === '楼号(乡/镇)' ||
649
+ this.show_data.fields[index].label === '单元(村)' ||
650
+ this.show_data.fields[index].label === '楼层(组)' ||
651
+ this.show_data.fields[index].label === '门牌号(号)'
652
+ ) {
653
+
654
+ let f_street = this.getLableValue('街道')
655
+ let f_residential_area = this.getLableValue('小区')
656
+ let f_building = this.getLableValue('楼号(乡/镇)')
657
+ let f_building_suffix = f_building ? this.config.f_building_suffix : ''
658
+ let f_unit = this.getLableValue('单元()')
659
+ let f_unit_suffix = f_unit ? this.config.f_unit_suffix : ''
660
+ let f_floor = this.getLableValue('楼层(组)')
661
+ let f_floor_suffix = f_floor ? this.config.f_floor_suffix : ''
662
+ let f_room = this.getLableValue('门牌号(号)')
663
+ let f_room_suffix = f_room ? this.config.f_room_suffix : ''
664
+
665
+ let f_address = null
666
+
667
+ let f_address_type = this.show_data.f_address_type
668
+ if (f_address_type === '民用城区') {
669
+ f_address = f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix
670
+ }
671
+ if (f_address_type === '民用农村') {
672
+ f_address = f_building + f_unit + f_floor + f_room
673
+ }
674
+ if (f_address_type === '特殊城区') {
675
+ f_address = f_street + f_residential_area
676
+ }
677
+ this.setLabelValue("地址", f_address)
678
+ }
679
+ }
680
+ },
681
+ 'onblur' (index) {},
682
+ 'oninput' (index) {},
683
+ 'initializtionView' () {},
684
+ async 'onchangeModal' (index, fieldIndex) {
685
+ },
686
+ async 'onblurModal' (index, fieldIndex) {
687
+
688
+ },
689
+ async 'oninputModal' (index, fieldIndex) {
690
+
691
+ },
692
+ async 'onetomanydelete' (index, rowIndex) {
693
+
694
+ let http = new HttpResetClass()
695
+
696
+ let res = await http.load(
697
+ 'DELETE',
698
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}/${this.show_data.onetomany[index].rows[rowIndex].id}`,
699
+ null,
700
+ {resolveMsg: null, rejectMsg: '删除失败!!!'}
701
+ )
702
+ res = await this.$resetpost(
703
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
704
+ this.show_data
705
+ )
706
+ this.breakControl()
707
+ },
708
+ async 'onetomanyupdate' (index, rowIndex) {
709
+ let data = this.show_data.onetomany[index].rows[rowIndex]
710
+
711
+ this.show_data.onetomany[index].fields.forEach(item => {
712
+ data[item.field] = item.value
713
+ })
714
+ let res = await this.$resetpost(
715
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
716
+ data
717
+ )
718
+ res = await this.$resetpost(
719
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
720
+ this.show_data
721
+ )
722
+ this.breakControl()
723
+ },
724
+ async 'onetomanyadd' (index) {
725
+ let data = {
726
+ f_process_id : this.show_data.f_process_id,
727
+ f_operator_id: Vue.user.id,
728
+ f_operator: Vue.user.name,
729
+ f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
730
+ f_orgid: Vue.user.orgid,
731
+ f_orgname: Vue.user.orgs
732
+ }
733
+ this.show_data.onetomany[index].fields.forEach(item => {
734
+ data[item.field] = item.value
735
+ })
736
+ let res = await this.$resetpost(
737
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/${this.show_data.onetomany[index].tables[0]}`,
738
+ data
739
+ )
740
+ res = await this.$resetpost(
741
+ `${this.$androidUtil.getProxyUrl()}/rs/entity/t_apply`,
742
+ this.show_data
743
+ )
744
+ this.breakControl()
745
+ },
746
+ 'onbutchange' (index) {
747
+
748
+ },
749
+ 'onbutblur' (index) {
750
+
751
+ },
752
+ 'onbutinput' (index) {
753
+
754
+ }
755
+ },
756
+ watch: {
757
+ }
758
+ }
759
+ </script>
760
+ <style scoped>
761
+ </style>