cf787f76 by renchao@pashanhoo.com

style: 企业信息备案

1 parent f63c044a
1 /*
2 * @Description: 企业银行接口
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 14:42:19
5 */
6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
8
9
10 /**
11 * @description: 获取材料目录
12 * @author: renchao
13 */
14
15 export function getCompanyMaterialList (bsmCompany) {
16 return request({
17 url: SERVER.SERVERAPI + '/rest/sys/company/getCompanyMaterialList',
18 method: 'get',
19 params: {
20 bsmCompany: bsmCompany
21 }
22 })
23 }
...\ No newline at end of file ...\ No newline at end of file
1 <template> 1 <template>
2 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> 2 <div style="height:650px">
3 <el-tabs v-model="activeName" @tab-click="handleClick">
4 <el-tab-pane label="企业信息" name="1"></el-tab-pane>
5 <el-tab-pane label="材料信息" v-if="formData.isAdd==2" name="2"></el-tab-pane>
6 </el-tabs>
7 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" style="height:90%" v-if="activeName==1" :rules="rules">
8 <div style="height:90%">
3 <el-row> 9 <el-row>
4 <el-col :span="12"> 10 <el-col :span="12">
5 <el-form-item label="企业名称:" prop="qymc"> 11 <el-form-item label="企业名称:" prop="qymc">
...@@ -49,16 +55,20 @@ ...@@ -49,16 +55,20 @@
49 </el-form-item> 55 </el-form-item>
50 </el-col> 56 </el-col>
51 </el-row> 57 </el-row>
58 </div>
52 <el-form-item style="text-align:center"> 59 <el-form-item style="text-align:center">
53 <el-button @click="closeDialog">取消</el-button> 60 <el-button @click="closeDialog">取消</el-button>
54 <el-button type="primary" @click="submitForm">保存</el-button> 61 <el-button type="primary" @click="submitForm">保存</el-button>
55 </el-form-item> 62 </el-form-item>
56 </el-form> 63 </el-form>
64 <clxx v-if="activeName==2" :formData="formData" />
65 </div>
57 </template> 66 </template>
58 67
59 <script> 68 <script>
60 import store from '@/store/index.js' 69 import store from '@/store/index.js'
61 import { addQy } from "@/api/xxba.js" 70 import { addQy } from "@/api/xxba.js"
71 import clxx from './clxx/index.vue'
62 export default { 72 export default {
63 props: { 73 props: {
64 formData: { 74 formData: {
...@@ -66,8 +76,12 @@ ...@@ -66,8 +76,12 @@
66 default: () => { }, 76 default: () => { },
67 }, 77 },
68 }, 78 },
79 components: {
80 clxx
81 },
69 data () { 82 data () {
70 return { 83 return {
84 activeName: "1",
71 DJJGLIST: store.getters.dictData['ywly'], 85 DJJGLIST: store.getters.dictData['ywly'],
72 readOnly: false, 86 readOnly: false,
73 //表单提交数据 87 //表单提交数据
...@@ -129,6 +143,7 @@ ...@@ -129,6 +143,7 @@
129 } else { } 143 } else { }
130 }, 144 },
131 methods: { 145 methods: {
146 handleClick () { },
132 /** 147 /**
133 * @description: 表单提交 148 * @description: 表单提交
134 * @author: renchao 149 * @author: renchao
...@@ -173,48 +188,6 @@ ...@@ -173,48 +188,6 @@
173 }) 188 })
174 }, 189 },
175 /** 190 /**
176 * @description: 印刷序列号处理
177 * @param {*} item
178 * @author: renchao
179 */
180 ysxlhDeal (item) {
181 if (item.ksysxlh && item.jsysxlh) {
182 if (item.ksysxlh.length == item.jsysxlh.length) {
183 if (item.ksysxlh.length != 11) {
184 item.bs = -1;
185 return;
186 }
187 if (item.ksysxlh > item.jsysxlh) {
188 item.bs = -1;
189 return;
190 }
191 item.bs = item.jsysxlh - item.ksysxlh + 1;
192 if (item.zslx == 1) {
193 this.ruleForm.zsstarno = item.ksysxlh;
194 this.ruleForm.zsendno = item.jsysxlh;
195 this.ruleForm.zsnum = item.bs
196 } else if (item.zslx == 2) {
197 this.ruleForm.zmstarno = item.ksysxlh;
198 this.ruleForm.zmendno = item.jsysxlh;
199 this.ruleForm.zmnum = item.bs
200 }
201 } else {
202 item.bs = -1;
203 }
204 } else {
205 item.bs = 0;
206 if (item.zslx == 1) {
207 this.ruleForm.zsstarno = '';
208 this.ruleForm.zsendno = '';
209 this.ruleForm.zsnum = item.bs
210 } else if (item.zslx == 2) {
211 this.ruleForm.zmstarno = '';
212 this.ruleForm.zmendno = '';
213 this.ruleForm.zmnum = item.bs
214 }
215 }
216 },
217 /**
218 * @description: resetTableFields 191 * @description: resetTableFields
219 * @author: renchao 192 * @author: renchao
220 */ 193 */
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 15:04:46
5 -->
6 <template>
7 <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
8 :isFullscreen="false">
9 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px">
10 <el-row>
11 <el-col :span="24">
12 <el-form-item label="材料类型" prop="cllx">
13 <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
14 <el-option v-for="item in cllxList" :key="item.dcode" :label="item.dname" :value="item.dcode">
15 </el-option>
16 </el-select>
17 </el-form-item>
18 </el-col>
19 </el-row>
20 <el-row :gutter="20">
21 <el-col :span="24">
22 <el-form-item label="材料名称" prop="clmc">
23 <el-input v-model="ruleForm.clmc"></el-input>
24 </el-form-item>
25 </el-col>
26 </el-row>
27 </el-form>
28 </dialogBox>
29 </template>
30 <script>
31 import store from '@/store/index.js'
32 export default {
33 props: {
34 value: { type: Boolean, default: false },
35 },
36 data () {
37 return {
38 cllxList: store.getters.dictData['A40'],
39 myValue: this.value,
40 ruleForm: {
41 cllx: "",
42 clmc: "",
43 },
44 rules: {
45 cllx: [
46 { required: true, message: '请选择材料类型', trigger: 'change' }
47 ],
48 clmc: [
49 { required: true, message: '请输入材料名称', trigger: 'blur' }
50 ]
51 }
52 }
53 },
54 watch: {
55 value (val) {
56 this.myValue = val;
57 },
58 },
59 methods: {
60 /**
61 * @description: closeDialog
62 * @author: renchao
63 */
64 closeDialog () {
65 this.$emit("input", false);
66 this.ruleForm = {
67 cllx: "",
68 clmc: "",
69 }
70 },
71 /**
72 * @description: handleSubmit
73 * @author: renchao
74 */
75 handleSubmit () {
76 this.$refs['ruleForm'].validate((valid) => {
77 if (valid) {
78 this.$parent.addSave(this.ruleForm);
79 this.ruleForm = {
80 cllx: "",
81 clmc: "",
82 }
83 this.$emit("input", false);
84 } else {
85 return false;
86 }
87 })
88 }
89 }
90 };
91 </script>
92 <style scoped lang="scss">
93 .submit-button {
94 text-align: center;
95 height: 52px;
96 padding-top: 10px;
97 background-color: #fff;
98 }
99 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-08-15 09:43:46
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <lb-table :column="column" :key="key" :heightNumSetting="true" :calcHeight="600" :pagination="false" :data="tableData">
9 </lb-table>
10 <div class="text-center">
11 <el-button @click="$popupCacel">取消</el-button>
12 <el-button type="primary" @click="handleSubmit" :loading="loading" v-if="formData.ableOperation && tableData.length>0">保存</el-button>
13 </div>
14 </div>
15 </template>
16 <script>
17 import Vue from 'vue'
18 import store from '@/store/index.js'
19 import { InitClml, updateClml, deleteSjClml, moveClml } from "@/api/clxx.js";
20 export default {
21 props: {
22 formData: {
23 type: Object,
24 default: () => {
25 return {}
26 }
27 }
28 },
29 data () {
30 return {
31 loading: false,
32 column: [
33 {
34 width: "50",
35 label: '序号',
36 type: 'index'
37 },
38 {
39 prop: "isrequired",
40 label: "是否必选",
41 width: "80",
42 render: (h, scope) => {
43 if (scope.row.isrequired === "1") {
44 return (
45 <div>
46 <span>必选</span>
47 </div>
48 );
49 }
50 else {
51 return (
52 <div>
53 <span>可选</span>
54 </div>
55 )
56 }
57 }
58 },
59 {
60 label: "材料名称",
61 render: (h, scope) => {
62 return (
63 (this.formData.ableOperation && scope.row.isrequired != '1') ?
64 <el-input value={scope.row.sjmc} onInput={(val) => { scope.row.sjmc = val }}></el-input> : <span>{scope.row.sjmc}</span>
65 )
66 }
67 },
68 {
69 label: "材料类型",
70 width: "110",
71 render: (h, scope) => {
72 return (
73 this.formData.ableOperation ?
74 <el-select value={scope.row.sjlx}
75 onChange={(val) => { scope.row.sjlx = val }}>
76 {
77 store.getters.dictData['A40'].map(option => {
78 return (
79 <el-option label={option.dname} value={option.dcode}></el-option>
80 )
81 })
82 }
83 </el-select> : <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
84 )
85 }
86 },
87 {
88 prop: "sjsl",
89 label: "份数",
90 width: "50",
91 render: (h, scope) => {
92 return (
93 <div>
94 {
95 scope.row.sjsl ?
96 <span>{scope.row.sjsl}</span> : 1
97 }
98 </div>
99 )
100 }
101 },
102 {
103 prop: "smzt",
104 label: "扫描状态",
105 width: "80",
106 render: (h, scope) => {
107 if (scope.row.children && scope.row.children.length > 0) {
108 return (
109 <div>
110 <span>已扫描</span>
111 </div>
112 );
113 } else {
114 return (
115 <div>
116 <span>未扫描</span>
117 </div>
118 );
119 }
120 },
121 },
122 {
123 label: "扫描页数",
124 width: "80",
125 render: (h, scope) => {
126 if (scope.row.children && scope.row.children.length > 0) {
127 return (
128 <div>
129 <span>{scope.row.children.length}</span>
130 </div>
131 );
132 } else {
133 return (
134 <div>
135 <span>0</span>
136 </div>
137 );
138 }
139 },
140 },
141 {
142 label: "操作",
143 width: "100",
144 render: (h, scope) => {
145 return (
146 <div>
147 <el-button
148 type="text"
149 disabled={scope.$index == 0 || !this.formData.ableOperation}
150 onClick={() => {
151 this.moveUpward(scope.$index, scope.row);
152 }}
153 >
154 上移
155 </el-button>
156 <el-button
157 type="text"
158 disabled={scope.$index + 1 == this.tableData.length || !this.formData.ableOperation}
159 onClick={() => {
160 this.moveDown(scope.$index, scope.row);
161 }}
162 >
163 下移
164 </el-button>
165 <i v-show={scope.row.isrequired != '1' && this.formData.ableOperation} onClick={() => {
166 this.handleDelete(scope.$index, scope.row);
167 }} class="el-icon-delete pointer" style="color:#409EFF;margin-left:5px;position: relative;top: 1px;"></i>
168 </div >
169 )
170 }
171 }
172 ],
173 key: 0,
174 tableData: []
175 }
176 },
177 watch: {
178 'formData.data': {
179 handler: function (val, oldVal) {
180 this.tableData = _.cloneDeep(val)
181 },
182 immediate: true,
183 deep: true
184 }
185 },
186 methods: {
187 handleSubmit () {
188 this.loading = true
189 updateClml(this.tableData).then(res => {
190 this.loading = false
191 if (res.code == 200) {
192 this.$message({
193 message: '保存成功',
194 type: 'success'
195 })
196 this.$popupCacel()
197 store.dispatch('user/reWorkFresh', true)
198 }
199 }).catch(() => {
200 this.loading = false
201 })
202 },
203 /**
204 * @description: 材料目录明细初始化
205 * @author: renchao
206 */
207 clmlInitList () {
208 return new Promise(resolve => {
209 this.unitData = this.$parent.unitData;
210 var formdata = new FormData();
211 formdata.append("bsmSlsq", Vue.prototype.$currentRoute.query.bsmSlsq);
212 if (Vue.prototype.$currentRoute.query.sqywbm == "DJBBL") {
213 formdata.append("bsmSldy", this.formData.bsmRepair);
214 formdata.append("clfl", 3);
215 } else {
216 formdata.append("bsmSldy", this.formData.unitData[0]?.bsmSldy);
217 formdata.append("clfl", 2);
218 }
219 InitClml(formdata).then((res) => {
220 if (res.code == 200) {
221 resolve(res.code)
222 if (res.result && res.result.length > 0) {
223 this.tableData = res.result;
224 } else {
225 this.tableData = []
226 }
227 } else {
228 this.$message.error(res.message)
229 }
230 })
231 })
232 },
233 /**
234 * @description: 上移
235 * @param {*} index
236 * @param {*} row
237 * @author: renchao
238 */
239 moveUpward (index, row) {
240 let obj = {
241 xh: row.xh,
242 bsmSlsq: row.bsmSlsq,
243 moveDirection: "UP",
244 };
245 // 接口待调
246 moveClml(obj).then(async (res) => {
247 if (res.code == 200) {
248 let res = await this.clmlInitList()
249 if (res == 200) {
250 this.$message({
251 message: '上移成功',
252 type: 'success'
253 })
254 }
255 } else {
256 this.$message.error(res.message);
257 }
258 })
259 },
260 /**
261 * @description: 下移
262 * @param {*} index
263 * @param {*} row
264 * @author: renchao
265 */
266 moveDown (index, row) {
267 let obj = {
268 xh: row.xh,
269 bsmSlsq: row.bsmSlsq,
270 moveDirection: "DOWN",
271 }
272 // 接口待调
273 moveClml(obj).then(async (res) => {
274 if (res.code == 200) {
275 let res = await this.clmlInitList()
276 if (res == 200) {
277 this.$message({
278 message: '下移成功',
279 type: 'success'
280 })
281 }
282 } else {
283 this.$message.error(res.message);
284 }
285 })
286 },
287 /**
288 * @description: 材料目录删除
289 * @param {*} index
290 * @param {*} row
291 * @author: renchao
292 */
293 handleDelete (index, row) {
294 let that = this
295 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
296 confirmButtonText: '确定',
297 cancelButtonText: '取消',
298 type: 'warning'
299 }).then(() => {
300 deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
301 if (res.code == 200) {
302 let res = await that.clmlInitList()
303 if (res == 200) {
304 that.$message({
305 message: "删除成功",
306 type: "success"
307 })
308 }
309 }
310 })
311 }).catch(() => {
312 this.$message({
313 type: 'info',
314 message: '已取消删除'
315 })
316 })
317 },
318 // 字典
319 /**
320 * @description: 字典
321 * @param {*} val
322 * @param {*} code
323 * @author: renchao
324 */
325 dicStatus (val, code) {
326 let data = store.getters.dictData[code],
327 name = "暂无";
328 if (data) {
329 data.map((item) => {
330 if (item.dcode == val) {
331 name = item.dname;
332 }
333 });
334 return name;
335 }
336 }
337 }
338 }
339 </script>
340 <style scoped lang='scss'>
341 @import "~@/styles/mixin.scss";
342 .clmlmx-box {
343 margin: 0 auto;
344 .title {
345 text-align: center;
346 height: 60px;
347 line-height: 60px;
348 border: 1px solid #dfe6ec;
349 font-size: 20px;
350 background: #81d3f81a;
351 margin-bottom: -1px;
352 }
353 }
354 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 15:06:42
5 -->
6 <template>
7 <div class="clxx">
8 <div class="right">
9 <!-- 材料预览 -->
10 <div class="clyl-box">
11 <div class="menu-tree">
12 <el-button
13 type="primary"
14 native-type="submit"
15 @click="viewDetail"
16 style="width: 100%; margin-top: 10px" v-if="tableData.length > 0">申请材料目录</el-button>
17 <div class="item">
18 材料目录({{ tableData.length }})
19 <div style="margin-top: 10px">
20 <div
21 style="
22 text-align: center;
23 line-height: 20px;
24 color: black;
25 font-size: 14px;
26 "
27 v-if="tableData.length == 0">
28 暂无数据
29 </div>
30 <div
31 v-for="(item, index) in tableData"
32 :key="item.bsmSj"
33 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']"
34 @click="treeClick(item, index)">
35 <span v-if="item.isrequired == 1" class="required">必选</span>
36 {{ item.sjmc }}
37 <span class="cl_number" :key="key">({{ item.children ? item.children.length : 0 }})</span>
38 </div>
39 </div>
40 </div>
41 <el-button
42 type="primary"
43 native-type="submit"
44 style="width: 100%"
45 @click="handleAdd()">新增</el-button>
46 </div>
47 <image-preview
48 ref="imageRef"
49 v-if="tableData.length > 0"
50 :previewImg="previewImg"
51 @updateList="updateList"
52 @nextPriview="nextPriview"
53 @prevPriview="prevPriview" />
54 </div>
55 </div>
56 <clxxAddDialog v-model="isDialog" />
57 </div>
58 </template>
59 <script>
60 import store from '@/store/index.js'
61 import clxxAddDialog from "./dialog/clxxAddDialog.vue";
62 import clxxDetailDialog from "./dialog/clxxDetailDialog.vue";
63 import imagePreview from "@/views/components/imagePreview.vue";
64 import { getCompanyMaterialList } from "@/api/company.js";
65 export default {
66 components: { clxxAddDialog, imagePreview, clxxDetailDialog },
67 props: {
68 formData: {
69 type: Object,
70 default: () => {
71 return {}
72 }
73 }
74 },
75 data () {
76 return {
77 isDialog: false,
78 iclass: "",
79 // 材料目录选中
80 treeCheckIndex: 0,
81 treeCheckId: "",
82 key: 0,
83 tableData: [],
84 previewImg: {
85 // 收件标识码
86 bsmSj: "",
87 bsmSlsq: this.$parent.bsmSlsq,
88 index: 0,
89 selectedIndex: 0,
90 imgList: [],
91 },
92 };
93 },
94 created () {
95 this.clmlInitList();
96 },
97 methods: {
98 /**
99 * @description: 自动预览
100 * @author: renchao
101 */
102 nextPriview () {
103 if (this.treeCheckIndex < this.tableData.length) {
104 this.treeCheckIndex++;
105 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
106 this.previewImg.index = 0;
107 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children;
108 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
109 }
110 },
111 /**
112 * @description: prevPriview
113 * @author: renchao
114 */
115 prevPriview () {
116 if (this.treeCheckIndex >= 1) {
117 this.treeCheckIndex--;
118 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
119 this.previewImg.index = this.previewImg.imgList.length;
120 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children;
121 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
122 }
123 },
124 /**
125 * @description: 材料目录明细初始化
126 * @param {*} type
127 * @author: renchao
128 */
129 clmlInitList (type) {
130 // 1:列表初始化 2:新增材料
131 return new Promise((resolve) => {
132 getCompanyMaterialList(this.formData.bsmCompany).then((res) => {
133 if (res.code == 200) {
134 resolve(res.code);
135 if (res.result && res.result.length > 0) {
136 this.tableData = res.result;
137 if (type == 1) {
138 this.treeClick(this.tableData[0], 0);
139 } else {
140 //新增材料后刷新列表焦点置于新增的对象上
141 this.treeClick(
142 this.tableData[this.tableData.length - 1],
143 this.tableData.length - 1
144 );
145 }
146 }
147 } else {
148 this.$message.error(res.message);
149 }
150 })
151 })
152 },
153 /**
154 * @description: setChecked
155 * @param {*} item
156 * @author: renchao
157 */
158 setChecked (item) {
159 this.treeCheckId = item.bsmSj;
160 this.title = item.sjmc;
161 this.titleYs = 1;
162 this.titleNum = item.children.length;
163 this.previewImg.imgList = item.children;
164 this.previewImg.bsmSj = item.bsmSj;
165 },
166 /**
167 * @description: updateList
168 * @param {*} val
169 * @author: renchao
170 */
171 updateList (val) {
172 let that = this;
173 if (val.children.length != 0) {
174 //删除最后一张图片时 val=null
175 this.tableData.forEach((item) => {
176 if (item.bsmSj === val.bsmSj) {
177 item.children = val.children;
178 }
179 });
180 this.previewImg.imgList = _.cloneDeep(val.children);
181 if (this.previewImg.index == this.previewImg.imgList.length) {
182 this.previewImg.index = this.previewImg.index - 1;
183 }
184 this.key++
185 } else {
186 this.previewImg.imgList = [];
187 this.tableData.forEach((item, index) => {
188 if (this.treeCheckId == item.bsmSj) {
189 item.children = [];
190 that.treeCheckIndex = index;
191 }
192 });
193 }
194 },
195 /**
196 * @description: 添加材料目录
197 * @author: renchao
198 */
199 handleAdd () {
200 this.isDialog = true;
201 },
202 /**
203 * @description: 新增弹窗保存
204 * @param {*} data
205 * @author: renchao
206 */
207 addSave (data) {
208 let obj = {
209 bsmSlsq: this.$parent.bsmSlsq,
210 isrequired: "1",
211 sjmc: data.clmc,
212 sjsl: 0,
213 smzt: "",
214 ys: 0,
215 sjlx: data.cllx,
216 sfxjcl: "1", // 是否必选
217 };
218 if (this.$route.query.sqywbm == "DJBBL") {
219 obj.bsmSldy = this.$parent.bsmRepair
220 }
221 saveClml(obj).then(async (res) => {
222 if (res.code == 200) {
223 let res = await this.clmlInitList(2);
224 if (res == 200)
225 this.$message({
226 message: "新增成功",
227 type: "success",
228 });
229 }
230 });
231 },
232 /**
233 * @description: 材料目录点击选中
234 * @param {*} item
235 * @param {*} index
236 * @author: renchao
237 */
238 treeClick (item, index) {
239 this.previewImg.index = 0;
240 this.treeCheckId = item?.bsmSj;
241 this.treeCheckIndex = index;
242 this.previewImg.imgList = item.children ? item.children : [];
243 this.previewImg.bsmSj = item?.bsmSj;
244 },
245 /**
246 * @description: 小图片点击
247 * @param {*} item
248 * @param {*} index
249 * @author: renchao
250 */
251 imgClick (item, index) {
252 this.showImg = item;
253 this.titleYs = index + 1;
254 },
255 //查看明细
256 viewDetail () {
257 store.dispatch("user/reWorkFresh", false);
258 this.$popupDialog(
259 "申请材料目录",
260 "workflow/components/dialog/clxxDetailDialog",
261 {
262 data: this.tableData,
263 },
264 "60%",
265 true
266 );
267 },
268 //设置tableData
269 setTableData (tableData) {
270 this.$nextTick((res) => {
271 this.tableData = tableData;
272 });
273 },
274 },
275 };
276 </script>
277 <style scoped lang="scss">
278 @import "~@/styles/mixin.scss";
279
280 .active {
281 background: $light-blue !important;
282 color: #fff;
283 }
284
285 .required {
286 font-size: 12px;
287 color: $pink;
288 float: left;
289 }
290
291 .cl_number {
292 float: right;
293 }
294
295 .clxx {
296 width: 100%;
297 display: flex;
298 padding-left: 5px;
299 .left {
300 display: flex;
301 flex-direction: column;
302 justify-content: space-between;
303
304 .item {
305 width: 28px;
306 height: 49%;
307 @include flex-center;
308 background-color: #e4e7ed;
309 border-bottom-right-radius: 10px;
310 padding: 5px;
311 cursor: pointer;
312 transition: all 0.3s;
313
314 &:hover {
315 @extend .active;
316 }
317 }
318 }
319
320 .right {
321 width: 100%;
322 height: 100%;
323
324 .clmlmx-box {
325 margin: 0 auto;
326
327 .title {
328 text-align: center;
329 height: 60px;
330 line-height: 60px;
331 border: 1px solid #dfe6ec;
332 font-size: 20px;
333 background: #81d3f81a;
334 margin-bottom: -1px;
335 }
336 }
337
338 .clyl-box {
339 width: 100%;
340 height: 100%;
341 display: flex;
342
343 .menu-tree {
344 width: 20%;
345 min-width: 160px;
346 height: 100%;
347 margin-right: 10px;
348 border-right: 1px dotted #d9d9d9;
349 padding: 0 15px;
350
351 .item {
352 line-height: 30px;
353 padding-top: 5px;
354 border-bottom: 1px solid #e8e8e8;
355 font-size: 16px;
356 text-align: center;
357 color: $light-blue;
358
359 .itemIcon {
360 float: right;
361 line-height: 60px;
362 cursor: pointer;
363 }
364
365 .child {
366 line-height: 32px;
367 border-bottom: 1px solid #e8e8e8;
368 padding-left: 10px;
369 color: #6b6b6b;
370 cursor: pointer;
371 box-sizing: border-box;
372 border-radius: 6px;
373 line-height: 20px;
374 transition: all 0.3s;
375 padding: 8px 0;
376 }
377
378 .child:hover {
379 color: $light-blue;
380 transform: scale(1.1);
381 }
382
383 .checked {
384 border: 1px solid $light-blue;
385 color: $light-blue;
386 }
387 }
388 }
389
390 .clyl-img {
391 width: 75%;
392 height: 100%;
393 background: #f3f4f7;
394 margin: 0 auto;
395 position: relative;
396 }
397 }
398 }
399 }
400 </style>
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-06 16:10:25 4 * @LastEditTime: 2023-09-07 14:49:06
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -56,12 +56,13 @@ class data extends filter { ...@@ -56,12 +56,13 @@ class data extends filter {
56 }, 56 },
57 { 57 {
58 label: '操作', 58 label: '操作',
59 width: '80', 59 width: '120',
60 align: 'center', 60 align: 'center',
61 render: (h, scope) => { 61 render: (h, scope) => {
62 return ( 62 return (
63 <div> 63 <div>
64 <el-button type="text" onClick={() => { vm.handleDelete(scope.row) }}>删除</el-button> 64 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.handleEdit(scope.row) }}>编辑</el-button>
65 <el-button type="text" icon="el-icon-delete" onClick={() => { vm.handleDelete(scope.row) }}>删除</el-button>
65 </div> 66 </div>
66 ) 67 )
67 } 68 }
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-06 16:08:08 4 * @LastEditTime: 2023-09-07 14:56:54
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
97 this.queryClick(); 97 this.queryClick();
98 }, 98 },
99 handleAdd () { 99 handleAdd () {
100 this.$popupDialog("添加企业", "xxba/qyxxba/components/addDialog", {}, "50%") 100 this.$popupDialog("添加企业", "xxba/components/addDialog", { isAdd: 1, }, "75%")
101 }, 101 },
102 handleDelete () { 102 handleDelete () {
103 this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { 103 this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
...@@ -115,6 +115,9 @@ ...@@ -115,6 +115,9 @@
115 message: '已取消删除' 115 message: '已取消删除'
116 }); 116 });
117 }); 117 });
118 },
119 handleEdit (row) {
120 this.$popupDialog("编辑企业", "xxba/components/addDialog", { isAdd: 2, ...row }, "75%")
118 } 121 }
119 } 122 }
120 } 123 }
......
1 <template>
2 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules">
3 <el-row>
4 <el-col :span="12">
5 <el-form-item label="企业名称:" prop="qymc">
6 <el-input v-model="ruleForm.qymc"></el-input>
7 </el-form-item>
8 </el-col>
9 <el-col :span="12">
10 <el-form-item label="电话:" prop="dh">
11 <el-input v-model="ruleForm.dh"></el-input>
12 </el-form-item>
13 </el-col>
14 </el-row>
15 <el-row>
16 <el-col :span="12">
17 <el-form-item label="证件种类:">
18 <el-input v-model="ruleForm.zjzl"></el-input>
19 </el-form-item>
20 </el-col>
21 <el-col :span="12">
22 <el-form-item label="证件号:" prop="zjh">
23 <el-input v-model="ruleForm.zjh"></el-input>
24 </el-form-item>
25 </el-col>
26 </el-row>
27
28 <el-row>
29 <el-col :span="12">
30 <el-form-item label="法人名称:" prop="frmc">
31 <el-input v-model="ruleForm.frmc"></el-input>
32 </el-form-item>
33 </el-col>
34 <el-col :span="12">
35 <el-form-item label="法人电话:" prop="frdh">
36 <el-input v-model="ruleForm.frdh"></el-input>
37 </el-form-item>
38 </el-col>
39 </el-row>
40 <el-row>
41 <el-col :span="12">
42 <el-form-item label="单位地址:">
43 <el-input v-model="ruleForm.dwdz"></el-input>
44 </el-form-item>
45 </el-col>
46 <el-col :span="12">
47 <el-form-item label="邮编:" prop="yb">
48 <el-input v-model="ruleForm.yb"></el-input>
49 </el-form-item>
50 </el-col>
51 </el-row>
52 <el-form-item style="text-align:center">
53 <el-button type="primary" @click="submitForm">保存</el-button>
54 <el-button @click="closeDialog">取消</el-button>
55 </el-form-item>
56 </el-form>
57 </template>
58
59 <script>
60 import store from '@/store/index.js'
61 import { addYh } from "@/api/xxba.js"
62 export default {
63 props: {
64 formData: {
65 type: Object,
66 default: () => { },
67 },
68 },
69 data () {
70 return {
71 DJJGLIST: store.getters.dictData['ywly'],
72 readOnly: false,
73 //表单提交数据
74 ruleForm: {
75 batchno: '',
76 djjg: '',
77 operator: '超级管理员',
78 operationtime: '',
79 bz: '',
80 zsstarno: '',
81 zsendno: '',
82 zsnum: '',
83 zmstarno: '',
84 zmendno: '',
85 zmnum: ''
86 },
87 //表格数据
88 tableForm: [
89 {
90 name: '不动产权证书',
91 ksysxlh: '',
92 jsysxlh: '',
93 bs: 0,
94 zslx: 1
95 },
96 {
97 name: '不动产登记证明',
98 ksysxlh: '',
99 jsysxlh: '',
100 bs: 0,
101 zslx: 2
102 }
103 ],
104 //证书入库业务号参数
105 ywhQueryForm: {
106 serialtype: 'zsrkbh',
107 serialname: '证书入库编号',
108 serialcode: 'zsrk',
109 digit: '5'
110 },
111 rules: {
112 batchNo: [
113 { required: true, message: '入库编号不能为空', trigger: 'blur' }
114 ],
115 djjg: [
116 { required: true, message: '请选择登记机构', trigger: 'change' }
117 ],
118 rksj: [
119 { required: true, message: '请选择入库时间', trigger: 'change' }
120 ],
121 },
122 }
123 },
124 mounted () {
125 if (this.formData.bsmBatch) {
126 this.tableForm[0].bs = null;
127 this.tableForm[1].bs = null;
128 this.getDetailInfo(this.formData.bsmBatch);
129 }
130 },
131 methods: {
132 /**
133 * @description: 表单提交
134 * @author: renchao
135 */
136 submitForm () {
137 this.tableForm.forEach((item, index) => {
138 if (item.bs < 0) {
139 return;
140 }
141 })
142 addYh(this.ruleForm).then(res => {
143 if (res.code == 200) {
144 this.$message.success('保存成功')
145 this.$emit("input", false);
146 this.$refs['ruleForm'].resetFields();
147 this.resetTableFields();
148 this.closeDialog();
149 //刷新列表
150 store.dispatch('user/reWorkFresh', true)
151 } else {
152 this.$message.error(res.message);
153 }
154 })
155 },
156 /**
157 * @description: 获取详情信息
158 * @param {*} bsmBatch
159 * @author: renchao
160 */
161 getDetailInfo (bsmBatch) {
162 getZsglInfo({ "bsmBatch": bsmBatch }).then(res => {
163 if (res.code == 200) {
164 this.ruleForm = res.result;
165 this.readOnly = false;
166 this.tableForm[0].ksysxlh = res.result.zsstarno;
167 this.tableForm[0].jsysxlh = res.result.zsendno;
168 this.tableForm[0].bs = res.result.zsnum;
169 this.tableForm[1].ksysxlh = res.result.zmstarno;
170 this.tableForm[1].jsysxlh = res.result.zmendno;
171 this.tableForm[1].bs = res.result.zmnum;
172 }
173 })
174 },
175 /**
176 * @description: 印刷序列号处理
177 * @param {*} item
178 * @author: renchao
179 */
180 ysxlhDeal (item) {
181 if (item.ksysxlh && item.jsysxlh) {
182 if (item.ksysxlh.length == item.jsysxlh.length) {
183 if (item.ksysxlh.length != 11) {
184 item.bs = -1;
185 return;
186 }
187 if (item.ksysxlh > item.jsysxlh) {
188 item.bs = -1;
189 return;
190 }
191 item.bs = item.jsysxlh - item.ksysxlh + 1;
192 if (item.zslx == 1) {
193 this.ruleForm.zsstarno = item.ksysxlh;
194 this.ruleForm.zsendno = item.jsysxlh;
195 this.ruleForm.zsnum = item.bs
196 } else if (item.zslx == 2) {
197 this.ruleForm.zmstarno = item.ksysxlh;
198 this.ruleForm.zmendno = item.jsysxlh;
199 this.ruleForm.zmnum = item.bs
200 }
201 } else {
202 item.bs = -1;
203 }
204 } else {
205 item.bs = 0;
206 if (item.zslx == 1) {
207 this.ruleForm.zsstarno = '';
208 this.ruleForm.zsendno = '';
209 this.ruleForm.zsnum = item.bs
210 } else if (item.zslx == 2) {
211 this.ruleForm.zmstarno = '';
212 this.ruleForm.zmendno = '';
213 this.ruleForm.zmnum = item.bs
214 }
215 }
216 },
217 /**
218 * @description: resetTableFields
219 * @author: renchao
220 */
221 resetTableFields () {
222 this.tableForm = [
223 {
224 name: '不动产权证书',
225 ksysxlh: '',
226 jsysxlh: '',
227 bs: 0,
228 zslx: 1
229 },
230 {
231 name: '不动产权登记证明',
232 ksysxlh: '',
233 jsysxlh: '',
234 bs: 0,
235 zslx: 2
236 }
237 ]
238 },
239 /**
240 * @description: closeDialog
241 * @author: renchao
242 */
243 closeDialog () {
244 this.$popupCacel()
245 this.$refs['ruleForm'].resetFields();
246 this.resetTableFields();
247 }
248 }
249 }
250 </script>
251 <style scoped lang="scss">
252 @import "~@/styles/mixin.scss";
253 @import "~@/styles/dialogBoxheader.scss";
254
255 .font-red {
256 color: red;
257 }
258
259 .middle-margin-bottom {
260 margin-top: 20px;
261 }
262 </style>
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-06 16:12:16 4 * @LastEditTime: 2023-09-07 14:52:10
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -56,12 +56,13 @@ class data extends filter { ...@@ -56,12 +56,13 @@ class data extends filter {
56 }, 56 },
57 { 57 {
58 label: '操作', 58 label: '操作',
59 width: '80', 59 width: '120',
60 align: 'center', 60 align: 'center',
61 render: (h, scope) => { 61 render: (h, scope) => {
62 return ( 62 return (
63 <div> 63 <div>
64 <el-button type="text" onClick={() => { vm.handleDelete(scope.row) }}>删除</el-button> 64 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.handleEdit(scope.row) }}>编辑</el-button>
65 <el-button type="text" icon="el-icon-delete" onClick={() => { vm.handleDelete(scope.row) }}>删除</el-button>
65 </div> 66 </div>
66 ) 67 )
67 } 68 }
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-06 16:08:32 4 * @LastEditTime: 2023-09-07 14:30:50
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
97 this.queryClick(); 97 this.queryClick();
98 }, 98 },
99 handleAdd () { 99 handleAdd () {
100 this.$popupDialog("添加企业", "xxba/yhjgba/components/addDialog", {}, "50%") 100 this.$popupDialog("添加企业", "xxba/components/addDialog", {}, "75%")
101 }, 101 },
102 handleDelete () { 102 handleDelete () {
103 this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { 103 this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
61 type="index" 61 type="index"
62 width="50" 62 width="50"
63 align="center"> 63 align="center">
64 <template scope="scope"> 64 <template slot-scope="scope">
65 {{ scope.$index + (pageData.currentPage - 1) * pageData.pageSize + 1 }} 65 {{ scope.$index + (pageData.currentPage - 1) * pageData.pageSize + 1 }}
66 </template> 66 </template>
67 </el-table-column> 67 </el-table-column>
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-07 09:50:26 4 * @LastEditTime: 2023-09-07 13:59:44
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -91,8 +91,15 @@ class data extends filter { ...@@ -91,8 +91,15 @@ class data extends filter {
91 } 91 }
92 }, 92 },
93 { 93 {
94 prop: "ywrmc",
95 label: "抵押人", 94 label: "抵押人",
95 minWidth: '100',
96 render: (h, scope) => {
97 return (
98 <el-tooltip effect="dark" content={scope.row.ywrmc} placement="top" popper-class="tooltip-width ">
99 <span class="ellipsis-table"> {scope.row.ywrmc}</span>
100 </el-tooltip>
101 )
102 }
96 }, 103 },
97 { 104 {
98 label: "抵押人证件号", 105 label: "抵押人证件号",
......