apply-clients 3.4.2-FuGu-20 → 3.4.2-FuGu-23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "3.4.2-FuGu-20",
3
+ "version": "3.4.2-FuGu-23",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/apply.js CHANGED
@@ -68,7 +68,9 @@ export default function () {
68
68
  Vue.component('select-apply', (resolve) => { require(['./components/product/Process/Processes/selectApply'], resolve) })
69
69
  // 设备管理
70
70
  Vue.component('apply-devices-management', (resolve) => { require(['./components/product/Process/Processes/devicesManagement'], resolve) })
71
-
71
+ // 派工信息
72
+ Vue.component('apply-dispatchdetails', (resolve) => { require(['./components/product/Process/Processes/dispatchdetails'], resolve) })
73
+ Vue.component('apply-dispatch-list', (resolve) => { require(['./components/product/ApplyCharge/dispatchlist'], resolve) })
72
74
  /** VueUtils **/
73
75
  Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
74
76
  Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/HighMeter'], resolve) })
@@ -884,39 +884,30 @@ export default {
884
884
  },
885
885
  // 失去焦点出触发事件
886
886
  'onchange' (index) {
887
- if (this.show_data.defname === '报装申请') {
887
+ if (this.show_data.defname === '申请登记' || (this.show_data.defname === '现场勘察' && this.show_data.f_apply_source === '微信公众号')) {
888
888
  if (
889
+ this.show_data.fields[index].label === '片区' ||
890
+ this.show_data.fields[index].label === '区/县' ||
889
891
  this.show_data.fields[index].label === '街道' ||
890
892
  this.show_data.fields[index].label === '小区' ||
891
- this.show_data.fields[index].label === '楼号(乡/镇)' ||
892
- this.show_data.fields[index].label === '单元(村)' ||
893
- this.show_data.fields[index].label === '楼层(组)' ||
894
- this.show_data.fields[index].label === '门牌号(号)'
893
+ this.show_data.fields[index].label === '楼号' ||
894
+ this.show_data.fields[index].label === '单元' ||
895
+ this.show_data.fields[index].label === '楼层' ||
896
+ this.show_data.fields[index].label === '门牌号'
895
897
  ) {
896
-
897
- let f_street = this.getLableValue('街道')
898
- let f_residential_area = this.getLableValue('小区')
899
- let f_building = this.getLableValue('楼号(乡/镇)')
900
- let f_building_suffix = f_building ? this.config.f_building_suffix : ''
901
- let f_unit = this.getLableValue('单元(村)')
902
- let f_unit_suffix = f_unit ? this.config.f_unit_suffix : ''
903
- let f_floor = this.getLableValue('楼层(组)')
904
- let f_floor_suffix = f_floor ? this.config.f_floor_suffix : ''
905
- let f_room = this.getLableValue('门牌号(号)')
906
- let f_room_suffix = f_room ? this.config.f_room_suffix : ''
907
-
908
- let f_address = null
909
-
910
- let f_address_type = this.show_data.f_address_type
911
- if (f_address_type === '民用城区') {
912
- 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
913
- }
914
- if (f_address_type === '民用农村') {
915
- f_address = f_building + f_unit + f_floor + f_room
916
- }
917
- if (f_address_type === '特殊城区') {
918
- f_address = f_street + f_residential_area
919
- }
898
+ let f_pcd = this.getLableValue('区/县') || ''
899
+ let f_street = this.getLableValue('街道') || ''
900
+ let f_residential_area = this.getLableValue('小区') || ''
901
+ let f_building = this.getLableValue('楼号') || ''
902
+ let f_building_suffix = isEmpty(this.getLableValue('楼号')) ? '' : '号楼'
903
+ let f_unit = this.getLableValue('单元') || ''
904
+ let f_unit_suffix = isEmpty(this.getLableValue('单元')) ? '' : '单元'
905
+ let f_floor = this.getLableValue('楼层') || ''
906
+ let f_floor_suffix = isEmpty(this.getLableValue('楼层')) ? '' : '层'
907
+ let f_room = this.getLableValue('门牌号') || ''
908
+ let f_room_suffix = isEmpty(this.getLableValue('门牌号')) ? '' : '室'
909
+
910
+ let f_address = f_pcd + 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
920
911
  this.setLabelValue("地址", f_address)
921
912
  }
922
913
  }
@@ -140,12 +140,19 @@
140
140
  <div class="form-group row vertical-center">
141
141
  <label class="col-xs-4 control-label">安&ensp;装&ensp;人:</label>
142
142
  <div class="col-xs-8">
143
- <input-select
144
- class="select select_list"
145
- :value.sync="item.f_install_person"
143
+ <input
144
+ class="form-control input_view"
145
+ :value.sync="installperson(item.f_install_person)"
146
146
  v-model="item.f_install_person"
147
- :options="installperson"
148
- :valueSingle="true"></input-select>
147
+ placeholder="安装人"
148
+ readonly></input>
149
+ <!-- <input-select-->
150
+ <!-- class="select select_list"-->
151
+ <!-- :value.sync="item.f_install_person"-->
152
+ <!-- v-model="item.f_install_person"-->
153
+ <!-- :options="installperson"-->
154
+ <!-- :disable="mark === 1"-->
155
+ <!-- :valueSingle="true"></input-select>-->
149
156
  </div>
150
157
  </div>
151
158
  <div class="form-group row vertical-center">
@@ -377,12 +384,18 @@ export default {
377
384
  computed: {
378
385
  // 安装人
379
386
  installperson() {
380
- return Vue.user.f_installman.map(item => {
381
- return {
382
- label: item.name,
383
- value: item.name
387
+ return function (f_install_person) {
388
+ if (isEmpty(f_install_person)) {
389
+ return Vue.user.name
384
390
  }
385
- })
391
+ return f_install_person
392
+ }
393
+ // return Vue.user.f_installman.map(item => {
394
+ // return {
395
+ // label: item.name,
396
+ // value: item.name
397
+ // }
398
+ // })
386
399
  },
387
400
  // 表向
388
401
  aroundmeters() {
@@ -0,0 +1,136 @@
1
+ <template>
2
+ <style id="printChargeStyle">
3
+ td {
4
+ height: 30px;
5
+ text-align: center;
6
+ }
7
+
8
+ table {
9
+ margin: auto;
10
+ /*width: 100%;*/
11
+ border-collapse: collapse;
12
+ border: 1px solid black;
13
+ }
14
+
15
+ h1, h2, h3, h4, h5, h6 {
16
+ text-align: center;
17
+ }
18
+
19
+ .orgs {
20
+ border-bottom: 2px solid;
21
+ padding: 5px;
22
+ }
23
+
24
+ .date {
25
+ float: left;
26
+ padding-left: 10px;
27
+ }
28
+
29
+ .status {
30
+ float: right;
31
+ padding-right: 10px;
32
+ }
33
+
34
+ .seal {
35
+ position: absolute;
36
+ right: 100px;
37
+ top: 120px;
38
+ width: 150px;
39
+ height: 150px;
40
+ /*opacity: 0.5;*/
41
+ z-index: -1;
42
+ }
43
+ </style>
44
+ <div id="printCharge">
45
+ <h4>
46
+ <span class="orgs">
47
+ {{ orgs }}燃气工程派工单
48
+ </span>
49
+ </h4>
50
+ <table border="1" width="100%">
51
+ <tr>
52
+ <td style="width: 10%">派单人</td>
53
+ <td style="width: 15%">{{ selectdata.f_user_name }}</td>
54
+ <td style="width: 10%">派单时间</td>
55
+ <td style="width: 20%">{{ new Date().Format('yyyy年MM月dd日') }}</td>
56
+ <td style="width: 20%">
57
+ 商用 <input type="checkbox" id="shang" value="商用" v-model="f_user_type" :disabled="false" >
58
+ </td>
59
+ <td style="width: 20%">
60
+ 民用 <input type="checkbox" id="min" value="民用" v-model="f_user_type" :disabled="false">
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>施工地点</td>
65
+ <td colspan="5">{{ selectdata.f_address }}</td>
66
+ </tr>
67
+ <tr>
68
+ <td>现场联系人</td>
69
+ <td >{{ charge[0].f_contact }}</td>
70
+ <td>联系电话</td>
71
+ <td >{{ charge[0].f_phone }}</td>
72
+ <td>户数</td>
73
+ <td>{{ charge.households }}</td>
74
+ </tr>
75
+ <tr>
76
+ <td>工程内容</td>
77
+ <td colspan="6"></td>
78
+ </tr>
79
+ <tr>
80
+ <td>施工负责人</td>
81
+ <td colspan="2"></td>
82
+ <td>项目负责人</td>
83
+ <td colspan="2"></td>
84
+ </tr>
85
+ </table>
86
+ <img class="seal" border="0" :src="src" alt="">
87
+ </div>
88
+
89
+ <print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
90
+ top='20' left='30' width='100%' height='100%'>
91
+ </print-element>
92
+ </template>
93
+
94
+ <script>
95
+ import {isEmpty} from '../../Util'
96
+
97
+ Date.prototype.Format = function (fmt) {
98
+ var o = {
99
+ "M+": this.getMonth() + 1, // 月份
100
+ "d+": this.getDate(), // 日
101
+ "H+": this.getHours(), // 小时
102
+ "m+": this.getMinutes(), // 分
103
+ "s+": this.getSeconds(), // 秒
104
+ "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
105
+ "S": this.getMilliseconds() // 毫秒
106
+ }
107
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
108
+ for (var k in o)
109
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
110
+ return fmt
111
+ }
112
+ export default {
113
+ title: '打印派工单票据',
114
+ props: ['selectdata', 'charge'],
115
+ data () {
116
+ return {
117
+ f_user_type: [this.charge[0].f_user_type !== '民用' ? '商用' : '民用']
118
+ }
119
+ },
120
+ ready () {
121
+ },
122
+ methods: {},
123
+ computed: {
124
+ orgs () {
125
+ return this.$login.f.orgs
126
+ },
127
+ src () {
128
+ // return require(`./img/${this.$login.f.number}.png`)
129
+ }
130
+ }
131
+ }
132
+ </script>
133
+
134
+ <style scoped>
135
+
136
+ </style>
@@ -0,0 +1,123 @@
1
+ <template>
2
+ <div class="col-sm-12" style="margin: 20px 0px;">
3
+ <div _v-16a373b8="" class="col-sm-12 form-group" style="margin-bottom: 20px;">
4
+ <label _v-16a373b8="" class="control-label-justify control-label col-sm-3">派工单</label>
5
+ <button
6
+ type="button"
7
+ name="button"
8
+ class="button_search button_spacing"
9
+ @click="showPrintModal()"
10
+ >打印预览
11
+ </button>
12
+ </div>
13
+ <modal v-if="showPrint" :show.sync="showPrint" v-ref:modal :large="true" :backdrop="false" title="打印预览">
14
+ <header slot="modal-header" class="modal-header">
15
+ <button type="button" class="close" @click="closeModal"><span>&times;</span></button>
16
+ <h4 class="modal-title">打印预览</h4>
17
+ </header>
18
+ <article slot="modal-body" class="modal-body clearfix">
19
+ <apply-dispatch-list :selectdata="selectdata" :charge="charge" v-ref:print></apply-dispatch-list>
20
+ </article>
21
+ <footer slot="modal-footer" class="modal-footer">
22
+ <button type="button" class="btn btn-primary" @click="print()">打印</button>
23
+ </footer>
24
+ </modal>
25
+ </div>
26
+ </template>
27
+ <script>
28
+ import {getNowDate, isEmpty} from '../../../Util'
29
+ import {PagedList} from 'vue-client'
30
+ import {HttpResetClass} from 'vue-client'
31
+ import Vue from 'vue'
32
+
33
+ export default {
34
+ title: '派工信息',
35
+ props: {
36
+ selectdata: {
37
+ type: Object
38
+ },
39
+ mark: {
40
+ type: Number,
41
+ default: 0
42
+ }
43
+ },
44
+ data() {
45
+ return {
46
+ showCharge: false, // 派工明细
47
+ showPrint: false, // 打印
48
+ model: {
49
+ data: null
50
+ }, // 记录
51
+ charge: {}
52
+ }
53
+ },
54
+ ready() {
55
+ this.search()
56
+ },
57
+ methods: {
58
+ print() {
59
+ this.$refs.print.$refs.print.PrintTable()
60
+ },
61
+ showPrintModal() {
62
+ this.charge = this.model.data
63
+ this.showPrint = true
64
+ },
65
+ async showChargeModal() {
66
+ this.getUserAddress()
67
+ if (this.selectdata.f_apply_type === '团购报建') {
68
+ this.charge.f_dev_info_id = this.selectdata.f_dev_id
69
+ }
70
+
71
+ this.showCharge = true
72
+ },
73
+ async search() {
74
+ let http = new HttpResetClass()
75
+ let data = {
76
+ f_process_id: this.selectdata.f_process_id
77
+ }
78
+ let res = await http.load('POST', 'rs/sql/getDispatchdetails', {data: data}, {
79
+ resolveMsg: null,
80
+ rejectMsg: '派工信息查询失败!!!'
81
+ })
82
+ let roe = await http.load('POST', 'rs/sql/gethouseholds', {data: data}, {
83
+ resolveMsg: null,
84
+ rejectMsg: '户数信息查询失败!!!'
85
+ })
86
+ this.model.data = res.data
87
+ this.model.data.households = roe.data[0].households
88
+ },
89
+ // 关闭对话框
90
+ closeModal() {
91
+ this.showCharge = false
92
+ this.showInvalid = false
93
+ this.showPrint = false
94
+ this.charge = {}
95
+ this.search()
96
+ }
97
+ },
98
+ events: {},
99
+ computed: {
100
+ paymentMethod() {
101
+ return this.$appdata.getParam("付款方式")
102
+ },
103
+ paymentTerm() {
104
+ return this.$appdata.getParam("收费项目")
105
+ }
106
+ },
107
+ watch: {}
108
+ }
109
+ </script>
110
+ <style scoped>
111
+ .textNoLineBreak {
112
+ white-space: nowrap;
113
+ }
114
+
115
+ .head-but {
116
+ margin-left: 5px;
117
+ height: 34px;
118
+ /*background-color: #6aa6e2;*/
119
+ border-radius: 4px;
120
+ font-family: PingFang;
121
+ color: #ffffff;
122
+ }
123
+ </style>