apply-clients 3.0.4 → 3.0.5-4
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/index.html +1 -1
- package/package.json +4 -3
- package/src/App.vue +126 -15
- package/src/apply.js +152 -134
- package/src/bootstrap/fonts/PingFangSC-Regular.ttf +0 -0
- package/src/bootstrap/less/bootstrap.less +1 -2
- package/src/bootstrap/less/standard.less +208 -0
- package/src/components/Util.js +4 -0
- package/src/components/app_apply/FieldExploration.vue +2 -2
- package/src/components/app_apply/Ventilation.vue +2 -2
- package/src/components/image/doc.jpg +0 -0
- package/src/components/image/excel.jpg +0 -0
- package/src/components/image/pdf.jpg +0 -0
- package/src/components/image//345/233/276/345/261/20212.png +0 -0
- package/src/components/image//345/233/276/345/261/20213.png +0 -0
- package/src/components/image//345/233/276/345/261/20216.png +0 -0
- package/src/components/image//345/244/232/350/276/271/345/275/2422.png +0 -0
- package/src/components/image//345/244/232/350/276/271/345/275/2422/346/213/267/350/264/235.png +0 -0
- package/src/components/image//346/244/255/345/234/2062.png +0 -0
- package/src/components/image//346/244/255/345/234/2065.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/235.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/2352.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/2353.png +0 -0
- package/src/components/image//347/273/2044.png +0 -0
- package/src/components/image//347/273/2045.png +0 -0
- package/src/components/image//347/273/2046.png +0 -0
- package/src/components/image//350/257/235/345/212/241/347/273/237/350/256/241/346/225/260/346/215/256/345/261/225/347/244/272.png +0 -0
- package/src/components/product/Function/InstallFunction.vue +9 -5
- package/src/components/product/Function/InstallInfoSelect.vue +98 -69
- package/src/components/product/Function/Service/FunctionServiceControl.vue +47 -4
- package/src/components/product/Function/functions/AddContract.vue +161 -139
- package/src/components/product/Function/functions/BuyerMessage.vue +285 -137
- package/src/components/product/Function/functions/InstallFee.vue +1117 -912
- package/src/components/product/MaterialBatchList.vue +109 -0
- package/src/components/product/MaterialBatchManage.vue +34 -0
- package/src/components/product/Procedures/ProceduresDataGrid.vue +1022 -0
- package/src/components/product/Process/ExplorationSelect.vue +213 -73
- package/src/components/product/Process/ExplorationUser.vue +94 -39
- package/src/components/product/Process/MaterialUseList.vue +159 -0
- package/src/components/product/Process/ModifyUserFiles.vue +15 -5
- package/src/components/product/Process/ProcessInfo/history_control.vue +35 -6
- package/src/components/product/Process/Processes/ApplyUpload.vue +287 -0
- package/src/components/product/Process/Processes/CustomerCostPlan.vue +214 -0
- package/src/components/product/Process/Processes/CustomerMaterialMessage.vue +499 -210
- package/src/components/product/Process/Processes/CustomerRecordMessage.vue +949 -753
- package/src/components/product/Process/Processes/ProjectSettlement.vue +535 -24
- package/src/components/product/Process/Processes/ReceiveBatch.vue +301 -121
- package/src/components/product/Process/Processes/Service/ApplyChangeHistory.vue +105 -0
- package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +27 -14
- package/src/components/product/Process/Processes/Service/ServiceControl.vue +2561 -1104
- package/src/components/product/Process/Processes/Upload.vue +532 -0
- package/src/components/product/Process/ShowBackReason.vue +1 -1
- package/src/components/product/ServiceView.vue +825 -583
- package/src/components/product/Statistics/ApplyStatisticsROOT.vue +27 -0
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +212 -23
- package/src/components/product/Supervisory/SupervisoryControl.vue +79 -26
- package/src/components/product/Supervisory/SupervisoryList.vue +182 -41
- package/src/components/product/Supervisory/SupervisoryhCart.vue +4 -2
- package/src/components/product/VueUtils/Tree.vue +330 -0
- package/src/components/product/VueUtils/rightview/InstallCardList2.vue +29 -38
- package/src/stores/ApplyLoadParams.js +1 -1
- package/src/stores/PagedListLogic.js +173 -0
- package/.npmignore +0 -12
- package/yarn.lock +0 -9008
|
@@ -4,37 +4,33 @@
|
|
|
4
4
|
<criteria-paged :model="model" v-ref:paged :pager="false">
|
|
5
5
|
<criteria partial='criteria' @condition-changed='$parent.$parent.selfSearch' v-ref:cri>
|
|
6
6
|
<div novalidate class="flex-row select-overspread" partial style="white-space: nowarp;">
|
|
7
|
+
<div class="form-group col-sm-5">
|
|
8
|
+
<!-- <label>用户编号:</label> -->
|
|
9
|
+
<input type="text" class="form-control" v-model="model.f_user_name" placeholder='联系人' condition="f_user_name like '%{}%'">
|
|
10
|
+
</div>
|
|
11
|
+
<div class="form-group col-sm-5">
|
|
12
|
+
<!-- <label>操作类型:</label> -->
|
|
7
13
|
<div class="form-group">
|
|
8
14
|
<!-- <label>用户编号:</label> -->
|
|
9
|
-
<input type="text" class="form-control
|
|
10
|
-
</div>
|
|
11
|
-
<div class="form-group" style="flex: 1;">
|
|
12
|
-
<!-- <label>操作类型:</label> -->
|
|
13
|
-
<v-select id="f_paytype"
|
|
14
|
-
v-model="model.f_operat_type"
|
|
15
|
-
placeholder='操作类型'
|
|
16
|
-
:value.sync="model.f_operat_type"
|
|
17
|
-
:options='$parent.$parent.$parent.operationtypes'
|
|
18
|
-
condition="f_operat_type = '{}'"
|
|
19
|
-
close-on-select ></v-select>
|
|
20
|
-
<partial name="cardcriteria"></partial>
|
|
21
|
-
</div>
|
|
22
|
-
<!-- <div class="form-group">
|
|
23
|
-
<partial name="cardcriteria"></partial>
|
|
24
|
-
</div> -->
|
|
25
|
-
<div class="form-group">
|
|
26
|
-
<button class="btn btn-success width-100" @click="search()" id=base-rightVie-cardLis-查询>查询</button>
|
|
15
|
+
<input type="text" class="form-control " v-model="model.f_phone" placeholder='电话号码' condition="f_phone like '%{}%'">
|
|
27
16
|
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<!-- <div class="form-group">
|
|
19
|
+
<partial name="cardcriteria"></partial>
|
|
20
|
+
</div> -->
|
|
21
|
+
<div class="form-group col-sm-2">
|
|
22
|
+
<button class="btn btn-success width-100" @click="search()" id=base-rightVie-cardLis-查询>查询</button>
|
|
23
|
+
</div>
|
|
28
24
|
|
|
29
25
|
</div>
|
|
30
26
|
</criteria>
|
|
31
27
|
<accordion :one-at-atime="true" type="info" partial="list">
|
|
32
28
|
<panel type="info" v-for="row in model.rows" :is-open="true" :is-click="false" v-show="row.type==='终止报建'">
|
|
33
|
-
<span class="panel-title row" slot="header" style="cursor: pointer;">
|
|
29
|
+
<span class="panel-title row" slot="header" @click="$parent.$parent.$parent.selected(row)" style="cursor: pointer;">
|
|
34
30
|
<div class="col-sm-11">
|
|
35
31
|
<div class="row">
|
|
36
|
-
<
|
|
37
|
-
<
|
|
32
|
+
<div class="col-sm-4">{{row.f_apply_num}}</div>
|
|
33
|
+
<div class="col-sm-4"></div>
|
|
38
34
|
<span class="col-sm-4">{{row.type}}</span>
|
|
39
35
|
</div>
|
|
40
36
|
</div>
|
|
@@ -45,18 +41,13 @@
|
|
|
45
41
|
<span class="glyphicon glyphicon-th-list"></span>
|
|
46
42
|
</button>
|
|
47
43
|
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right" style=" min-width: 60px;">
|
|
48
|
-
<!--<li v-if="row.type === '机表收费' || row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气' || row.type === '其他收费' || row.type === '换表'">-->
|
|
49
|
-
<!--<a href="#" @click.stop="$parent.$parent.$parent.operate('票据补打', row)">票据补打</a>-->
|
|
50
|
-
<!--</li>-->
|
|
51
|
-
<!-- <li v-if="row.state === 1 && row.type !== '档案变更' && row.type !== '新增户档案' && row.type !== '银行代扣' && row.type !== '发卡售气' && row.type !== '卡表收费'&& row.type !== '补气'"> -->
|
|
52
44
|
<li v-if="row.type === '终止报建'">
|
|
53
45
|
<a href="#" @click.stop="$parent.$parent.$parent.operate('撤销', row)">撤销</a>
|
|
54
46
|
</li>
|
|
55
47
|
</ul>
|
|
56
48
|
</dropdown>
|
|
57
49
|
</div>
|
|
58
|
-
|
|
59
|
-
<!--</span>-->
|
|
50
|
+
</span>
|
|
60
51
|
<div class="panel-body" v-if="$parent.$parent.$parent.isSelected(row)">
|
|
61
52
|
<!--<build-apply-detail v-if="row.type === '报建收费'" :data="row"></build-apply-detail>-->
|
|
62
53
|
<!--<change-apply-detail v-if="row.type === '报建费用变更'" :data="row"></change-apply-detail>-->
|
|
@@ -72,11 +63,11 @@
|
|
|
72
63
|
</criteria-paged>
|
|
73
64
|
</partial-view>
|
|
74
65
|
</div>
|
|
75
|
-
|
|
76
|
-
|
|
66
|
+
</template>
|
|
67
|
+
<script>
|
|
77
68
|
/**
|
|
78
|
-
|
|
79
|
-
|
|
69
|
+
*操作记录信息
|
|
70
|
+
*/
|
|
80
71
|
import { PagedList } from 'vue-client'
|
|
81
72
|
import co from 'co'
|
|
82
73
|
import AppData from '../../../../stores/AppData'
|
|
@@ -94,7 +85,7 @@
|
|
|
94
85
|
return {
|
|
95
86
|
operationtypes: this.$appdata.getParam('报建业务类型'),
|
|
96
87
|
model: new PagedList(`${this.sqlurl}`, 9999,
|
|
97
|
-
|
|
88
|
+
{items: '"' + this.items + '"', tablename: '"' + this.tablename + '"', orderitem: '"' + this.orderitem + '"'}),
|
|
98
89
|
show: false,
|
|
99
90
|
asideTitle: '用户操作',
|
|
100
91
|
row: Object,
|
|
@@ -104,7 +95,7 @@
|
|
|
104
95
|
props: {
|
|
105
96
|
sqlurl: {
|
|
106
97
|
type: String,
|
|
107
|
-
|
|
98
|
+
default: 'rs/sql/getinstallrecord'
|
|
108
99
|
},
|
|
109
100
|
items: {
|
|
110
101
|
type: String,
|
|
@@ -156,7 +147,7 @@
|
|
|
156
147
|
let condition = '1=1'
|
|
157
148
|
// this.$refs.paged.$refs.cri.search()
|
|
158
149
|
if (!this.$login.f.parent.parent.name.includes('统一资源管理')) {
|
|
159
|
-
condition += `and f_filiale = '${this.$login.f.f_fengongsi}'`
|
|
150
|
+
condition += ` and f_filiale = '${this.$login.f.f_fengongsi}'`
|
|
160
151
|
}
|
|
161
152
|
this.$refs.pv.load(this.sqlurl, {data: {condition: condition}}).then((a) => {
|
|
162
153
|
if (a.data.length === 0) {
|
|
@@ -175,7 +166,7 @@
|
|
|
175
166
|
operate (title, row) {
|
|
176
167
|
if (title === '票据补打' && (row.type === '机表收费' || row.type === '卡表收费' || row.type === '超用收费' || row.type === '发卡售气')) {
|
|
177
168
|
this.$resetpost('rs/sql/singleTable_OrderBy', {data: {orderitem: 'id', items: '*',
|
|
178
|
-
|
|
169
|
+
tablename: 't_sellinggas', condition: 'id = ' + row.id}}).then((res) => {
|
|
179
170
|
row = Object.assign({}, row, res.data[0])
|
|
180
171
|
this.$dispatch('list-select-oper', `${row.type}票据补打`, 'reissue-bill', row)
|
|
181
172
|
}).catch((error) => {
|
|
@@ -187,7 +178,7 @@
|
|
|
187
178
|
})
|
|
188
179
|
} else if (title === '票据补打' && row.type === '其他收费') {
|
|
189
180
|
this.$resetpost('rs/sql/singleTable_OrderBy', {data: {orderitem: 'id', items: '*',
|
|
190
|
-
|
|
181
|
+
tablename: 't_othercharge', condition: 'id = ' + row.id}}).then((res) => {
|
|
191
182
|
if (res.data[0].f_charge_type === '国税发票') {
|
|
192
183
|
row = Object.assign({}, row, res.data[0])
|
|
193
184
|
this.$dispatch('list-select-oper', `${row.type}票据补打`, 'reissue-other-bill', row)
|
|
@@ -204,7 +195,7 @@
|
|
|
204
195
|
})
|
|
205
196
|
} else if (title === '票据补打' && row.type === '换表') {
|
|
206
197
|
this.$resetpost('rs/sql/singleTable_OrderBy', {data: {orderitem: 'id', items: '*',
|
|
207
|
-
|
|
198
|
+
tablename: 't_changemeter', condition: 'id = ' + row.id}}).then((res) => {
|
|
208
199
|
row = Object.assign({}, row, res.data[0])
|
|
209
200
|
this.$dispatch('list-select-oper', `${row.type}票据补打`, 'reissue-change-meter-bill', row)
|
|
210
201
|
}).catch((error) => {
|
|
@@ -264,4 +255,4 @@
|
|
|
264
255
|
// }
|
|
265
256
|
},
|
|
266
257
|
}
|
|
267
|
-
|
|
258
|
+
</script>
|
|
@@ -6,7 +6,7 @@ let loadParamGen = async function () {
|
|
|
6
6
|
console.log('开始加载参数,。。', ApplyGetSaleParam.gasbrands)
|
|
7
7
|
if (ApplyGetSaleParam.gasbrands.length === 0 && ApplyGetSaleParam.prices.length === 0 && ApplyGetSaleParam.adjustables.length === 0 ) {
|
|
8
8
|
let http = new HttpResetClass()
|
|
9
|
-
let getParams = await http.load('POST','rs/logic/getSaleInitData', {data:{f_filialeids:Vue.$login.f.f_orgids}}, {resolveMsg: null, rejectMsg:
|
|
9
|
+
let getParams = await http.load('POST','rs/logic/getSaleInitData', {data:{f_filialeids:Vue.$login.f.f_orgids}}, {resolveMsg: null, rejectMsg: null})
|
|
10
10
|
console.log('获取营收参数', getParams)
|
|
11
11
|
if (getParams.data) {
|
|
12
12
|
ApplyLoadParams.organizeData(getParams.data)
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import co from 'co'
|
|
3
|
+
import {HttpResetClass} from 'vue-client'
|
|
4
|
+
|
|
5
|
+
let postGen = function * (self, pageNo) {
|
|
6
|
+
self.seaching=true
|
|
7
|
+
yield self.http.load('POST',
|
|
8
|
+
`${self.url}?pageNo=${pageNo}&pageSize=${self.pageSize}`,
|
|
9
|
+
{data: self.params},
|
|
10
|
+
{aoteEncrypt: self.aoteEncrypt, encryKey: self.encryKey,resolveMsg: null, rejectMsg: null}
|
|
11
|
+
).then(
|
|
12
|
+
(response) => {
|
|
13
|
+
self.seaching=false
|
|
14
|
+
self.state = '正确'
|
|
15
|
+
self.rows = response.data
|
|
16
|
+
if(self.isBlank == true){
|
|
17
|
+
let size = response.data.length % self.pageSize
|
|
18
|
+
if(pageNo == self.totalPage) {
|
|
19
|
+
for (let i = 1; i <= self.pageSize - size; i++) {
|
|
20
|
+
self.rows.push({isNuN: 'true'})
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
self.pageIndex = pageNo
|
|
25
|
+
}
|
|
26
|
+
).catch(
|
|
27
|
+
(error) => {
|
|
28
|
+
self.seaching=false
|
|
29
|
+
self.state = '错误'
|
|
30
|
+
self.error = JSON.stringify(error)
|
|
31
|
+
throw error
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default class PagedListLogic {
|
|
37
|
+
//正查询标志位
|
|
38
|
+
seaching=false
|
|
39
|
+
// 用url及pageSize构造
|
|
40
|
+
// url - 加载数据的url
|
|
41
|
+
// pageSize - 每页数据个数
|
|
42
|
+
// params - 除正常查询条件外,附加到后台sql中的参数,可以为空。格式为:{参数名:参数值}
|
|
43
|
+
// sums - 需要求和的字段。格式为:{参数名:参数值}
|
|
44
|
+
// isBlank - 是否使用空行填充表格,值为true或者 false
|
|
45
|
+
// comp - 调用时的组件名,方便调试
|
|
46
|
+
constructor (url, pageSize, params, sums, isBlank, comp, aoteEncrypt, encryKey) {
|
|
47
|
+
this.url = url
|
|
48
|
+
this.pageSize = pageSize
|
|
49
|
+
this.pageIndex = 0
|
|
50
|
+
this.isBlank = isBlank
|
|
51
|
+
this.aoteEncrypt = aoteEncrypt
|
|
52
|
+
this.encryKey = encryKey
|
|
53
|
+
|
|
54
|
+
// 登记组件名
|
|
55
|
+
if (comp) {
|
|
56
|
+
this.comp = comp
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// 登记参数源码,查询前,执行参数源码,获得实际参数值
|
|
60
|
+
if (params) {
|
|
61
|
+
this.paramSource = params
|
|
62
|
+
}
|
|
63
|
+
// 查询时,提交后台的参数值
|
|
64
|
+
this.params = {}
|
|
65
|
+
|
|
66
|
+
// 求和的字段
|
|
67
|
+
this.sums = sums
|
|
68
|
+
// 符合条件的数据总数
|
|
69
|
+
this.count = 0
|
|
70
|
+
// 符合条件的数据总页数
|
|
71
|
+
this.totalPage = 0
|
|
72
|
+
// 加载过来的数据
|
|
73
|
+
this.rows = []
|
|
74
|
+
// 状态,字符串型,包括:初始(默认),查询,错误,正确
|
|
75
|
+
this.state = '初始'
|
|
76
|
+
// 出现错误时的错误内容,没找到符合条件的数据当错误处理
|
|
77
|
+
this.error = '请输入条件, 进行查询'
|
|
78
|
+
|
|
79
|
+
// 每次加载所需要的条件
|
|
80
|
+
this.condition = null
|
|
81
|
+
this.model = null
|
|
82
|
+
this.condValue = null
|
|
83
|
+
this.http = new HttpResetClass()
|
|
84
|
+
|
|
85
|
+
//初始填充数据空行
|
|
86
|
+
//isNuN标记本行是否为空行
|
|
87
|
+
if(isBlank == true) {
|
|
88
|
+
for (let i = 1; i <= pageSize; i++) {
|
|
89
|
+
this.rows.push({isNuN: 'true'})
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// 执行查询过程,加载数据汇总信息
|
|
95
|
+
// condition - 查询组件产生的查询条件
|
|
96
|
+
// model - 查询组件收集到的输入数据
|
|
97
|
+
// condValue - 交给后台的查询条件,可以为空
|
|
98
|
+
search (condition, model, condValue) {
|
|
99
|
+
// 保存条件,以便加载某页时可以直接调用
|
|
100
|
+
this.condition = condition
|
|
101
|
+
this.model = model
|
|
102
|
+
this.condValue = condValue
|
|
103
|
+
this.state = '查询'
|
|
104
|
+
this.procParams()
|
|
105
|
+
this.seaching=true
|
|
106
|
+
if (this.sums) {
|
|
107
|
+
let totals = []
|
|
108
|
+
for (let key in this.sums) {
|
|
109
|
+
totals.push(key)
|
|
110
|
+
var param = {data: this.params, sums: totals}
|
|
111
|
+
}
|
|
112
|
+
} else {
|
|
113
|
+
param = {data: this.params}
|
|
114
|
+
}
|
|
115
|
+
// 发生请求时,不进行任何提醒
|
|
116
|
+
return this.http.load('POST', `${this.url}`, param, {resolveMsg: null, rejectMsg: null, aoteEncrypt: this.aoteEncrypt, encryKey: this.encryKey}).then(
|
|
117
|
+
(response) => {
|
|
118
|
+
this.seaching=false
|
|
119
|
+
this.seaching=false
|
|
120
|
+
this.state = '正确'
|
|
121
|
+
this.rows = response.data
|
|
122
|
+
this.count = response.data.length
|
|
123
|
+
}
|
|
124
|
+
).catch(
|
|
125
|
+
(error) => {
|
|
126
|
+
this.seaching=false
|
|
127
|
+
if (error.status !== 603) {
|
|
128
|
+
this.state = '错误'
|
|
129
|
+
this.error = `提取数据出错,错误码: ${error.status}, 错误信息:${error.data},组件:${this.comp}`
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// 重新进行查询
|
|
136
|
+
refresh () {
|
|
137
|
+
this.search(this.condition, this.model, this.condValue)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// 加载一页数据
|
|
141
|
+
loadPage (pageNo) {
|
|
142
|
+
this.state = '查询'
|
|
143
|
+
let gen = postGen(this, pageNo)
|
|
144
|
+
let redata=co(gen)
|
|
145
|
+
return redata
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// 处理查询参数,把condition以及condValue附加到参数列表中,condValue指后台查询条件
|
|
149
|
+
procParams () {
|
|
150
|
+
this.params.condition = this.condition
|
|
151
|
+
if (this.condValue) {
|
|
152
|
+
this.params.condValue = this.condValue
|
|
153
|
+
}
|
|
154
|
+
if (!this.paramSource) {
|
|
155
|
+
return
|
|
156
|
+
}
|
|
157
|
+
// 对附加参数进行计算
|
|
158
|
+
for (let name in this.paramSource) {
|
|
159
|
+
/*eslint-disable */
|
|
160
|
+
this.params[name] = eval(this.paramSource[name])
|
|
161
|
+
/*eslint-enable */
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// 从后台删除数据,删除后,刷新界面
|
|
166
|
+
remove (url, data) {
|
|
167
|
+
Vue.delete(url, data).then(
|
|
168
|
+
() => {
|
|
169
|
+
this.refresh()
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
}
|
|
173
|
+
}
|