提交文件分类
Showing
8 changed files
with
778 additions
and
0 deletions
src/views/registerBook/jsydsyq.js
0 → 100644
1 | import filter from '@/utils/filter.js' | ||
2 | |||
3 | class data extends filter { | ||
4 | constructor() { | ||
5 | super() | ||
6 | } | ||
7 | columns () { | ||
8 | return [ | ||
9 | { | ||
10 | prop: "qszt", | ||
11 | label: "权属状态", | ||
12 | }, | ||
13 | { | ||
14 | prop: "qllxmc", | ||
15 | label: "权利类型", | ||
16 | }, | ||
17 | { | ||
18 | prop: "djlxmc", | ||
19 | label: "登记类型", | ||
20 | }, | ||
21 | { | ||
22 | prop: "ssywh", | ||
23 | label: "上手业务号", | ||
24 | }, | ||
25 | { | ||
26 | prop: "dah", | ||
27 | label: "档案号", | ||
28 | }, | ||
29 | { | ||
30 | prop: "ywh", | ||
31 | label: "业务号", | ||
32 | }, | ||
33 | { | ||
34 | prop: "bdcdyh", | ||
35 | label: "不动产单元号", | ||
36 | }, | ||
37 | { | ||
38 | prop: "zl", | ||
39 | label: "坐落", | ||
40 | }, | ||
41 | { | ||
42 | prop: "qlrlx", | ||
43 | label: "权利人类型", | ||
44 | }, | ||
45 | { | ||
46 | prop: "qlrmc", | ||
47 | label: "权利人", | ||
48 | }, | ||
49 | { | ||
50 | prop: "qlrzjzl", | ||
51 | label: "证件种类", | ||
52 | }, | ||
53 | { | ||
54 | prop: "qlrzjhm", | ||
55 | label: "证件号", | ||
56 | }, | ||
57 | { | ||
58 | prop: "gyfs", | ||
59 | label: "共有情况", | ||
60 | }, | ||
61 | { | ||
62 | prop: "mj", | ||
63 | label: "使用权面积(m²)", | ||
64 | }, | ||
65 | { | ||
66 | prop: "qlxz", | ||
67 | label: "权利性质", | ||
68 | }, | ||
69 | { | ||
70 | prop: "ytmc", | ||
71 | label: "土地用途", | ||
72 | }, | ||
73 | { | ||
74 | prop: "syqqzsj", | ||
75 | label: "使用权起止时间", | ||
76 | }, | ||
77 | { | ||
78 | prop: "tdsyqx", | ||
79 | label: "土地使用期限", | ||
80 | }, | ||
81 | { | ||
82 | prop: "qdjg", | ||
83 | label: "取得价格(万元)", | ||
84 | }, | ||
85 | { | ||
86 | prop: "djyy", | ||
87 | label: "登记原因", | ||
88 | }, | ||
89 | { | ||
90 | prop: "bdcqzh", | ||
91 | label: "不动产权证号", | ||
92 | }, | ||
93 | { | ||
94 | prop: "djsj", | ||
95 | label: "登记时间", | ||
96 | }, | ||
97 | { | ||
98 | prop: "dbr", | ||
99 | label: "登簿人", | ||
100 | }, | ||
101 | { | ||
102 | prop: "fj", | ||
103 | label: "附记", | ||
104 | }, | ||
105 | ] | ||
106 | } | ||
107 | } | ||
108 | |||
109 | let datas = new data() | ||
110 | |||
111 | export { | ||
112 | datas | ||
113 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/registerBook/jsydsyq.vue
0 → 100644
1 | <template> | ||
2 | <div class="djxxTable"> | ||
3 | <div class="tableBox"> | ||
4 | <div class="title"> | ||
5 | {{ title }} | ||
6 | <div class="checkbox"> | ||
7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
9 | </el-checkbox-group> | ||
10 | </div> | ||
11 | </div> | ||
12 | <div class="xxTableBox"> | ||
13 | <table class="xxTable"> | ||
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 | </div> | ||
36 | </div> | ||
37 | </div> | ||
38 | </template> | ||
39 | |||
40 | <script> | ||
41 | import { datas } from "./jsydsyq.js"; | ||
42 | import { getJsydsyqList } from "@/api/zhcx.js"; | ||
43 | export default { | ||
44 | data () { | ||
45 | return { | ||
46 | qsztList: [ | ||
47 | { | ||
48 | value: "0", | ||
49 | label: "临时", | ||
50 | }, | ||
51 | { | ||
52 | value: "1", | ||
53 | label: "现势", | ||
54 | }, | ||
55 | { | ||
56 | value: "2", | ||
57 | label: "历史", | ||
58 | }, | ||
59 | ], | ||
60 | checkList: ["0", "1", "2"], | ||
61 | //传递参数 | ||
62 | propsParam: {}, | ||
63 | //列表数据 | ||
64 | tableData: [], | ||
65 | //空列值个数 | ||
66 | emptycolNum: 0, | ||
67 | //列名称对象 | ||
68 | columns: [], | ||
69 | title: "建设用地使用权、宅基地使用权登记信息", | ||
70 | }; | ||
71 | }, | ||
72 | created () { | ||
73 | this.propsParam = this.$attrs; | ||
74 | console.log(this.$attrs, 'this.$attrs;'); | ||
75 | this.columns = datas.columns(); | ||
76 | this.loadData(); | ||
77 | // this.$alert(datas.columns()); | ||
78 | }, | ||
79 | methods: { | ||
80 | loadData () { | ||
81 | //this.$alert(this.propsParam.bdcdyh); | ||
82 | getJsydsyqList({ | ||
83 | bdcdyid: this.propsParam.bdcdyid, | ||
84 | qllx: this.propsParam.qllx, | ||
85 | qszt: this.checkList, | ||
86 | }).then((res) => { | ||
87 | if (res.code === 200) { | ||
88 | this.tableData = res.result; | ||
89 | this.emptycolNum = 3 - this.tableData.length; | ||
90 | } | ||
91 | }); | ||
92 | }, | ||
93 | checkChange () { | ||
94 | this.loadData(); | ||
95 | }, | ||
96 | getQsztName (code) { | ||
97 | let name = ""; | ||
98 | for (let item of this.qsztList) { | ||
99 | if (item.value == code) { | ||
100 | name = item.label; | ||
101 | break; | ||
102 | } | ||
103 | } | ||
104 | return name; | ||
105 | }, | ||
106 | }, | ||
107 | }; | ||
108 | </script> | ||
109 | |||
110 | <style lang="scss" scoped> | ||
111 | @import "./qlxxCommon.scss"; | ||
112 | </style> |
src/views/workflow/flowform.js
0 → 100644
1 | //流程环节操作按钮 | ||
2 | export function getForm(tabName) { | ||
3 | let form; | ||
4 | switch (tabName) { | ||
5 | case "slxx": | ||
6 | form = require("@/views/ywbl/fqsq/components/slxx.vue"); | ||
7 | break; | ||
8 | case "slxxCfdj": | ||
9 | form = require("@/views/ywbl/fqsq/components/slxxCfdj.vue"); | ||
10 | break; | ||
11 | case "clxx": | ||
12 | form = require("@/views/ywbl/fqsq/components/clxx.vue"); | ||
13 | break; | ||
14 | case "spyj": | ||
15 | form = require("@/views/ywbl/fqsq/components/spyj.vue"); | ||
16 | break; | ||
17 | case "zdjbxx": | ||
18 | form = require("@/views/zhcx/djbcx/components/zdxx.vue"); | ||
19 | break; | ||
20 | case "qlxx": | ||
21 | form = require("@/views/zhcx/djbcx/components/jsydsyq.vue"); | ||
22 | break; | ||
23 | case "szxx": | ||
24 | form = require("@/views/ywbl/fqsq/components/szxx.vue"); | ||
25 | break; | ||
26 | case "fzxx": | ||
27 | form = require("@/views/ywbl/fqsq/components/fzxx.vue"); | ||
28 | break; | ||
29 | } | ||
30 | |||
31 | return (r) => require.ensure([], () => r(form)); | ||
32 | } | ||
33 |
src/views/workflow/workFrame.scss
0 → 100644
1 | .containerFrame { | ||
2 | height: 100%; | ||
3 | width: 100%; | ||
4 | position: sticky; | ||
5 | top: 80px; | ||
6 | border: 1px solid #ebeef5; | ||
7 | z-index: 100; | ||
8 | @include flex; | ||
9 | } | ||
10 | |||
11 | .leftmenu { | ||
12 | width: 0; | ||
13 | transition: all 0.3s; | ||
14 | border-right: 1px solid #ebeef5; | ||
15 | position: relative; | ||
16 | box-sizing: border-box; | ||
17 | padding-right: 5px; | ||
18 | |||
19 | .title { | ||
20 | line-height: 36px; | ||
21 | text-align: center; | ||
22 | } | ||
23 | |||
24 | .title-detail { | ||
25 | display: flex; | ||
26 | flex-wrap: wrap; | ||
27 | width: 100%; | ||
28 | } | ||
29 | |||
30 | ul { | ||
31 | position: relative; | ||
32 | |||
33 | .xian { | ||
34 | background: #f2f2f2; | ||
35 | padding: 2px; | ||
36 | } | ||
37 | |||
38 | .title { | ||
39 | padding: 5px; | ||
40 | text-align: center; | ||
41 | } | ||
42 | |||
43 | li { | ||
44 | padding: 5px; | ||
45 | font-size: 14px; | ||
46 | line-height: 20px; | ||
47 | cursor: pointer; | ||
48 | } | ||
49 | |||
50 | li:hover { | ||
51 | color: #0f93f6; | ||
52 | cursor: pointer; | ||
53 | } | ||
54 | } | ||
55 | } | ||
56 | |||
57 | .animation-map-drawer { | ||
58 | width: 260px; | ||
59 | } | ||
60 | |||
61 | /deep/.el-menu-item { | ||
62 | padding-left: 5px !important; | ||
63 | } | ||
64 | |||
65 | /deep/.el-tabs__header { | ||
66 | margin-bottom: 0 !important; | ||
67 | } | ||
68 | |||
69 | /deep/.el-menu-item.is-active { | ||
70 | background-color: #e7f4fe; | ||
71 | } | ||
72 | |||
73 | .leftCon { | ||
74 | flex: 1; | ||
75 | width: calc(100% - 260px); | ||
76 | display: flex; | ||
77 | } | ||
78 | |||
79 | .splitScreen-con { | ||
80 | flex: 1; | ||
81 | width: 0; | ||
82 | } | ||
83 | |||
84 | .rightContainer { | ||
85 | flex: 1; | ||
86 | width: 0; | ||
87 | height: calc(100vh - 80px); | ||
88 | } | ||
89 | |||
90 | /deep/.el-tabs { | ||
91 | box-sizing: border-box; | ||
92 | padding: 0 5px; | ||
93 | width: 100%; | ||
94 | } | ||
95 | |||
96 | .svg-icon { | ||
97 | width: 2.5em; | ||
98 | height: 2.5em; | ||
99 | } | ||
100 | |||
101 | .iconName { | ||
102 | line-height: 24px; | ||
103 | font-size: 12px; | ||
104 | } | ||
105 | |||
106 | .container { | ||
107 | width: 100%; | ||
108 | height: 100%; | ||
109 | padding: 0; | ||
110 | box-sizing: border-box; | ||
111 | background-color: #ffffff; | ||
112 | overflow: hidden; | ||
113 | } | ||
114 | |||
115 | .map-drawer { | ||
116 | width: 20px; | ||
117 | height: 79px; | ||
118 | position: absolute; | ||
119 | top: 30%; | ||
120 | z-index: 99; | ||
121 | cursor: pointer; | ||
122 | } | ||
123 | |||
124 | .map-drawer-expand { | ||
125 | background: url("../../../image/right.png"); | ||
126 | background-size: cover; | ||
127 | right: 0%; | ||
128 | } | ||
129 | |||
130 | .map-drawer-click { | ||
131 | background: url("../../../image/left.png"); | ||
132 | background-size: cover; | ||
133 | left: 0%; | ||
134 | } | ||
135 | |||
136 | |||
137 | .topButton { | ||
138 | @include flex; | ||
139 | width: 100%; | ||
140 | height: 80px; | ||
141 | background-color: #3498db; | ||
142 | color: #ffffff; | ||
143 | justify-content: space-between; | ||
144 | padding-left: 15px; | ||
145 | position: sticky; | ||
146 | top: 0; | ||
147 | z-index: 100; | ||
148 | |||
149 | ul { | ||
150 | @include flex; | ||
151 | |||
152 | li { | ||
153 | @include flex-center; | ||
154 | cursor: pointer; | ||
155 | flex-direction: column; | ||
156 | margin-right: 15px; | ||
157 | box-sizing: border-box; | ||
158 | width: 70px; | ||
159 | margin: 0 5px; | ||
160 | } | ||
161 | |||
162 | li:hover { | ||
163 | border: 1px solid #ffffff; | ||
164 | border-radius: 5px; | ||
165 | } | ||
166 | } | ||
167 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/workflow/workFrame.vue
0 → 100644
1 | <template> | ||
2 | <div class="container"> | ||
3 | <!-- 顶部内容框 --> | ||
4 | <div class="topButton"> | ||
5 | <!-- 左侧业务功能按钮 --> | ||
6 | <ul> | ||
7 | <li @click="operation(index, item)" v-for="(item, index) in leftButtonList" :key="index"> | ||
8 | <svg-icon :icon-class="item.icon" /> | ||
9 | <span class="iconName">{{ item.name }}</span> | ||
10 | </li> | ||
11 | </ul> | ||
12 | <!-- 右侧流程按钮 --> | ||
13 | <ul> | ||
14 | <li @click="operation(index, item)" v-for="(item, index) in rightButtonList" :key="index"> | ||
15 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
16 | <span class="iconName">{{ item.name }}</span> | ||
17 | </li> | ||
18 | </ul> | ||
19 | </div> | ||
20 | <!-- 内容框架 --> | ||
21 | <div class="containerFrame"> | ||
22 | <!-- 左侧菜单栏 --> | ||
23 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | ||
24 | <div v-if="this.isShowdrawer"> | ||
25 | <div class="title">申请单元列表({{ unitData.length }})</div> | ||
26 | <el-menu :default-active="activeIndex" @select="unitClick"> | ||
27 | <el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index"> | ||
28 | <p>{{ item.bdcdyh }}</p> | ||
29 | <p class="title-detail">{{ item.zl }}</p> | ||
30 | </el-menu-item> | ||
31 | </el-menu> | ||
32 | </div> | ||
33 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | ||
34 | () => { | ||
35 | this.isShowdrawer = !this.isShowdrawer; | ||
36 | } | ||
37 | "></div> | ||
38 | <div class="map-drawer-expand map-drawer" v-else @click=" | ||
39 | () => { | ||
40 | this.isShowdrawer = !this.isShowdrawer; | ||
41 | } | ||
42 | "></div> | ||
43 | </div> | ||
44 | <div class="leftCon"> | ||
45 | <!-- 分屏左侧预览 --> | ||
46 | <div v-if="splitScreen" class="splitScreen-con"> | ||
47 | <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" /> | ||
48 | </div> | ||
49 | <!-- 表单内容区域 --> | ||
50 | <div class="rightContainer"> | ||
51 | <el-tabs v-model="tabName" @tab-click="tabClick"> | ||
52 | <el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index"> | ||
53 | </el-tab-pane> | ||
54 | </el-tabs> | ||
55 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | ||
56 | </div> | ||
57 | </div> | ||
58 | </div> | ||
59 | <dialogBox title="流程图" width="70%" isMain v-model="myValue" :isFullscreen="false" :isButton="false"> | ||
60 | <img :src="imgSrc" style="margin: 20px 0" /> | ||
61 | </dialogBox> | ||
62 | </div> | ||
63 | </template> | ||
64 | |||
65 | <style scoped lang='scss'> | ||
66 | @import "~@/styles/mixin.scss"; | ||
67 | @import "./workFrame.scss"; | ||
68 | </style> | ||
69 | |||
70 | <script> | ||
71 | import { | ||
72 | leftMenu, | ||
73 | stepExpandInfo, | ||
74 | record, | ||
75 | getNextLinkInfo, | ||
76 | completeTask, | ||
77 | } from "@/api/fqsq.js"; | ||
78 | import { getWorkFlowImage } from "@/api/jsydsyqFlow.js" | ||
79 | import { getForm } from "./flowform.js"; | ||
80 | export default { | ||
81 | data () { | ||
82 | return { | ||
83 | // 流程图 | ||
84 | imgSrc: '', | ||
85 | myValue: false, | ||
86 | // 折叠 | ||
87 | isShowdrawer: true, | ||
88 | // 默认选中 | ||
89 | activeIndex: '0', | ||
90 | //受理申请标识码 | ||
91 | bsmSlsq: this.$route.query.bsmSlsq, | ||
92 | //当前流程所在环节 | ||
93 | bestepid: this.$route.query.bestepid, | ||
94 | //顶部左侧按钮集合 | ||
95 | leftButtonList: [], | ||
96 | //顶部右侧按钮集合 | ||
97 | rightButtonList: [], | ||
98 | //左侧菜单数据集合 | ||
99 | unitData: [], | ||
100 | //设置那个表单选中 | ||
101 | tabName: "", | ||
102 | //表单集合 | ||
103 | tabList: [], | ||
104 | //选择加载哪一个组件 | ||
105 | componentTag: "", | ||
106 | //设置表单组件是否刷选值 | ||
107 | fresh: 10, | ||
108 | //设置表单传递数据 | ||
109 | currentSelectProps: {}, | ||
110 | //是否开启材料分屏 | ||
111 | splitScreen: false, | ||
112 | //材料分屏表单 | ||
113 | clxxForm: "", | ||
114 | //材料信息选择卡索引 | ||
115 | clxxIndex: "", | ||
116 | //材料信息选项卡对象 | ||
117 | clxxTab: {}, | ||
118 | }; | ||
119 | }, | ||
120 | mounted () { | ||
121 | this.loadBdcdylist(); | ||
122 | this.flowInitParam(); | ||
123 | }, | ||
124 | methods: { | ||
125 | //加载流程初始参数 | ||
126 | flowInitParam () { | ||
127 | var formdata = new FormData(); | ||
128 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
129 | formdata.append("bestepid", this.bestepid); | ||
130 | stepExpandInfo(formdata).then((res) => { | ||
131 | if (res.code === 200) { | ||
132 | this.leftButtonList = res.result.button; | ||
133 | this.rightButtonList = res.result.operation; | ||
134 | this.tabList = res.result.form; | ||
135 | //默认选择第一个选项卡内容 | ||
136 | this.tabName = res.result.form[0].value; | ||
137 | let that = this; | ||
138 | this.tabList.forEach(function (item, index) { | ||
139 | if (item.value == "clxx") { | ||
140 | that.clxxIndex = index; | ||
141 | that.clxxForm = getForm(item.value); | ||
142 | that.clxxTab = item; | ||
143 | } | ||
144 | }); | ||
145 | //默认加载第一个选项卡的组件内容 | ||
146 | this.getFromRouter(res.result.form[0].value); | ||
147 | } | ||
148 | }); | ||
149 | }, | ||
150 | //流程环节操作按钮 | ||
151 | operation (index, item) { | ||
152 | let that = this; | ||
153 | switch (item.value) { | ||
154 | case "B1": | ||
155 | getWorkFlowImage(this.bsmSlsq).then(res => { | ||
156 | this.imgSrc = URL.createObjectURL(res) | ||
157 | this.myValue = true | ||
158 | }) | ||
159 | break; | ||
160 | case "zsyl": | ||
161 | this.zsylFlag = true; | ||
162 | break; | ||
163 | case "clfp": //材料分屏按钮 | ||
164 | this.splitScreen = this.splitScreen ? false : true; | ||
165 | this.$store.dispatch('app/settScreen', this.splitScreen) | ||
166 | if (this.splitScreen) { | ||
167 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 | ||
168 | if (this.tabName == this.clxxTab.value) { | ||
169 | this.tabName = this.tabList[this.clxxIndex - 1].value; | ||
170 | this.getFromRouter(this.tabList[this.clxxIndex - 1].value); | ||
171 | } | ||
172 | this.tabList.splice(this.clxxIndex, 1); | ||
173 | } else { | ||
174 | this.tabList.splice(this.clxxIndex, 1, this.clxxTab); | ||
175 | } | ||
176 | break; | ||
177 | case "th": //退回按钮 | ||
178 | break; | ||
179 | case "zc": //转件按钮 | ||
180 | getNextLinkInfo({ | ||
181 | bsmSlsq: this.bsmSlsq, | ||
182 | bestepid: this.bestepid, | ||
183 | }).then((res) => { | ||
184 | if (res.code === 200) { | ||
185 | this.send(res.result); | ||
186 | } | ||
187 | }); | ||
188 | // this.$alert(res.result); | ||
189 | break; | ||
190 | case "tc": | ||
191 | window.close(); | ||
192 | break; | ||
193 | case "db": | ||
194 | var formdata = new FormData(); | ||
195 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
196 | formdata.append("bestepid", this.bestepid); | ||
197 | // comMsg; | ||
198 | this.$confirm("请确认是否登簿", "提示", { | ||
199 | iconClass: "el-icon-question", //自定义图标样式 | ||
200 | confirmButtonText: "确认", //确认按钮文字更换 | ||
201 | cancelButtonText: "取消", //取消按钮文字更换 | ||
202 | showClose: true, //是否显示右上角关闭按钮 | ||
203 | type: "warning", //提示类型 success/info/warning/error | ||
204 | }).then(function () { | ||
205 | record(formdata).then((res) => { | ||
206 | if (res.code === 200 || res.code === 2002) { | ||
207 | that.$alert(res.message); | ||
208 | } | ||
209 | }); | ||
210 | }); | ||
211 | break; | ||
212 | } | ||
213 | }, | ||
214 | //读取申请单元信息 | ||
215 | loadBdcdylist () { | ||
216 | var formdata = new FormData(); | ||
217 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
218 | formdata.append("bestepid", this.bestepid); | ||
219 | leftMenu(formdata).then((res) => { | ||
220 | if (res.code === 200) { | ||
221 | this.unitData = res.result; | ||
222 | this.currentSelectProps = res.result[0]; | ||
223 | } | ||
224 | }) | ||
225 | }, | ||
226 | //申请单元点击事件 | ||
227 | unitClick (index) { | ||
228 | if (this.currentSelectProps.bsmSldy != this.unitData[index].bsmSldy) { | ||
229 | this.currentSelectProps = this.unitData[index]; | ||
230 | this.fresh += 1; | ||
231 | } | ||
232 | }, | ||
233 | //表单选项卡事件 | ||
234 | tabClick (tab, event) { | ||
235 | this.getFromRouter(tab.name); | ||
236 | }, | ||
237 | //切换选项卡内容组件 | ||
238 | getFromRouter (tabname) { | ||
239 | this.componentTag = getForm(tabname); | ||
240 | }, | ||
241 | //发送下一个环节 | ||
242 | send (obj) { | ||
243 | const h = this.$createElement; | ||
244 | this.$msgbox({ | ||
245 | title: "您确定转出吗?", | ||
246 | message: h("div", { style: "margin: auto" }, [ | ||
247 | h("span", null, "下个环节名称:"), | ||
248 | h("i", { style: "color: teal" }, obj.taskName), | ||
249 | h("div", null, ""), | ||
250 | h("span", null, "下个环节经办人: "), | ||
251 | h("i", { style: "color: teal" }, obj.usernames.join(",")), | ||
252 | ]), | ||
253 | showCancelButton: true, | ||
254 | beforeClose: (action, instance, done) => { | ||
255 | if (action === "confirm") { | ||
256 | instance.confirmButtonLoading = true; | ||
257 | instance.confirmButtonText = "执行中..."; | ||
258 | completeTask({ | ||
259 | bsmSlsq: this.bsmSlsq, | ||
260 | shyj: "this.bestepid", | ||
261 | }).then((res) => { | ||
262 | if (res.code === 200) { | ||
263 | instance.confirmButtonLoading = false; | ||
264 | this.$message.success("转件成功"); | ||
265 | setTimeout(() => { | ||
266 | window.opener = null; | ||
267 | window.open("about:blank", "_self"); | ||
268 | window.close(); | ||
269 | this.$emit("input", false); | ||
270 | }, 1000); | ||
271 | } | ||
272 | }); | ||
273 | } else { | ||
274 | done(); | ||
275 | } | ||
276 | }, | ||
277 | }).then((action) => { | ||
278 | this.$message({ | ||
279 | type: "info", | ||
280 | message: "action: " + action | ||
281 | }) | ||
282 | }) | ||
283 | } | ||
284 | } | ||
285 | } | ||
286 | </script> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/ywbl/commonForm/clxx.vue
0 → 100644
This diff is collapsed.
Click to expand it.
src/views/ywbl/commonForm/clxxAddDialog.vue
0 → 100644
1 | <template> | ||
2 | <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
3 | :isFullscreen="false"> | ||
4 | <el-form :model="ruleForm" ref="ruleForm" label-width="70px"> | ||
5 | <el-row> | ||
6 | <el-col :span="24"> | ||
7 | <el-form-item label="材料类型"> | ||
8 | <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择"> | ||
9 | <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
10 | </el-option> | ||
11 | </el-select> | ||
12 | </el-form-item> | ||
13 | </el-col> | ||
14 | </el-row> | ||
15 | <el-row :gutter="20"> | ||
16 | <el-col :span="24"> | ||
17 | <el-form-item label="材料名称"> | ||
18 | <el-input v-model="ruleForm.clmc"></el-input> | ||
19 | </el-form-item> | ||
20 | </el-col> | ||
21 | </el-row> | ||
22 | </el-form> | ||
23 | </dialogBox> | ||
24 | </template> | ||
25 | |||
26 | <script> | ||
27 | import { mapGetters } from "vuex"; | ||
28 | export default { | ||
29 | props: { | ||
30 | value: { type: Boolean, default: false }, | ||
31 | }, | ||
32 | data () { | ||
33 | return { | ||
34 | myValue: this.value, | ||
35 | ruleForm: { | ||
36 | cllx: "", | ||
37 | clmc: "", | ||
38 | }, | ||
39 | }; | ||
40 | }, | ||
41 | computed: { | ||
42 | ...mapGetters(["dictData"]), | ||
43 | }, | ||
44 | watch: { | ||
45 | value (val) { | ||
46 | this.myValue = val; | ||
47 | }, | ||
48 | }, | ||
49 | methods: { | ||
50 | closeDialog () { | ||
51 | this.$emit("input", false); | ||
52 | }, | ||
53 | handleSubmit () { | ||
54 | this.$parent.addSave(this.ruleForm); | ||
55 | this.$emit("input", false); | ||
56 | }, | ||
57 | }, | ||
58 | }; | ||
59 | </script> | ||
60 | <style scoped lang="scss"> | ||
61 | .submit-button { | ||
62 | text-align: center; | ||
63 | height: 52px; | ||
64 | padding-top: 10px; | ||
65 | background-color: #fff; | ||
66 | } | ||
67 | </style> |
src/views/ywbl/jsydysq/slxx.vue
0 → 100644
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment