8f52f70a by renchao@pashanhoo.com

style:已办箱

1 parent 53e480dc
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:09:11
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
4 <div class="from-clues-header"> 9 <div class="from-clues-header">
5 <el-form :model="ruleForm" label-width="80px"> 10 <el-form :model="ruleForm" label-width="80px">
6 <el-row> 11 <el-row>
7 <el-col :span="5"> 12 <el-col :span="5">
8 <el-form-item label="个性化配置"> 13 <el-form-item label="个性化配置">
9 <el-input ></el-input> 14 <el-input></el-input>
10 </el-form-item> 15 </el-form-item>
11 </el-col> 16 </el-col>
12 <el-col :span="19" class="btnColRight"> 17 <el-col :span="19" class="btnColRight">
13 <el-form-item> 18 <el-form-item>
14 <el-button type="primary" native-type="submit" >查询</el-button> 19 <el-button type="primary" native-type="submit">查询</el-button>
15 </el-form-item> 20 </el-form-item>
16 </el-col> 21 </el-col>
17 </el-row> 22 </el-row>
18 </el-form> 23 </el-form>
19 </div>
20 <!-- 表格 -->
21 </div> 24 </div>
22 </template> 25 <!-- 表格 -->
26 </div>
27 </template>
23 <script> 28 <script>
24 import table from "@/utils/mixin/table"; 29 import table from "@/utils/mixin/table";
25 export default { 30 export default {
26 name: "gxhpz", 31 name: "gxhpz",
27 components: { }, 32 components: {},
28 mixins: [table], 33 mixins: [table],
29 mounted () { 34 mounted () {
30 }, 35 },
...@@ -40,5 +45,5 @@ ...@@ -40,5 +45,5 @@
40 </script> 45 </script>
41 <style scoped lang="scss"> 46 <style scoped lang="scss">
42 @import "~@/styles/public.scss"; 47 @import "~@/styles/public.scss";
43 </style> 48 </style>
44 49
...\ No newline at end of file ...\ No newline at end of file
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:09:29
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
...@@ -31,50 +36,50 @@ ...@@ -31,50 +36,50 @@
31 </div> 36 </div>
32 </template> 37 </template>
33 <script> 38 <script>
34 import { mapGetters } from 'vuex' 39 import { mapGetters } from 'vuex'
35 import { sysSqywmbszSearch } from '@/api/sysSqywmbsz' 40 import { sysSqywmbszSearch } from '@/api/sysSqywmbsz'
36 import table from "@/utils/mixin/table" 41 import table from "@/utils/mixin/table"
37 import { datas, sendThis } from "./qtjfjmb" 42 import { datas, sendThis } from "./qtjfjmb"
38 export default { 43 export default {
39 name: "qtjfjmb", 44 name: "qtjfjmb",
40 mixins: [table], 45 mixins: [table],
41 mounted () { 46 mounted () {
42 sendThis(this); 47 sendThis(this);
43 this.queryClick() 48 this.queryClick()
44 },
45 computed: {
46 ...mapGetters(['dictData'])
47 },
48 data () {
49 return {
50 queryForm: {
51 qllx: ""
52 },
53 tableData: {
54 total: 0,
55 columns: datas.columns(),
56 data: []
57 },
58 bsmMb: ''
59 }
60 },
61 methods: {
62 // 初始化数据
63 queryClick () {
64 this.$startLoading();
65 sysSqywmbszSearch({ ...this.pageData, ...this.queryForm }).then(res => {
66 this.$endLoading();
67 let { records, total } = res.result
68 this.tableData.data = records ? records : []
69 this.tableData.total = total ? total : 0
70 })
71 }, 49 },
72 editClick (row) { 50 computed: {
73 this.$popupDialog("其他及附记模板", "system/qtjfjmb/components/editDialog", row, '60%') 51 ...mapGetters(['dictData'])
52 },
53 data () {
54 return {
55 queryForm: {
56 qllx: ""
57 },
58 tableData: {
59 total: 0,
60 columns: datas.columns(),
61 data: []
62 },
63 bsmMb: ''
64 }
65 },
66 methods: {
67 // 初始化数据
68 queryClick () {
69 this.$startLoading();
70 sysSqywmbszSearch({ ...this.pageData, ...this.queryForm }).then(res => {
71 this.$endLoading();
72 let { records, total } = res.result
73 this.tableData.data = records ? records : []
74 this.tableData.total = total ? total : 0
75 })
76 },
77 editClick (row) {
78 this.$popupDialog("其他及附记模板", "system/qtjfjmb/components/editDialog", row, '60%')
79 }
74 } 80 }
75 } 81 }
76 }
77 </script> 82 </script>
78 <style scoped lang="scss"> 83 <style scoped lang="scss">
79 @import "~@/styles/public.scss"; 84 @import "~@/styles/public.scss";
80 </style> 85 </style>
......
1 <!-- 1 <!--
2 功能:登记情形设定 2 * @Description: 登记情形设定
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:09:47
3 --> 5 -->
4 <template> 6 <template>
5 <div> 7 <div>
...@@ -22,209 +24,208 @@ ...@@ -22,209 +24,208 @@
22 </div> 24 </div>
23 </template> 25 </template>
24 <script> 26 <script>
25 import { mapGetters } from 'vuex' 27 import { mapGetters } from 'vuex'
26 import { upward, down } from '@/utils/operation' 28 import { upward, down } from '@/utils/operation'
27 export default { 29 export default {
28 props: { 30 props: {
29 ruleForm: { 31 ruleForm: {
30 type: Object, default: {} 32 type: Object, default: {}
31 }, 33 },
32 clzt: { 34 clzt: {
33 type: Array, default: () => { 35 type: Array, default: () => {
34 return [] 36 return []
37 }
38 },
39 djqx: {
40 type: Array, default: () => {
41 return []
42 }
35 } 43 }
36 }, 44 },
37 djqx: { 45 computed: {
38 type: Array, default: () => { 46 ...mapGetters(['dictData'])
39 return [] 47 },
40 } 48 data () {
41 } 49 return {
42 }, 50 key: 0,
43 computed: { 51 column: [
44 ...mapGetters(['dictData']) 52 {
45 }, 53 width: '60',
46 data () { 54 renderHeader: (h, scope) => {
47 return { 55 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
48 key: 0, 56 },
49 column: [ 57 render: (h, scope) => {
50 { 58 return (
51 width: '60', 59 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i>
52 renderHeader: (h, scope) => { 60 )
53 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i> 61 }
54 }, 62 },
55 render: (h, scope) => { 63 {
56 return ( 64 width: '60',
57 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> 65 label: '序号',
58 ) 66 type: 'index'
59 } 67 },
60 }, 68 {
61 { 69 label: '是否必填',
62 width: '60', 70 width: '130',
63 label: '序号', 71 render: (h, scope) => {
64 type: 'index' 72 return (
65 }, 73 <el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}>
66 { 74 <el-radio label={'1'}></el-radio>
67 label: '是否必填', 75 <el-radio label={'0'}></el-radio>
68 width: '130', 76 </el-radio-group>
69 render: (h, scope) => { 77 )
70 return ( 78 }
71 <el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}> 79 },
72 <el-radio label={'1'}></el-radio> 80 {
73 <el-radio label={'0'}></el-radio> 81 prop: 'clbm',
74 </el-radio-group> 82 label: '材料编码',
75 ) 83 width: '100',
76 } 84 render: (h, scope) => {
77 }, 85 return (
78 { 86 <el-input placeholder="材料编码" value={scope.row[scope.column.property]}
79 prop: 'clbm', 87 onInput={(val) => { scope.row[scope.column.property] = val }} maxlength="8"></el-input>
80 label: '材料编码', 88 )
81 width: '100', 89 }
82 render: (h, scope) => { 90 },
83 return ( 91 {
84 <el-input placeholder="材料编码" value={scope.row[scope.column.property]} 92 prop: 'clmc',
85 onInput={(val) => { scope.row[scope.column.property] = val }} maxlength="8"></el-input> 93 label: '材料名称',
86 ) 94 render: (h, scope) => {
87 } 95 return (
88 }, 96 <el-input placeholder="材料名称" value={scope.row[scope.column.property]}
89 { 97 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
90 prop: 'clmc', 98 )
91 label: '材料名称', 99 }
92 render: (h, scope) => { 100 },
93 return ( 101 {
94 <el-input placeholder="材料名称" value={scope.row[scope.column.property]} 102 prop: 'cllx',
95 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> 103 label: '材料类型',
96 ) 104 width: '115',
97 } 105 render: (h, scope) => {
98 }, 106 return (
99 { 107 <el-select value={scope.row[scope.column.property]}
100 prop: 'cllx', 108 onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
101 label: '材料类型', 109 {
102 width: '115', 110 this.dictData['A40'].map(option => {
103 render: (h, scope) => { 111 return (
104 return ( 112 <el-option label={option.dname} value={option.dcode}></el-option>
105 <el-select value={scope.row[scope.column.property]} 113 )
106 onChange={(val) => { scope.row[scope.column.property] = val }} clearable> 114 })
107 { 115 }
108 this.dictData['A40'].map(option => { 116 </el-select>
109 return ( 117 )
110 <el-option label={option.dname} value={option.dcode}></el-option> 118 }
111 ) 119 },
112 }) 120 {
113 } 121 label: '是否公共材料',
114 </el-select> 122 width: '100',
115 ) 123 render: (h, scope) => {
124 return (
125 <el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}>
126 <el-radio label={'1'}></el-radio>
127 <el-radio label={'0'}></el-radio>
128 </el-radio-group>
129 )
130 }
131 },
132 {
133 prop: 'djqxbm',
134 label: '登记情形',
135 width: '180',
136 render: (h, scope) => {
137 return (
138 <el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]}
139 onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
140 {
141 this.djqx.map(option => {
142 return (
143 <el-option label={option.nodename} value={option.nodecode}></el-option>
144 )
145 })
146 }
147 </el-select>
148 )
149 }
150 },
151 {
152 label: '移动',
153 width: '90',
154 render: (h, scope) => {
155 return (
156 <div>
157 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
158 <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
159 </div>
160 )
161 }
116 } 162 }
117 }, 163 ],
118 { 164 tableData: []
119 label: '是否公共材料', 165 }
120 width: '100', 166 },
121 render: (h, scope) => { 167 watch: {
122 return ( 168 tableData: {
123 <el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}> 169 handler (newValue, oldValue) {
124 <el-radio label={'1'}></el-radio> 170 if (!_.isEqual(newValue, this.clzt)) {
125 <el-radio label={'0'}></el-radio> 171 this.$emit('updateValue', newValue)
126 </el-radio-group>
127 )
128 } 172 }
129 }, 173 },
130 { 174 deep: true
131 prop: 'djqxbm', 175 },
132 label: '登记情形', 176 clzt: {
133 width: '180', 177 handler: function (newValue) {
134 render: (h, scope) => { 178 this.tableData = _.cloneDeep(newValue)
135 return (
136 <el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]}
137 onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
138 {
139 this.djqx.map(option => {
140 return (
141 <el-option label={option.nodename} value={option.nodecode}></el-option>
142 )
143 })
144 }
145 </el-select>
146 )
147 }
148 }, 179 },
149 { 180 deep: true
150 label: '移动',
151 width: '90',
152 render: (h, scope) => {
153 return (
154 <div>
155 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
156 <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
157 </div>
158 )
159 }
160 }
161 ],
162 tableData: []
163 }
164 },
165 watch: {
166 tableData: {
167 handler (newValue, oldValue) {
168 if (!_.isEqual(newValue, this.clzt)) {
169 this.$emit('updateValue', newValue)
170 }
171 }, 181 },
172 deep: true
173 }, 182 },
174 clzt: { 183 methods: {
175 handler: function (newValue) { 184 handleAdd () {
176 this.tableData = _.cloneDeep(newValue) 185 this.tableData.push(
186 {
187 isrequired: '1',
188 djqxbm: '',
189 clbm: '',
190 clmc: '',
191 cllx: '',
192 sfggcl: '1'
193 }
194 )
195 this.key++
177 }, 196 },
178 deep: true 197 handleSelectGgcl (item) {
179 }, 198 if (item.sfggcl == '1') {
180 }, 199 item.djqxbm = ''
181 methods: {
182 handleAdd () {
183 this.tableData.push(
184 {
185 isrequired: '1',
186 djqxbm: '',
187 clbm: '',
188 clmc: '',
189 cllx: '',
190 sfggcl: '1'
191 } 200 }
192 ) 201 },
193 this.key++ 202 handleMinus (index, row) {
194 }, 203 this.$confirm('此操作将永久删除, 是否继续?', '提示', {
195 handleSelectGgcl (item) { 204 confirmButtonText: '确定',
196 if (item.sfggcl == '1') { 205 cancelButtonText: '取消',
197 item.djqxbm = '' 206 type: 'warning'
198 } 207 }).then(() => {
199 }, 208 this.tableData.splice(index, 1)
200 handleMinus (index, row) { 209 this.$message({
201 this.$confirm('此操作将永久删除, 是否继续?', '提示', { 210 type: 'success',
202 confirmButtonText: '确定', 211 message: '删除成功!'
203 cancelButtonText: '取消', 212 });
204 type: 'warning' 213 }).catch(() => {
205 }).then(() => { 214 this.$message({
206 this.tableData.splice(index, 1) 215 type: 'info',
207 this.$message({ 216 message: '已取消删除'
208 type: 'success', 217 });
209 message: '删除成功!'
210 });
211 }).catch(() => {
212 this.$message({
213 type: 'info',
214 message: '已取消删除'
215 }); 218 });
216 }); 219 },
217 }, 220 // 上移下移
218 // 上移下移 221 moveUpward (index, row) {
219 moveUpward (index, row) { 222 upward(index, this.tableData)
220 upward(index, this.tableData) 223 },
221 }, 224 moveDown (index, row) {
222 moveDown (index, row) { 225 down(index, this.tableData)
223 down(index, this.tableData) 226 },
224 }, 227 }
225 } 228 }
226 }
227 </script> 229 </script>
228 <style scoped lang='scss'> 230 <style scoped lang='scss'>
229
230 </style> 231 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <!-- 1 <!--
2 功能:登记情形设定 2 * @Description: 功能:登记情形设定
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:10:04
3 --> 5 -->
4 <template> 6 <template>
5 <div class='djqxsd'> 7 <div class='djqxsd'>
...@@ -22,233 +24,233 @@ ...@@ -22,233 +24,233 @@
22 </div> 24 </div>
23 </template> 25 </template>
24 <script> 26 <script>
25 import { upward, down } from '@/utils/operation' 27 import { upward, down } from '@/utils/operation'
26 export default { 28 export default {
27 props: { 29 props: {
28 ruleForm: { 30 ruleForm: {
29 type: Object, default: () => { 31 type: Object, default: () => {
30 return {} 32 return {}
33 }
34 },
35 djqx: {
36 type: Array, default: () => {
37 return []
38 }
31 } 39 }
32 }, 40 },
33 djqx: { 41 data () {
34 type: Array, default: () => { 42 return {
35 return [] 43 input: '',
36 } 44 key: 0,
37 } 45 rules: {
38 }, 46 djywbm: [
39 data () { 47 { required: true, message: '登记业务编码', trigger: 'blur' },
40 return { 48 ],
41 input: '', 49 djywmc: [
42 key: 0, 50 { required: true, message: '登记业务名称', trigger: 'blur' },
43 rules: { 51 ],
44 djywbm: [
45 { required: true, message: '登记业务编码', trigger: 'blur' },
46 ],
47 djywmc: [
48 { required: true, message: '登记业务名称', trigger: 'blur' },
49 ],
50 },
51 column: [
52 {
53 width: '60',
54 renderHeader: (h, scope) => {
55 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
56 },
57 render: (h, scope) => {
58 return (
59 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i>
60 )
61 }
62 },
63 {
64 width: '60',
65 label: '序号',
66 type: 'index'
67 },
68 {
69 prop: 'nodecode',
70 width: '105',
71 label: '登记情形编码',
72 render: (h, scope) => {
73 return (
74 <div>
75 <el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'}
76 value={scope.row[scope.column.property]}
77 onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8">
78 </el-input>
79 </div>
80 )
81 }
82 },
83 {
84 prop: 'nodename',
85 label: '登记情形名称',
86 render: (h, scope) => {
87 return (
88 <div>
89 <el-input placeholder="登记情形名称" disabled={scope.row.sftsdjqx == '1'}
90 value={scope.row[scope.column.property]}
91 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
92 </div>
93 )
94 }
95 },
96 {
97 label: '是否启用登记情形',
98 width: '140',
99 render: (h, scope) => {
100 return (
101 <el-radio-group v-model={scope.row.enabled} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}>
102 <el-radio label={'1'}>启用</el-radio>
103 <el-radio label={'0'}>禁用</el-radio>
104 </el-radio-group>
105 )
106 }
107 }, 52 },
108 { 53 column: [
109 prop: 'djyy', 54 {
110 label: '登记原因模板', 55 width: '60',
111 render: (h, scope) => { 56 renderHeader: (h, scope) => {
112 return ( 57 return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i>
113 <div> 58 },
114 <el-input placeholder="登记原因模板" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]} 59 render: (h, scope) => {
115 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> 60 return (
116 </div> 61 <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i>
62 )
63 }
64 },
65 {
66 width: '60',
67 label: '序号',
68 type: 'index'
69 },
70 {
71 prop: 'nodecode',
72 width: '105',
73 label: '登记情形编码',
74 render: (h, scope) => {
75 return (
76 <div>
77 <el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'}
78 value={scope.row[scope.column.property]}
79 onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8">
80 </el-input>
81 </div>
82 )
83 }
84 },
85 {
86 prop: 'nodename',
87 label: '登记情形名称',
88 render: (h, scope) => {
89 return (
90 <div>
91 <el-input placeholder="登记情形名称" disabled={scope.row.sftsdjqx == '1'}
92 value={scope.row[scope.column.property]}
93 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
94 </div>
95 )
96 }
97 },
98 {
99 label: '是否启用登记情形',
100 width: '140',
101 render: (h, scope) => {
102 return (
103 <el-radio-group v-model={scope.row.enabled} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}>
104 <el-radio label={'1'}>启用</el-radio>
105 <el-radio label={'0'}>禁用</el-radio>
106 </el-radio-group>
107 )
108 }
109 },
110 {
111 prop: 'djyy',
112 label: '登记原因模板',
113 render: (h, scope) => {
114 return (
115 <div>
116 <el-input placeholder="登记原因模板" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]}
117 onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
118 </div>
117 119
118 ) 120 )
119 } 121 }
120 }, 122 },
121 { 123 {
122 label: '是否启用模板', 124 label: '是否启用模板',
123 width: '140', 125 width: '140',
124 render: (h, scope) => { 126 render: (h, scope) => {
125 return ( 127 return (
126 <el-radio-group v-model={scope.row.sfqydjyymb} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}> 128 <el-radio-group v-model={scope.row.sfqydjyymb} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}>
127 <el-radio label={'1'}>启用</el-radio> 129 <el-radio label={'1'}>启用</el-radio>
128 <el-radio label={'0'}>禁用</el-radio> 130 <el-radio label={'0'}>禁用</el-radio>
129 </el-radio-group> 131 </el-radio-group>
130 ) 132 )
131 } 133 }
132 }, 134 },
133 { 135 {
134 label: '移动', 136 label: '移动',
135 width: '100', 137 width: '100',
136 render: (h, scope) => { 138 render: (h, scope) => {
137 return ( 139 return (
138 <div> 140 <div>
139 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> 141 <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
140 <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > 142 <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
141 </div> 143 </div>
142 ) 144 )
145 }
143 } 146 }
144 } 147 ],
145 ], 148 tableData: []
146 tableData: [] 149 }
147 } 150 },
148 }, 151 watch: {
149 watch: { 152 tableData: {
150 tableData: { 153 handler (newValue, oldValue) {
151 handler (newValue, oldValue) { 154 let that = this
152 let that = this 155 if (!_.isEqual(newValue, this.djqx)) {
153 if (!_.isEqual(newValue, this.djqx)) { 156 let temp = newValue.some((item, index, array) => {
154 let temp = newValue.some((item, index, array) => { 157 return item.repeat;
155 return item.repeat;
156 })
157 if (temp) {
158 that.$emit('updateValue', {
159 djqx: newValue,
160 btnDisabled: true
161 })
162 } else {
163 that.$emit('updateValue', {
164 djqx: newValue,
165 btnDisabled: false
166 }) 158 })
159 if (temp) {
160 that.$emit('updateValue', {
161 djqx: newValue,
162 btnDisabled: true
163 })
164 } else {
165 that.$emit('updateValue', {
166 djqx: newValue,
167 btnDisabled: false
168 })
169 }
167 } 170 }
168 } 171 },
172 deep: true
169 }, 173 },
170 deep: true 174 djqx: {
175 handler: function (newValue) {
176 this.tableData = _.cloneDeep(newValue)
177 this.addIndexes()
178 },
179 deep: true
180 }
171 }, 181 },
172 djqx: { 182 methods: {
173 handler: function (newValue) { 183 // 添加索引
174 this.tableData = _.cloneDeep(newValue) 184 addIndexes (data = this.tableData, isAdd = true) {
185 data.forEach((item, index) => {
186 if (isAdd) {
187 item.index = index + 1
188 }
189 })
190 },
191 handleAdd () {
192 this.$nextTick(() => {
193 let container = this.$el.querySelector('.el-table__body-wrapper');
194 container.scrollTop = container.scrollHeight;
195 })
196 this.tableData.push(
197 {
198 nodecode: '',
199 nodename: '',
200 enabled: '1',
201 djyy: '',
202 sfqydjyymb: '0'
203 }
204 )
175 this.addIndexes() 205 this.addIndexes()
206 this.key++
176 }, 207 },
177 deep: true 208 handleMinus (index, row) {
178 } 209 this.$confirm('此操作将永久删除, 是否继续?', '提示', {
179 }, 210 confirmButtonText: '确定',
180 methods: { 211 cancelButtonText: '取消',
181 // 添加索引 212 type: 'warning'
182 addIndexes (data = this.tableData, isAdd = true) { 213 }).then(() => {
183 data.forEach((item, index) => { 214 this.tableData.splice(index, 1)
184 if (isAdd) { 215 this.$message({
185 item.index = index + 1 216 type: 'success',
186 } 217 message: '删除成功!'
187 }) 218 });
188 }, 219 }).catch(() => {
189 handleAdd () { 220 this.$message({
190 this.$nextTick(() => { 221 type: 'info',
191 let container = this.$el.querySelector('.el-table__body-wrapper'); 222 message: '已取消删除'
192 container.scrollTop = container.scrollHeight; 223 });
193 })
194 this.tableData.push(
195 {
196 nodecode: '',
197 nodename: '',
198 enabled: '1',
199 djyy: '',
200 sfqydjyymb: '0'
201 }
202 )
203 this.addIndexes()
204 this.key++
205 },
206 handleMinus (index, row) {
207 this.$confirm('此操作将永久删除, 是否继续?', '提示', {
208 confirmButtonText: '确定',
209 cancelButtonText: '取消',
210 type: 'warning'
211 }).then(() => {
212 this.tableData.splice(index, 1)
213 this.$message({
214 type: 'success',
215 message: '删除成功!'
216 }); 224 });
217 }).catch(() => { 225 },
218 this.$message({ 226 nodecodeBlur (index, row) {
219 type: 'info', 227 let list = _.cloneDeep(this.tableData).filter(item => item.bsmSqyw != row.bsmSqyw)
220 message: '已取消删除' 228 let arr = list.map(item => item.nodecode)
221 }); 229 if (arr.includes(row.nodecode)) {
222 }); 230 this.$set(row, 'repeat', true)
223 }, 231 this.$message.error('登记情形编码不能重复');
224 nodecodeBlur (index, row) { 232 } else {
225 let list = _.cloneDeep(this.tableData).filter(item => item.bsmSqyw != row.bsmSqyw) 233 this.$set(row, 'repeat', false)
226 let arr = list.map(item => item.nodecode) 234 }
227 if (arr.includes(row.nodecode)) { 235 },
228 this.$set(row, 'repeat', true) 236 // 上移下移
229 this.$message.error('登记情形编码不能重复'); 237 moveUpward (index, row) {
230 } else { 238 upward(index, this.tableData)
231 this.$set(row, 'repeat', false) 239 this.key++
240 },
241 moveDown (index, row) {
242 down(index, this.tableData)
243 this.key++
232 } 244 }
233 },
234 // 上移下移
235 moveUpward (index, row) {
236 upward(index, this.tableData)
237 this.key++
238 },
239 moveDown (index, row) {
240 down(index, this.tableData)
241 this.key++
242 } 245 }
243 } 246 }
244 }
245 </script> 247 </script>
246 <style lang='scss' scoped> 248 <style lang='scss' scoped>
247 .djqxsd { 249 .djqxsd {
248 .repeat { 250 .repeat {
249 .el-input__inner { 251 .el-input__inner {
250 border-color: red !important; 252 border-color: red !important;
253 }
251 } 254 }
252 } 255 }
253 }
254 </style> 256 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <!-- 1 <!--
2 功能:单元状态设定 2 * @Description: 单元状态设定
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:10:44
3 --> 5 -->
4 <template> 6 <template>
5 <div class='该组件名称'> 7 <div class='该组件名称'>
...@@ -48,108 +50,108 @@ ...@@ -48,108 +50,108 @@
48 </div> 50 </div>
49 </template> 51 </template>
50 <script> 52 <script>
51 export default { 53 export default {
52 props: { 54 props: {
53 ruleForm: { 55 ruleForm: {
54 type: Object, default: {} 56 type: Object, default: {}
57 },
58 subData: {
59 type: Object, default: () => {
60 return {}
61 }
62 }
55 }, 63 },
56 subData: { 64 data () {
57 type: Object, default: () => { 65 return {
58 return {} 66 dataList: {
67 sxql: [],
68 sxzt: []
69 }
59 } 70 }
60 } 71 },
61 }, 72 watch: {
62 data () {
63 return {
64 dataList: { 73 dataList: {
65 sxql: [], 74 handler (newValue, oldValue) {
66 sxzt: [] 75 this.$emit('updateValue', newValue)
67 } 76 },
68 } 77 deep: true
69 }, 78 },
70 watch: { 79 subData: {
71 dataList: { 80 handler (newValue, oldValue) {
72 handler (newValue, oldValue) { 81 if (!_.isEqual(newValue.sxql, this.dataList.sxql)) {
73 this.$emit('updateValue', newValue) 82 this.dataList.sxql = _.cloneDeep(newValue.sxql)
83 }
84 if (!_.isEqual(newValue.sxzt, this.dataList.sxzt)) {
85 this.dataList.sxzt = _.cloneDeep(newValue.sxzt)
86 }
87 },
88 deep: true
74 }, 89 },
75 deep: true
76 }, 90 },
77 subData: { 91 methods: {
78 handler (newValue, oldValue) { 92 handleSelect (item) {
79 if (!_.isEqual(newValue.sxql, this.dataList.sxql)) { 93 if (item.checked) {
80 this.dataList.sxql = _.cloneDeep(newValue.sxql) 94 item.selected = '0'
81 }
82 if (!_.isEqual(newValue.sxzt, this.dataList.sxzt)) {
83 this.dataList.sxzt = _.cloneDeep(newValue.sxzt)
84 } 95 }
85 }, 96 },
86 deep: true 97 handleSelectall () {
87 }, 98 this.dataList.sxql.forEach(item => {
88 }, 99 item.checked = true
89 methods: { 100 })
90 handleSelect (item) { 101 },
91 if (item.checked) { 102 handleInvert () {
92 item.selected = '0' 103 this.dataList.sxql.forEach(item => {
104 item.checked = false
105 })
93 } 106 }
94 },
95 handleSelectall () {
96 this.dataList.sxql.forEach(item => {
97 item.checked = true
98 })
99 },
100 handleInvert () {
101 this.dataList.sxql.forEach(item => {
102 item.checked = false
103 })
104 } 107 }
105 } 108 }
106 }
107 </script> 109 </script>
108 <style scoped lang='scss'> 110 <style scoped lang='scss'>
109 @import "~@/styles/mixin.scss"; 111 @import "~@/styles/mixin.scss";
110 112
111 .dyztsd-title { 113 .dyztsd-title {
112 @include flex; 114 @include flex;
113 align-items: center; 115 align-items: center;
114 justify-content: space-between; 116 justify-content: space-between;
115 padding-left: 20px; 117 padding-left: 20px;
116 } 118 }
117 119
118 .qlxx-list { 120 .qlxx-list {
119 @include flex; 121 @include flex;
120 flex-wrap: wrap; 122 flex-wrap: wrap;
121 padding-left: 20px; 123 padding-left: 20px;
122 124
123 li { 125 li {
124 width: 33%; 126 width: 33%;
125 margin-bottom: 15px; 127 margin-bottom: 15px;
128 }
126 } 129 }
127 }
128
129 .screen-list {
130 @include flex;
131 align-items: center;
132 flex-wrap: wrap;
133 border: 1px solid $borderColor;
134 border-bottom: none;
135 130
136 li { 131 .screen-list {
137 @include flex; 132 @include flex;
138 align-items: center; 133 align-items: center;
139 width: 50%; 134 flex-wrap: wrap;
140 line-height: 50px; 135 border: 1px solid $borderColor;
141 border-bottom: 1px solid $borderColor; 136 border-bottom: none;
142 padding-left: 20px;
143 }
144 137
145 &-left { 138 li {
146 margin-right: 20px; 139 @include flex;
147 width: 160px; 140 align-items: center;
148 white-space: nowrap; 141 width: 50%;
149 } 142 line-height: 50px;
143 border-bottom: 1px solid $borderColor;
144 padding-left: 20px;
145 }
150 146
151 li:nth-child(odd) { 147 &-left {
152 border-right: 1px solid $borderColor; 148 margin-right: 20px;
149 width: 160px;
150 white-space: nowrap;
151 }
152
153 li:nth-child(odd) {
154 border-right: 1px solid $borderColor;
155 }
153 } 156 }
154 }
155 </style> 157 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:10:56
5 -->
1 <template> 6 <template>
2 <dialogBox title="申请业务规则配置" @submitForm="submitForm" @closeDialog="closeDialog" v-model="myValue" 7 <dialogBox title="申请业务规则配置" @submitForm="submitForm" @closeDialog="closeDialog" v-model="myValue"
3 :btnDisabled="btnDisabled"> 8 :btnDisabled="btnDisabled">
...@@ -123,248 +128,224 @@ ...@@ -123,248 +128,224 @@
123 </dialogBox> 128 </dialogBox>
124 </template> 129 </template>
125 <script> 130 <script>
126 import { uploadUrl } from '@/api/file' 131 import { uploadUrl } from '@/api/file'
127 import djqxsd from './djqxsd.vue' 132 import djqxsd from './djqxsd.vue'
128 import clgzsd from './clgzsd.vue' 133 import clgzsd from './clgzsd.vue'
129 import dyztsd from './dyztsd.vue' 134 import dyztsd from './dyztsd.vue'
130 import { getSqdjywDetail, saveSqdjyw } from '@/api/sysSqdjyw' 135 import { getSqdjywDetail, saveSqdjyw } from '@/api/sysSqdjyw'
131 export default { 136 export default {
132 components: { 137 components: {
133 djqxsd, 138 djqxsd,
134 clgzsd, 139 clgzsd,
135 dyztsd 140 dyztsd
136 },
137 props: {
138 value: { type: Boolean, default: false },
139 detailList: {
140 type: Array, default: []
141 }, 141 },
142 bsmSqyw: { 142 props: {
143 type: String, default: '' 143 value: { type: Boolean, default: false },
144 }, 144 detailList: {
145 }, 145 type: Array, default: []
146 watch: { 146 },
147 value (val) { 147 bsmSqyw: {
148 this.myValue = val 148 type: String, default: ''
149 },
149 }, 150 },
150 detailList: { 151 watch: {
151 handler: function (newValue) { 152 value (val) {
152 if (newValue.length == 0) { 153 this.myValue = val
153 this.getSqdjywDetail(this.bsmSqyw)
154 } else {
155 this.titleList = newValue
156 this.n = 0
157 this.tn = 0
158 this.getSqdjywDetail(newValue[0].bsmSqyw)
159 }
160 }, 154 },
161 deep: true 155 detailList: {
162 } 156 handler: function (newValue) {
163 }, 157 if (newValue.length == 0) {
164 data () { 158 this.getSqdjywDetail(this.bsmSqyw)
165 return { 159 } else {
166 djqx: [], 160 this.titleList = newValue
167 clzt: [], 161 this.n = 0
168 myValue: this.value, 162 this.tn = 0
169 btnDisabled: false, 163 this.getSqdjywDetail(newValue[0].bsmSqyw)
170 tn: 0, 164 }
171 titleList: [],
172 imgUploadUrl: uploadUrl(),
173 n: 0,
174 leftList: [
175 {
176 name: '业务详情',
177 select: true
178 }, 165 },
179 { 166 deep: true
180 name: '登记情形设定' 167 }
168 },
169 data () {
170 return {
171 djqx: [],
172 clzt: [],
173 myValue: this.value,
174 btnDisabled: false,
175 tn: 0,
176 titleList: [],
177 imgUploadUrl: uploadUrl(),
178 n: 0,
179 leftList: [
180 {
181 name: '业务详情',
182 select: true
183 },
184 {
185 name: '登记情形设定'
186 },
187 {
188 name: '材料规则设定'
189 },
190 {
191 name: '单元状态设定'
192 }
193 ],
194 ruleForm: {
195 qllxbm: '',
196 qllxmc: '',
197 sqfl: '',
198 djlxbm: '',
199 djlxmc: '',
200 fqywdylx: '',
201 djywbm: '',
202 djywmc: '',
203 enabled: '1',
204 flowid: '',
205 flowparams: '',
206 djqxcl: '',
207 sfqydjyymb: '1',
208 djyy: ''
181 }, 209 },
182 { 210 requested: false,
183 name: '材料规则设定' 211 fileList: [],
212 options: [],
213 rules: {
214 sfqy: [
215 { required: true, message: '请选择是否启用', trigger: 'change' },
216 ],
217 ywlc: [
218 { required: true, message: '请输入业务流程ID', trigger: 'blur' },
219 ],
220 djqxcl: [
221 { required: true, message: '请选择登记情形及材料', trigger: 'blur' },
222 ],
223 djyysz: [
224 { required: true, message: '请选择登记原因设置', trigger: 'change' },
225 ],
226 djyymb: [
227 { required: true, message: '请输入登记原因模板', trigger: 'blur' },
228 ],
184 }, 229 },
185 { 230 // 表单提交
186 name: '单元状态设定' 231 subData: {}
232 };
233 },
234 methods: {
235 getSqdjywDetail (bsmSqyw) {
236 getSqdjywDetail(bsmSqyw).then(res => {
237 this.subData = res.result
238 let { ywDetail } = res.result
239 this.ruleForm = ywDetail
240 })
241 },
242 handleTitleSelct (obj, index) {
243 this.n = 0
244 this.tn = index
245 this.getSqdjywDetail(obj.bsmSqyw)
246 },
247 getDjqxValue (val) {
248 if (!_.isEqual(val.djqx, this.subData.djqx)) {
249 this.subData.djqx = val.djqx
250 this.btnDisabled = val.btnDisabled
187 } 251 }
188 ],
189 ruleForm: {
190 qllxbm: '',
191 qllxmc: '',
192 sqfl: '',
193 djlxbm: '',
194 djlxmc: '',
195 fqywdylx: '',
196 djywbm: '',
197 djywmc: '',
198 enabled: '1',
199 flowid: '',
200 flowparams: '',
201 djqxcl: '',
202 sfqydjyymb: '1',
203 djyy: ''
204 }, 252 },
205 requested: false, 253 getClgzValue (val) {
206 fileList: [], 254 if (!_.isEqual(val, this.subData.clxx)) {
207 options: [], 255 this.subData.clxx = val
208 rules: { 256 }
209 sfqy: [
210 { required: true, message: '请选择是否启用', trigger: 'change' },
211 ],
212 ywlc: [
213 { required: true, message: '请输入业务流程ID', trigger: 'blur' },
214 ],
215 djqxcl: [
216 { required: true, message: '请选择登记情形及材料', trigger: 'blur' },
217 ],
218 djyysz: [
219 { required: true, message: '请选择登记原因设置', trigger: 'change' },
220 ],
221 djyymb: [
222 { required: true, message: '请输入登记原因模板', trigger: 'blur' },
223 ],
224 }, 257 },
225 // 表单提交 258 // 单元状态设定
226 subData: {} 259 getDyztsdValue (val) {
227 }; 260 if (!_.isEqual(val.sxql, this.subData.sxql)) {
228 }, 261 this.subData.sxql = val.sxql
229 methods: { 262 }
230 getSqdjywDetail (bsmSqyw) { 263 if (!_.isEqual(val.sxzt, this.subData.sxzt)) {
231 getSqdjywDetail(bsmSqyw).then(res => { 264 this.subData.sxzt = val.sxzt
232 this.subData = res.result 265 }
233 let { ywDetail } = res.result 266 },
234 this.ruleForm = ywDetail 267 submitForm () {
235 }) 268 this.$refs['ruleForm'].validate(async (valid) => {
236 }, 269 let that = this
237 handleTitleSelct (obj, index) { 270 if (valid) {
238 this.n = 0 271 this.subData.ywDetail = this.ruleForm
239 this.tn = index 272 saveSqdjyw(this.subData).then(res => {
240 this.getSqdjywDetail(obj.bsmSqyw) 273 if (res.code == 200) {
241 }, 274 that.$message({
242 getDjqxValue (val) { 275 message: '修改成功',
243 if (!_.isEqual(val.djqx, this.subData.djqx)) { 276 type: 'success'
244 this.subData.djqx = val.djqx 277 })
245 this.btnDisabled = val.btnDisabled 278 // that.$emit('input', false)
246 } 279 }
247 }, 280 })
248 getClgzValue (val) { 281 } else {
249 if (!_.isEqual(val, this.subData.clxx)) { 282 this.$message('请检查表单完整性')
250 this.subData.clxx = val 283 return false
251 } 284 }
252 }, 285 })
253 // 单元状态设定 286 },
254 getDyztsdValue (val) { 287 closeDialog () {
255 if (!_.isEqual(val.sxql, this.subData.sxql)) { 288 this.$emit('input', false)
256 this.subData.sxql = val.sxql 289 },
257 } 290 hanldeItem (index) {
258 if (!_.isEqual(val.sxzt, this.subData.sxzt)) { 291 this.n = index
259 this.subData.sxzt = val.sxzt 292 },
260 } 293 uploadRecord (file) {
261 }, 294 this.requested = true
262 submitForm () { 295 this.files = file;
263 this.$refs['ruleForm'].validate(async (valid) => { 296 const extension = file.name.split('.')[1] === 'xls'
264 let that = this 297 const extension2 = file.name.split('.')[1] === 'xlsx'
265 if (valid) { 298 const isLt5M = file.size / 1024 / 1024 < 5
266 this.subData.ywDetail = this.ruleForm 299 if (!extension && !extension2) {
267 saveSqdjyw(this.subData).then(res => { 300 this.$message.warning('上传模板只能是 xls、xlsx格式!')
268 if (res.code == 200) { 301 this.requested = false
269 that.$message({ 302 }
270 message: '修改成功', 303 if (!isLt5M) {
271 type: 'success' 304 this.$message.warning('上传模板大小不能超过 5MB!')
272 }) 305 this.requested = false
273 // that.$emit('input', false) 306 }
274 } 307 return (extension || extension2) && isLt5M
308 },
309 handleSuccess (res) {
310 if (res.code === 200) {
311 this.requested = false
312 this.$message({
313 message: '上传成功',
314 type: 'success',
275 }) 315 })
276 } else { 316 } else {
277 this.$message('请检查表单完整性') 317 this.loading = false
278 return false 318 this.$message.error(res.message)
279 } 319 }
280 })
281 },
282 closeDialog () {
283 this.$emit('input', false)
284 },
285 hanldeItem (index) {
286 this.n = index
287 },
288 uploadRecord (file) {
289 this.requested = true
290 this.files = file;
291 const extension = file.name.split('.')[1] === 'xls'
292 const extension2 = file.name.split('.')[1] === 'xlsx'
293 const isLt5M = file.size / 1024 / 1024 < 5
294 if (!extension && !extension2) {
295 this.$message.warning('上传模板只能是 xls、xlsx格式!')
296 this.requested = false
297 }
298 if (!isLt5M) {
299 this.$message.warning('上传模板大小不能超过 5MB!')
300 this.requested = false
301 }
302 return (extension || extension2) && isLt5M
303 },
304 handleSuccess (res) {
305 if (res.code === 200) {
306 this.requested = false
307 this.$message({
308 message: '上传成功',
309 type: 'success',
310 })
311 } else {
312 this.loading = false
313 this.$message.error(res.message)
314 } 320 }
315 } 321 }
316 } 322 };
317 };
318 </script> 323 </script>
319 <style scoped lang="scss"> 324 <style scoped lang="scss">
320 @import "~@/styles/mixin.scss"; 325 @import "~@/styles/mixin.scss";
321
322 /deep/.el-radio {
323 margin-right: 0;
324 }
325
326 /deep/.el-radio__label {
327 padding-left: 2px;
328 }
329 326
330 .active { 327 /deep/.el-radio {
331 background: $light-blue !important; 328 margin-right: 0;
332 color: #fff;
333 }
334
335 .edit-title-list {
336 @include flex;
337
338 li {
339 flex: 1;
340 @include flex-center;
341 border: 1px solid $borderColor;
342 line-height: 36px;
343 margin-bottom: 10px;
344 cursor: pointer;
345 transition: all 0.3s;
346
347 &:hover {
348 @extend .active;
349 }
350 } 329 }
351 }
352 330
353 .sqywgz-edit { 331 /deep/.el-radio__label {
354 @include flex; 332 padding-left: 2px;
355 width: 100%; 333 }
356 height: 563px;
357
358 &-left {
359 width: 26px;
360 334
335 .active {
336 background: $light-blue !important;
337 color: #fff;
338 }
361 339
340 .edit-title-list {
341 @include flex;
362 342
363 li { 343 li {
344 flex: 1;
364 @include flex-center; 345 @include flex-center;
365 background-color: #E4E7ED; 346 border: 1px solid $borderColor;
366 border-bottom-right-radius: 5px; 347 line-height: 36px;
367 padding: 15px; 348 margin-bottom: 10px;
368 cursor: pointer; 349 cursor: pointer;
369 transition: all 0.3s; 350 transition: all 0.3s;
370 351
...@@ -372,16 +353,38 @@ export default { ...@@ -372,16 +353,38 @@ export default {
372 @extend .active; 353 @extend .active;
373 } 354 }
374 } 355 }
375
376 li:not(:last-child) {
377 margin-bottom: 10px;
378 }
379 } 356 }
380 357
381 &-right { 358 .sqywgz-edit {
382 margin-left: 20px; 359 @include flex;
383 flex: 1;
384 width: 100%; 360 width: 100%;
361 height: 563px;
362
363 &-left {
364 width: 26px;
365
366 li {
367 @include flex-center;
368 background-color: #e4e7ed;
369 border-bottom-right-radius: 5px;
370 padding: 15px;
371 cursor: pointer;
372 transition: all 0.3s;
373
374 &:hover {
375 @extend .active;
376 }
377 }
378
379 li:not(:last-child) {
380 margin-bottom: 10px;
381 }
382 }
383
384 &-right {
385 margin-left: 20px;
386 flex: 1;
387 width: 100%;
388 }
385 } 389 }
386 }
387 </style> 390 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:11:05
5 -->
1 <template> 6 <template>
2 <div> 7 <div>
3 <ul class="edit-title-list" v-if="djlxList.length > 0"> 8 <ul class="edit-title-list" v-if="djlxList.length > 0">
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:11:20
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
...@@ -36,65 +41,65 @@ ...@@ -36,65 +41,65 @@
36 </div> 41 </div>
37 </template> 42 </template>
38 <script> 43 <script>
39 import table from "@/utils/mixin/table"; 44 import table from "@/utils/mixin/table";
40 import editDialog from "./components/editDialog.vue"; 45 import editDialog from "./components/editDialog.vue";
41 import componentDialog from "./sqywDetail.vue"; 46 import componentDialog from "./sqywDetail.vue";
42 import { datas, sendThis } from "./sqywgzdata"; 47 import { datas, sendThis } from "./sqywgzdata";
43 import { getSysSqdjywBysearch, getDjlxInfo } from "@/api/sysSqdjyw.js"; 48 import { getSysSqdjywBysearch, getDjlxInfo } from "@/api/sysSqdjyw.js";
44 export default { 49 export default {
45 name: "djbcx", 50 name: "djbcx",
46 components: { 51 components: {
47 editDialog, 52 editDialog,
48 componentDialog, 53 componentDialog,
49 }, 54 },
50 mixins: [table], 55 mixins: [table],
51 mounted () { 56 mounted () {
52 sendThis(this); 57 sendThis(this);
53 this.queryClick(); 58 this.queryClick();
54 },
55 data () {
56 return {
57 qllxmc: "",
58 isDialog: false,
59 queryForm: {
60 qllx: "",
61 djywbm: "",
62 },
63 qllxs: datas.qllxs(),
64 tableData: {
65 total: 0,
66 columns: datas.columns(),
67 data: [],
68 },
69 detailList: [],
70 bsmSqyw: "",
71 sqqlRule: "",
72 };
73 },
74 methods: {
75 // 初始化数据
76 queryClick () {
77 this.$startLoading();
78 getSysSqdjywBysearch({ ...this.queryForm, ...this.pageData }).then(
79 (res) => {
80 this.$endLoading();
81 if (res.code === 200) {
82 let { total, records } = res.result;
83 this.tableData.total = total ? total : 0;
84 this.tableData.data = records ? records : [];
85 }
86 }
87 );
88 }, 59 },
89 // 修改 60 data () {
90 editClick (row) { 61 return {
91 this.sqqlRule = row; 62 qllxmc: "",
92 // this.dialogVisible = true; 63 isDialog: false,
93 this.$popupDialog(row.nodename, "system/sqywgz/sqywDetail", this.sqqlRule, '80%') 64 queryForm: {
65 qllx: "",
66 djywbm: "",
67 },
68 qllxs: datas.qllxs(),
69 tableData: {
70 total: 0,
71 columns: datas.columns(),
72 data: [],
73 },
74 detailList: [],
75 bsmSqyw: "",
76 sqqlRule: "",
77 };
78 },
79 methods: {
80 // 初始化数据
81 queryClick () {
82 this.$startLoading();
83 getSysSqdjywBysearch({ ...this.queryForm, ...this.pageData }).then(
84 (res) => {
85 this.$endLoading();
86 if (res.code === 200) {
87 let { total, records } = res.result;
88 this.tableData.total = total ? total : 0;
89 this.tableData.data = records ? records : [];
90 }
91 }
92 );
93 },
94 // 修改
95 editClick (row) {
96 this.sqqlRule = row;
97 // this.dialogVisible = true;
98 this.$popupDialog(row.nodename, "system/sqywgz/sqywDetail", this.sqqlRule, '80%')
99 }
94 } 100 }
95 } 101 }
96 }
97 </script> 102 </script>
98 <style scoped lang="scss"> 103 <style scoped lang="scss">
99 @import "~@/styles/public.scss"; 104 @import "~@/styles/public.scss";
100 </style> 105 </style>
......
1 <!-- 1 <!--
2 功能:高级搜索 2 * @Description:
3 作者:calliope 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:08:17
4 --> 5 -->
5 <template> 6 <template>
6 <dialogBox :isButton="false" :isFullscreen="false" width="50%" @closeDialog="closeDialog" v-model="myValue" 7 <dialogBox :isButton="false" :isFullscreen="false" width="50%" @closeDialog="closeDialog" v-model="myValue"
...@@ -9,7 +10,7 @@ ...@@ -9,7 +10,7 @@
9 <el-row> 10 <el-row>
10 <el-col :span="8"> 11 <el-col :span="8">
11 <el-form-item label="申请业务名称" prop="sqywmc"> 12 <el-form-item label="申请业务名称" prop="sqywmc">
12 <el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input> 13 <el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input>
13 </el-form-item> 14 </el-form-item>
14 </el-col> 15 </el-col>
15 <el-col :span="8"> 16 <el-col :span="8">
...@@ -42,63 +43,63 @@ ...@@ -42,63 +43,63 @@
42 </template> 43 </template>
43 <script> 44 <script>
44 45
45 export default { 46 export default {
46 props: { 47 props: {
47 value: { type: Boolean, default: false }, 48 value: { type: Boolean, default: false },
48 advancedForm:{type: Object, default: "" } 49 advancedForm: { type: Object, default: "" }
49 },
50 data () {
51 return {
52 myValue: this.value,
53 ruleForm: {
54 sqywmc: '',
55 qlrmc: '',
56 ywrmc: '',
57 slsj: ''
58 }
59 }
60 },
61 watch: {
62 value (val) {
63 this.myValue = val
64 }, 50 },
65 advancedForm(){ 51 data () {
66 this.ruleForm={...this.advancedForm} 52 return {
67 } 53 myValue: this.value,
68 }, 54 ruleForm: {
69 55 sqywmc: '',
70 56 qlrmc: '',
71 methods: { 57 ywrmc: '',
72 closeDialog () { 58 slsj: ''
73 this.$emit('input', false) 59 }
60 }
74 }, 61 },
75 resetForm () { 62 watch: {
76 this.$refs['ruleForm'].resetFields() 63 value (val) {
77 this.ruleForm={ 64 this.myValue = val
78 sqywmc: '', 65 },
79 qlrmc: '', 66 advancedForm () {
80 ywrmc: '', 67 this.ruleForm = { ...this.advancedForm }
81 slsj: ''
82 } 68 }
83 }, 69 },
84 submitForm () {
85 this.$emit('getSearch', _.cloneDeep(this.ruleForm))
86 this.$emit('input', false)
87 this.$refs['ruleForm'].resetFields()
88 70
71
72 methods: {
73 closeDialog () {
74 this.$emit('input', false)
75 },
76 resetForm () {
77 this.$refs['ruleForm'].resetFields()
78 this.ruleForm = {
79 sqywmc: '',
80 qlrmc: '',
81 ywrmc: '',
82 slsj: ''
83 }
84 },
85 submitForm () {
86 this.$emit('getSearch', _.cloneDeep(this.ruleForm))
87 this.$emit('input', false)
88 this.$refs['ruleForm'].resetFields()
89
90 }
89 } 91 }
90 } 92 }
91 }
92 </script> 93 </script>
93 <style scoped lang='scss'> 94 <style scoped lang='scss'>
94 @import '~@/styles/public.scss'; 95 @import "~@/styles/public.scss";
95 96
96 .search-btn { 97 .search-btn {
97 padding: 0 20px 20px 20px; 98 padding: 0 20px 20px 20px;
98 text-align: right; 99 text-align: right;
99 } 100 }
100 101
101 /deep/.el-icon-date { 102 /deep/.el-icon-date {
102 display: none; 103 display: none;
103 } 104 }
104 </style> 105 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-13 16:31:05 4 * @LastEditTime: 2023-07-19 14:38:31
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
114 class="loadingtext" 114 class="loadingtext"
115 @sort-change="handleSort" 115 @sort-change="handleSort"
116 :current-page.sync="pageData.currentPage" 116 :current-page.sync="pageData.currentPage"
117 :heightNum="295" 117 :heightNum="305"
118 :total="tableData.total" 118 :total="tableData.total"
119 @size-change="handleSizeChange" 119 @size-change="handleSizeChange"
120 @p-current-change="handleCurrentChange" 120 @p-current-change="handleCurrentChange"
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 13:59:35
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
...@@ -12,7 +17,7 @@ ...@@ -12,7 +17,7 @@
12 </el-select> 17 </el-select>
13 </el-form-item> 18 </el-form-item>
14 </el-col> 19 </el-col>
15 <el-col :span="4"> 20 <el-col :span="4">
16 <el-form-item label="登记类型"> 21 <el-form-item label="登记类型">
17 <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型"> 22 <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型">
18 <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 23 <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode">
...@@ -23,7 +28,7 @@ ...@@ -23,7 +28,7 @@
23 <el-col :span="4"> 28 <el-col :span="4">
24 <el-form-item label="权属状态"> 29 <el-form-item label="权属状态">
25 <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型"> 30 <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型">
26 <el-option 31 <el-option
27 v-for="item in qsztlist" 32 v-for="item in qsztlist"
28 :key="item.dcode" 33 :key="item.dcode"
29 :label="item.dname" 34 :label="item.dname"
...@@ -44,7 +49,7 @@ ...@@ -44,7 +49,7 @@
44 </el-form-item> 49 </el-form-item>
45 </el-col> 50 </el-col>
46 </el-row> 51 </el-row>
47 <el-row> 52 <el-row>
48 <el-col :span="5"> 53 <el-col :span="5">
49 <el-form-item label="业务号:"> 54 <el-form-item label="业务号:">
50 <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100"> 55 <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100">
...@@ -89,22 +94,22 @@ ...@@ -89,22 +94,22 @@
89 </div> 94 </div>
90 </template> 95 </template>
91 <script> 96 <script>
92 import { mapGetters } from "vuex"; 97 import { mapGetters } from "vuex";
93 import table from "@/utils/mixin/table"; 98 import table from "@/utils/mixin/table";
94 import { datas, sendThis } from "./djbcxdata"; 99 import { datas, sendThis } from "./djbcxdata";
95 import { getDjbBysearch } from "@/api/search.js"; 100 import { getDjbBysearch } from "@/api/search.js";
96 101
97 export default { 102 export default {
98 name: "djbcx", 103 name: "djbcx",
99 mixins: [table], 104 mixins: [table],
100 mounted () { 105 mounted () {
101 sendThis(this); 106 sendThis(this);
102 this.queryClick() 107 this.queryClick()
103 }, 108 },
104 data () { 109 data () {
105 return { 110 return {
106 // 权属状态 111 // 权属状态
107 qsztlist: [ 112 qsztlist: [
108 { 113 {
109 dcode: "1", 114 dcode: "1",
110 dname: "现势", 115 dname: "现势",
...@@ -113,90 +118,90 @@ export default { ...@@ -113,90 +118,90 @@ export default {
113 dcode: "2", 118 dcode: "2",
114 dname: "历史", 119 dname: "历史",
115 }, 120 },
116 ], 121 ],
117 queryForm: { 122 queryForm: {
118 qszt: "1", 123 qszt: "1",
119 qllx: "", 124 qllx: "",
120 bdcdyh: "", 125 bdcdyh: "",
121 bdcqzh: "", 126 bdcqzh: "",
122 ywh: "", 127 ywh: "",
128 },
129 pageData: {
130 current: 1,
131 size: 10,
132 total: 0,
133 },
134 tableData: {
135 columns: datas.columns(),
136 data: [],
137 },
138 qllxs: [],
139 isDialog: false,
140 djbxxData: {},
141 };
142 },
143 computed: {
144 ...mapGetters(["dictData"]),
145 },
146 methods: {
147 // 初始化数据
148 queryClick () {
149 this.$startLoading()
150 getDjbBysearch({ ...this.queryForm, ...this.pageData }).then((res) => {
151 this.$endLoading()
152 if (res.code === 200) {
153 let { total, records } = res.result;
154 this.tableData.data = records;
155 this.tableData.total = total;
156 }
157 });
123 }, 158 },
124 pageData: { 159 handleSort (name, sort) {
125 current: 1, 160 console.log(name, sort);
126 size: 10,
127 total: 0,
128 }, 161 },
129 tableData: { 162 // 高级查询
130 columns: datas.columns(), 163 moreQueryClick () { },
131 data: [], 164 openDialog (scroll) {
165 this.$popupDialog('登记簿详情', 'registerBook/djbFrame', scroll, '85%');
132 }, 166 },
133 qllxs: [], 167 handleLpbClick (item) {
134 isDialog: false, 168 this.$popupDialog('楼盘表', 'lpb/index', {
135 djbxxData: {}, 169 bsm: ''
136 }; 170 }, '85%')
137 }, 171 },
138 computed: { 172 // ywhClick (item) {
139 ...mapGetters(["dictData"]), 173 // const { href } = this.$router.resolve(
140 }, 174 // "/djbworkFrame?bdcdyid=" +
141 methods: { 175 // item.bdcdyid+
142 // 初始化数据 176 // "&bdcdyh=" +
143 queryClick () { 177 // item.bdcdyh+
144 this.$startLoading() 178 // "&qllx="+
145 getDjbBysearch({ ...this.queryForm, ...this.pageData }).then((res) => { 179 // item.qllx+
146 this.$endLoading() 180 // "&bsmQlxx="+
147 if (res.code === 200) { 181 // item.bsmQlxx+
148 let { total, records } = res.result; 182 // "&viewtype=1"
149 this.tableData.data = records; 183 // );
150 this.tableData.total = total; 184 // localStorage.setItem('ywbl', JSON.stringify(item));
151 } 185 // window.open(href, `urlname${item.bdcdyid}`);
152 });
153 },
154 handleSort (name, sort) {
155 console.log(name, sort);
156 },
157 // 高级查询
158 moreQueryClick () { },
159 openDialog (scroll) {
160 this.$popupDialog('登记簿详情', 'registerBook/djbFrame', scroll, '85%');
161 },
162 handleLpbClick (item) {
163 this.$popupDialog('楼盘表', 'lpb/index', {
164 bsm: ''
165 }, '85%')
166 },
167 // ywhClick (item) {
168 // const { href } = this.$router.resolve(
169 // "/djbworkFrame?bdcdyid=" +
170 // item.bdcdyid+
171 // "&bdcdyh=" +
172 // item.bdcdyh+
173 // "&qllx="+
174 // item.qllx+
175 // "&bsmQlxx="+
176 // item.bsmQlxx+
177 // "&viewtype=1"
178 // );
179 // localStorage.setItem('ywbl', JSON.stringify(item));
180 // window.open(href, `urlname${item.bdcdyid}`);
181 186
182 // }, 187 // },
188 }
183 } 189 }
184 }
185 </script> 190 </script>
186 <style scoped lang="scss"> 191 <style scoped lang="scss">
187 @import "~@/styles/public.scss"; 192 @import "~@/styles/public.scss";
188 193
189 .icon-circle { 194 .icon-circle {
190 position: relative; 195 position: relative;
191 } 196 }
192 197
193 .icon-circle::before { 198 .icon-circle::before {
194 content: ""; 199 content: "";
195 width: 4px; 200 width: 4px;
196 height: 4px; 201 height: 4px;
197 border-radius: 50%; 202 border-radius: 50%;
198 background: #000; 203 background: #000;
199 top: 0px; 204 top: 0px;
200 left: 0px; 205 left: 0px;
201 } 206 }
202 </style> 207 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 13:59:55
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:00:03
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 楼盘查询 --> 8 <!-- 楼盘查询 -->
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-19 14:07:38
5 -->
1 <template> 6 <template>
2 <div class="from-clues"> 7 <div class="from-clues">
3 <!-- 表单部分 --> 8 <!-- 表单部分 -->
......