apply-clients 3.4.2-FuGu-21 → 3.4.2-FuGu-24

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.
@@ -6,10 +6,10 @@ var proxyMiddleware = require('http-proxy-middleware')
6
6
  var app = express()
7
7
  var compiler = webpack(config)
8
8
  // var proxy = httpProxy.createProxyServer()
9
- var ldap = 'http://124.70.12.19:8400'
10
- var applyinstall = 'http://124.70.12.19:8400'
11
- // var ldap = 'http://192.168.50.4:8400'
12
- // var applyinstall = 'http://127.0.0.1:8082'
9
+ // var ldap = 'http://124.70.12.19:8400'
10
+ // var applyinstall = 'http://124.70.12.19:8400'
11
+ var ldap = 'http://192.168.50.4:8400'
12
+ var applyinstall = 'http://127.0.0.1:8082'
13
13
 
14
14
  var proxyTable = {
15
15
  '/rs/logic/getSaleInitData': {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "3.4.2-FuGu-21",
3
+ "version": "3.4.2-FuGu-24",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/apply.js CHANGED
@@ -1,75 +1,77 @@
1
- import Vue from 'vue'
2
- Vue.config.silent = true
3
- import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
4
- import ApplyLoadParams from './stores/ApplyLoadParams'
5
- /** ****************服务插件*********************/
6
-
7
- export default function () {
8
- Vue.use(ApplyGetSaleParam)
9
- Vue.use(ApplyLoadParams)
10
- /** ***************************报建模块*********************************/
11
- /** 报建流程业务 **/
12
- // 报建流程业务总入口
13
- Vue.component('exploration-user', (resolve) => { require(['./components/product/Process/ExplorationUser'], resolve) })
14
- // 报建流程业务总入口页面list布局
15
- Vue.component('exploration-select', (resolve) => { require(['./components/product/Process/ExplorationSelect'], resolve) })
16
- // 业务tab(control层)页
17
- Vue.component('service-control', (resolve) => { require(['./components/product/Process/Service/ServiceControl'], resolve) })
18
- // 公共业务显示(view层)页
19
- Vue.component('service-view', (resolve) => { require(['./components/product/ServiceView'], resolve) })
20
- Vue.component('onetomany', (resolve) => { require(['./components/product/Onetomany'], resolve) })
21
- // 显示退回理由tab页
22
- Vue.component('show-back-reason', (resolve) => { require(['./components/product/Process/Service/ShowBackReason'], resolve) })
23
-
24
- /** 报建监控业务 **/
25
- // 流程监控入口页
26
- Vue.component('supervisory-control', (resolve) => { require(['./components/product/Supervisory/SupervisoryControl'], resolve) })
27
- // 流程监控列表页
28
- Vue.component('supervisory-list', (resolve) => { require(['./components/product/Supervisory/SupervisoryList'], resolve) })
29
- // 业务tab(control层)页
30
- Vue.component('supervisory-service-control', (resolve) => { require(['./components/product/Supervisory/Service/SupervisoryServiceControl'], resolve) })
31
- // 流程列表页
32
- Vue.component('supervisory-chart', (resolve) => { require(['./components/product/Supervisory/SupervisoryhCart'], resolve) })
33
-
34
- /** 报建功能业务 **/
35
- // 报建功能业务总入口
36
- Vue.component('install-function', (resolve) => { require(['./components/product/Function/InstallFunction'], resolve) })
37
- // 报建功能工程列表
38
- Vue.component('installinfoselect', (resolve) => { require(['./components/product/Function/InstallInfoSelect'], resolve) })
39
- // 报建菜单页面控制层
40
- Vue.component('function-service-control', (resolve) => { require(['./components/product/Function/Service/FunctionServiceControl'], resolve) })
41
-
42
- /** 预约报建 **/
43
- // Vue.component('order-apply', (resolve) => { require(['./components/product/Order/OrderApply'], resolve) })
44
- // Vue.component('order-apply-list', (resolve) => { require(['./components/product/Order/OrderApplyList'], resolve) })
45
- // Vue.component('order-message', (resolve) => { require(['./components/product/Order/OrderMessage'], resolve) })
46
-
47
- // 终止报建页面入口
48
- Vue.component('stop-apply', (resolve) => { require(['./components/product/Stop/StopApply'], resolve) })
49
- Vue.component('stop-apply-list', (resolve) => { require(['./components/product/Stop/StopApplyList'], resolve) })
50
-
51
- /** 报建收费记录 **/
52
- Vue.component('apply-charge-search', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeSearch'], resolve) })
53
- Vue.component('apply-charge-list', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeList'], resolve) })
54
- Vue.component('apply-print-charge', (resolve) => { require(['./components/product/ApplyCharge/printCharge'], resolve) })
55
-
56
- // 地址管理
57
- Vue.component('apply-address-userinfo-management', (resolve) => { require(['./components/product/Process/Processes/addressAndUserinfoManagement'], resolve) })
58
- // 施工安装明细
59
- Vue.component('installation-details', (resolve) => { require(['./components/product/Process/Processes/InstallationDetails'], resolve) })
60
- // 收费管理
61
- Vue.component('apply-charge-management', (resolve) => { require(['./components/product/Process/Processes/chargeManagement'], resolve) })
62
-
63
- // 补充协议
64
- Vue.component('supplemental-agreement', (resolve) => { require(['./components/product/Process/Processes/supplementalAgreement'], resolve) })
65
- // 选择用户信息
66
- Vue.component('select-userinfo', (resolve) => { require(['./components/product/Process/Processes/selectUserinfo'], resolve) })
67
- // 选择报建项目
68
- Vue.component('select-apply', (resolve) => { require(['./components/product/Process/Processes/selectApply'], resolve) })
69
- // 设备管理
70
- Vue.component('apply-devices-management', (resolve) => { require(['./components/product/Process/Processes/devicesManagement'], resolve) })
71
-
72
- /** VueUtils **/
73
- Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
74
- Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/HighMeter'], resolve) })
75
- }
1
+ import Vue from 'vue'
2
+ Vue.config.silent = true
3
+ import ApplyGetSaleParam from './stores/ApplyGetSaleParams'
4
+ import ApplyLoadParams from './stores/ApplyLoadParams'
5
+ /** ****************服务插件*********************/
6
+
7
+ export default function () {
8
+ Vue.use(ApplyGetSaleParam)
9
+ Vue.use(ApplyLoadParams)
10
+ /** ***************************报建模块*********************************/
11
+ /** 报建流程业务 **/
12
+ // 报建流程业务总入口
13
+ Vue.component('exploration-user', (resolve) => { require(['./components/product/Process/ExplorationUser'], resolve) })
14
+ // 报建流程业务总入口页面list布局
15
+ Vue.component('exploration-select', (resolve) => { require(['./components/product/Process/ExplorationSelect'], resolve) })
16
+ // 业务tab(control层)页
17
+ Vue.component('service-control', (resolve) => { require(['./components/product/Process/Service/ServiceControl'], resolve) })
18
+ // 公共业务显示(view层)页
19
+ Vue.component('service-view', (resolve) => { require(['./components/product/ServiceView'], resolve) })
20
+ Vue.component('onetomany', (resolve) => { require(['./components/product/Onetomany'], resolve) })
21
+ // 显示退回理由tab页
22
+ Vue.component('show-back-reason', (resolve) => { require(['./components/product/Process/Service/ShowBackReason'], resolve) })
23
+
24
+ /** 报建监控业务 **/
25
+ // 流程监控入口页
26
+ Vue.component('supervisory-control', (resolve) => { require(['./components/product/Supervisory/SupervisoryControl'], resolve) })
27
+ // 流程监控列表页
28
+ Vue.component('supervisory-list', (resolve) => { require(['./components/product/Supervisory/SupervisoryList'], resolve) })
29
+ // 业务tab(control层)页
30
+ Vue.component('supervisory-service-control', (resolve) => { require(['./components/product/Supervisory/Service/SupervisoryServiceControl'], resolve) })
31
+ // 流程列表页
32
+ Vue.component('supervisory-chart', (resolve) => { require(['./components/product/Supervisory/SupervisoryhCart'], resolve) })
33
+
34
+ /** 报建功能业务 **/
35
+ // 报建功能业务总入口
36
+ Vue.component('install-function', (resolve) => { require(['./components/product/Function/InstallFunction'], resolve) })
37
+ // 报建功能工程列表
38
+ Vue.component('installinfoselect', (resolve) => { require(['./components/product/Function/InstallInfoSelect'], resolve) })
39
+ // 报建菜单页面控制层
40
+ Vue.component('function-service-control', (resolve) => { require(['./components/product/Function/Service/FunctionServiceControl'], resolve) })
41
+
42
+ /** 预约报建 **/
43
+ // Vue.component('order-apply', (resolve) => { require(['./components/product/Order/OrderApply'], resolve) })
44
+ // Vue.component('order-apply-list', (resolve) => { require(['./components/product/Order/OrderApplyList'], resolve) })
45
+ // Vue.component('order-message', (resolve) => { require(['./components/product/Order/OrderMessage'], resolve) })
46
+
47
+ // 终止报建页面入口
48
+ Vue.component('stop-apply', (resolve) => { require(['./components/product/Stop/StopApply'], resolve) })
49
+ Vue.component('stop-apply-list', (resolve) => { require(['./components/product/Stop/StopApplyList'], resolve) })
50
+
51
+ /** 报建收费记录 **/
52
+ Vue.component('apply-charge-search', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeSearch'], resolve) })
53
+ Vue.component('apply-charge-list', (resolve) => { require(['./components/product/ApplyCharge/ApplyChargeList'], resolve) })
54
+ Vue.component('apply-print-charge', (resolve) => { require(['./components/product/Process/Print/printCharge'], resolve) })
55
+
56
+ // 地址管理
57
+ Vue.component('apply-address-userinfo-management', (resolve) => { require(['./components/product/Process/Processes/addressAndUserinfoManagement'], resolve) })
58
+ // 施工安装明细
59
+ Vue.component('installation-details', (resolve) => { require(['./components/product/Process/Processes/InstallationDetails'], resolve) })
60
+ // 收费管理
61
+ Vue.component('apply-charge-management', (resolve) => { require(['./components/product/Process/Processes/chargeManagement'], resolve) })
62
+
63
+ // 补充协议
64
+ Vue.component('supplemental-agreement', (resolve) => { require(['./components/product/Process/Processes/supplementalAgreement'], resolve) })
65
+ // 选择用户信息
66
+ Vue.component('select-userinfo', (resolve) => { require(['./components/product/Process/Processes/selectUserinfo'], resolve) })
67
+ // 选择报建项目
68
+ Vue.component('select-apply', (resolve) => { require(['./components/product/Process/Processes/selectApply'], resolve) })
69
+ // 设备管理
70
+ Vue.component('apply-devices-management', (resolve) => { require(['./components/product/Process/Processes/devicesManagement'], resolve) })
71
+ // 派工信息
72
+ Vue.component('apply-dispatchdetails', (resolve) => { require(['./components/product/Process/Processes/dispatchdetails'], resolve) })
73
+ Vue.component('apply-dispatch-list', (resolve) => { require(['./components/product/Process/Print/dispatchlist'], resolve) })
74
+ /** VueUtils **/
75
+ Vue.component('apply-upload', (resolve) => { require(['./components/product/VueUtils/ApplyUpload'], resolve) })
76
+ Vue.component('apply-high-meter', (resolve) => { require(['./components/product/VueUtils/HighMeter'], resolve) })
77
+ }
@@ -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,139 @@
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%">{{ user }}</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 >{{ data[0].f_contact }}</td>
70
+ <td>联系电话</td>
71
+ <td >{{ data[0].f_phone }}</td>
72
+ <td>户数</td>
73
+ <td>{{ data.households }}</td>
74
+ </tr>
75
+ <tr>
76
+ <td>工程内容</td>
77
+ <td colspan="6">{{selectdata.f_construction_unit}}</td>
78
+ </tr>
79
+ <tr>
80
+ <td>施工负责人</td>
81
+ <td colspan="2">{{selectdata.f_construction_worker}}</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', 'data'],
115
+ data () {
116
+ return {
117
+ f_user_type: [this.data[0].f_user_type !== '民用' ? '商用' : '民用']
118
+ }
119
+ },
120
+ ready () {
121
+ },
122
+ methods: {},
123
+ computed: {
124
+ orgs () {
125
+ return this.$login.f.orgs
126
+ },
127
+ user(){
128
+ return this.$login.f.name
129
+ },
130
+ src () {
131
+ // return require(`./img/${this.$login.f.number}.png`)
132
+ }
133
+ }
134
+ }
135
+ </script>
136
+
137
+ <style scoped>
138
+
139
+ </style>
@@ -1,142 +1,142 @@
1
- <template>
2
- <style id="printChargeStyle">
3
- td{
4
- height: 30px;
5
- text-align: center;
6
- }
7
- table{
8
- margin: auto;
9
- /*width: 100%;*/
10
- border-collapse:collapse;
11
- border: 1px solid black;
12
- }
13
- h1,h2,h3,h4,h5,h6 {
14
- text-align: center;
15
- }
16
- .orgs {
17
- border-bottom: 2px solid;
18
- padding: 5px;
19
- }
20
- .date {
21
- float: left;
22
- padding-left: 10px;
23
- }
24
- .status {
25
- float: right;
26
- padding-right: 10px;
27
- }
28
- .seal {
29
- position: absolute;
30
- right: 100px;
31
- top: 120px;
32
- width: 150px;
33
- height: 150px;
34
- /*opacity: 0.5;*/
35
- z-index: -1;
36
- }
37
- </style>
38
- <div id="printCharge">
39
- <h4>
40
- <span class="orgs">
41
- {{orgs}}统一收据
42
- </span>
43
- </h4>
44
- <table border="1" width="100%">
45
- <tr>
46
- <td colspan="2" style="border: none">
47
- 开票日期:{{ new Date().Format('yyyy年MM月dd日') }}
48
- </td>
49
- <td colspan="2" style="border: none">
50
- 收据编码:{{ charge.f_charge_number }}
51
- </td>
52
- <td colspan="2" style="border: none">
53
- 状态:{{ charge.f_charge_status }}
54
- </td>
55
- </tr>
56
- <tr>
57
- <td style="width: 17%">用户姓名</td>
58
- <td colspan="2" style="width: 33%">{{ selectdata.f_user_name }}</td>
59
- <td style="width: 17%">用户编号</td>
60
- <td colspan="2" style="width: 33%">{{ selectdata.f_userinfo_code }}</td>
61
- </tr>
62
- <tr>
63
- <td>用户地址</td>
64
- <td colspan="5">{{ selectdata.f_address }}</td>
65
- </tr>
66
- <tr>
67
- <td>收款项目</td>
68
- <td colspan="2">{{ charge.f_payment_term }}</td>
69
- <td>收款方式</td>
70
- <td colspan="2">{{ charge.f_payment_method }}</td>
71
- </tr>
72
- <tr>
73
- <td>金额</td>
74
- <td colspan="2">{{ charge.f_charge_money }}</td>
75
- <td>金额大写</td>
76
- <td colspan="2">{{ charge.f_amount_words }}</td>
77
- </tr>
78
- <tr>
79
- <td>收款人</td>
80
- <td colspan="2">{{ charge.f_charge_collectors }}</td>
81
- <td>销售方(章)</td>
82
- <td colspan="2"></td>
83
- </tr>
84
- <tr>
85
- <td>备&emsp;&emsp;注</td>
86
- <td colspan="5">{{ charge.f_charge_remarks }}</td>
87
- </tr>
88
- <tr>
89
- <td colspan="6">
90
- 请持此收据到{{orgs}}营业厅换取发票
91
- </td>
92
- </tr>
93
- </table>
94
- <img class="seal" border="0" :src="src" alt="">
95
- </div>
96
-
97
- <print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
98
- top='20' left='30' width='100%' height='100%'>
99
- </print-element>
100
- </template>
101
-
102
- <script>
103
- import { isEmpty } from '../../Util'
104
- Date.prototype.Format = function (fmt) {
105
- var o = {
106
- "M+": this.getMonth() + 1, //月份
107
- "d+": this.getDate(), //日
108
- "H+": this.getHours(), //小时
109
- "m+": this.getMinutes(), //分
110
- "s+": this.getSeconds(), //秒
111
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
112
- "S": this.getMilliseconds() //毫秒
113
- };
114
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
115
- for (var k in o)
116
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
117
- return fmt;
118
- }
119
- export default {
120
- title: '打印收费票据',
121
- props: ['selectdata', 'charge'],
122
- data () {
123
- return {}
124
- },
125
- ready () {
126
- },
127
- methods: {
128
- },
129
- computed: {
130
- orgs () {
131
- return this.$login.f.orgs
132
- },
133
- src () {
134
- // return require(`./img/${this.$login.f.number}.png`)
135
- }
136
- }
137
- }
138
- </script>
139
-
140
- <style scoped>
141
-
142
- </style>
1
+ <template>
2
+ <style id="printChargeStyle">
3
+ td{
4
+ height: 30px;
5
+ text-align: center;
6
+ }
7
+ table{
8
+ margin: auto;
9
+ /*width: 100%;*/
10
+ border-collapse:collapse;
11
+ border: 1px solid black;
12
+ }
13
+ h1,h2,h3,h4,h5,h6 {
14
+ text-align: center;
15
+ }
16
+ .orgs {
17
+ border-bottom: 2px solid;
18
+ padding: 5px;
19
+ }
20
+ .date {
21
+ float: left;
22
+ padding-left: 10px;
23
+ }
24
+ .status {
25
+ float: right;
26
+ padding-right: 10px;
27
+ }
28
+ .seal {
29
+ position: absolute;
30
+ right: 100px;
31
+ top: 120px;
32
+ width: 150px;
33
+ height: 150px;
34
+ /*opacity: 0.5;*/
35
+ z-index: -1;
36
+ }
37
+ </style>
38
+ <div id="printCharge">
39
+ <h4>
40
+ <span class="orgs">
41
+ {{orgs}}统一收据
42
+ </span>
43
+ </h4>
44
+ <table border="1" width="100%">
45
+ <tr>
46
+ <td colspan="2" style="border: none">
47
+ 开票日期:{{ new Date().Format('yyyy年MM月dd日') }}
48
+ </td>
49
+ <td colspan="2" style="border: none">
50
+ 收据编码:{{ charge.f_charge_number }}
51
+ </td>
52
+ <td colspan="2" style="border: none">
53
+ 状态:{{ charge.f_charge_status }}
54
+ </td>
55
+ </tr>
56
+ <tr>
57
+ <td style="width: 17%">用户姓名</td>
58
+ <td colspan="2" style="width: 33%">{{ selectdata.f_user_name }}</td>
59
+ <td style="width: 17%">用户编号</td>
60
+ <td colspan="2" style="width: 33%">{{ selectdata.f_userinfo_code }}</td>
61
+ </tr>
62
+ <tr>
63
+ <td>用户地址</td>
64
+ <td colspan="5">{{ selectdata.f_address }}</td>
65
+ </tr>
66
+ <tr>
67
+ <td>收款项目</td>
68
+ <td colspan="2">{{ charge.f_payment_term }}</td>
69
+ <td>收款方式</td>
70
+ <td colspan="2">{{ charge.f_payment_method }}</td>
71
+ </tr>
72
+ <tr>
73
+ <td>金额</td>
74
+ <td colspan="2">{{ charge.f_charge_money }}</td>
75
+ <td>金额大写</td>
76
+ <td colspan="2">{{ charge.f_amount_words }}</td>
77
+ </tr>
78
+ <tr>
79
+ <td>收款人</td>
80
+ <td colspan="2">{{ charge.f_charge_collectors }}</td>
81
+ <td>销售方(章)</td>
82
+ <td colspan="2"></td>
83
+ </tr>
84
+ <tr>
85
+ <td>备&emsp;&emsp;注</td>
86
+ <td colspan="5">{{ charge.f_charge_remarks }}</td>
87
+ </tr>
88
+ <tr>
89
+ <td colspan="6">
90
+ 请持此收据到{{orgs}}营业厅换取发票
91
+ </td>
92
+ </tr>
93
+ </table>
94
+ <img class="seal" border="0" :src="src" alt="">
95
+ </div>
96
+
97
+ <print-element v-show="false" v-ref:print id='printCharge' styleid='printChargeStyle'
98
+ top='20' left='30' width='100%' height='100%'>
99
+ </print-element>
100
+ </template>
101
+
102
+ <script>
103
+ import { isEmpty } from '../../../Util'
104
+ Date.prototype.Format = function (fmt) {
105
+ var o = {
106
+ "M+": this.getMonth() + 1, //月份
107
+ "d+": this.getDate(), //日
108
+ "H+": this.getHours(), //小时
109
+ "m+": this.getMinutes(), //分
110
+ "s+": this.getSeconds(), //秒
111
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
112
+ "S": this.getMilliseconds() //毫秒
113
+ };
114
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
115
+ for (var k in o)
116
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
117
+ return fmt;
118
+ }
119
+ export default {
120
+ title: '打印收费票据',
121
+ props: ['selectdata', 'charge'],
122
+ data () {
123
+ return {}
124
+ },
125
+ ready () {
126
+ },
127
+ methods: {
128
+ },
129
+ computed: {
130
+ orgs () {
131
+ return this.$login.f.orgs
132
+ },
133
+ src () {
134
+ // return require(`./img/${this.$login.f.number}.png`)
135
+ }
136
+ }
137
+ }
138
+ </script>
139
+
140
+ <style scoped>
141
+
142
+ </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="form-group select-overspread">派工单</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" :data="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>
@@ -443,6 +443,28 @@ export default {
443
443
  }
444
444
  })
445
445
  },
446
+ // 获取片区
447
+ async getWorker () {
448
+ let data = {
449
+ source: 'this.getParentByType($organization$).getChildByName($安装员$).getChildren()',
450
+ userid: this.$login.f.id
451
+ }
452
+
453
+ let http = new HttpResetClass()
454
+ let res = await http.load(
455
+ 'POST',
456
+ `rs/search`,
457
+ {data: data},
458
+ {resolveMsg: null, rejectMsg: '施工负责人查询失败!!!'}
459
+ )
460
+
461
+ return res.data.map(item => {
462
+ return {
463
+ label: item.name,
464
+ value: item.name
465
+ }
466
+ })
467
+ },
446
468
  // 缴费前置
447
469
  chargeBefore () {
448
470
  if (Number(this.show_data.f_due_money) > Number(this.show_data.f_cumulative_payment_money) || Number(this.show_data.f_surplus_money) > 0) {