41264184 by 任超

feat:工作流

1 parent 79dfe818
1 <template> 1 <template>
2 <transition name="dialog-fade" mode="out-in" v-if="isShow"> 2 <transition name="dialog-fade" mode="out-in" v-if="myShow">
3 <div class="ls-mask" v-loading="loading"> 3 <div class="ls-mask" v-loading="loading">
4 <div class="ls-mask-window" :style="{ 'width': width }"> 4 <div class="ls-mask-window" :style="{ 'width': width }">
5 <div class="ls-head"> 5 <div class="ls-head">
...@@ -35,6 +35,7 @@ export default { ...@@ -35,6 +35,7 @@ export default {
35 confirmText: '确认', 35 confirmText: '确认',
36 isSync: false, 36 isSync: false,
37 isShow: false, 37 isShow: false,
38 myShow: false,
38 titleStyle: 'center', 39 titleStyle: 'center',
39 width: "75%", 40 width: "75%",
40 height: "auto", 41 height: "auto",
...@@ -47,10 +48,12 @@ export default { ...@@ -47,10 +48,12 @@ export default {
47 loading: { type: Boolean, default: false }, 48 loading: { type: Boolean, default: false },
48 }, 49 },
49 watch: { 50 watch: {
50 isShow (a, b) { 51 isShow (newValue) {
51 this.key++
52 this.editItem = this.loadViewFn(this.editItem) 52 this.editItem = this.loadViewFn(this.editItem)
53 document.body.appendChild(this.$el); 53 document.body.appendChild(this.$el);
54 this.$nextTick(() => {
55 this.myShow = newValue
56 })
54 } 57 }
55 }, 58 },
56 mounted () { 59 mounted () {
......
1 import Popup from '@/components/Popup/index'
2 export function popupDialog (title, url, params, width = '75%', height, btnShow = false, callback) {
3 Popup.install(title, url, {
4 height: height,
5 width: width,
6 formData: params,
7 btnShow: btnShow,
8 cancel: () => {
9 console.log("取消回调");
10 },
11 confirm: () => {
12 callback
13 }
14 })
15 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -9,32 +9,9 @@ ...@@ -9,32 +9,9 @@
9 </el-checkbox-group> 9 </el-checkbox-group>
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox"> 12 <div class="xxTableBox rollTable">
13 <table class="xxTable"> 13 <table class="xxTable">
14 <tr v-for="(item, colindex) in columns.slice(0, 2)" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
15 <td>
16 {{ item.label }}
17 </td>
18 <td v-for="(row, index) in tableData" :key="index" :class="[
19 row.qszt == '2' ? 'lishi' : '',
20 row.qszt == '0' ? 'linshi' : '',
21 item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
22 ]">
23 <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
24 正在办理
25 </div>
26 <span v-if="item.prop == 'qszt'">
27 {{ getQsztName(row[item.prop]) }}
28 </span>
29
30 <span v-else> {{ row[item.prop] }}</span>
31 </td>
32 <td v-for="count in emptycolNum" :key="~count"></td>
33 </tr>
34 </table>
35
36 <table class="xxTable rollTable">
37 <tr v-for="(item, colindex) in columns.slice(3)" :key="colindex">
38 <td> 15 <td>
39 {{ item.label }} 16 {{ item.label }}
40 </td> 17 </td>
...@@ -91,8 +68,8 @@ export default { ...@@ -91,8 +68,8 @@ export default {
91 }).then((res) => { 68 }).then((res) => {
92 if (res.code === 200) { 69 if (res.code === 200) {
93 this.tableData = res.result; 70 this.tableData = res.result;
94 this.tableData.forEach((item,index) => { 71 this.tableData.forEach((item, index) => {
95 if(item.sfbxf == '1'){ 72 if (item.sfbxf == '1') {
96 item.zxywh = ''; 73 item.zxywh = '';
97 item.zxdbr = ''; 74 item.zxdbr = '';
98 item.zxsj = ''; 75 item.zxsj = '';
......
...@@ -9,32 +9,9 @@ ...@@ -9,32 +9,9 @@
9 </el-checkbox-group> 9 </el-checkbox-group>
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox"> 12 <div class="xxTableBox rollTable">
13 <table class="xxTable"> 13 <table class="xxTable">
14 <tr v-for="(item, colindex) in columns.slice(0, 3)" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
15 <td>
16 {{ item.label }}
17 </td>
18 <td v-for="(row, index) in tableData" :key="index" :class="[
19 row.qszt == '2' ? 'lishi' : '',
20 row.qszt == '0' ? 'linshi' : '',
21 item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
22 ]">
23 <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
24 正在办理
25 </div>
26 <span v-if="item.prop == 'qszt'">
27 {{ getQsztName(row[item.prop]) }}
28 </span>
29
30 <span v-else> {{ row[item.prop] }}</span>
31 </td>
32 <td v-for="count in emptycolNum" :key="~count"></td>
33 </tr>
34 </table>
35
36 <table class="xxTable rollTable">
37 <tr v-for="(item, colindex) in columns.slice(3)" :key="colindex">
38 <td> 15 <td>
39 {{ item.label }} 16 {{ item.label }}
40 </td> 17 </td>
......
...@@ -9,31 +9,9 @@ ...@@ -9,31 +9,9 @@
9 </el-checkbox-group> 9 </el-checkbox-group>
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox"> 12 <div class="xxTableBox rollTable">
13 <table class="xxTable"> 13 <table class="xxTable">
14 <tr v-for="(item, colindex) in columns.slice(0, 3)" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
15 <td>
16 {{ item.label }}
17 </td>
18 <td v-for="(row, index) in tableData" :key="index" :class="[
19 row.qszt == '2' ? 'lishi' : '',
20 row.qszt == '0' ? 'linshi' : '',
21 item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '',
22 ]">
23 <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'">
24 正在办理
25 </div>
26 <span v-if="item.prop == 'qszt'">
27 {{ getQsztName(row[item.prop]) }}
28 </span>
29
30 <span v-else> {{ row[item.prop] }}</span>
31 </td>
32 <td v-for="count in emptycolNum" :key="~count"></td>
33 </tr>
34 </table>
35 <table class="xxTable rollTable">
36 <tr v-for="(item, colindex) in columns.slice(3)" :key="colindex">
37 <td> 15 <td>
38 {{ item.label }} 16 {{ item.label }}
39 </td> 17 </td>
......
...@@ -62,6 +62,7 @@ export default { ...@@ -62,6 +62,7 @@ export default {
62 }; 62 };
63 }, 63 },
64 handleNodeClick (data, node, elem) { 64 handleNodeClick (data, node, elem) {
65 console.log(data.form);
65 this.loadComponent(data.form); 66 this.loadComponent(data.form);
66 }, 67 },
67 loadComponent (form) { 68 loadComponent (form) {
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox rollTable"> 12 <div class="xxTableBox rollTable">
13 <!-- 固定前三个 -->
14 <table class="xxTable"> 13 <table class="xxTable">
15 <tr v-for="(item, colindex) in columns" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
16 <td> 15 <td>
......
...@@ -71,6 +71,7 @@ ...@@ -71,6 +71,7 @@
71 position: sticky; 71 position: sticky;
72 top: 80px; 72 top: 80px;
73 z-index: 3; 73 z-index: 3;
74 box-shadow: 0px 15px 10px -15px #409EFF;
74 } 75 }
75 76
76 tr td:first-child { 77 tr td:first-child {
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
9 </el-checkbox-group> 9 </el-checkbox-group>
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox"> 12 <div class="xxTableBox rollTable">
13 <table class="xxTable rollTable"> 13 <table class="xxTable">
14 <tr v-for="(item, colindex) in columns" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
15 <td> 15 <td>
16 {{ item.label }} 16 {{ item.label }}
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
9 </el-checkbox-group> 9 </el-checkbox-group>
10 </div> 10 </div>
11 </div> 11 </div>
12 <div class="xxTableBox"> 12 <div class="xxTableBox rollTable">
13 <table class="xxTable rollTable"> 13 <table class="xxTable">
14 <tr v-for="(item, colindex) in columns" :key="colindex"> 14 <tr v-for="(item, colindex) in columns" :key="colindex">
15 <td> 15 <td>
16 {{ item.label }} 16 {{ item.label }}
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
24 <script> 24 <script>
25 import imgPath from "./djbyb.png" 25 import imgPath from "./djbyb.png"
26 export default { 26 export default {
27 components: {},
28 props: ["formData"], 27 props: ["formData"],
29 28
30 created () { 29 created () {
......
1 <template> 1 <template>
2 <dialogBox 2 <dialogBox title="申请人信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm"
3 title="申请人信息" 3 @closeDialog="closeDialog">
4 width="60%" 4 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
5 isMain
6 v-model="myValue"
7 :isFullscreen="false"
8 @submitForm="submitForm"
9 @closeDialog="closeDialog"
10 >
11 <el-form
12 :model="ruleForm"
13 :rules="rules"
14 ref="ruleForm"
15 label-width="120px"
16 >
17 <el-row> 5 <el-row>
18 <el-col :span="8"> 6 <el-col :span="8">
19 <el-form-item label="权利人类型" prop="sqrlx"> 7 <el-form-item label="权利人类型" prop="sqrlx">
20 <el-select 8 <el-select clearable v-model="ruleForm.sqrlx" class="width100" placeholder="请选择">
21 clearable 9 <el-option v-for="item in dictData['A36']" :key="item.dcode" :label="item.dname" :value="item.dcode">
22 v-model="ruleForm.sqrlx"
23 class="width100"
24 placeholder="请选择"
25 >
26 <el-option
27 v-for="item in dictData['A36']"
28 :key="item.dcode"
29 :label="item.dname"
30 :value="item.dcode"
31 >
32 </el-option> 10 </el-option>
33 </el-select> 11 </el-select>
34 </el-form-item> 12 </el-form-item>
...@@ -40,18 +18,8 @@ ...@@ -40,18 +18,8 @@
40 </el-col> 18 </el-col>
41 <el-col :span="8"> 19 <el-col :span="8">
42 <el-form-item label="证件种类" prop="zjzl"> 20 <el-form-item label="证件种类" prop="zjzl">
43 <el-select 21 <el-select clearable v-model="ruleForm.zjzl" class="width100" placeholder="请选择">
44 clearable 22 <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode">
45 v-model="ruleForm.zjzl"
46 class="width100"
47 placeholder="请选择"
48 >
49 <el-option
50 v-for="item in dictData['A30']"
51 :key="item.dcode"
52 :label="item.dname"
53 :value="item.dcode"
54 >
55 </el-option> 23 </el-option>
56 </el-select> 24 </el-select>
57 </el-form-item> 25 </el-form-item>
...@@ -70,18 +38,8 @@ ...@@ -70,18 +38,8 @@
70 </el-col> 38 </el-col>
71 <el-col :span="8"> 39 <el-col :span="8">
72 <el-form-item label="性别"> 40 <el-form-item label="性别">
73 <el-select 41 <el-select clearable v-model="ruleForm.xb" class="width100" placeholder="请选择">
74 clearable 42 <el-option v-for="item in dictData['A43']" :key="item.dcode" :label="item.dname" :value="item.dcode">
75 v-model="ruleForm.xb"
76 class="width100"
77 placeholder="请选择"
78 >
79 <el-option
80 v-for="item in dictData['A43']"
81 :key="item.dcode"
82 :label="item.dname"
83 :value="item.dcode"
84 >
85 </el-option> 43 </el-option>
86 </el-select> 44 </el-select>
87 </el-form-item> 45 </el-form-item>
...@@ -162,18 +120,8 @@ ...@@ -162,18 +120,8 @@
162 </el-col> 120 </el-col>
163 <el-col :span="8"> 121 <el-col :span="8">
164 <el-form-item label="代理人证件类型"> 122 <el-form-item label="代理人证件类型">
165 <el-select 123 <el-select clearable v-model="ruleForm.dlrzjlx" class="width100" placeholder="请选择">
166 clearable 124 <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode">
167 v-model="ruleForm.dlrzjlx"
168 class="width100"
169 placeholder="请选择"
170 >
171 <el-option
172 v-for="item in dictData['A30']"
173 :key="item.dcode"
174 :label="item.dname"
175 :value="item.dcode"
176 >
177 </el-option> 125 </el-option>
178 </el-select> 126 </el-select>
179 </el-form-item> 127 </el-form-item>
...@@ -199,7 +147,7 @@ export default { ...@@ -199,7 +147,7 @@ export default {
199 computed: { 147 computed: {
200 ...mapGetters(["dictData"]), 148 ...mapGetters(["dictData"]),
201 }, 149 },
202 data() { 150 data () {
203 return { 151 return {
204 myValue: this.value, 152 myValue: this.value,
205 ruleForm: { 153 ruleForm: {
...@@ -232,7 +180,7 @@ export default { ...@@ -232,7 +180,7 @@ export default {
232 }; 180 };
233 }, 181 },
234 watch: { 182 watch: {
235 value(val) { 183 value (val) {
236 this.myValue = _.cloneDeep(val); 184 this.myValue = _.cloneDeep(val);
237 }, 185 },
238 details: { 186 details: {
...@@ -243,11 +191,11 @@ export default { ...@@ -243,11 +191,11 @@ export default {
243 }, 191 },
244 }, 192 },
245 methods: { 193 methods: {
246 closeDialog() { 194 closeDialog () {
247 this.$emit("input", false); 195 this.$emit("input", false);
248 this.$refs["ruleForm"].resetFields(); 196 this.$refs["ruleForm"].resetFields();
249 }, 197 },
250 submitForm() { 198 submitForm () {
251 // this.$refs['ruleForm'].validate((valid) => { 199 // this.$refs['ruleForm'].validate((valid) => {
252 // if (valid) { 200 // if (valid) {
253 // this.$message({ 201 // this.$message({
......
1 <template> 1 <template>
2 <div>
3 <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData"> 2 <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData">
4 </lb-table> 3 </lb-table>
5 </div>
6 </template> 4 </template>
7 <script> 5 <script>
8 import addQlr from './addQlr.vue' 6 import addQlr from './addQlr.vue'
......
1 <template> 1 <template>
2 <div>
3 <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData"> 2 <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData">
4 </lb-table> 3 </lb-table>
5 </div>
6 </template> 4 </template>
7 <script> 5 <script>
8 import addQlr from './addQlr.vue' 6 import addQlr from './addQlr.vue'
......
1 import { getWorkFlowImage } from "@/api/jsydsyqFlow.js"; 1 import { getWorkFlowImage } from "@/api/jsydsyqFlow.js";
2 import { popupDialog } from "@/utils/popup.js";
3
2 import { 4 import {
3 leftMenu, 5 leftMenu,
4 stepExpandInfo, 6 stepExpandInfo,
...@@ -86,14 +88,12 @@ export default { ...@@ -86,14 +88,12 @@ export default {
86 let that = this; 88 let that = this;
87 switch (item.value) { 89 switch (item.value) {
88 case "B0": 90 case "B0":
89 // let type = queueDjywmc(this.$route.query.sqywbm)
90 this.isDialog = true; 91 this.isDialog = true;
91 break; 92 break;
92 case "B1": 93 case "B1":
93 getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => { 94 getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => {
94 let { result } = res 95 let { result } = res
95 this.$popup("流程图", "workflow/components/processViewer", { 96 popupDialog("流程图", "workflow/components/processViewer", {
96 formData: {
97 xml: result.xml, 97 xml: result.xml,
98 finishedInfo: { 98 finishedInfo: {
99 finishedTaskSet: result.finishedTaskSet, 99 finishedTaskSet: result.finishedTaskSet,
...@@ -102,7 +102,6 @@ export default { ...@@ -102,7 +102,6 @@ export default {
102 finishedSequenceFlowSet: result.finishedSequenceFlowSet 102 finishedSequenceFlowSet: result.finishedSequenceFlowSet
103 }, 103 },
104 allCommentList: result.historyTaskList 104 allCommentList: result.historyTaskList
105 }
106 }) 105 })
107 }) 106 })
108 break; 107 break;
...@@ -123,50 +122,24 @@ export default { ...@@ -123,50 +122,24 @@ export default {
123 } 122 }
124 break; 123 break;
125 case "B4": 124 case "B4":
126 this.$popup("登记簿详情", "registerBook/djbFrame", { 125 popupDialog("登记簿详情", "registerBook/djbFrame", this.currentSelectProps, '80%')
127 formData: this.currentSelectProps,
128 width: "1220px",
129 height: "790px",
130 cancel: () => {
131 console.log("取消回调");
132 },
133 confirm: () => {
134 console.log("确认回调");
135 },
136 });
137 break; 126 break;
138 case "B5": 127 case "B5":
139 this.$popup("证书预览", "workflow/components/zsyl", { 128 popupDialog("证书预览", "workflow/components/zsyl", {
140 height: "600px",
141 width: "800px",
142 formData: {
143 bsmSlsq: this.bsmSlsq, 129 bsmSlsq: this.bsmSlsq,
144 entryType: '1' 130 entryType: '1'
145 }, 131 }, '800px')
146 })
147 break; 132 break;
148 case "B7": 133 case "B7":
149 this.$popup("证书领取", "workflow/components/zslq", { 134 this.$popup("证书领取", "workflow/components/zslq", {
150 width: '900px', 135 formData: { bsmSlsq: this.$route.query.bsmSlsq }
151 formData: { bsmSlsq: this.$route.query.bsmSlsq },
152 }) 136 })
153 break; 137 break;
154 case "back": //退回按钮 138 case "back": //退回按钮
155 this.$popup("退回", "workflow/components/th", { 139 popupDialog("退回", "workflow/components/th", {
156 height: "200px",
157 width: '30%',
158 formData: {
159 bsmSlsq: this.bsmSlsq, 140 bsmSlsq: this.bsmSlsq,
160 bestepid: this.bestepid 141 bestepid: this.bestepid
161 }, 142 }, '30%', "200px", true,)
162 btnShow: true,
163 cancel: () => {
164 console.log("取消回调");
165 },
166 confirm: () => {
167 console.log("确认回调");
168 },
169 })
170 break; 143 break;
171 case "transfer": //转件按钮 144 case "transfer": //转件按钮
172 getNextLinkInfo({ 145 getNextLinkInfo({
...@@ -183,21 +156,10 @@ export default { ...@@ -183,21 +156,10 @@ export default {
183 }); 156 });
184 break; 157 break;
185 case "stop": //终止按钮 158 case "stop": //终止按钮
186 this.$popup("终止", "workflow/components/stop", { 159 popupDialog("终止", "workflow/components/stop", {
187 height: "330px",
188 width: '30%',
189 formData: {
190 bsmSlsq: this.bsmSlsq, 160 bsmSlsq: this.bsmSlsq,
191 bestepid: this.bestepid, 161 bestepid: this.bestepid,
192 }, 162 }, '30%', "330px", true)
193 btnShow: true,
194 cancel: () => {
195 console.log("取消回调");
196 },
197 confirm: () => {
198 console.log("确认回调");
199 },
200 })
201 break; 163 break;
202 case "signout": 164 case "signout":
203 window.close(); 165 window.close();
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
28 .title { 28 .title {
29 line-height: 36px; 29 line-height: 36px;
30 text-align: center; 30 text-align: center;
31 font-size: 14px;
31 } 32 }
32 33
33 .batchDel { 34 .batchDel {
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
45 ul { 46 ul {
46 position: relative; 47 position: relative;
47 height: calc(100vh - 120px); 48 height: calc(100vh - 120px);
48 overflow-y: scroll; 49 overflow-y: auto;
49 50
50 .xian { 51 .xian {
51 background: #f2f2f2; 52 background: #f2f2f2;
......
...@@ -178,11 +178,9 @@ export default { ...@@ -178,11 +178,9 @@ export default {
178 }, 178 },
179 handleBatchDel () { 179 handleBatchDel () {
180 let that = this; 180 let that = this;
181 this.$popup({ 181 this.$popup("批量删除", "workflow/components/batchDel", {
182 title: "批量删除",
183 width: "50%", 182 width: "50%",
184 btnShow: true, 183 btnShow: true,
185 editItem: "workflow/components/batchDel",
186 height: "600px", 184 height: "600px",
187 formData: { 185 formData: {
188 bsmSlsq: this.bsmSlsq, 186 bsmSlsq: this.bsmSlsq,
......
...@@ -102,9 +102,6 @@ export default { ...@@ -102,9 +102,6 @@ export default {
102 } 102 }
103 } 103 }
104 }, 104 },
105 created () {
106 this.queryClick()
107 },
108 mounted () { 105 mounted () {
109 sendThis(this); 106 sendThis(this);
110 this.queryClick() 107 this.queryClick()
......