b90e513f by renchao@pashanhoo.com

补充材料通知书

1 parent 5338a151
1 /* 1 /*
2 * @Description: 模板管理 2 * @Description: 模板管理
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-02-20 16:37:12 4 * @LastEditTime: 2024-02-23 10:45:18
5 */ 5 */
6 6
7 import request from '@/utils/request' 7 import request from '@/utils/request'
...@@ -85,4 +85,17 @@ export function getPrintAcceptance (bsmSldy) { ...@@ -85,4 +85,17 @@ export function getPrintAcceptance (bsmSldy) {
85 bsmSldy: bsmSldy 85 bsmSldy: bsmSldy
86 } 86 }
87 }) 87 })
88 }
89
90 /**
91 * @description: 获取补充材料通知书
92 * @param {*} bsmSldy
93 * @author: renchao
94 */
95 export function getPrintSupplementalMaterials (bsmSldy, data) {
96 return request({
97 url: SERVER.SERVERAPI + '/rest/print/applicationForms/getPrintSupplementalMaterials/' + bsmSldy,
98 method: 'post',
99 data
100 })
88 } 101 }
...\ No newline at end of file ...\ No newline at end of file
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-02-20 16:37:27 4 * @LastEditTime: 2024-02-23 10:25:42
5 */ 5 */
6 import Vue from 'vue' 6 import Vue from 'vue'
7 import { getPrintTemplateByCode, getPrintAcceptance } from "@/api/print"; 7 import { getPrintTemplateByCode, getPrintAcceptance } from "@/api/print";
...@@ -252,8 +252,13 @@ export default { ...@@ -252,8 +252,13 @@ export default {
252 infoRes.result.fileList.forEach((it, index) => { 252 infoRes.result.fileList.forEach((it, index) => {
253 let key = index + 1 253 let key = index + 1
254 this.$set(infoRes.result, "file" + key, it.sjmc) 254 this.$set(infoRes.result, "file" + key, it.sjmc)
255 this.$set(infoRes.result, "file" + key + 'ys', it.ys)
255 }) 256 })
256 } 257 }
258 let date = infoRes.result.sqrq
259 infoRes.result.sqnian = date.split(' ')[0].split('-')[0]
260 infoRes.result.sqyue = date.split(' ')[0].split('-')[1]
261 infoRes.result.sqri = date.split(' ')[0].split('-')[2]
257 console.log(infoRes.result) 262 console.log(infoRes.result)
258 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); 263 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
259 264
...@@ -274,6 +279,12 @@ export default { ...@@ -274,6 +279,12 @@ export default {
274 } 279 }
275 }) 280 })
276 break; 281 break;
282 // 补充材料通知书
283 case "bccltzs":
284 this.$popupDialog("补充材料通知书", "workflow/top/bcclml/index",
285 { bsmSlsq: this.$route.query.bsmSlsq, bsmSldy: this.currentSelectProps.bsmSldy },
286 '70%', true)
287 break;
277 } 288 }
278 }, 289 },
279 /** 290 /**
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2024-02-23 10:51:24
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" row-key="bsmSj" ref="table" :heightNumSetting="true" :calcHeight="600"
9 :pagination="false" :data="tableData" @row-click="handleRowClick" @selection-change="handleSelectionChange">
10 </lb-table>
11 <div class="text-center">
12 <el-button @click="handleCancel">取消</el-button>
13 <el-button type="primary" @click="handleSubmit" :loading="loading">打印</el-button>
14 </div>
15 </div>
16 </template>
17 <script>
18 import Vue from 'vue'
19 import store from '@/store/index.js'
20 import { ywPopupCacel } from "@/utils/popup.js";
21 import { getLodop } from "@/utils/LodopFuncs";
22 import { updateClml, InitClml } from "@/api/clxx.js";
23 import { getPrintTemplateByCode, getPrintSupplementalMaterials } from "@/api/print";
24 export default {
25 props: {
26 formData: {
27 type: Object,
28 default: () => {
29 return {}
30 }
31 }
32 },
33 data () {
34 return {
35 selectList: [],
36 loading: false,
37 sortable: null,
38 column: [
39 {
40 type: 'selection',
41 label: '全选',
42 width: '50'
43 },
44 {
45 label: "材料名称",
46 render: (h, scope) => {
47 return (
48 (this.formData.ableOperation && scope.row.sfxjcl == '1') ?
49 <el-input value={scope.row.sjmc} onInput={(val) => { scope.row.sjmc = val }}></el-input> : <span>{scope.row.sjmc}</span>
50 )
51 }
52 },
53 {
54 label: "份数",
55 render: (h, scope) => {
56 if (scope.row.ys && scope.row.ys > 0) {
57 return (
58 <div>
59 <span>{scope.row.ys}</span>
60 </div>
61 );
62 } else {
63 return (
64 <div>
65 <span>0</span>
66 </div>
67 );
68 }
69 }
70 },
71 {
72 label: "材料类型",
73 render: (h, scope) => {
74 return (
75 this.formData.ableOperation ?
76 <el-select value={scope.row.sjlx}
77 onChange={(val) => { scope.row.sjlx = val }}>
78 {
79 store.getters.dictData['A40'].map(option => {
80 return (
81 <el-option label={option.dname} value={option.dcode}></el-option>
82 )
83 })
84 }
85 </el-select> : <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
86 )
87 }
88 }
89 ],
90 key: 0,
91 tableData: []
92 }
93 },
94 mounted () {
95 var formdata = new FormData();
96 formdata.append("bsmSlsq", this.formData.bsmSlsq ? this.formData.bsmSlsq : '');
97 formdata.append("bsmSldy", this.formData.bsmSldy ? this.formData.bsmSldy : '');
98 console.log(this.formData);
99 InitClml(formdata).then((res) => {
100 if (res.code == 200) {
101 if (res.result && res.result.length > 0) {
102 this.tableData = res.result
103 this.key++
104 }
105 } else {
106 this.$message.error(res.message);
107 }
108 })
109 },
110 beforeDestroy () {
111 if (this.sortable) {
112 this.sortable.destroy();
113 }
114 },
115 methods: {
116 handleSelectionChange (val) {
117 this.selectList = val
118 },
119 handleRowClick (row) {
120 let refs = 'table';
121 this.$refs[refs].toggleRowSelection(row)
122 },
123 handleCancel () {
124 ywPopupCacel()
125 },
126 handleSubmit () {
127 this.loading = true
128 if (this.selectList.length == 0) {
129 this.$message.error('请先选择材料目录')
130 return
131 }
132 getPrintTemplateByCode({ tmpno: 'bdcdjbccltts' }).then(res => {
133 if (res.code === 200) {
134 getPrintSupplementalMaterials(this.formData.bsmSldy, this.selectList).then(infoRes => {
135 this.loading = false
136 if (infoRes.code === 200) {
137 if (infoRes.result.fileList && infoRes.result.fileList.length > 0) {
138 infoRes.result.fileList.forEach((it, index) => {
139 let key = index + 1
140 this.$set(infoRes.result, "file" + key, it.sjmc)
141 this.$set(infoRes.result, "file" + key + 'ys', it.ys)
142 })
143 }
144 let date = infoRes.result.sqrq
145 infoRes.result.sqnian = date.split(' ')[0].split('-')[0]
146 infoRes.result.sqyue = date.split(' ')[0].split('-')[1]
147 infoRes.result.sqri = date.split(' ')[0].split('-')[2]
148 console.log(infoRes.result)
149 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
150
151 // 装载第一个模板并设置数据
152 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent);
153 for (let key in infoRes.result) {
154 LODOP.SET_PRINT_STYLEA(key, "CONTENT", infoRes.result[key]);
155 }
156
157 // 进行预览
158 LODOP.PREVIEW();
159 } else {
160 this.$message.error(infoRes.message);
161 }
162 });
163 } else {
164 this.loading = false
165 this.$message.error(res.message);
166 }
167 })
168 },
169 dicStatus (val, code) {
170 let data = store.getters.dictData[code],
171 name = '暂无'
172 if (data) {
173 data.map((item) => {
174 if (item.dcode == val) {
175 name = item.dname
176 }
177 })
178 return name
179 }
180 },
181 }
182 }
183 </script>
184 <style scoped lang='scss'>
185 @import "~@/styles/mixin.scss";
186 .clmlmx-box {
187 margin: 0 auto;
188 .title {
189 text-align: center;
190 height: 60px;
191 line-height: 60px;
192 border: 1px solid #dfe6ec;
193 font-size: 20px;
194 background: #81d3f81a;
195 margin-bottom: -1px;
196 }
197 }
198 </style>