3c8e2f81 by renchao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 99522d4e d2a850a8
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:39:57
5 -->
6 <template>
7 <div class="clmlmx-box">
8 <div class="title">申请材料目录</div>
9 <lb-table :column="column" :key="key" :heightNumSetting="true" :pagination="false" :data="formData.data">
10 </lb-table>
11 <div class="text-center">
12 <el-button @click="$popupCacel">取消</el-button>
13 </div>
14 </div>
15 </template>
16 <script>
17 import store from '@/store/index.js'
18 import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
19 export default {
20 props: {
21 formData: {
22 type: Object,
23 default: () => {
24 return {}
25 }
26 }
27 },
28 data () {
29 return {
30 column: [
31 {
32 width: "50",
33 label: '序号',
34 type: 'index'
35 },
36 {
37 prop: "isrequired",
38 label: "是否必选",
39 width: "80",
40 render: (h, scope) => {
41 if (scope.row.sfxjcl === "1") {
42 return (
43 <div>
44 <span>可选</span>
45 </div>
46 );
47 }
48 else {
49 return (
50 <div>
51 <span>必选</span>
52 </div>
53 );
54 }
55 },
56 },
57 {
58 prop: "sjmc",
59 label: "材料名称",
60 },
61 {
62 prop: "sjlx",
63 label: "材料类型",
64 width: "80",
65 render: (h, scope) => {
66 return (
67 <div>
68 <span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
69 </div>
70 );
71 },
72 },
73 {
74 prop: "sjsl",
75 label: "份数",
76 width: "50"
77 },
78 {
79 prop: "smzt",
80 label: "扫描状态",
81 width: "80",
82 render: (h, scope) => {
83 if (scope.row.children && scope.row.children.length > 0) {
84 return (
85 <div>
86 <span>已扫描</span>
87 </div>
88 );
89 } else {
90 return (
91 <div>
92 <span>未扫描</span>
93 </div>
94 );
95 }
96 },
97 },
98 {
99 label: "扫描页数",
100 width: "80",
101 render: (h, scope) => {
102 if (scope.row.children && scope.row.children.length > 0) {
103 return (
104 <div>
105 <span>{scope.row.children.length}</span>
106 </div>
107 );
108 } else {
109 return (
110 <div>
111 <span>0</span>
112 </div>
113 );
114 }
115 },
116 },
117 {
118 label: "操作",
119 width: "80",
120 render: (h, scope) => {
121 return (
122 <div>
123 <el-button
124 type="text"
125 disabled={scope.$index == 0}
126 onClick={() => {
127 this.moveUpward(scope.$index, scope.row);
128 }}
129 >
130 上移
131 </el-button>
132 <el-button
133 type="text"
134 disabled={scope.$index + 1 == this.tableData.length}
135 onClick={() => {
136 this.moveDown(scope.$index, scope.row);
137 }}
138 >
139 下移
140 </el-button>
141 </div>
142 );
143 },
144 },
145 ],
146 key: 0,
147 tableData: []
148 }
149 },
150 created () {
151 console.log(this.formData.data, 'formData');
152 },
153 methods: {
154 // 材料目录明细初始化
155 clmlInitList () {
156 return new Promise(resolve => {
157 this.unitData = this.$parent.unitData;
158 var formdata = new FormData();
159 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
160 formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
161 InitClml(formdata).then((res) => {
162 if (res.code == 200) {
163 resolve(res.code)
164 if (res.result && res.result.length > 0) {
165 this.data = res.result;
166 } else {
167 this.data = []
168 }
169 } else {
170 this.$message.error(res.message)
171 }
172 })
173 })
174 },
175 // 上移
176 moveUpward (index, row) {
177 let obj = {
178 xh: row.xh,
179 bsmSlsq: row.bsmSlsq,
180 moveDirection: "UP",
181 };
182 // 接口待调
183 moveClml(obj).then(async (res) => {
184 if (res.code == 200) {
185 let res = await this.clmlInitList()
186 if (res == 200) {
187 this.$message({
188 message: '上移成功',
189 type: 'success'
190 })
191 this.$parent.setTableData(this.data)
192 }
193 } else {
194 this.$message.error(res.message);
195 }
196 })
197 },
198 // 下移
199 moveDown (index, row) {
200 let obj = {
201 xh: row.xh,
202 bsmSlsq: row.bsmSlsq,
203 moveDirection: "DOWN",
204 }
205 // 接口待调
206 moveClml(obj).then(async (res) => {
207 if (res.code == 200) {
208 let res = await this.clmlInitList()
209 if (res == 200) {
210 this.$message({
211 message: '下移成功',
212 type: 'success'
213 })
214 }
215 } else {
216 this.$message.error(res.message);
217 }
218 })
219 },
220 // 材料目录删除
221 handleDelete (index, row) {
222 let that = this
223 this.$confirm('此操作将永久删除该 是否继续?', '提示', {
224 confirmButtonText: '确定',
225 cancelButtonText: '取消',
226 type: 'warning'
227 }).then(() => {
228 deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
229 if (res.code == 200) {
230 let res = await that.clmlInitList()
231 if (res == 200) {
232 that.$message({
233 message: "删除成功",
234 type: "success",
235 })
236 // this.$parent.setTableData(this.data)
237 }
238 }
239 })
240 }).catch(() => {
241 this.$message({
242 type: 'info',
243 message: '已取消删除'
244 })
245 })
246 },
247 // 字典
248 dicStatus (val, code) {
249 let data = store.getters.dictData[code],
250 name = "暂无";
251 if (data) {
252 data.map((item) => {
253 if (item.dcode == val) {
254 name = item.dname;
255 }
256 });
257 return name;
258 }
259 }
260 }
261 }
262 </script>
263 <style scoped lang='scss'>
264 @import "~@/styles/mixin.scss";
265 .clmlmx-box {
266 margin: 0 auto;
267
268 .title {
269 text-align: center;
270 height: 60px;
271 line-height: 60px;
272 border: 1px solid #dfe6ec;
273 font-size: 20px;
274 background: #81d3f81a;
275 margin-bottom: -1px;
276 }
277 }
278 </style>
1 <template>
2 <div class="jtfccx-edit">
3 <div class="jtfccx-edit-con">
4 <el-form ref="form" :model="form" label-width="160px">
5 <el-row>
6 <el-col :span="8">
7 <el-form-item label="权属状态" label-width="140px">
8 <el-select v-model="form.qszt">
9 <el-option v-for="item in qsztList" :key="item.value" :label="item.label" :value="item.value">
10 </el-option>
11 </el-select>
12 </el-form-item>
13 </el-col>
14 <el-col :span="8">
15 <el-form-item label="权利类型" label-width="140px">
16 <el-input v-model="form.qllxmc" ></el-input>
17 </el-form-item>
18 </el-col>
19 <el-col :span="8">
20 <el-form-item label="登记类型" label-width="140px">
21 <el-input v-model="form.djlxmc" ></el-input>
22 </el-form-item>
23 </el-col>
24 <el-col :span="8">
25 <el-form-item label="上手业务号" label-width="140px">
26 <el-input v-model="form.ssywh" ></el-input>
27 </el-form-item>
28 </el-col>
29 <el-col :span="8">
30 <el-form-item label="档案号" label-width="140px">
31 <el-input v-model="form.dah" ></el-input>
32 </el-form-item>
33 </el-col>
34 <el-col :span="8">
35 <el-form-item label="业务号" label-width="140px">
36 <el-input v-model="form.ywh" ></el-input>
37 </el-form-item>
38 </el-col>
39 <el-col :span="8">
40 <el-form-item label="不动产单元号" label-width="140px">
41 <el-input v-model="form.bdcdyh" ></el-input>
42 </el-form-item>
43 </el-col>
44 <el-col :span="8">
45 <el-form-item label="坐落" label-width="140px">
46 <el-input v-model="form.zl" ></el-input>
47 </el-form-item>
48 </el-col>
49 <el-col :span="8">
50 <el-form-item label="共有情况" label-width="140px">
51 <el-input v-model="form.gyqk" ></el-input>
52 </el-form-item>
53 </el-col>
54 <el-col :span="8">
55 <el-form-item label="权利人类型" label-width="140px">
56 <el-input v-model="form.qlrlx" ></el-input>
57 </el-form-item>
58 </el-col>
59 <el-col :span="8">
60 <el-form-item label="权利人" label-width="140px">
61 <el-input v-model="form.qlrmc" ></el-input>
62 </el-form-item>
63 </el-col>
64 <el-col :span="8">
65 <el-form-item label="证件种类" label-width="140px">
66 <el-input v-model="form.qlrzjzl" ></el-input>
67 </el-form-item>
68 </el-col>
69 <el-col :span="8">
70 <el-form-item label="证件号" label-width="140px">
71 <el-input v-model="form.qlrzjhm" ></el-input>
72 </el-form-item>
73 </el-col>
74 <el-col :span="8">
75 <el-form-item label="土地使用权人" label-width="140px">
76 <el-input v-model="form.tdsyqr" ></el-input>
77 </el-form-item>
78 </el-col>
79 <el-col :span="8">
80 <el-form-item label="独用土地面积(m²)" label-width="140px">
81 <el-input v-model="form.dytdmj" ></el-input>
82 </el-form-item>
83 </el-col>
84 <el-col :span="8">
85 <el-form-item label="分摊土地面积(m²)" label-width="140px">
86 <el-input v-model="form.fttdmj" ></el-input>
87 </el-form-item>
88 </el-col>
89 <el-col :span="8">
90 <el-form-item label="使用权起止时间" label-width="140px">
91 <el-input v-model="form.syqqzsj" ></el-input>
92 </el-form-item>
93 </el-col>
94 <el-col :span="8">
95 <el-form-item label="土地使用期限" label-width="140px">
96 <el-input v-model="form.tdsyqx" ></el-input>
97 </el-form-item>
98 </el-col>
99 <el-col :span="8">
100 <el-form-item label="房地产交易价格(万元)" label-width="140px">
101 <el-input v-model="form.fdcjyjg" ></el-input>
102 </el-form-item>
103 </el-col>
104 <el-col :span="8">
105 <el-form-item label="规划用途" label-width="140px">
106 <el-input v-model="form.ytmc" ></el-input>
107 </el-form-item>
108 </el-col>
109 <el-col :span="8">
110 <el-form-item label="房屋性质" label-width="140px">
111 <el-input v-model="form.fwxzmc" ></el-input>
112 </el-form-item>
113 </el-col>
114 <el-col :span="8">
115 <el-form-item label="房屋结构" label-width="140px">
116 <el-input v-model="form.fwjgmc" ></el-input>
117 </el-form-item>
118 </el-col>
119 <el-col :span="8">
120 <el-form-item label="所在层" label-width="140px">
121 <el-input v-model="form.szc" ></el-input>
122 </el-form-item>
123 </el-col>
124 <el-col :span="8">
125 <el-form-item label="总层数" label-width="140px">
126 <el-input v-model="form.fj" ></el-input>
127 </el-form-item>
128 </el-col>
129 <el-col :span="8">
130 <el-form-item label="建筑面积(m2)" label-width="140px">
131 <el-input v-model="form.mj" ></el-input>
132 </el-form-item>
133 </el-col>
134 <el-col :span="8">
135 <el-form-item label="专有建筑面积(m2)" label-width="140px">
136 <el-input v-model="form.zyjzmj" ></el-input>
137 </el-form-item>
138 </el-col>
139 <el-col :span="8">
140 <el-form-item label="分摊建筑面积(m2)" label-width="140px">
141 <el-input v-model="form.jgsj" ></el-input>
142 </el-form-item>
143 </el-col>
144 <el-col :span="8">
145 <el-form-item label="登记原因" label-width="140px">
146 <el-input v-model="form.djyy" ></el-input>
147 </el-form-item>
148 </el-col>
149 <el-col :span="8">
150 <el-form-item label="不动产权证号" label-width="140px">
151 <el-input v-model="form.bdcqzh" ></el-input>
152 </el-form-item>
153 </el-col>
154 <el-col :span="8">
155 <el-form-item label="登记时间" label-width="140px">
156 <el-input v-model="form.djsj" ></el-input>
157 </el-form-item>
158 </el-col>
159 <el-col :span="8">
160 <el-form-item label="登簿人" label-width="140px">
161 <el-input v-model="form.dbr" ></el-input>
162 </el-form-item>
163 </el-col>
164 <el-col :span="8">
165 <el-form-item label="附记" label-width="140px">
166 <el-input v-model="form.fj" ></el-input>
167 </el-form-item>
168 </el-col>
169 <el-col :span="8">
170 <el-form-item label="总层数" label-width="140px">
171 <el-input v-model="form.fj" ></el-input>
172 </el-form-item>
173 </el-col>
174 </el-row>
175 <el-form-item class="btn">
176 <el-button type="primary" @click="submitForm">保存</el-button>
177 <el-button @click="closeDialog">取消</el-button>
178 </el-form-item>
179 </el-form>
180
181 </div>
182
183 </div>
184 </template>
185 <script>
186 export default {
187 props: {
188 formData: {
189 type: Object,
190 default: () => { },
191 },
192 },
193 data () {
194 return {
195 form:{},
196 qsztList: [
197 {
198 value: "0",
199 label: "临时",
200 },
201 {
202 value: "1",
203 label: "现势",
204 },
205 {
206 value: "2",
207 label: "历史",
208 },
209
210 ],
211 label:"",
212 };
213 },
214 mounted () {
215 if (this.formData.data) {
216 this.$nextTick(() => {
217 this.form = Object.assign({}, this.formData.data)
218 this.form.qszt=this.form.qszt=='0'?"临时":this.form.qszt=='1'?"现势":"历史"
219 })
220 }
221 },
222
223 methods: {
224 //新增常用意见
225 submitForm () {
226
227 this.$refs.form.validate(valid => {
228 if (valid) {
229 // addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
230 // if (res.code == 200) {
231 // this.$message.success("新增成功")
232 // this.closeaddDiglog();
233 // this.getList()
234 // } else {
235 // this.$message.error(res.message)
236 // }
237 // })
238 } else {
239 return false;
240 }
241 });
242 },
243 closeDialog () {
244 this.$popupCacel()
245 this.$refs['form'].resetFields();
246 // this.resetTableFields();
247 }
248 },
249 };
250 </script>
251 <style scoped lang="scss">
252 @import "~@/styles/mixin.scss";
253 @import "~@/styles/public.scss";
254
255
256 .jtfccx-edit {
257 @include flex;
258 flex-direction: column;
259 overflow-y: hidden;
260 max-height: 85vh;
261 padding: 0 2px;
262
263
264 .btn{
265 text-align: center;
266
267 }
268 }
269 </style>
1 <template> 1 <template>
2 <div class="jtfccx-edit"> 2 <div class="from-clues">
3 <div class="jtfccx-edit-con"> 3 <el-tabs type="card" v-model="activeName" @tab-click="handleTabClick">
4 <el-tab-pane label="受理信息" name="slxx"></el-tab-pane>
5 <el-tab-pane
6 :disabled="isshow"
7 label="审批意见"
8 name="spyj"
9 ></el-tab-pane>
10 <el-tab-pane
11 :disabled="isshow"
12 label="材料信息"
13 name="clxx"
14 ></el-tab-pane>
15 </el-tabs>
16 <div v-if="activeName == 'slxx'">
17 <div class="from-clues-header">
4 <el-form ref="form" :model="form" label-width="160px"> 18 <el-form ref="form" :model="form" label-width="160px">
5 <el-row> 19 <el-row>
6 <el-col :span="8"> 20 <el-col :span="12">
7 <el-form-item label="权属状态" label-width="140px"> 21 <el-form-item label="权属状态" label-width="140px">
8 <el-select v-model="form.qszt"> 22 <el-select v-model="form.qszt">
9 <el-option v-for="item in qsztList" :key="item.value" :label="item.label" :value="item.value"> 23 <el-option
24 v-for="item in qsztList"
25 :key="item.value"
26 :label="item.label"
27 :value="item.value"
28 >
10 </el-option> 29 </el-option>
11 </el-select> 30 </el-select>
12 </el-form-item> 31 </el-form-item>
13 </el-col> 32 </el-col>
14 <el-col :span="8" v-for="item in datalist" :key="item.bdcdyh"> 33 <el-col :span="12" v-for="item in datalist" :key="item.bdcdyh">
15 <el-form-item :prop="item.prop" :label="item.label" label-width="140px"> 34 <el-form-item
16 <el-input v-model="form[item.prop]" ></el-input> 35 :prop="item.prop"
36 :label="item.label"
37 label-width="140px"
38 >
39 <el-input v-model="form[item.prop]"></el-input>
17 </el-form-item> 40 </el-form-item>
18 </el-col> 41 </el-col>
19 </el-row> 42 </el-row>
20 <el-form-item class="btn"> 43 </el-form>
21 <el-button type="primary" @click="submitForm">保存</el-button> 44 <div class="btn">
45 <el-button type="primary" @click="slxxsubmitForm">保存</el-button>
22 <el-button @click="closeDialog">取消</el-button> 46 <el-button @click="closeDialog">取消</el-button>
47 </div>
48 </div>
49 </div>
50 <div v-if="activeName == 'spyj'">
51 <div class="from-clues-header spyj">
52 <div class="box">
53 <b class="spyj_title">审批表</b>
54 <el-form
55 :model="ruleForm"
56 :rules="rules"
57 ref="ruleForm"
58 label-width="120px"
59 >
60 <div class="spyj_form">
61 <div class="item_left">初审意见</div>
62 <div class="item_right">
63 <el-row>
64 <el-col :span="24">
65 <el-form-item
66 label-width="0"
67 class="opinion_item"
68 prop="shyj"
69 >
70 <el-input
71 type="textarea"
72 :rows="4"
73 class="opinion"
74 placeholder="请输入审批意见"
75 v-model="ruleForm.shyj"
76 ></el-input>
77 </el-form-item>
78 </el-col>
79 </el-row>
80 <el-row>
81 <el-col :span="16">
82 <el-form-item
83 prop="shryxm"
84 label="审查人"
85 label-width="90px"
86 >
87 <el-input v-model="ruleForm.shr"></el-input>
88 </el-form-item>
89 </el-col>
90 <el-col :span="8">
91 <el-form-item
92 label="审核时间"
93 prop="shjssj"
94 label-width="90px"
95 >
96 <el-input v-model="ruleForm.shsj"></el-input>
97 </el-form-item>
98 </el-col>
99 </el-row>
100 </div>
101 </div>
102 </el-form>
103 <el-form
104 :model="ruleForm"
105 :rules="rules"
106 ref="ruleForm"
107 label-width="120px"
108 >
109 <div class="spyj_form">
110 <div class="item_left">复审意见</div>
111 <div class="item_right">
112 <el-row>
113 <el-col :span="24">
114 <el-form-item
115 label-width="0"
116 class="opinion_item"
117 prop="shyj"
118 >
119 <el-input
120 type="textarea"
121 :rows="4"
122 class="opinion"
123 placeholder="请输入审批意见"
124 v-model="ruleForm.shyj"
125 ></el-input>
126 </el-form-item>
127 </el-col>
128 </el-row>
129 <el-row>
130 <el-col :span="16">
131 <el-form-item
132 prop="shryxm"
133 label="审查人"
134 label-width="90px"
135 >
136 <el-input v-model="ruleForm.shr"></el-input>
137 </el-form-item>
138 </el-col>
139 <el-col :span="8">
140 <el-form-item
141 label="审核时间"
142 prop="shjssj"
143 label-width="90px"
144 >
145 <el-input v-model="ruleForm.shsj"></el-input>
23 </el-form-item> 146 </el-form-item>
147 </el-col>
148 </el-row>
149 </div>
150 </div>
151 </el-form>
152 <el-form
153 :model="ruleForm"
154 :rules="rules"
155 ref="ruleForm"
156 label-width="120px"
157 >
158 <div class="spyj_form">
159 <div class="item_left">核定意见</div>
160 <div class="item_right">
161 <el-row>
162 <el-col :span="24">
163 <el-form-item
164 label-width="0"
165 class="opinion_item"
166 prop="shyj"
167 >
168 <el-input
169 type="textarea"
170 :rows="4"
171 class="opinion"
172 placeholder="请输入审批意见"
173 v-model="ruleForm.shyj"
174 ></el-input>
175 </el-form-item>
176 </el-col>
177 </el-row>
178 <el-row>
179 <el-col :span="16">
180 <el-form-item
181 prop="shryxm"
182 label="审查人"
183 label-width="90px"
184 >
185 <el-input v-model="ruleForm.shr"></el-input>
186 </el-form-item>
187 </el-col>
188 <el-col :span="8">
189 <el-form-item
190 label="审核时间"
191 prop="shjssj"
192 label-width="90px"
193 >
194 <el-input v-model="ruleForm.shsj"></el-input>
195 </el-form-item>
196 </el-col>
197 </el-row>
198 </div>
199 </div>
24 </el-form> 200 </el-form>
25 201
26 </div> 202 </div>
203 <div class="btn">
204 <el-button type="primary" @click="spyjsubmitForm">保存</el-button>
205 <el-button @click="closeDialog">取消</el-button>
206 </div>
207 </div>
208 </div>
209 <div v-if="activeName == 'clxx'">
210 <div class="from-clues-header">
211 <div class="clxx">
212 <div class="right">
213 <!-- 材料预览 -->
214 <div class="clyl-box">
215 <div class="menu-tree">
216 <el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button>
217 <div class="item">
218 材料目录({{tableData.length}})
219 <div style="margin-top:10px">
220 <div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div>
221 <div v-for="(item,index) in tableData" :key="item.bsmSj"
222 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
223 <span v-if="item.isrequired==1" class="required">必选</span>
224 {{ item.sjmc }}
225 <span class="cl_number">({{item.children ? item.children.length : 0}})</span>
226 </div>
227 </div>
228 </div>
229 <el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()">新增</el-button>
230 </div>
231 <image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
232 @prevPriview="prevPriview" />
233 </div>
234 </div>
235 <clxxAddDialog v-model="isDialog" />
236 </div>
237 <div class="btn">
238 <el-button type="primary" @click="clxxsubmitForm">保存</el-button>
239 <el-button @click="closeDialog">取消</el-button>
240 </div>
27 241
28 </div> 242 </div>
243 </div>
244 </div>
29 </template> 245 </template>
30 <script> 246 <script>
247 import { mapGetters } from "vuex";
248 import clxxAddDialog from "./tabsconcent/clxxAddDialog.vue";
249 import imagePreview from '@/views/components/imagePreview.vue'
250 import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
31 export default { 251 export default {
252 components: { clxxAddDialog},
32 props: { 253 props: {
33 formData: { 254 formData: {
34 type: Object, 255 type: Object,
35 default: () => { }, 256 default: () => {},
36 }, 257 },
37 }, 258 },
38 data () { 259 data() {
39 return { 260 return {
40 form:{}, 261 activeName: "slxx",
41 datalist:[], 262 form: {},
263 datalist: [],
42 qsztList: [ 264 qsztList: [
43 { 265 {
44 value: "0",
45 label: "临时",
46 },
47 {
48 value: "1", 266 value: "1",
49 label: "现势", 267 label: "现势",
50 }, 268 },
...@@ -52,30 +270,69 @@ export default { ...@@ -52,30 +270,69 @@ export default {
52 value: "2", 270 value: "2",
53 label: "历史", 271 label: "历史",
54 }, 272 },
55
56 ], 273 ],
57 label:"", 274 label: "",
275 isshow: true,
276
277 // 审批
278 bsmSlsq: "",
279 //刷新值
280 bestepid: "",
281 ruleForm: {},
282 rules: {
283 shyj: [{ required: true, message: "请输入审批意见", trigger: "blur" }],
284 },
285
286 // 材料
287 isDialog: false,
288 iclass: "",
289 tableData: [],
290 // 材料目录选中
291 treeCheckIndex: 0,
292 treeCheckId: "",
293 key: 0,
294 tableDatas: [],
295 previewImg: {
296 // 收件标识码
297 bsmSj: "",
298 bsmSlsq: this.$parent.bsmSlsq,
299 index: 0,
300 selectedIndex: 0,
301 imgList: [],
302 },
58 }; 303 };
59 }, 304 },
60 mounted () { 305 computed: {
306 ...mapGetters(["dictData"])
307 },
308 created () {
309 this.clmlInitList(1)
310 },
311 mounted() {
61 if (this.formData.data) { 312 if (this.formData.data) {
62 this.$nextTick(() => { 313 this.$nextTick(() => {
63 this.form = Object.assign({}, this.formData.data) 314 this.form = Object.assign({}, this.formData.data);
64 // this.datalist = Object.assign([], this.formData.datalist) 315 // this.datalist = Object.assign([], this.formData.datalist)
65 this.form.qszt=this.form.qszt=='0'?"临时":this.form.qszt=='1'?"现势":"历史" 316 this.form.qszt =
66 }) 317 this.form.qszt == "0"
318 ? "临时"
319 : this.form.qszt == "1"
320 ? "现势"
321 : "历史";
322 });
67 } 323 }
324
68 // this.datalist = this.formData.datalist 325 // this.datalist = this.formData.datalist
69 this.datalist = JSON.parse(JSON.stringify(this.formData.datalist)); 326 this.datalist = JSON.parse(JSON.stringify(this.formData.datalist));
70 this.datalist.shift() 327 this.datalist.shift();
71 this.datalist.shift() 328 this.datalist.shift();
72 329 console.log("this.datalist", this.datalist);
73 }, 330 },
74 331
75 methods: { 332 methods: {
76 //新增常用意见 333 // 受理信息保存
77 submitForm () { 334 slxxsubmitForm() {
78 this.$refs.form.validate(valid => { 335 this.$refs.form.validate((valid) => {
79 if (valid) { 336 if (valid) {
80 // addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => { 337 // addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
81 // if (res.code == 200) { 338 // if (res.code == 200) {
...@@ -86,17 +343,196 @@ export default { ...@@ -86,17 +343,196 @@ export default {
86 // this.$message.error(res.message) 343 // this.$message.error(res.message)
87 // } 344 // }
88 // }) 345 // })
89 this.$popupCacel()
90 } else { 346 } else {
91 return false; 347 return false;
92 } 348 }
93 }); 349 });
350 this.isshow = false;
94 }, 351 },
95 closeDialog () { 352 // 审批意见保存
96 this.$popupCacel() 353 spyjsubmitForm() {
97 this.$refs['form'].resetFields(); 354 console.log("this.ruleForm",this.ruleForm);
355 // this.ruleForm.bsmSlsq = this.bsmSlsq
356 // this.ruleForm.bestepid = this.bestepid
357 // saveSpyjBySlsq(this.ruleForm).then(res => {
358 // if (res.code === 200) {
359 // this.$message.success("保存成功")
360 // this.refresh += 1
361 // } else {
362 // this.$message.error(res.message)
363 // }
364 // })
365 },
366
367 // 材料信息保存
368 clxxsubmitForm() {},
369 closeDialog() {
370 this.$alert("取消后填写内容将被清空", "提示", {
371 confirmButtonText: "确定",
372 callback: (action) => {
373 this.$message({
374 type: "info",
375 message: "已取消",
376 });
377 this.$popupCacel();
378 this.$refs["form"].resetFields();
379 },
380 });
381
98 // this.resetTableFields(); 382 // this.resetTableFields();
383 },
384 handleTabClick() {},
385
386 //使用常用意见
387 useOpinion(opinion) {
388 this.ruleForm.shyj = opinion;
389 },
390
391
392 // 材料上传
393 // 自动预览
394 nextPriview () {
395 if (this.treeCheckIndex < this.tableData.length) {
396 this.treeCheckIndex++
397 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
398 this.previewImg.index = 0
399 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
400 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
401 }
402 },
403 prevPriview () {
404 if (this.treeCheckIndex >= 1) {
405 this.treeCheckIndex--
406 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
407 this.previewImg.index = this.previewImg.imgList.length
408 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
409 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
410 }
411 },
412 // 材料目录明细初始化
413 clmlInitList (type) {
414 this.tableData = []
415 //type 1:列表初始化 2:新增材料
416 // return new Promise(resolve => {
417 // this.unitData = this.$parent.unitData;
418 // var formdata = new FormData();
419 // formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
420 // formdata.append("bsmSlsq", this.$parent.bsmSlsq);
421 // InitClml(formdata).then((res) => {
422 // if (res.code == 200) {
423 // resolve(res.code)
424 // if (res.result && res.result.length > 0) {
425
426 // if (type == 1) {
427 // this.treeClick(this.tableData[0], 0);
428 // } else {
429 // //新增材料后刷新列表焦点置于新增的对象上
430 // this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
431 // }
432 // }
433 // } else {
434 // this.$message.error(res.message)
435 // }
436 // })
437 // })
438 },
439 setChecked (item) {
440 this.treeCheckId = item.bsmSj;
441 this.title = item.sjmc;
442 this.titleYs = 1;
443 this.titleNum = item.children.length;
444 this.previewImg.imgList = item.children;
445 this.previewImg.bsmSj = item.bsmSj;
446 },
447 updateList (val) {
448 let that = this
449 if (val != null) { //删除最后一张图片时 val=null
450 this.tableData.forEach(item => {
451 if (item.bsmSj === val.bsmSj) {
452 item.children = val.children
453 }
454 })
455 this.previewImg.imgList = _.cloneDeep(val.children)
456 if (this.previewImg.index == this.previewImg.imgList.length) {
457 this.previewImg.index = this.previewImg.index - 1
99 } 458 }
459 } else {
460 this.previewImg.imgList = []
461 this.tableData.forEach((item, index) => {
462 if (this.treeCheckId == item.bsmSj) {
463 item.children = []
464 that.treeCheckIndex = index
465 }
466 })
467 }
468
469 },
470 // 添加材料目录
471 handleAdd () {
472 console.log("新增");
473 this.isDialog = true;
474 },
475 // 新增弹窗保存
476 addSave (data) {
477 let obj = {
478 bsmSlsq: this.$parent.bsmSlsq,
479 isrequired: "1",
480 sjmc: data.clmc,
481 sjsl: 0,
482 smzt: '',
483 ys: 0,
484 sjlx: data.cllx,
485 sfxjcl: "1", // 是否必选
486 };
487 saveClml(obj).then(async (res) => {
488 if (res.code == 200) {
489 let res = await this.clmlInitList(2)
490 if (res == 200) this.$message({
491 message: "新增成功",
492 type: "success",
493 })
494 }
495 });
496 },
497 // 材料目录点击选中
498 treeClick (item, index) {
499 this.previewImg.index = 0
500 this.treeCheckId = item?.bsmSj
501 this.treeCheckIndex = index
502 this.previewImg.imgList = item?.children
503 this.previewImg.bsmSj = item?.bsmSj
504 },
505 // 小图片点击
506 imgClick (item, index) {
507 this.showImg = item;
508 this.titleYs = index + 1;
509 },
510 // 字典
511 dicStatus (val, code) {
512 let data = this.$store.getters.dictData[code],
513 name = "暂无";
514 if (data) {
515 data.map((item) => {
516 if (item.dcode == val) {
517 name = item.dname
518 }
519 });
520 return name
521 }
522 },
523 //查看明细
524 viewDetail () {
525 console.log("查看明细");
526 this.$popupDialog("查看明细", "djbBook/components/clxxDetailDialog", {
527 data: this.tableData
528 }, "60%")
529 },
530 //设置tableData
531 setTableData (tableData) {
532 this.$nextTick(res => {
533 this.tableData = tableData;
534 })
535 },
100 }, 536 },
101 }; 537 };
102 </script> 538 </script>
...@@ -104,18 +540,237 @@ export default { ...@@ -104,18 +540,237 @@ export default {
104 @import "~@/styles/mixin.scss"; 540 @import "~@/styles/mixin.scss";
105 @import "~@/styles/public.scss"; 541 @import "~@/styles/public.scss";
106 542
107 543 .from-clues-header {
108 .jtfccx-edit {
109 @include flex; 544 @include flex;
110 flex-direction: column; 545 flex-direction: column;
111 overflow-y: hidden; 546 overflow-y: hidden;
112 max-height: 85vh; 547 height: 620px;
113 padding: 0 2px; 548 padding: 0 2px;
114 549
550 .btn {
551 margin-top: 40px;
552 margin-bottom: 20px;
553 text-align: center;
554 }
555 }
115 556
116 .btn{ 557 // 审批意见样式
558
559 .spyj {
560 .box {
561 overflow-x: auto;
562 width: 100%;
563 height: 95%;
564 background: #fff;
565 text-align: center;
566 padding: 4px;
567 overflow-y: scroll;
568 padding-top: 20px;
569 padding: 20px 40px;
570 /deep/.el-input__inner {
571 width: 200px;
572 border:none;
573 }
574 }
575 .spyj_title {
576 line-height: 68px;
577 border: 1px solid $borderColor;
117 text-align: center; 578 text-align: center;
579 font-size: 22px;
580 font-weight: 400;
581 background-color: #eceef2;
582 display: block;
583 border-bottom: none;
584 }
118 585
586 /deep/.el-form-item {
587 margin-bottom: 0;
588 }
589
590 .bottom10 {
591 margin-bottom: 15px;
592 }
593
594 .spyj_form {
595 display: flex;
596 border: 1px solid $borderColor;
597
598 .item_left {
599 width: 150px;
600 background-color: #f8f8fa;
601 color: #606266;
602 display: flex;
603 font-size: 14px;
604 text-indent: 80px;
605 align-items: center;
606 border-right: 1px solid $borderColor;
607 }
608
609 .item_right {
610 flex: 1;
611 width: 100%;
612
613 /deep/.el-form-item__label {
614 background-color: #f8f8fa;
615 }
616 /deep/.el-form-item__content {
617 display: block;
618 text-align: left;
619 text-indent: 10px;
620 }
621 .opinion_item {
622 /deep/.el-form-item__error {
623 margin-top: -16px !important;
624 left: 3px;
625 }
626
627 border-bottom: 1px solid $borderColor;
628 }
629
630 .opinion {
631 position: relative;
632 font-size: 14px;
633
634 /deep/.el-textarea__inner {
635 border: none;
636 }
637 }
638
639 .opinion_btn {
640 position: absolute;
641 right: 15px;
642 bottom: 10px;
643 }
644 }
645 }
646
647 .submit_button {
648 text-align: center;
649 margin: 15px 0;
119 } 650 }
120 } 651 }
652
653 // 材料信息样式
654 .active {
655 background: $light-blue !important;
656 color: #fff;
657 }
658
659 .required {
660 font-size: 12px;
661 color: $pink;
662 float: left;
663 }
664
665 .cl_number {
666 float: right;
667 }
668
669 .clxx {
670 width: 100%;
671 display: flex;
672 padding-left: 5px;
673 height: calc(100vh - 125px);
674
675 .left {
676 display: flex;
677 flex-direction: column;
678 justify-content: space-between;
679
680 .item {
681 width: 28px;
682 height: 49%;
683 @include flex-center;
684 background-color: #e4e7ed;
685 border-bottom-right-radius: 10px;
686 padding: 5px;
687 cursor: pointer;
688 transition: all 0.3s;
689
690 &:hover {
691 @extend .active;
692 }
693 }
694 }
695
696 .right {
697 width: 100%;
698 height: 100%;
699
700 .clmlmx-box {
701 margin: 0 auto;
702
703 .title {
704 text-align: center;
705 height: 60px;
706 line-height: 60px;
707 border: 1px solid #dfe6ec;
708 font-size: 20px;
709 background: #81d3f81a;
710 margin-bottom: -1px;
711 }
712 }
713
714 .clyl-box {
715 width: 100%;
716 height: 100%;
717 display: flex;
718
719 .menu-tree {
720 width: 20%;
721 min-width: 160px;
722 height: 100%;
723 margin-right: 10px;
724 border-right: 1px dotted #d9d9d9;
725 padding: 0 15px;
726
727 .item {
728 line-height: 30px;
729 padding-top: 5px;
730 border-bottom: 1px solid #e8e8e8;
731 font-size: 16px;
732 text-align: center;
733 color: $light-blue;
734
735 .itemIcon {
736 float: right;
737 line-height: 60px;
738 cursor: pointer;
739 }
740
741 .child {
742 line-height: 32px;
743 border-bottom: 1px solid #e8e8e8;
744 padding-left: 10px;
745 color: #6b6b6b;
746 cursor: pointer;
747 box-sizing: border-box;
748 border-radius: 6px;
749 line-height: 20px;
750 transition: all 0.3s;
751 padding: 8px 0;
752 }
753
754 .child:hover {
755 color: $light-blue;
756 transform: scale(1.1);
757 }
758
759 .checked {
760 border: 1px solid $light-blue;
761 color: $light-blue;
762 }
763 }
764 }
765
766 .clyl-img {
767 width: 75%;
768 height: 100%;
769 background: #f3f4f7;
770 margin: 0 auto;
771 position: relative;
772 }
773 }
774 }
775 }
121 </style> 776 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-09 09:20:10
5 -->
6 <template>
7 <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
8 :isFullscreen="false">
9 <el-form :model="ruleForm" ref="ruleForm" label-width="70px">
10 <el-row>
11 <el-col :span="24">
12 <el-form-item label="材料类型">
13 <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
14 <el-option v-for="item in dictData['A40']" :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="材料名称">
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
31 <script>
32 import { mapGetters } from "vuex";
33 export default {
34 props: {
35 value: { type: Boolean, default: false },
36 },
37 data () {
38 return {
39 myValue: this.value,
40 ruleForm: {
41 cllx: "",
42 clmc: "",
43 },
44 };
45 },
46 computed: {
47 ...mapGetters(["dictData"]),
48 },
49 watch: {
50 value (val) {
51 this.myValue = val;
52 },
53 },
54 methods: {
55 closeDialog () {
56 this.$emit("input", false);
57 this.ruleForm = {
58 cllx: "",
59 clmc: "",
60 }
61 },
62 handleSubmit () {
63 this.$parent.addSave(this.ruleForm);
64 this.ruleForm = {
65 cllx: "",
66 clmc: "",
67 }
68 this.$emit("input", false);
69 },
70 },
71 };
72 </script>
73 <style scoped lang="scss">
74 .submit-button {
75 text-align: center;
76 height: 52px;
77 padding-top: 10px;
78 background-color: #fff;
79 }
80 </style>
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:40:38
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 type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button>
13 <div class="item">
14 材料目录({{tableData.length}})
15 <div style="margin-top:10px">
16 <div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div>
17 <div v-for="(item,index) in tableData" :key="item.bsmSj"
18 :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
19 <span v-if="item.isrequired==1" class="required">必选</span>
20 {{ item.sjmc }}
21 <span class="cl_number">({{item.children ? item.children.length : 0}})</span>
22 </div>
23 </div>
24 </div>
25 <el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button>
26 </div>
27 <image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
28 @prevPriview="prevPriview" />
29 </div>
30 </div>
31 <clxxAddDialog v-model="isDialog" />
32 </div>
33 </template>
34 <script>
35 import { mapGetters } from "vuex";
36 import clxxAddDialog from "./clxxAddDialog.vue";
37 import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
38 export default {
39 components: { clxxAddDialog},
40 data () {
41 return {
42 isDialog: false,
43 iclass: "",
44 // 材料目录选中
45 treeCheckIndex: 0,
46 treeCheckId: "",
47 key: 0,
48 tableData: [],
49 previewImg: {
50 // 收件标识码
51 bsmSj: '',
52 bsmSlsq: this.$parent.bsmSlsq,
53 index: 0,
54 selectedIndex: 0,
55 imgList: []
56 }
57 }
58 },
59 computed: {
60 ...mapGetters(["dictData"])
61 },
62 created () {
63 this.clmlInitList(1)
64 },
65 methods: {
66 // 自动预览
67 nextPriview () {
68 if (this.treeCheckIndex < this.tableData.length) {
69 this.treeCheckIndex++
70 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
71 this.previewImg.index = 0
72 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
73 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
74 }
75 },
76 prevPriview () {
77 if (this.treeCheckIndex >= 1) {
78 this.treeCheckIndex--
79 this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
80 this.previewImg.index = this.previewImg.imgList.length
81 this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
82 this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
83 }
84 },
85 // 材料目录明细初始化
86 clmlInitList (type) {
87 //type 1:列表初始化 2:新增材料
88 return new Promise(resolve => {
89 this.unitData = this.$parent.unitData;
90 var formdata = new FormData();
91 formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
92 formdata.append("bsmSlsq", this.$parent.bsmSlsq);
93 InitClml(formdata).then((res) => {
94 if (res.code == 200) {
95 resolve(res.code)
96 if (res.result && res.result.length > 0) {
97 this.tableData = res.result;
98 if (type == 1) {
99 this.treeClick(this.tableData[0], 0);
100 } else {
101 //新增材料后刷新列表焦点置于新增的对象上
102 this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
103 }
104 }
105 } else {
106 this.$message.error(res.message)
107 }
108 })
109 })
110 },
111 setChecked (item) {
112 this.treeCheckId = item.bsmSj;
113 this.title = item.sjmc;
114 this.titleYs = 1;
115 this.titleNum = item.children.length;
116 this.previewImg.imgList = item.children;
117 this.previewImg.bsmSj = item.bsmSj;
118 },
119 updateList (val) {
120 let that = this
121 if (val != null) { //删除最后一张图片时 val=null
122 this.tableData.forEach(item => {
123 if (item.bsmSj === val.bsmSj) {
124 item.children = val.children
125 }
126 })
127 this.previewImg.imgList = _.cloneDeep(val.children)
128 if (this.previewImg.index == this.previewImg.imgList.length) {
129 this.previewImg.index = this.previewImg.index - 1
130 }
131 } else {
132 this.previewImg.imgList = []
133 this.tableData.forEach((item, index) => {
134 if (this.treeCheckId == item.bsmSj) {
135 item.children = []
136 that.treeCheckIndex = index
137 }
138 })
139 }
140
141 },
142 // 添加材料目录
143 handleAdd () {
144 this.isDialog = true;
145 },
146 // 新增弹窗保存
147 addSave (data) {
148 let obj = {
149 bsmSlsq: this.$parent.bsmSlsq,
150 isrequired: "1",
151 sjmc: data.clmc,
152 sjsl: 0,
153 smzt: '',
154 ys: 0,
155 sjlx: data.cllx,
156 sfxjcl: "1", // 是否必选
157 };
158 saveClml(obj).then(async (res) => {
159 if (res.code == 200) {
160 let res = await this.clmlInitList(2)
161 if (res == 200) this.$message({
162 message: "新增成功",
163 type: "success",
164 })
165 }
166 });
167 },
168 // 材料目录点击选中
169 treeClick (item, index) {
170 this.previewImg.index = 0
171 this.treeCheckId = item?.bsmSj
172 this.treeCheckIndex = index
173 this.previewImg.imgList = item?.children
174 this.previewImg.bsmSj = item?.bsmSj
175 },
176 // 小图片点击
177 imgClick (item, index) {
178 this.showImg = item;
179 this.titleYs = index + 1;
180 },
181 // 字典
182 dicStatus (val, code) {
183 let data = this.$store.getters.dictData[code],
184 name = "暂无";
185 if (data) {
186 data.map((item) => {
187 if (item.dcode == val) {
188 name = item.dname
189 }
190 });
191 return name
192 }
193 },
194 //查看明细
195 viewDetail () {
196 this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", {
197 data: this.tableData
198 }, "60%")
199 },
200 //设置tableData
201 setTableData (tableData) {
202 this.$nextTick(res => {
203 this.tableData = tableData;
204 })
205 },
206 },
207 };
208 </script>
209 <style scoped lang='scss'>
210 @import "~@/styles/mixin.scss";
211
212 .active {
213 background: $light-blue !important;
214 color: #fff;
215 }
216
217 .required {
218 font-size: 12px;
219 color: $pink;
220 float: left;
221 }
222
223 .cl_number {
224 float: right;
225 }
226
227 .clxx {
228 width: 100%;
229 display: flex;
230 padding-left: 5px;
231 height: calc(100vh - 125px);
232
233 .left {
234 display: flex;
235 flex-direction: column;
236 justify-content: space-between;
237
238 .item {
239 width: 28px;
240 height: 49%;
241 @include flex-center;
242 background-color: #e4e7ed;
243 border-bottom-right-radius: 10px;
244 padding: 5px;
245 cursor: pointer;
246 transition: all 0.3s;
247
248 &:hover {
249 @extend .active;
250 }
251 }
252 }
253
254 .right {
255 width: 100%;
256 height: 100%;
257
258 .clmlmx-box {
259 margin: 0 auto;
260
261 .title {
262 text-align: center;
263 height: 60px;
264 line-height: 60px;
265 border: 1px solid #dfe6ec;
266 font-size: 20px;
267 background: #81d3f81a;
268 margin-bottom: -1px;
269 }
270 }
271
272 .clyl-box {
273 width: 100%;
274 height: 100%;
275 display: flex;
276
277 .menu-tree {
278 width: 20%;
279 min-width: 160px;
280 height: 100%;
281 margin-right: 10px;
282 border-right: 1px dotted #d9d9d9;
283 padding: 0 15px;
284
285 .item {
286 line-height: 30px;
287 padding-top: 5px;
288 border-bottom: 1px solid #e8e8e8;
289 font-size: 16px;
290 text-align: center;
291 color: $light-blue;
292
293 .itemIcon {
294 float: right;
295 line-height: 60px;
296 cursor: pointer;
297 }
298
299 .child {
300 line-height: 32px;
301 border-bottom: 1px solid #e8e8e8;
302 padding-left: 10px;
303 color: #6b6b6b;
304 cursor: pointer;
305 box-sizing: border-box;
306 border-radius: 6px;
307 line-height: 20px;
308 transition: all 0.3s;
309 padding: 8px 0;
310 }
311
312 .child:hover {
313 color: $light-blue;
314 transform: scale(1.1);
315 }
316
317 .checked {
318 border: 1px solid $light-blue;
319 color: $light-blue;
320 }
321 }
322 }
323
324 .clyl-img {
325 width: 75%;
326 height: 100%;
327 background: #f3f4f7;
328 margin: 0 auto;
329 position: relative;
330 }
331 }
332 }
333 }
334 </style>
1 <!--
2 * @Description: 功能:审批意见
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:41:24
5 -->
6 <template>
7 <div class='spyj loadingtext'>
8 <div class="box">
9 <b class="spyj_title">审批表</b>
10 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
11 <div class="spyj_form" v-for="(item, index) in tableData" :key="index">
12 <div class="item_left">
13 {{ item.jdmc }}意见
14 </div>
15 <div class="item_right">
16 <el-row>
17 <el-col :span="24">
18 <el-form-item label-width="0" class="opinion_item" prop="shyj">
19 <el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见"
20 v-if="item.stepShjy == '1' && ableOperation" v-model="ruleForm.shyj"></el-input>
21 <el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true">
22 </el-input>
23 <el-button class="opinion_btn" @click="commonOpinion"
24 v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button>
25 </el-form-item>
26 </el-col>
27 </el-row>
28 <el-row>
29 <el-col :span="16">
30 <el-form-item label="审查人" prop="shryxm">
31 {{ item.shryxm }}
32 </el-form-item>
33 </el-col>
34 <el-col :span="8">
35 <el-form-item label="审核时间" prop="shjssj" :key="refresh">
36 {{ item.shjssj }}
37 </el-form-item>
38 </el-col>
39 </el-row>
40 </div>
41 </div>
42 <div class="submit_button" v-if="ableOperation">
43 <el-button type="primary" @click="onSubmit">保存</el-button>
44 </div>
45 </el-form>
46 </div>
47 <el-empty v-if="isNoData" description="暂无数据"></el-empty>
48 </div>
49 </template>
50 <script>
51 import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js";
52 import { mapGetters } from 'vuex'
53 export default {
54 computed: {
55 ...mapGetters(['userData', 'yjsqOptions'])
56 },
57 data () {
58 return {
59 isNoData: false,
60 bsmSlsq: '',
61 //刷新值
62 refresh: 10,
63 ableOperation: true,
64 bsmSlsq: this.$route.query.bsmSlsq,
65 bestepid: this.$route.query.bestepid,
66 ruleForm: {},
67 rules: {
68 shyj: [
69 { required: true, message: '请输入审批意见', trigger: 'blur' }
70 ],
71 },
72 tableData: [],
73 propsParam: {}
74 }
75 },
76 watch: {
77 yjsqOptions: {
78 handler (val) {
79 this.ruleForm.shyj = val
80 },
81 deep: true,
82 immediate: true
83 },
84 },
85 mounted () {
86 this.propsParam = this.$attrs;
87 if (this.$route.query.viewtype) {
88 this.ableOperation = false
89 }
90 this.list();
91 },
92 methods: {
93 //审批意见数据初始化
94 list () {
95 let that = this
96 this.$startLoading()
97 var formdata = new FormData();
98 formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
99 formdata.append("bestepid", this.$route.query.bestepid);
100 formdata.append("ableOperation", this.ableOperation)
101 getSpyjList(formdata).then((res) => {
102 this.$endLoading()
103 if (res.code === 200 && res.result) {
104 this.tableData = res.result ? res.result : []
105 if (res.result.length == 0) {
106 that.isNoData = true
107 }
108 this.ruleForm = res.result[res.result.length - 1]
109 }
110 })
111 },
112 onSubmit () {
113 this.ruleForm.bsmSlsq = this.bsmSlsq
114 this.ruleForm.bestepid = this.bestepid
115 saveSpyjBySlsq(this.ruleForm).then(res => {
116 if (res.code === 200) {
117 this.$message.success("保存成功")
118 this.refresh += 1
119 } else {
120 this.$message.error(res.message)
121 }
122 })
123 },
124 //打开常用意见列表弹窗
125 commonOpinion () {
126 this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true)
127 },
128 //使用常用意见
129 useOpinion (opinion) {
130 this.ruleForm.shyj = opinion
131 }
132 }
133 }
134 </script>
135 <style scoped lang='scss'>
136 @import "~@/styles/mixin.scss";
137
138 .spyj {
139 width: 100%;
140 height: 100%;
141 background-color: #f5f5f5;
142 padding: 5px;
143 .box {
144 overflow-x: auto;
145 width: 100%;
146 height: 95%;
147 background: #fff;
148 text-align: center;
149 padding: 4px;
150 overflow-y: scroll;
151 padding-top: 20px;
152 padding: 20px 40px;
153 }
154 .spyj_title {
155 line-height: 68px;
156 border: 1px solid $borderColor;
157 text-align: center;
158 font-size: 22px;
159 font-weight: 400;
160 background-color: #eceef2;
161 display: block;
162 border-bottom: none;
163 }
164
165 /deep/.el-form-item {
166 margin-bottom: 0;
167 }
168
169 .bottom10 {
170 margin-bottom: 15px;
171 }
172
173 .spyj_form {
174 display: flex;
175 border: 1px solid $borderColor;
176
177 .item_left {
178 width: 150px;
179 background-color: #f8f8fa;
180 color: #606266;
181 display: flex;
182 font-size: 14px;
183 text-indent: 80px;
184 align-items: center;
185 border-right: 1px solid $borderColor;
186 }
187
188 .item_right {
189 flex: 1;
190 width: 100%;
191
192 /deep/.el-form-item__label {
193 background-color: #f8f8fa;
194 }
195 /deep/.el-form-item__content {
196 display: block;
197 text-align: left;
198 text-indent: 10px;
199 }
200 .opinion_item {
201 /deep/.el-form-item__error {
202 margin-top: -16px !important;
203 left: 3px;
204 }
205
206 border-bottom: 1px solid $borderColor;
207 }
208
209 .opinion {
210 position: relative;
211 font-size: 14px;
212
213 /deep/.el-textarea__inner {
214 border: none;
215 }
216 }
217
218 .opinion_btn {
219 position: absolute;
220 right: 15px;
221 bottom: 10px;
222 }
223 }
224 }
225
226 .submit_button {
227 text-align: center;
228 margin: 15px 0;
229 }
230 }
231 </style>
1 <!-- 1 <!--
2 * @Description :国有建设用地使用权 2 * @Description :国有建设用地使用权
3 * @Autor : miaofang 3 * @Autor : miaofang
4 * @LastEditTime : 2023-06-02 17:11:35 4 * @LastEditTime : 2023-06-05 15:40:51
5 --> 5 -->
6 <template> 6 <template>
7 <div class="djxxTable"> 7 <div class="djxxTable">
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
78 }, 78 },
79 methods: { 79 methods: {
80 loadData () { 80 loadData () {
81 console.log(" this.propsParam", this.propsParam);
81 getJsydsyqList({ 82 getJsydsyqList({
82 bdcdyid: this.propsParam.bdcdyid, 83 bdcdyid: this.propsParam.bdcdyid,
83 qllx: this.propsParam.qllx, 84 qllx: this.propsParam.qllx,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> 7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
8 <div v-if="this.isShowdrawer"> 8 <div v-if="this.isShowdrawer">
9 <div class="title"> 9 <div class="title">
10 登记簿列表 10 登记簿补录业务列表
11 </div> 11 </div>
12 <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick" 12 <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick"
13 :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]"> 13 :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]">
...@@ -105,10 +105,13 @@ import { loadTreeData, getNode } from "./djbFrameData.js"; ...@@ -105,10 +105,13 @@ import { loadTreeData, getNode } from "./djbFrameData.js";
105 bdcdyh: this.bdcdyh, 105 bdcdyh: this.bdcdyh,
106 qllx: this.qllx, 106 qllx: this.qllx,
107 bsmQlxx: this.bsmQlxx, 107 bsmQlxx: this.bsmQlxx,
108 bestepid:this.bestepid
108 }; 109 };
109 // this.$parent.stepForm(); 110 // this.$parent.stepForm();
110 }, 111 },
111 handleNodeClick (data, node, elem) { 112 handleNodeClick (data, node, elem) {
113 console.log("this.currentSelectProps",this.currentSelectProps);
114 console.log("data",data);
112 this.$parent.loadComponent(this.currentSelectProps,data); 115 this.$parent.loadComponent(this.currentSelectProps,data);
113 this.$parent.tabset(); 116 this.$parent.tabset();
114 }, 117 },
......