apply-clients 3.4.2-FuGu-21 → 3.4.2-FuGu-22

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-21",
3
+ "version": "3.4.2-FuGu-22",
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) })
@@ -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>