Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web
Showing
60 changed files
with
3166 additions
and
543 deletions
src/api/bdcqz.js
0 → 100644
| 1 | import request from '@/utils/request'; | ||
| 2 | import SERVER from './config'; | ||
| 3 | |||
| 4 | // 获取不动产权证列表 | ||
| 5 | export function getBdcqzList (params) { | ||
| 6 | return request({ | ||
| 7 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/getBdcqzList', | ||
| 8 | method: 'get', | ||
| 9 | params: params | ||
| 10 | }) | ||
| 11 | } | ||
| 12 | // 获取印刷序列号 | ||
| 13 | export function readYsxlh (params) { | ||
| 14 | return request({ | ||
| 15 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/readYsxlh', | ||
| 16 | method: 'get', | ||
| 17 | params: params | ||
| 18 | }) | ||
| 19 | } | ||
| 20 | // 缮证 | ||
| 21 | export function certificate (data) { | ||
| 22 | return request({ | ||
| 23 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/certificate', | ||
| 24 | method: 'post', | ||
| 25 | data | ||
| 26 | }) | ||
| 27 | } | ||
| 28 | // 作废缮证信息 | ||
| 29 | export function invalidCertificate (data) { | ||
| 30 | return request({ | ||
| 31 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/invalidCertificate', | ||
| 32 | method: 'post', | ||
| 33 | data | ||
| 34 | }) | ||
| 35 | } | ||
| 36 | // 缮证列表 | ||
| 37 | export function getCertificateList (data) { | ||
| 38 | return request({ | ||
| 39 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/getCertificateList', | ||
| 40 | method: 'post', | ||
| 41 | data | ||
| 42 | }) | ||
| 43 | } | ||
| 44 | // 发证 | ||
| 45 | export function issueCertificate (data) { | ||
| 46 | return request({ | ||
| 47 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/issueCertificate', | ||
| 48 | method: 'post', | ||
| 49 | data | ||
| 50 | }) | ||
| 51 | } | ||
| 52 | // 获取受理申请下全部不动产权证 | ||
| 53 | export function getSlsqBdcqzList (params) { | ||
| 54 | return request({ | ||
| 55 | url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/getSlsqBdcqzList', | ||
| 56 | method: 'get', | ||
| 57 | params | ||
| 58 | }) | ||
| 59 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/config.js
deleted
100644 → 0
| ... | @@ -6,25 +6,25 @@ export function Init (data) { | ... | @@ -6,25 +6,25 @@ export function Init (data) { |
| 6 | let apiUrl = ""; | 6 | let apiUrl = ""; |
| 7 | switch (data.get("djlx")) { | 7 | switch (data.get("djlx")) { |
| 8 | case "100": | 8 | case "100": |
| 9 | apiUrl = "/rest/ywbl/jsydsyqlr/fristInit"; | 9 | apiUrl = "/rest/ywbl/dyaq/fristInit"; |
| 10 | break; | 10 | break; |
| 11 | case "200": | 11 | case "200": |
| 12 | apiUrl = "/rest/ywbl/jsydsyqlr/transferInit"; | 12 | apiUrl = "/rest/ywbl/dyaq/transferInit"; |
| 13 | break; | 13 | break; |
| 14 | case "300": | 14 | case "300": |
| 15 | apiUrl = "/rest/ywbl/jsydsyqlr/changeInit"; | 15 | apiUrl = "/rest/ywbl/dyaq/changeInit"; |
| 16 | break; | 16 | break; |
| 17 | case "400": | 17 | case "400": |
| 18 | apiUrl = "/rest/ywbl/jsydsyqlr/logoutInit"; | 18 | apiUrl = "/rest/ywbl/dyaq/logoutInit"; |
| 19 | break; | 19 | break; |
| 20 | case "500": | 20 | case "500": |
| 21 | apiUrl = "/rest/ywbl/jsydsyqlr/riviseInit"; | 21 | apiUrl = "/rest/ywbl/dyaq/riviseInit"; |
| 22 | break; | 22 | break; |
| 23 | case "901": | 23 | case "901": |
| 24 | apiUrl = "/rest/ywbl/jsydsyqlr/renewalInit"; | 24 | apiUrl = "/rest/ywbl/dyaq/renewalInit"; |
| 25 | break; | 25 | break; |
| 26 | case "902": | 26 | case "902": |
| 27 | apiUrl = "/rest/ywbl/jsydsyqlr/replaceInit"; | 27 | apiUrl = "/rest/ywbl/dyaq/replaceInit"; |
| 28 | break; | 28 | break; |
| 29 | } | 29 | } |
| 30 | return request({ | 30 | return request({ | ... | ... |
src/api/file.js
0 → 100644
| 1 | import request from '@/utils/request' | ||
| 2 | import SERVER from './config' | ||
| 3 | |||
| 4 | // 上传单个文件 | ||
| 5 | export function sjClmxUpload (data) { | ||
| 6 | return request({ | ||
| 7 | url: SERVER.SERVERAPI + '/rest/zhcx/sjClmx/upload', | ||
| 8 | method: 'post', | ||
| 9 | data | ||
| 10 | }) | ||
| 11 | } | ||
| 12 | // 删除上传文件 | ||
| 13 | export function sjClmxDelete (bsmClmx) { | ||
| 14 | return request({ | ||
| 15 | url: SERVER.SERVERAPI + '/rest/zhcx/sjClmx/delete?bsmClmx=' + bsmClmx, | ||
| 16 | method: 'delete' | ||
| 17 | }) | ||
| 18 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/ygdjFlow.js
0 → 100644
| 1 | import request from '@/utils/request' | ||
| 2 | import SERVER from './config' | ||
| 3 | // 初始化内容 | ||
| 4 | export function Init(data) { | ||
| 5 | let apiUrl = ""; | ||
| 6 | switch (data.get("djlx")) { | ||
| 7 | case "100": | ||
| 8 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/ygdj/fristInit"; | ||
| 9 | break; | ||
| 10 | case "200": | ||
| 11 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/transferInit"; | ||
| 12 | break; | ||
| 13 | case "300": | ||
| 14 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/changeInit"; | ||
| 15 | break; | ||
| 16 | case "400": | ||
| 17 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/logoutInit"; | ||
| 18 | break; | ||
| 19 | case "500": | ||
| 20 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/riviseInit"; | ||
| 21 | break; | ||
| 22 | case "901": | ||
| 23 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/renewalInit"; | ||
| 24 | break; | ||
| 25 | case "902": | ||
| 26 | apiUrl = SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/replaceInit"; | ||
| 27 | break; | ||
| 28 | } | ||
| 29 | return request({ | ||
| 30 | url: apiUrl, | ||
| 31 | method: 'post', | ||
| 32 | data | ||
| 33 | }) | ||
| 34 | } | ||
| 35 | // 初始化内容 | ||
| 36 | export function saveData (data) { | ||
| 37 | console.log("222222222222222"); | ||
| 38 | return request({ | ||
| 39 | url: SERVER.SERVERAPI + '/rest/ywbl/ygdj/saveData', | ||
| 40 | method: 'post', | ||
| 41 | data | ||
| 42 | }) | ||
| 43 | } | ||
| 44 | // 注销登记提交数据 | ||
| 45 | export function saveLogoutData(data) { | ||
| 46 | return request({ | ||
| 47 | url: SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/saveLogoutData", | ||
| 48 | method: 'post', | ||
| 49 | data | ||
| 50 | }) | ||
| 51 | } | ||
| 52 | // 首次登记提交 | ||
| 53 | export function saveBatchData(data) { | ||
| 54 | return request({ | ||
| 55 | url: SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/saveBatchData", | ||
| 56 | method: 'post', | ||
| 57 | data | ||
| 58 | }) | ||
| 59 | } | ||
| 60 | // 更正/变更登记提交 | ||
| 61 | export function saveGZBatchData(data) { | ||
| 62 | return request({ | ||
| 63 | url: SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/saveGZBatchData", | ||
| 64 | method: 'post', | ||
| 65 | data | ||
| 66 | }) | ||
| 67 | } | ||
| 68 | // 更正/变更登记提交 | ||
| 69 | export function saveBHZData(data) { | ||
| 70 | return request({ | ||
| 71 | url: SERVER.SERVERAPI+"/rest/ywbl/fdcq2lr/saveBHZData", | ||
| 72 | method: 'post', | ||
| 73 | data | ||
| 74 | }) | ||
| 75 | } | ||
| 76 |
| 1 | import dialogBox from '@/components/DialogBox/dialogBox.vue' | 1 | import dialogBox from '@/components/DialogBox/dialogBox.vue' |
| 2 | import lbTable from '@/components/lbTable/lb-table.vue' | 2 | import LbTable from '@/components/LbTable/lb-table.vue' |
| 3 | import Theme from '@/components/Theme/theme.vue' | 3 | import Theme from '@/components/Theme/theme.vue' |
| 4 | import Popup from '@/components/Popup/index' | 4 | import Popup from '@/components/Popup/index' |
| 5 | import MessageBox from '@/components/MessageBox/index.js' | ||
| 5 | export default { | 6 | export default { |
| 6 | install: (Vue) => { | 7 | install: (Vue) => { |
| 7 | Vue.component('dialogBox', dialogBox); | 8 | Vue.component('dialogBox', dialogBox); |
| 8 | Vue.component('lbTable', lbTable); | 9 | Vue.component('lbTable', LbTable); |
| 9 | Vue.component('Theme', Theme); | 10 | Vue.component('Theme', Theme); |
| 10 | Vue.prototype.$popup = Popup.install | 11 | Vue.prototype.$popup = Popup.install; |
| 12 | Vue.prototype.$alertMes = MessageBox.alert; | ||
| 11 | } | 13 | } |
| 12 | } | 14 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/components/Calendar/calendar.js
0 → 100644
| 1 | /** | ||
| 2 | * @1900-2100区间内的公历、农历互转 | ||
| 3 | * @charset UTF-8 | ||
| 4 | * @Author Jea杨(JJonline@JJonline.Cn) | ||
| 5 | * @Time 2014-7-21 | ||
| 6 | * @Time 2016-8-13 Fixed 2033hex、Attribution Annals | ||
| 7 | * @Time 2016-9-25 Fixed lunar LeapMonth Param Bug | ||
| 8 | * @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year | ||
| 9 | * @Version 1.0.3 | ||
| 10 | * @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] | ||
| 11 | * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] | ||
| 12 | */ | ||
| 13 | const calendar = { | ||
| 14 | |||
| 15 | /** | ||
| 16 | * 农历1900-2100的润大小信息表 | ||
| 17 | * @Array Of Property | ||
| 18 | * @return Hex | ||
| 19 | */ | ||
| 20 | lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2,//1900-1909 | ||
| 21 | 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977,//1910-1919 | ||
| 22 | 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970,//1920-1929 | ||
| 23 | 0x06566, 0x0d4a0, 0x0ea50, 0x16a95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950,//1930-1939 | ||
| 24 | 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557,//1940-1949 | ||
| 25 | 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0,//1950-1959 | ||
| 26 | 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0,//1960-1969 | ||
| 27 | 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6,//1970-1979 | ||
| 28 | 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570,//1980-1989 | ||
| 29 | 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0,//1990-1999 | ||
| 30 | 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5,//2000-2009 | ||
| 31 | 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930,//2010-2019 | ||
| 32 | 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530,//2020-2029 | ||
| 33 | 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45,//2030-2039 | ||
| 34 | 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0,//2040-2049 | ||
| 35 | /**Add By JJonline@JJonline.Cn**/ | ||
| 36 | 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0,//2050-2059 | ||
| 37 | 0x092e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4,//2060-2069 | ||
| 38 | 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0,//2070-2079 | ||
| 39 | 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160,//2080-2089 | ||
| 40 | 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252,//2090-2099 | ||
| 41 | 0x0d520],//2100 | ||
| 42 | |||
| 43 | /** | ||
| 44 | * 公历每个月份的天数普通表 | ||
| 45 | * @Array Of Property | ||
| 46 | * @return Number | ||
| 47 | */ | ||
| 48 | solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], | ||
| 49 | |||
| 50 | /** | ||
| 51 | * 天干地支之天干速查表 | ||
| 52 | * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] | ||
| 53 | * @return Cn string | ||
| 54 | */ | ||
| 55 | Gan: ["\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678"], | ||
| 56 | |||
| 57 | /** | ||
| 58 | * 天干地支之地支速查表 | ||
| 59 | * @Array Of Property | ||
| 60 | * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] | ||
| 61 | * @return Cn string | ||
| 62 | */ | ||
| 63 | Zhi: ["\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c", "\u4ea5"], | ||
| 64 | |||
| 65 | /** | ||
| 66 | * 天干地支之地支速查表<=>生肖 | ||
| 67 | * @Array Of Property | ||
| 68 | * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] | ||
| 69 | * @return Cn string | ||
| 70 | */ | ||
| 71 | Animals: ["\u9f20", "\u725b", "\u864e", "\u5154", "\u9f99", "\u86c7", "\u9a6c", "\u7f8a", "\u7334", "\u9e21", "\u72d7", "\u732a"], | ||
| 72 | |||
| 73 | /** | ||
| 74 | * 阳历节日 | ||
| 75 | */ | ||
| 76 | festival: { | ||
| 77 | '1-1': { title: '元旦节' }, | ||
| 78 | '2-14': { title: '情人节' }, | ||
| 79 | '5-1': { title: '劳动节' }, | ||
| 80 | '5-4': { title: '青年节' }, | ||
| 81 | '6-1': { title: '儿童节' }, | ||
| 82 | '9-10': { title: '教师节' }, | ||
| 83 | '10-1': { title: '国庆节' }, | ||
| 84 | '12-25': { title: '圣诞节' }, | ||
| 85 | |||
| 86 | '3-8': { title: '妇女节' }, | ||
| 87 | '3-12': { title: '植树节' }, | ||
| 88 | '4-1': { title: '愚人节' }, | ||
| 89 | '5-12': { title: '护士节' }, | ||
| 90 | '7-1': { title: '建党节' }, | ||
| 91 | '8-1': { title: '建军节' }, | ||
| 92 | '12-24': { title: '平安夜' }, | ||
| 93 | }, | ||
| 94 | |||
| 95 | /** | ||
| 96 | * 农历节日 | ||
| 97 | */ | ||
| 98 | lFestival: { | ||
| 99 | '12-30': { title: '除夕' }, | ||
| 100 | '1-1': { title: '春节' }, | ||
| 101 | '1-15': { title: '元宵节' }, | ||
| 102 | '2-2': { title: '龙抬头' }, | ||
| 103 | '5-5': { title: '端午节' }, | ||
| 104 | '7-7': { title: '七夕节' }, | ||
| 105 | '7-15': { title: '中元节' }, | ||
| 106 | '8-15': { title: '中秋节' }, | ||
| 107 | '9-9': { title: '重阳节' }, | ||
| 108 | '10-1': { title: '寒衣节' }, | ||
| 109 | '10-15': { title: '下元节' }, | ||
| 110 | '12-8': { title: '腊八节' }, | ||
| 111 | '12-23': { title: '北方小年' }, | ||
| 112 | '12-24': { title: '南方小年' }, | ||
| 113 | }, | ||
| 114 | |||
| 115 | /** | ||
| 116 | * 返回默认定义的阳历节日 | ||
| 117 | */ | ||
| 118 | getFestival () { | ||
| 119 | return this.festival | ||
| 120 | }, | ||
| 121 | |||
| 122 | /** | ||
| 123 | * 返回默认定义的内容里节日 | ||
| 124 | */ | ||
| 125 | getLunarFestival () { | ||
| 126 | return this.lFestival | ||
| 127 | }, | ||
| 128 | |||
| 129 | /** | ||
| 130 | * | ||
| 131 | * @param param {Object} 按照festival的格式输入数据,设置阳历节日 | ||
| 132 | */ | ||
| 133 | setFestival (param = {}) { | ||
| 134 | this.festival = param | ||
| 135 | }, | ||
| 136 | |||
| 137 | /** | ||
| 138 | * | ||
| 139 | * @param param {Object} 按照lFestival的格式输入数据,设置农历节日 | ||
| 140 | */ | ||
| 141 | setLunarFestival (param = {}) { | ||
| 142 | this.lFestival = param | ||
| 143 | }, | ||
| 144 | |||
| 145 | /** | ||
| 146 | * 24节气速查表 | ||
| 147 | * @Array Of Property | ||
| 148 | * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] | ||
| 149 | * @return Cn string | ||
| 150 | */ | ||
| 151 | solarTerm: ["\u5c0f\u5bd2", "\u5927\u5bd2", "\u7acb\u6625", "\u96e8\u6c34", "\u60ca\u86f0", "\u6625\u5206", "\u6e05\u660e", "\u8c37\u96e8", "\u7acb\u590f", "\u5c0f\u6ee1", "\u8292\u79cd", "\u590f\u81f3", "\u5c0f\u6691", "\u5927\u6691", "\u7acb\u79cb", "\u5904\u6691", "\u767d\u9732", "\u79cb\u5206", "\u5bd2\u9732", "\u971c\u964d", "\u7acb\u51ac", "\u5c0f\u96ea", "\u5927\u96ea", "\u51ac\u81f3"], | ||
| 152 | |||
| 153 | /** | ||
| 154 | * 1900-2100各年的24节气日期速查表 | ||
| 155 | * @Array Of Property | ||
| 156 | * @return 0x string For splice | ||
| 157 | */ | ||
| 158 | sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', | ||
| 159 | '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', | ||
| 160 | '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', | ||
| 161 | '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', | ||
| 162 | 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', | ||
| 163 | '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', | ||
| 164 | '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', | ||
| 165 | '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', | ||
| 166 | '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', | ||
| 167 | '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 168 | '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', | ||
| 169 | '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', | ||
| 170 | '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', | ||
| 171 | '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 172 | '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', | ||
| 173 | '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', | ||
| 174 | '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', | ||
| 175 | '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', | ||
| 176 | '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', | ||
| 177 | '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', | ||
| 178 | '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 179 | '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', | ||
| 180 | '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', | ||
| 181 | '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', | ||
| 182 | '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 183 | '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', | ||
| 184 | '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', | ||
| 185 | '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', | ||
| 186 | '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', | ||
| 187 | '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', | ||
| 188 | '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', | ||
| 189 | '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 190 | '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', | ||
| 191 | '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', | ||
| 192 | '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', | ||
| 193 | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', | ||
| 194 | '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', | ||
| 195 | '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', | ||
| 196 | '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', | ||
| 197 | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', | ||
| 198 | '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', | ||
| 199 | '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', | ||
| 200 | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', | ||
| 201 | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', | ||
| 202 | '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', | ||
| 203 | '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', | ||
| 204 | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', | ||
| 205 | '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', | ||
| 206 | '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', | ||
| 207 | '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', | ||
| 208 | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', | ||
| 209 | '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', | ||
| 210 | '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', | ||
| 211 | '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', | ||
| 212 | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', | ||
| 213 | '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', | ||
| 214 | '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', | ||
| 215 | '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', | ||
| 216 | '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', | ||
| 217 | '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', | ||
| 218 | '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', | ||
| 219 | '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', | ||
| 220 | '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', | ||
| 221 | '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', | ||
| 222 | '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', | ||
| 223 | '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', | ||
| 224 | '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], | ||
| 225 | |||
| 226 | /** | ||
| 227 | * 数字转中文速查表 | ||
| 228 | * @Array Of Property | ||
| 229 | * @trans ['日','一','二','三','四','五','六','七','八','九','十'] | ||
| 230 | * @return Cn string | ||
| 231 | */ | ||
| 232 | nStr1: ["\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341"], | ||
| 233 | |||
| 234 | /** | ||
| 235 | * 日期转农历称呼速查表 | ||
| 236 | * @Array Of Property | ||
| 237 | * @trans ['初','十','廿','卅'] | ||
| 238 | * @return Cn string | ||
| 239 | */ | ||
| 240 | nStr2: ["\u521d", "\u5341", "\u5eff", "\u5345"], | ||
| 241 | |||
| 242 | /** | ||
| 243 | * 月份转农历称呼速查表 | ||
| 244 | * @Array Of Property | ||
| 245 | * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] | ||
| 246 | * @return Cn string | ||
| 247 | */ | ||
| 248 | nStr3: ["\u6b63", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341", "\u51ac", "\u814a"], | ||
| 249 | |||
| 250 | /** | ||
| 251 | * 返回农历y年一整年的总天数 | ||
| 252 | * @param y lunar Year | ||
| 253 | * @return Number | ||
| 254 | * @eg:var count = calendar.lYearDays(1987) ;//count=387 | ||
| 255 | */ | ||
| 256 | lYearDays: function (y) { | ||
| 257 | let i, sum = 348; | ||
| 258 | for (i = 0x8000; i > 0x8; i >>= 1) { | ||
| 259 | sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0; | ||
| 260 | } | ||
| 261 | return (sum + this.leapDays(y)); | ||
| 262 | }, | ||
| 263 | |||
| 264 | /** | ||
| 265 | * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 | ||
| 266 | * @param y lunar Year | ||
| 267 | * @return Number (0-12) | ||
| 268 | * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 | ||
| 269 | */ | ||
| 270 | leapMonth: function (y) { //闰字编码 \u95f0 | ||
| 271 | return (this.lunarInfo[y - 1900] & 0xf); | ||
| 272 | }, | ||
| 273 | |||
| 274 | /** | ||
| 275 | * 返回农历y年闰月的天数 若该年没有闰月则返回0 | ||
| 276 | * @param y lunar Year | ||
| 277 | * @return Number (0、29、30) | ||
| 278 | * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 | ||
| 279 | */ | ||
| 280 | leapDays: function (y) { | ||
| 281 | if (this.leapMonth(y)) { | ||
| 282 | return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29); | ||
| 283 | } | ||
| 284 | return (0); | ||
| 285 | }, | ||
| 286 | |||
| 287 | /** | ||
| 288 | * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 | ||
| 289 | * @param y lunar Year | ||
| 290 | * @param m lunar Month | ||
| 291 | * @return Number (-1、29、30) | ||
| 292 | * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 | ||
| 293 | */ | ||
| 294 | monthDays: function (y, m) { | ||
| 295 | if (m > 12 || m < 1) { | ||
| 296 | return -1 | ||
| 297 | }//月份参数从1至12,参数错误返回-1 | ||
| 298 | return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29); | ||
| 299 | }, | ||
| 300 | |||
| 301 | /** | ||
| 302 | * 返回公历(!)y年m月的天数 | ||
| 303 | * @param y solar Year | ||
| 304 | * @param m solar Month | ||
| 305 | * @return Number (-1、28、29、30、31) | ||
| 306 | * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 | ||
| 307 | */ | ||
| 308 | solarDays: function (y, m) { | ||
| 309 | if (m > 12 || m < 1) { | ||
| 310 | return -1 | ||
| 311 | } //若参数错误 返回-1 | ||
| 312 | const ms = m - 1; | ||
| 313 | if (ms === 1) { //2月份的闰平规律测算后确认返回28或29 | ||
| 314 | return (((y % 4 === 0) && (y % 100 !== 0) || (y % 400 === 0)) ? 29 : 28); | ||
| 315 | } else { | ||
| 316 | return (this.solarMonth[ms]); | ||
| 317 | } | ||
| 318 | }, | ||
| 319 | |||
| 320 | /** | ||
| 321 | * 农历年份转换为干支纪年 | ||
| 322 | * @param lYear 农历年的年份数 | ||
| 323 | * @return Cn string | ||
| 324 | */ | ||
| 325 | toGanZhiYear: function (lYear) { | ||
| 326 | var ganKey = (lYear - 3) % 10; | ||
| 327 | var zhiKey = (lYear - 3) % 12; | ||
| 328 | if (ganKey === 0) ganKey = 10;//如果余数为0则为最后一个天干 | ||
| 329 | if (zhiKey === 0) zhiKey = 12;//如果余数为0则为最后一个地支 | ||
| 330 | return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]; | ||
| 331 | |||
| 332 | }, | ||
| 333 | |||
| 334 | /** | ||
| 335 | * 公历月、日判断所属星座 | ||
| 336 | * @param cMonth [description] | ||
| 337 | * @param cDay [description] | ||
| 338 | * @return Cn string | ||
| 339 | */ | ||
| 340 | toAstro: function (cMonth, cDay) { | ||
| 341 | const s = "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; | ||
| 342 | const arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]; | ||
| 343 | return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + "\u5ea7";//座 | ||
| 344 | }, | ||
| 345 | |||
| 346 | /** | ||
| 347 | * 传入offset偏移量返回干支 | ||
| 348 | * @param offset 相对甲子的偏移量 | ||
| 349 | * @return Cn string | ||
| 350 | */ | ||
| 351 | toGanZhi: function (offset) { | ||
| 352 | return this.Gan[offset % 10] + this.Zhi[offset % 12]; | ||
| 353 | }, | ||
| 354 | |||
| 355 | /** | ||
| 356 | * 传入公历(!)y年获得该年第n个节气的公历日期 | ||
| 357 | * @param y y公历年(1900-2100) | ||
| 358 | * @param n n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 | ||
| 359 | * @return day Number | ||
| 360 | * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 | ||
| 361 | */ | ||
| 362 | getTerm: function (y, n) { | ||
| 363 | if (y < 1900 || y > 2100) { | ||
| 364 | return -1; | ||
| 365 | } | ||
| 366 | if (n < 1 || n > 24) { | ||
| 367 | return -1; | ||
| 368 | } | ||
| 369 | const _table = this.sTermInfo[y - 1900]; | ||
| 370 | const _info = [ | ||
| 371 | parseInt('0x' + _table.substr(0, 5)).toString(), | ||
| 372 | parseInt('0x' + _table.substr(5, 5)).toString(), | ||
| 373 | parseInt('0x' + _table.substr(10, 5)).toString(), | ||
| 374 | parseInt('0x' + _table.substr(15, 5)).toString(), | ||
| 375 | parseInt('0x' + _table.substr(20, 5)).toString(), | ||
| 376 | parseInt('0x' + _table.substr(25, 5)).toString() | ||
| 377 | ]; | ||
| 378 | const _calcDay = [ | ||
| 379 | _info[0].substr(0, 1), | ||
| 380 | _info[0].substr(1, 2), | ||
| 381 | _info[0].substr(3, 1), | ||
| 382 | _info[0].substr(4, 2), | ||
| 383 | |||
| 384 | _info[1].substr(0, 1), | ||
| 385 | _info[1].substr(1, 2), | ||
| 386 | _info[1].substr(3, 1), | ||
| 387 | _info[1].substr(4, 2), | ||
| 388 | |||
| 389 | _info[2].substr(0, 1), | ||
| 390 | _info[2].substr(1, 2), | ||
| 391 | _info[2].substr(3, 1), | ||
| 392 | _info[2].substr(4, 2), | ||
| 393 | |||
| 394 | _info[3].substr(0, 1), | ||
| 395 | _info[3].substr(1, 2), | ||
| 396 | _info[3].substr(3, 1), | ||
| 397 | _info[3].substr(4, 2), | ||
| 398 | |||
| 399 | _info[4].substr(0, 1), | ||
| 400 | _info[4].substr(1, 2), | ||
| 401 | _info[4].substr(3, 1), | ||
| 402 | _info[4].substr(4, 2), | ||
| 403 | |||
| 404 | _info[5].substr(0, 1), | ||
| 405 | _info[5].substr(1, 2), | ||
| 406 | _info[5].substr(3, 1), | ||
| 407 | _info[5].substr(4, 2), | ||
| 408 | ]; | ||
| 409 | return parseInt(_calcDay[n - 1]); | ||
| 410 | }, | ||
| 411 | |||
| 412 | /** | ||
| 413 | * 传入农历数字月份返回汉语通俗表示法 | ||
| 414 | * @param m lunar month | ||
| 415 | * @return Cn string | ||
| 416 | * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' | ||
| 417 | */ | ||
| 418 | toChinaMonth: function (m) { // 月 => \u6708 | ||
| 419 | if (m > 12 || m < 1) { | ||
| 420 | return -1 | ||
| 421 | } //若参数错误 返回-1 | ||
| 422 | let s = this.nStr3[m - 1]; | ||
| 423 | s += "\u6708";//加上月字 | ||
| 424 | return s; | ||
| 425 | }, | ||
| 426 | |||
| 427 | /** | ||
| 428 | * 传入农历日期数字返回汉字表示法 | ||
| 429 | * @param d lunar day | ||
| 430 | * @return Cn string | ||
| 431 | * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' | ||
| 432 | */ | ||
| 433 | toChinaDay: function (d) { //日 => \u65e5 | ||
| 434 | let s; | ||
| 435 | switch (d) { | ||
| 436 | case 10: | ||
| 437 | s = '\u521d\u5341'; | ||
| 438 | break; | ||
| 439 | case 20: | ||
| 440 | s = '\u4e8c\u5341'; | ||
| 441 | break; | ||
| 442 | case 30: | ||
| 443 | s = '\u4e09\u5341'; | ||
| 444 | break; | ||
| 445 | default: | ||
| 446 | s = this.nStr2[Math.floor(d / 10)]; | ||
| 447 | s += this.nStr1[d % 10]; | ||
| 448 | } | ||
| 449 | return (s); | ||
| 450 | }, | ||
| 451 | |||
| 452 | /** | ||
| 453 | * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” | ||
| 454 | * @param y year | ||
| 455 | * @return Cn string | ||
| 456 | * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' | ||
| 457 | */ | ||
| 458 | getAnimal: function (y) { | ||
| 459 | return this.Animals[(y - 4) % 12] | ||
| 460 | }, | ||
| 461 | |||
| 462 | /** | ||
| 463 | * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON | ||
| 464 | * !important! 公历参数区间1900.1.31~2100.12.31 | ||
| 465 | * @param yPara solar year | ||
| 466 | * @param mPara solar month | ||
| 467 | * @param dPara solar day | ||
| 468 | * @return JSON object | ||
| 469 | * @eg:console.log(calendar.solar2lunar(1987,11,01)); | ||
| 470 | */ | ||
| 471 | solar2lunar: function (yPara, mPara, dPara) { | ||
| 472 | let y = parseInt(yPara); | ||
| 473 | let m = parseInt(mPara); | ||
| 474 | let d = parseInt(dPara); | ||
| 475 | //年份限定、上限 | ||
| 476 | if (y < 1900 || y > 2100) { | ||
| 477 | return -1;// undefined转换为数字变为NaN | ||
| 478 | } | ||
| 479 | //公历传参最下限 | ||
| 480 | if (y === 1900 && m === 1 && d < 31) { | ||
| 481 | return -1; | ||
| 482 | } | ||
| 483 | |||
| 484 | //未传参 获得当天 | ||
| 485 | let objDate; | ||
| 486 | if (!y) { | ||
| 487 | objDate = new Date(); | ||
| 488 | } else { | ||
| 489 | objDate = new Date(y, parseInt(m) - 1, d); | ||
| 490 | } | ||
| 491 | let i, leap = 0, temp = 0; | ||
| 492 | //修正ymd参数 | ||
| 493 | y = objDate.getFullYear(); | ||
| 494 | m = objDate.getMonth() + 1; | ||
| 495 | d = objDate.getDate(); | ||
| 496 | let offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000; | ||
| 497 | for (i = 1900; i < 2101 && offset > 0; i++) { | ||
| 498 | temp = this.lYearDays(i); | ||
| 499 | offset -= temp; | ||
| 500 | } | ||
| 501 | if (offset < 0) { | ||
| 502 | offset += temp; | ||
| 503 | i--; | ||
| 504 | } | ||
| 505 | |||
| 506 | //是否今天 | ||
| 507 | let isTodayObj = new Date(), | ||
| 508 | isToday = false; | ||
| 509 | if (isTodayObj.getFullYear() === y && isTodayObj.getMonth() + 1 === m && isTodayObj.getDate() === d) { | ||
| 510 | isToday = true; | ||
| 511 | } | ||
| 512 | //星期几 | ||
| 513 | let nWeek = objDate.getDay(), | ||
| 514 | cWeek = this.nStr1[nWeek]; | ||
| 515 | //数字表示周几顺应天朝周一开始的惯例 | ||
| 516 | if (nWeek === 0) { | ||
| 517 | nWeek = 7; | ||
| 518 | } | ||
| 519 | //农历年 | ||
| 520 | const year = i; | ||
| 521 | leap = this.leapMonth(i); //闰哪个月 | ||
| 522 | let isLeap = false; | ||
| 523 | |||
| 524 | //效验闰月 | ||
| 525 | for (i = 1; i < 13 && offset > 0; i++) { | ||
| 526 | //闰月 | ||
| 527 | if (leap > 0 && i === (leap + 1) && isLeap === false) { | ||
| 528 | --i; | ||
| 529 | isLeap = true; | ||
| 530 | temp = this.leapDays(year); //计算农历闰月天数 | ||
| 531 | } else { | ||
| 532 | temp = this.monthDays(year, i);//计算农历普通月天数 | ||
| 533 | } | ||
| 534 | //解除闰月 | ||
| 535 | if (isLeap === true && i === (leap + 1)) { | ||
| 536 | isLeap = false; | ||
| 537 | } | ||
| 538 | offset -= temp; | ||
| 539 | } | ||
| 540 | // 闰月导致数组下标重叠取反 | ||
| 541 | if (offset === 0 && leap > 0 && i === leap + 1) { | ||
| 542 | if (isLeap) { | ||
| 543 | isLeap = false; | ||
| 544 | } else { | ||
| 545 | isLeap = true; | ||
| 546 | --i; | ||
| 547 | } | ||
| 548 | } | ||
| 549 | if (offset < 0) { | ||
| 550 | offset += temp; | ||
| 551 | --i; | ||
| 552 | } | ||
| 553 | //农历月 | ||
| 554 | const month = i; | ||
| 555 | //农历日 | ||
| 556 | const day = offset + 1; | ||
| 557 | //天干地支处理 | ||
| 558 | const sm = m - 1; | ||
| 559 | const gzY = this.toGanZhiYear(year); | ||
| 560 | |||
| 561 | // 当月的两个节气 | ||
| 562 | // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` | ||
| 563 | const firstNode = this.getTerm(y, (m * 2 - 1));//返回当月「节」为几日开始 | ||
| 564 | const secondNode = this.getTerm(y, (m * 2));//返回当月「节」为几日开始 | ||
| 565 | |||
| 566 | // 依据12节气修正干支月 | ||
| 567 | let gzM = this.toGanZhi((y - 1900) * 12 + m + 11); | ||
| 568 | if (d >= firstNode) { | ||
| 569 | gzM = this.toGanZhi((y - 1900) * 12 + m + 12); | ||
| 570 | } | ||
| 571 | |||
| 572 | //传入的日期的节气与否 | ||
| 573 | let isTerm = false; | ||
| 574 | let Term = null; | ||
| 575 | if (firstNode === d) { | ||
| 576 | isTerm = true; | ||
| 577 | Term = this.solarTerm[m * 2 - 2]; | ||
| 578 | } | ||
| 579 | if (secondNode === d) { | ||
| 580 | isTerm = true; | ||
| 581 | Term = this.solarTerm[m * 2 - 1]; | ||
| 582 | } | ||
| 583 | //日柱 当月一日与 1900/1/1 相差天数 | ||
| 584 | const dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10; | ||
| 585 | const gzD = this.toGanZhi(dayCyclical + d - 1); | ||
| 586 | //该日期所属的星座 | ||
| 587 | const astro = this.toAstro(m, d); | ||
| 588 | |||
| 589 | const solarDate = y + '-' + m + '-' + d; | ||
| 590 | const lunarDate = year + '-' + month + '-' + day; | ||
| 591 | |||
| 592 | const festival = this.festival; | ||
| 593 | const lFestival = this.lFestival; | ||
| 594 | |||
| 595 | const festivalDate = m + '-' + d; | ||
| 596 | const lunarFestivalDate = month + '-' + day; | ||
| 597 | |||
| 598 | return { | ||
| 599 | date: solarDate, | ||
| 600 | lunarDate: lunarDate, | ||
| 601 | festival: festival[festivalDate] ? festival[festivalDate].title : null, | ||
| 602 | lunarFestival: lFestival[lunarFestivalDate] ? lFestival[lunarFestivalDate].title : null, | ||
| 603 | 'lYear': year, | ||
| 604 | 'lMonth': month, | ||
| 605 | 'lDay': day, | ||
| 606 | 'Animal': this.getAnimal(year), | ||
| 607 | 'IMonthCn': (isLeap ? "\u95f0" : '') + this.toChinaMonth(month), | ||
| 608 | 'IDayCn': this.toChinaDay(day), | ||
| 609 | 'cYear': y, | ||
| 610 | 'cMonth': m, | ||
| 611 | 'cDay': d, | ||
| 612 | 'gzYear': gzY, | ||
| 613 | 'gzMonth': gzM, | ||
| 614 | 'gzDay': gzD, | ||
| 615 | 'isToday': isToday, | ||
| 616 | 'isLeap': isLeap, | ||
| 617 | 'nWeek': nWeek, | ||
| 618 | 'ncWeek': "\u661f\u671f" + cWeek, | ||
| 619 | 'isTerm': isTerm, | ||
| 620 | 'Term': Term, | ||
| 621 | 'astro': astro | ||
| 622 | }; | ||
| 623 | }, | ||
| 624 | |||
| 625 | /** | ||
| 626 | * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON | ||
| 627 | * !important! 参数区间1900.1.31~2100.12.1 | ||
| 628 | * @param y lunar year | ||
| 629 | * @param m lunar month | ||
| 630 | * @param d lunar day | ||
| 631 | * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] | ||
| 632 | * @return JSON object | ||
| 633 | * @eg:console.log(calendar.lunar2solar(1987,9,10)); | ||
| 634 | */ | ||
| 635 | lunar2solar: function (y, m, d, isLeapMonth) { | ||
| 636 | y = parseInt(y) | ||
| 637 | m = parseInt(m) | ||
| 638 | d = parseInt(d) | ||
| 639 | isLeapMonth = !!isLeapMonth; | ||
| 640 | const leapOffset = 0; | ||
| 641 | const leapMonth = this.leapMonth(y); | ||
| 642 | const leapDay = this.leapDays(y); | ||
| 643 | if (isLeapMonth && (leapMonth !== m)) { | ||
| 644 | return -1; | ||
| 645 | }//传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 | ||
| 646 | if (y === 2100 && m === 12 && d > 1 || y === 1900 && m === 1 && d < 31) { | ||
| 647 | return -1; | ||
| 648 | }//超出了最大极限值 | ||
| 649 | const day = this.monthDays(y, m); | ||
| 650 | let _day = day; | ||
| 651 | //bugFix 2016-9-25 | ||
| 652 | //if month is leap, _day use leapDays method | ||
| 653 | if (isLeapMonth) { | ||
| 654 | _day = this.leapDays(y, m); | ||
| 655 | } | ||
| 656 | if (y < 1900 || y > 2100 || d > _day) { | ||
| 657 | return -1; | ||
| 658 | }//参数合法性效验 | ||
| 659 | |||
| 660 | //计算农历的时间差 | ||
| 661 | let offset = 0; | ||
| 662 | let i; | ||
| 663 | for (i = 1900; i < y; i++) { | ||
| 664 | offset += this.lYearDays(i); | ||
| 665 | } | ||
| 666 | let leap = 0, isAdd = false; | ||
| 667 | for (i = 1; i < m; i++) { | ||
| 668 | leap = this.leapMonth(y); | ||
| 669 | if (!isAdd) {//处理闰月 | ||
| 670 | if (leap <= i && leap > 0) { | ||
| 671 | offset += this.leapDays(y); | ||
| 672 | isAdd = true; | ||
| 673 | } | ||
| 674 | } | ||
| 675 | offset += this.monthDays(y, i); | ||
| 676 | } | ||
| 677 | //转换闰月农历 需补充该年闰月的前一个月的时差 | ||
| 678 | if (isLeapMonth) { | ||
| 679 | offset += day; | ||
| 680 | } | ||
| 681 | //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) | ||
| 682 | const strap = Date.UTC(1900, 1, 30, 0, 0, 0); | ||
| 683 | const calObj = new Date((offset + d - 31) * 86400000 + strap); | ||
| 684 | const cY = calObj.getUTCFullYear(); | ||
| 685 | const cM = calObj.getUTCMonth() + 1; | ||
| 686 | const cD = calObj.getUTCDate(); | ||
| 687 | |||
| 688 | return this.solar2lunar(cY, cM, cD); | ||
| 689 | } | ||
| 690 | }; | ||
| 691 | |||
| 692 | export default calendar | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/Calendar/index.vue
0 → 100644
| 1 | |||
| 2 | <template> | ||
| 3 | <el-calendar v-model="date"> | ||
| 4 | <template slot="dateCell" slot-scope="{date, data}"> | ||
| 5 | <div :class="{ selected: isSelected(date, data) }"> | ||
| 6 | <div class="solar">{{ data.day.split('-')[2] }}</div> | ||
| 7 | <div class="lunar" :class="{ festival: isFestival(date, data) }">{{ solarToLunar(date, data) }}</div> | ||
| 8 | </div> | ||
| 9 | </template> | ||
| 10 | </el-calendar> | ||
| 11 | </template> | ||
| 12 | |||
| 13 | <script> | ||
| 14 | import calendar from './calendar' | ||
| 15 | export default { | ||
| 16 | name: 'calendar', | ||
| 17 | data () { | ||
| 18 | return { | ||
| 19 | date: new Date(), | ||
| 20 | // 根据selectedDates设置选中日期 | ||
| 21 | selectedDates: [] | ||
| 22 | } | ||
| 23 | }, | ||
| 24 | methods: { | ||
| 25 | // 是否选中日期 | ||
| 26 | isSelected: function (slotDate, slotData) { | ||
| 27 | return this.selectedDates.includes(slotData.day) | ||
| 28 | }, | ||
| 29 | // 是否节假日 | ||
| 30 | isFestival (slotDate, slotData) { | ||
| 31 | let solarDayArr = slotData.day.split('-'); | ||
| 32 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 33 | |||
| 34 | // 公历节日\农历节日\农历节气 | ||
| 35 | let festAndTerm = []; | ||
| 36 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 37 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 38 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 39 | festAndTerm = festAndTerm.join('') | ||
| 40 | |||
| 41 | return festAndTerm != '' | ||
| 42 | }, | ||
| 43 | // 公历转农历 | ||
| 44 | solarToLunar (slotDate, slotData) { | ||
| 45 | let solarDayArr = slotData.day.split('-'); | ||
| 46 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 47 | |||
| 48 | // 农历日期 | ||
| 49 | let lunarMD = lunarDay.IMonthCn + lunarDay.IDayCn | ||
| 50 | |||
| 51 | // 公历节日\农历节日\农历节气 | ||
| 52 | let festAndTerm = []; | ||
| 53 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 54 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 55 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 56 | festAndTerm = festAndTerm.join('') | ||
| 57 | |||
| 58 | return festAndTerm == '' ? lunarMD : festAndTerm | ||
| 59 | } | ||
| 60 | } | ||
| 61 | } | ||
| 62 | </script> | ||
| 63 | |||
| 64 | <style scoped> | ||
| 65 | /**隐藏上一月、本月、下一月*/ | ||
| 66 | .el-calendar__button-group { | ||
| 67 | display: none; | ||
| 68 | } | ||
| 69 | |||
| 70 | /deep/.el-calendar__body { | ||
| 71 | padding: 12px !important; | ||
| 72 | } | ||
| 73 | |||
| 74 | /deep/.el-calendar-table .el-calendar-day { | ||
| 75 | height: auto; | ||
| 76 | padding: 5px; | ||
| 77 | } | ||
| 78 | |||
| 79 | /**月份居中*/ | ||
| 80 | .el-calendar__title { | ||
| 81 | width: 100%; | ||
| 82 | text-align: center; | ||
| 83 | } | ||
| 84 | |||
| 85 | /**日期div的样式*/ | ||
| 86 | .el-calendar-table tr td:first-child { | ||
| 87 | border-left: 0px; | ||
| 88 | } | ||
| 89 | |||
| 90 | .el-calendar-table td { | ||
| 91 | min-height: 110px; | ||
| 92 | min-width: 110px; | ||
| 93 | border-right: 0px; | ||
| 94 | } | ||
| 95 | |||
| 96 | .el-calendar-table td.is-selected { | ||
| 97 | background-color: white; | ||
| 98 | } | ||
| 99 | |||
| 100 | .el-calendar-table .el-calendar-day { | ||
| 101 | padding: 0px; | ||
| 102 | text-align: center; | ||
| 103 | } | ||
| 104 | |||
| 105 | .el-calendar-table .el-calendar-day>div { | ||
| 106 | text-align: center | ||
| 107 | } | ||
| 108 | |||
| 109 | /**日期div的样式-公历*/ | ||
| 110 | .el-calendar-table .el-calendar-day>div .solar { | ||
| 111 | text-align: center | ||
| 112 | } | ||
| 113 | |||
| 114 | /**日期div的样式-农历*/ | ||
| 115 | .el-calendar-table .el-calendar-day>div .lunar { | ||
| 116 | padding-top: 5px; | ||
| 117 | font-size: 12px; | ||
| 118 | text-align: center | ||
| 119 | } | ||
| 120 | |||
| 121 | /**日期div的样式-选中*/ | ||
| 122 | .el-calendar-table .el-calendar-day>div.selected { | ||
| 123 | background-color: #fef2f2; | ||
| 124 | border: 3px solid #fb0; | ||
| 125 | border-radius: 20px; | ||
| 126 | text-align: center | ||
| 127 | } | ||
| 128 | |||
| 129 | /**本月周末设置为红色*/ | ||
| 130 | .el-calendar-table .current:nth-last-child(-n+2) .solar { | ||
| 131 | color: red; | ||
| 132 | } | ||
| 133 | |||
| 134 | /**本月农历设置为灰色*/ | ||
| 135 | .el-calendar-table .current .lunar { | ||
| 136 | color: #606266; | ||
| 137 | font-size: 12px; | ||
| 138 | } | ||
| 139 | |||
| 140 | /**本月农历节日设置为红色*/ | ||
| 141 | .el-calendar-table .current .lunar.festival { | ||
| 142 | color: red; | ||
| 143 | } | ||
| 144 | |||
| 145 | .el-calendar-table td { | ||
| 146 | border-right: none !important; | ||
| 147 | } | ||
| 148 | |||
| 149 | /**禁用点击效果*/ | ||
| 150 | /*.el-calendar-table td {*/ | ||
| 151 | /*pointer-events: none;*/ | ||
| 152 | /*}*/ | ||
| 153 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/DialogBox/dialogBox.scss
0 → 100644
| 1 | .dialogBox { | ||
| 2 | border-radius: 8px; | ||
| 3 | overflow: hidden; | ||
| 4 | background: #FFFFFF; | ||
| 5 | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.10); | ||
| 6 | |||
| 7 | .dialog_title { | ||
| 8 | display: flex; | ||
| 9 | position: relative; | ||
| 10 | top: -2px; | ||
| 11 | |||
| 12 | b { | ||
| 13 | @include flex-center; | ||
| 14 | flex: 1; | ||
| 15 | width: 100%; | ||
| 16 | } | ||
| 17 | } | ||
| 18 | |||
| 19 | .dialog_full { | ||
| 20 | position: absolute; | ||
| 21 | top: 0; | ||
| 22 | right: 30px; | ||
| 23 | } | ||
| 24 | |||
| 25 | .el-dialog__body { | ||
| 26 | max-height: 88vh; | ||
| 27 | overflow-x: hidden; | ||
| 28 | overflow-y: hidden; | ||
| 29 | } | ||
| 30 | |||
| 31 | .dialog_footer { | ||
| 32 | margin-top: 8px; | ||
| 33 | @include flex-center; | ||
| 34 | } | ||
| 35 | |||
| 36 | |||
| 37 | } | ||
| 38 | |||
| 39 | .dialog_title { | ||
| 40 | @include flex; | ||
| 41 | justify-content: space-between; | ||
| 42 | width: 100%; | ||
| 43 | } | ||
| 44 | |||
| 45 | .el-dialog__header { | ||
| 46 | margin-bottom: 10px; | ||
| 47 | color: #4A4A4A; | ||
| 48 | background-color: #FCFDFD; | ||
| 49 | border-bottom: 1px solid #E4EBF4; | ||
| 50 | } | ||
| 51 | |||
| 52 | .el-dialog__body { | ||
| 53 | padding-top: 10px; | ||
| 54 | padding-bottom: 0; | ||
| 55 | } | ||
| 56 | |||
| 57 | .el-dialog__headerbtn .el-dialog__close { | ||
| 58 | color: #6B7A99 !important; | ||
| 59 | position: relative; | ||
| 60 | top: -2px; | ||
| 61 | } | ||
| 62 | |||
| 63 | |||
| 64 | .el-form-item { | ||
| 65 | @include flex; | ||
| 66 | width: 100%; | ||
| 67 | } | ||
| 68 | |||
| 69 | .el-dialog__wrapper { | ||
| 70 | width: 100%; | ||
| 71 | height: 100%; | ||
| 72 | overflow: hidden; | ||
| 73 | } | ||
| 74 | |||
| 75 | .contentCenter { | ||
| 76 | position: absolute; | ||
| 77 | top: 50%; | ||
| 78 | left: 50%; | ||
| 79 | transform: translate(calc(-50% + 85px), -50%); | ||
| 80 | } | ||
| 81 | |||
| 82 | .mainCenter { | ||
| 83 | position: absolute; | ||
| 84 | top: 50%; | ||
| 85 | left: 50%; | ||
| 86 | transform: translate(-50%, -50%); | ||
| 87 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/DialogBox/dialogBox.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-dialog :visible.sync="dialogVisible" v-if="dialogVisible" :width="width" :fullscreen="fullscreen" top="0" | ||
| 3 | :append-to-body="appendToBody" :lock-scroll="true" :close-on-click-modal="false" @close="closeDialog" :key="key" | ||
| 4 | :custom-class="isMain ? 'mainCenter dialogBox' : 'contentCenter dialogBox'" :destroy-on-close="true" ref="dialogBox" | ||
| 5 | id="dialogBox"> | ||
| 6 | <div slot="title"> | ||
| 7 | <div class="dialog_title"> | ||
| 8 | <b>{{ title }}</b> | ||
| 9 | <div v-if="isFullscreen" class="dialog_full"> | ||
| 10 | <i class="el-icon-rank" v-if="fullscreen" @click="handleFullscreen"></i> | ||
| 11 | <i class="el-icon-full-screen" v-else @click="handleFullscreen" /> | ||
| 12 | </div> | ||
| 13 | </div> | ||
| 14 | </div> | ||
| 15 | <div class="dialogBox-content" :style="{ height: scrollerHeight ? scrollerHeight : 'auto' }"> | ||
| 16 | <slot></slot> | ||
| 17 | </div> | ||
| 18 | <div slot="footer" class="dialog_footer" v-if="isButton"> | ||
| 19 | <el-button @click="closeDialog" v-if="isReset">取消</el-button> | ||
| 20 | <el-button type="primary" plain @click="submitForm" v-if="isSave" :disabled="btnDisabled" :loading="saveloding"> | ||
| 21 | {{ saveButton }}</el-button> | ||
| 22 | </div> | ||
| 23 | </el-dialog> | ||
| 24 | </template> | ||
| 25 | <script> | ||
| 26 | export default { | ||
| 27 | props: { | ||
| 28 | value: { type: Boolean, default: false }, | ||
| 29 | isMain: { | ||
| 30 | type: Boolean, | ||
| 31 | default: false | ||
| 32 | }, | ||
| 33 | appendToBody: { | ||
| 34 | type: Boolean, | ||
| 35 | default: true | ||
| 36 | }, | ||
| 37 | isButton: { | ||
| 38 | type: Boolean, | ||
| 39 | default: true, | ||
| 40 | }, | ||
| 41 | width: { | ||
| 42 | type: String, | ||
| 43 | default: '70%', | ||
| 44 | }, | ||
| 45 | title: { | ||
| 46 | type: String, | ||
| 47 | default: '', | ||
| 48 | }, | ||
| 49 | isFullscreen: { | ||
| 50 | type: Boolean, | ||
| 51 | default: true, | ||
| 52 | }, | ||
| 53 | isSave: { | ||
| 54 | type: Boolean, | ||
| 55 | default: true, | ||
| 56 | }, | ||
| 57 | saveButton: { | ||
| 58 | type: String, | ||
| 59 | default: '提交', | ||
| 60 | }, | ||
| 61 | isReset: { | ||
| 62 | type: Boolean, | ||
| 63 | default: true, | ||
| 64 | }, | ||
| 65 | saveloding: { | ||
| 66 | type: Boolean, | ||
| 67 | default: false, | ||
| 68 | }, | ||
| 69 | btnDisabled: { | ||
| 70 | type: Boolean, | ||
| 71 | default: false | ||
| 72 | } | ||
| 73 | }, | ||
| 74 | data () { | ||
| 75 | return { | ||
| 76 | key: 0, | ||
| 77 | dialogVisible: false, | ||
| 78 | fullscreen: false, | ||
| 79 | scrollerHeight: false, | ||
| 80 | } | ||
| 81 | }, | ||
| 82 | watch: { | ||
| 83 | value (val) { | ||
| 84 | this.dialogVisible = val | ||
| 85 | } | ||
| 86 | }, | ||
| 87 | methods: { | ||
| 88 | handleFullscreen (val) { | ||
| 89 | this.fullscreen = !this.fullscreen | ||
| 90 | let height = document.getElementById('dialogBox').clientHeight | ||
| 91 | if (!this.fullscreen) { | ||
| 92 | this.scrollerHeight = false | ||
| 93 | } else { | ||
| 94 | this.scrollerHeight = (window.innerHeight - 180) + 'px' | ||
| 95 | } | ||
| 96 | }, | ||
| 97 | submitForm () { | ||
| 98 | if (this.isButton) { | ||
| 99 | this.$emit('submitForm'); | ||
| 100 | } | ||
| 101 | }, | ||
| 102 | closeDialog () { | ||
| 103 | this.key++ | ||
| 104 | this.$emit('input', false) | ||
| 105 | this.$emit('closeDialog') | ||
| 106 | } | ||
| 107 | }, | ||
| 108 | } | ||
| 109 | </script> | ||
| 110 | <style rel="stylesheet/scss" lang="scss" > | ||
| 111 | @import "~@/styles/mixin.scss"; | ||
| 112 | @import "./dialogBox.scss"; | ||
| 113 | </style> | ||
| 114 | <style rel="stylesheet/scss" scoped lang="scss" > | ||
| 115 | /deep/.is-fullscreen { | ||
| 116 | position: absolute; | ||
| 117 | top: 50% !important; | ||
| 118 | left: 50% !important; | ||
| 119 | transform: translate(-50%, -50%) !important; | ||
| 120 | } | ||
| 121 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/DialogBox/redeme.md
0 → 100644
src/components/LbTable/forced.js
0 → 100644
| 1 | export default { | ||
| 2 | selection: { | ||
| 3 | renderHeader: (h, { store }) => { | ||
| 4 | return ( | ||
| 5 | <el-checkbox | ||
| 6 | disabled={store.states.data && store.states.data.length === 0} | ||
| 7 | indeterminate={ | ||
| 8 | store.states.selection.length > 0 && !store.states.isAllSelected | ||
| 9 | } | ||
| 10 | nativeOn-click={store.toggleAllSelection} | ||
| 11 | value={store.states.isAllSelected} | ||
| 12 | /> | ||
| 13 | ) | ||
| 14 | }, | ||
| 15 | renderCell: (h, { row, column, store, $index }) => { | ||
| 16 | return ( | ||
| 17 | <el-checkbox | ||
| 18 | nativeOn-click={event => event.stopPropagation()} | ||
| 19 | value={store.isSelected(row)} | ||
| 20 | disabled={ | ||
| 21 | column.selectable | ||
| 22 | ? !column.selectable.call(null, row, $index) | ||
| 23 | : false | ||
| 24 | } | ||
| 25 | on-input={() => { | ||
| 26 | store.commit('rowSelectedChanged', row) | ||
| 27 | }} | ||
| 28 | /> | ||
| 29 | ) | ||
| 30 | }, | ||
| 31 | sortable: false, | ||
| 32 | resizable: false | ||
| 33 | }, | ||
| 34 | index: { | ||
| 35 | renderHeader: (h, scope) => { | ||
| 36 | return <span>{scope.column.label || '#'}</span> | ||
| 37 | }, | ||
| 38 | renderCell: (h, { $index, column }) => { | ||
| 39 | let i = $index + 1 | ||
| 40 | const index = column.index | ||
| 41 | |||
| 42 | if (typeof index === 'number') { | ||
| 43 | i = $index + index | ||
| 44 | } else if (typeof index === 'function') { | ||
| 45 | i = index($index) | ||
| 46 | } | ||
| 47 | |||
| 48 | return <div>{i}</div> | ||
| 49 | }, | ||
| 50 | sortable: false | ||
| 51 | }, | ||
| 52 | expand: { | ||
| 53 | renderHeader: (h, scope) => { | ||
| 54 | return <span>{scope.column.label || ''}</span> | ||
| 55 | }, | ||
| 56 | renderCell: (h, { row, store }, proxy) => { | ||
| 57 | const expanded = store.states.expandRows.indexOf(row) > -1 | ||
| 58 | return ( | ||
| 59 | <div | ||
| 60 | class={ | ||
| 61 | 'el-table__expand-icon ' + | ||
| 62 | (expanded ? 'el-table__expand-icon--expanded' : '') | ||
| 63 | } | ||
| 64 | on-click={e => proxy.handleExpandClick(row, e)} | ||
| 65 | > | ||
| 66 | <i class='el-icon el-icon-arrow-right' /> | ||
| 67 | </div> | ||
| 68 | ) | ||
| 69 | }, | ||
| 70 | sortable: false, | ||
| 71 | resizable: false, | ||
| 72 | className: 'el-table__expand-column' | ||
| 73 | } | ||
| 74 | } |
src/components/LbTable/lb-column.vue
0 → 100644
| 1 | /* | ||
| 2 | * FileName: lb-column.vue | ||
| 3 | * Remark: element-column | ||
| 4 | * Project: lb-element-table | ||
| 5 | * Author: 任超 | ||
| 6 | * File Created: Tuesday, 19th March 2019 9:58:23 am | ||
| 7 | * Last Modified: Tuesday, 19th March 2019 10:14:42 am | ||
| 8 | * Modified By: 任超 | ||
| 9 | */ | ||
| 10 | |||
| 11 | <template> | ||
| 12 | <el-table-column v-bind="$attrs" | ||
| 13 | v-on="$listeners" | ||
| 14 | :prop="column.prop" | ||
| 15 | :label="column.label" | ||
| 16 | :type="column.type" | ||
| 17 | :index="column.index" | ||
| 18 | :column-key="column.columnKey" | ||
| 19 | :width="column.width" | ||
| 20 | :min-width="column.minWidth" | ||
| 21 | :fixed="column.fixed" | ||
| 22 | :scoped-slot="column.renderHeader" | ||
| 23 | :sortable="column.sortable || false" | ||
| 24 | :sort-method="column.sortMethod" | ||
| 25 | :sort-by="column.sortBy" | ||
| 26 | :sort-orders="column.sortOrders" | ||
| 27 | :resizable="column.resizable || true" | ||
| 28 | :formatter="column.formatter" | ||
| 29 | :show-overflow-tooltip="column.showOverflowTooltip || false" | ||
| 30 | :align="column.align || align || 'center'" | ||
| 31 | :header-align="column.headerAlign || headerAlign || column.align || align || 'center'" | ||
| 32 | :class-name="column.className" | ||
| 33 | :label-class-name="column.labelClassName" | ||
| 34 | :selectable="column.selectable" | ||
| 35 | :reserve-selection="column.reserveSelection || false" | ||
| 36 | :filters="column.filters" | ||
| 37 | :filter-placement="column.filterPlacement" | ||
| 38 | :filter-multiple="column.filterMultiple" | ||
| 39 | :filter-method="column.filterMethod" | ||
| 40 | :filtered-value="column.filteredValue"> | ||
| 41 | <template slot="header" | ||
| 42 | slot-scope="scope"> | ||
| 43 | <lb-render v-if="column.renderHeader" | ||
| 44 | :scope="scope" | ||
| 45 | :render="column.renderHeader"> | ||
| 46 | </lb-render> | ||
| 47 | <span v-else>{{ scope.column.label }}</span> | ||
| 48 | </template> | ||
| 49 | |||
| 50 | <template slot-scope="scope"> | ||
| 51 | <lb-render :scope="scope" | ||
| 52 | :render="column.render"> | ||
| 53 | </lb-render> | ||
| 54 | </template> | ||
| 55 | |||
| 56 | <template v-if="column.children"> | ||
| 57 | <lb-column v-for="(col, index) in column.children" | ||
| 58 | :key="index" | ||
| 59 | :column="col"> | ||
| 60 | </lb-column> | ||
| 61 | </template> | ||
| 62 | </el-table-column> | ||
| 63 | </template> | ||
| 64 | |||
| 65 | <script> | ||
| 66 | import LbRender from './lb-render' | ||
| 67 | import forced from './forced.js' | ||
| 68 | export default { | ||
| 69 | name: 'LbColumn', | ||
| 70 | props: { | ||
| 71 | column: Object, | ||
| 72 | headerAlign: String, | ||
| 73 | align: String | ||
| 74 | }, | ||
| 75 | components: { | ||
| 76 | LbRender | ||
| 77 | }, | ||
| 78 | methods: { | ||
| 79 | setColumn () { | ||
| 80 | if (this.column.type) { | ||
| 81 | this.column.renderHeader = forced[this.column.type].renderHeader | ||
| 82 | this.column.render = this.column.render || forced[this.column.type].renderCell | ||
| 83 | } | ||
| 84 | if (this.column.formatter) { | ||
| 85 | this.column.render = (h, scope) => { | ||
| 86 | return <span>{ scope.column.formatter(scope.row, scope.column, scope.row, scope.$index) }</span> | ||
| 87 | } | ||
| 88 | } | ||
| 89 | if (!this.column.render) { | ||
| 90 | this.column.render = (h, scope) => { | ||
| 91 | return <span>{ scope.row[scope.column.property] }</span> | ||
| 92 | } | ||
| 93 | } | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | watch: { | ||
| 97 | column: { | ||
| 98 | handler () { | ||
| 99 | this.setColumn() | ||
| 100 | }, | ||
| 101 | immediate: true | ||
| 102 | } | ||
| 103 | } | ||
| 104 | } | ||
| 105 | </script> |
src/components/LbTable/lb-render.vue
0 → 100644
| 1 | /* | ||
| 2 | * FileName: lb-render.vue | ||
| 3 | * Remark: 自定义render | ||
| 4 | * Project: lb-element-table | ||
| 5 | * Author: 任超 | ||
| 6 | * File Created: Tuesday, 19th March 2019 10:15:30 am | ||
| 7 | * Last Modified: Tuesday, 19th March 2019 10:15:32 am | ||
| 8 | * Modified By: 任超 | ||
| 9 | */ | ||
| 10 | <script> | ||
| 11 | export default { | ||
| 12 | name: 'LbRender', | ||
| 13 | functional: true, | ||
| 14 | props: { | ||
| 15 | scope: Object, | ||
| 16 | render: Function | ||
| 17 | }, | ||
| 18 | render: (h, ctx) => { | ||
| 19 | return ctx.props.render ? ctx.props.render(h, ctx.props.scope) : '' | ||
| 20 | } | ||
| 21 | } | ||
| 22 | </script> |
src/components/LbTable/lb-table.vue
0 → 100644
| 1 | /* | ||
| 2 | * FileName: lb-table.vue | ||
| 3 | * Remark: element table | ||
| 4 | * Project: lb-element-table | ||
| 5 | * Author: 任超 | ||
| 6 | * File Created: Tuesday, 19th March 2019 9:55:27 am | ||
| 7 | * Last Modified: Tuesday, 19th March 2019 9:55:34 am | ||
| 8 | * Modified By: 任超 | ||
| 9 | */ | ||
| 10 | |||
| 11 | <template> | ||
| 12 | <div :class="['lb-table', customClass]"> | ||
| 13 | <el-table v-if="!heightNumSetting" class="table-fixed" :row-style="{ height: '50px' }" ref="elTable" | ||
| 14 | :border='border' :row-class-name="tableRowClassName" :show-header='showHeader' | ||
| 15 | :header-cell-style="{ background: 'rgb(236, 245, 255)' }" v-bind="$attrs" :height="tableHeight" v-on="$listeners" | ||
| 16 | :data="data" style="width: 100%" :span-method="this.merge ? this.mergeMethod : this.spanMethod"> | ||
| 17 | <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item"> | ||
| 18 | </lb-column> | ||
| 19 | </el-table> | ||
| 20 | |||
| 21 | <el-table v-else ref="elTable" class="table-fixed" :row-style="{ height: '50px' }" :border='border' | ||
| 22 | :row-class-name="tableRowClassName" :show-header='showHeader' | ||
| 23 | :header-cell-style="{ background: 'rgb(236, 245, 255)' }" v-bind="$attrs" :max-height="maxHeight" | ||
| 24 | v-on="$listeners" :data="data" style="width: 100%" :span-method="this.merge ? this.mergeMethod : this.spanMethod"> | ||
| 25 | <lb-column v-bind="$attrs" v-for="(item, index) in column" :key="index" :column="item"> | ||
| 26 | </lb-column> | ||
| 27 | </el-table> | ||
| 28 | |||
| 29 | <br> | ||
| 30 | <el-pagination class="lb-table-pagination" v-if="pagination" v-bind="$attrs" v-on="$listeners" background | ||
| 31 | :page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, next" @current-change="paginationCurrentChange" | ||
| 32 | :style="{ 'margin-top': paginationTop, 'text-align': paginationAlign }"> | ||
| 33 | </el-pagination> | ||
| 34 | </div> | ||
| 35 | </template> | ||
| 36 | |||
| 37 | <script> | ||
| 38 | import LbColumn from './lb-column' | ||
| 39 | export default { | ||
| 40 | props: { | ||
| 41 | column: Array, | ||
| 42 | data: Array, | ||
| 43 | spanMethod: Function, | ||
| 44 | pagination: { | ||
| 45 | type: Boolean, | ||
| 46 | default: true, | ||
| 47 | }, | ||
| 48 | border: { | ||
| 49 | type: Boolean, | ||
| 50 | default: true, | ||
| 51 | }, | ||
| 52 | showHeader: { | ||
| 53 | type: Boolean, | ||
| 54 | default: true, | ||
| 55 | }, | ||
| 56 | paginationTop: { | ||
| 57 | type: String, | ||
| 58 | default: '0', | ||
| 59 | }, | ||
| 60 | heightNum: { | ||
| 61 | type: Number, | ||
| 62 | default: 265, | ||
| 63 | }, | ||
| 64 | maxHeight: { | ||
| 65 | type: Number, | ||
| 66 | default: 500 | ||
| 67 | }, | ||
| 68 | heightNumSetting: { | ||
| 69 | type: Boolean, | ||
| 70 | default: false, | ||
| 71 | }, | ||
| 72 | customClass: { | ||
| 73 | type: String, | ||
| 74 | default: '', | ||
| 75 | }, | ||
| 76 | paginationAlign: { | ||
| 77 | type: String, | ||
| 78 | default: 'left', | ||
| 79 | }, | ||
| 80 | merge: Array, | ||
| 81 | }, | ||
| 82 | components: { | ||
| 83 | LbColumn, | ||
| 84 | }, | ||
| 85 | data () { | ||
| 86 | return { | ||
| 87 | tableHeight: '', | ||
| 88 | mergeLine: {}, | ||
| 89 | mergeIndex: {}, | ||
| 90 | } | ||
| 91 | }, | ||
| 92 | created () { | ||
| 93 | this.getMergeArr(this.data, this.merge) | ||
| 94 | this.getHeight() | ||
| 95 | }, | ||
| 96 | computed: { | ||
| 97 | dataLength () { | ||
| 98 | return [] || this.data.length | ||
| 99 | }, | ||
| 100 | }, | ||
| 101 | methods: { | ||
| 102 | tableRowClassName ({ row, rowIndex }) { | ||
| 103 | if (rowIndex % 2 === 1) { | ||
| 104 | return 'interlaced'; | ||
| 105 | } | ||
| 106 | }, | ||
| 107 | getHeight () { | ||
| 108 | if (!this.heightNumSetting) { | ||
| 109 | this.tableHeight = window.innerHeight - this.heightNum | ||
| 110 | } | ||
| 111 | }, | ||
| 112 | clearSelection () { | ||
| 113 | this.$refs.elTable.clearSelection() | ||
| 114 | }, | ||
| 115 | toggleRowSelection (row, selected) { | ||
| 116 | this.$refs.elTable.toggleRowSelection(row, selected) | ||
| 117 | }, | ||
| 118 | toggleAllSelection () { | ||
| 119 | this.$refs.elTable.toggleAllSelection() | ||
| 120 | }, | ||
| 121 | toggleRowExpansion (row, expanded) { | ||
| 122 | this.$refs.elTable.toggleRowExpansion(row, expanded) | ||
| 123 | }, | ||
| 124 | setCurrentRow (row) { | ||
| 125 | this.$refs.elTable.setCurrentRow(row) | ||
| 126 | }, | ||
| 127 | clearSort () { | ||
| 128 | this.$refs.elTable.clearSort() | ||
| 129 | }, | ||
| 130 | clearFilter (columnKey) { | ||
| 131 | this.$refs.elTable.clearFilter(columnKey) | ||
| 132 | }, | ||
| 133 | doLayout () { | ||
| 134 | this.$refs.elTable.doLayout() | ||
| 135 | }, | ||
| 136 | sort (prop, order) { | ||
| 137 | this.$refs.elTable.sort(prop, order) | ||
| 138 | }, | ||
| 139 | paginationCurrentChange (val) { | ||
| 140 | this.$emit('p-current-change', val) | ||
| 141 | }, | ||
| 142 | getMergeArr (tableData, merge) { | ||
| 143 | if (!merge) return | ||
| 144 | this.mergeLine = {} | ||
| 145 | this.mergeIndex = {} | ||
| 146 | merge.forEach((item, k) => { | ||
| 147 | tableData.forEach((data, i) => { | ||
| 148 | if (i === 0) { | ||
| 149 | this.mergeIndex[item] = this.mergeIndex[item] || [] | ||
| 150 | this.mergeIndex[item].push(1) | ||
| 151 | this.mergeLine[item] = 0 | ||
| 152 | } else { | ||
| 153 | if (data[item] === tableData[i - 1][item]) { | ||
| 154 | this.mergeIndex[item][this.mergeLine[item]] += 1 | ||
| 155 | this.mergeIndex[item].push(0) | ||
| 156 | } else { | ||
| 157 | this.mergeIndex[item].push(1) | ||
| 158 | this.mergeLine[item] = i | ||
| 159 | } | ||
| 160 | } | ||
| 161 | }) | ||
| 162 | }) | ||
| 163 | }, | ||
| 164 | mergeMethod ({ row, column, rowIndex, columnIndex }) { | ||
| 165 | const index = this.merge.indexOf(column.property) | ||
| 166 | if (index > -1) { | ||
| 167 | const _row = this.mergeIndex[this.merge[index]][rowIndex] | ||
| 168 | const _col = _row > 0 ? 1 : 0 | ||
| 169 | return { | ||
| 170 | rowspan: _row, | ||
| 171 | colspan: _col, | ||
| 172 | } | ||
| 173 | } | ||
| 174 | }, | ||
| 175 | }, | ||
| 176 | watch: { | ||
| 177 | merge () { | ||
| 178 | this.getMergeArr(this.data, this.merge) | ||
| 179 | }, | ||
| 180 | dataLength () { | ||
| 181 | this.getMergeArr(this.data, this.merge) | ||
| 182 | } | ||
| 183 | }, | ||
| 184 | } | ||
| 185 | </script> | ||
| 186 | <style rel="stylesheet/scss" scoped lang="scss"> | ||
| 187 | .lb-table { | ||
| 188 | margin-top: 1px; | ||
| 189 | |||
| 190 | .interlaced { | ||
| 191 | background: #fafcff; | ||
| 192 | border: 1px solid #ebf2fa; | ||
| 193 | } | ||
| 194 | } | ||
| 195 | |||
| 196 | /deep/.el-table .cell { | ||
| 197 | padding-left: 3px; | ||
| 198 | padding-right: 3px; | ||
| 199 | } | ||
| 200 | </style> |
src/components/LbTable/redeme.md
0 → 100644
src/components/Loading/index.js
0 → 100644
src/components/Loading/src/index.js
0 → 100644
| 1 | import Vue from 'vue'; | ||
| 2 | import loadingVue from './loading.vue'; | ||
| 3 | import { addClass, removeClass, getStyle } from 'element-ui/src/utils/dom'; | ||
| 4 | import { PopupManager } from 'element-ui/src/utils/popup'; | ||
| 5 | import afterLeave from 'element-ui/src/utils/after-leave'; | ||
| 6 | import merge from 'element-ui/src/utils/merge'; | ||
| 7 | |||
| 8 | const LoadingConstructor = Vue.extend(loadingVue); | ||
| 9 | |||
| 10 | const defaults = { | ||
| 11 | text: null, | ||
| 12 | fullscreen: true, | ||
| 13 | body: false, | ||
| 14 | lock: false, | ||
| 15 | customClass: '' | ||
| 16 | }; | ||
| 17 | |||
| 18 | let fullscreenLoading; | ||
| 19 | |||
| 20 | LoadingConstructor.prototype.originalPosition = ''; | ||
| 21 | LoadingConstructor.prototype.originalOverflow = ''; | ||
| 22 | |||
| 23 | LoadingConstructor.prototype.close = function() { | ||
| 24 | if (this.fullscreen) { | ||
| 25 | fullscreenLoading = undefined; | ||
| 26 | } | ||
| 27 | afterLeave(this, _ => { | ||
| 28 | const target = this.fullscreen || this.body | ||
| 29 | ? document.body | ||
| 30 | : this.target; | ||
| 31 | removeClass(target, 'el-loading-parent--relative'); | ||
| 32 | removeClass(target, 'el-loading-parent--hidden'); | ||
| 33 | if (this.$el && this.$el.parentNode) { | ||
| 34 | this.$el.parentNode.removeChild(this.$el); | ||
| 35 | } | ||
| 36 | this.$destroy(); | ||
| 37 | }, 300); | ||
| 38 | this.visible = false; | ||
| 39 | }; | ||
| 40 | |||
| 41 | const addStyle = (options, parent, instance) => { | ||
| 42 | let maskStyle = {}; | ||
| 43 | if (options.fullscreen) { | ||
| 44 | instance.originalPosition = getStyle(document.body, 'position'); | ||
| 45 | instance.originalOverflow = getStyle(document.body, 'overflow'); | ||
| 46 | maskStyle.zIndex = PopupManager.nextZIndex(); | ||
| 47 | } else if (options.body) { | ||
| 48 | instance.originalPosition = getStyle(document.body, 'position'); | ||
| 49 | ['top', 'left'].forEach(property => { | ||
| 50 | let scroll = property === 'top' ? 'scrollTop' : 'scrollLeft'; | ||
| 51 | maskStyle[property] = options.target.getBoundingClientRect()[property] + | ||
| 52 | document.body[scroll] + | ||
| 53 | document.documentElement[scroll] + | ||
| 54 | 'px'; | ||
| 55 | }); | ||
| 56 | ['height', 'width'].forEach(property => { | ||
| 57 | maskStyle[property] = options.target.getBoundingClientRect()[property] + 'px'; | ||
| 58 | }); | ||
| 59 | } else { | ||
| 60 | instance.originalPosition = getStyle(parent, 'position'); | ||
| 61 | } | ||
| 62 | Object.keys(maskStyle).forEach(property => { | ||
| 63 | instance.$el.style[property] = maskStyle[property]; | ||
| 64 | }); | ||
| 65 | }; | ||
| 66 | |||
| 67 | const Loading = (options = {}) => { | ||
| 68 | if (Vue.prototype.$isServer) return; | ||
| 69 | options = merge({}, defaults, options); | ||
| 70 | if (typeof options.target === 'string') { | ||
| 71 | options.target = document.querySelector(options.target); | ||
| 72 | } | ||
| 73 | options.target = options.target || document.body; | ||
| 74 | if (options.target !== document.body) { | ||
| 75 | options.fullscreen = false; | ||
| 76 | } else { | ||
| 77 | options.body = true; | ||
| 78 | } | ||
| 79 | if (options.fullscreen && fullscreenLoading) { | ||
| 80 | return fullscreenLoading; | ||
| 81 | } | ||
| 82 | |||
| 83 | let parent = options.body ? document.body : options.target; | ||
| 84 | let instance = new LoadingConstructor({ | ||
| 85 | el: document.createElement('div'), | ||
| 86 | data: options | ||
| 87 | }); | ||
| 88 | |||
| 89 | addStyle(options, parent, instance); | ||
| 90 | if (instance.originalPosition !== 'absolute' && instance.originalPosition !== 'fixed' && instance.originalPosition !== 'sticky') { | ||
| 91 | addClass(parent, 'el-loading-parent--relative'); | ||
| 92 | } | ||
| 93 | if (options.fullscreen && options.lock) { | ||
| 94 | addClass(parent, 'el-loading-parent--hidden'); | ||
| 95 | } | ||
| 96 | parent.appendChild(instance.$el); | ||
| 97 | Vue.nextTick(() => { | ||
| 98 | instance.visible = true; | ||
| 99 | }); | ||
| 100 | if (options.fullscreen) { | ||
| 101 | fullscreenLoading = instance; | ||
| 102 | } | ||
| 103 | return instance; | ||
| 104 | }; | ||
| 105 | |||
| 106 | export default Loading; |
src/components/Loading/src/loading.vue
0 → 100644
| 1 | <template> | ||
| 2 | <transition name="el-loading-fade" @after-leave="handleAfterLeave"> | ||
| 3 | <div v-show="visible" class="el-loading-mask" :style="{ backgroundColor: background || '' }" | ||
| 4 | :class="[customClass, { 'is-fullscreen': fullscreen }]"> | ||
| 5 | <div class="el-loading-spinner"> | ||
| 6 | <!-- <svg v-if="!spinner" class="circular" viewBox="25 25 50 50"> | ||
| 7 | <circle class="path" cx="50" cy="50" r="20" fill="none" /> | ||
| 8 | </svg> | ||
| 9 | <i v-else :class="spinner"></i> --> | ||
| 10 | <img class="img" src="../../../image/progress.gif" alt=""> | ||
| 11 | <p v-if="text" class="el-loading-text">{{ text }}</p> | ||
| 12 | </div> | ||
| 13 | </div> | ||
| 14 | </transition> | ||
| 15 | </template> | ||
| 16 | |||
| 17 | <script> | ||
| 18 | export default { | ||
| 19 | data () { | ||
| 20 | return { | ||
| 21 | text: null, | ||
| 22 | spinner: null, | ||
| 23 | background: null, | ||
| 24 | fullscreen: true, | ||
| 25 | visible: false, | ||
| 26 | customClass: '' | ||
| 27 | }; | ||
| 28 | }, | ||
| 29 | |||
| 30 | methods: { | ||
| 31 | handleAfterLeave () { | ||
| 32 | this.$emit('after-leave'); | ||
| 33 | }, | ||
| 34 | setText (text) { | ||
| 35 | this.text = text; | ||
| 36 | } | ||
| 37 | } | ||
| 38 | }; | ||
| 39 | </script> | ||
| 40 | <style scoped lang="scss"> | ||
| 41 | .el-loading-spinner { | ||
| 42 | margin-top: -100px !important; | ||
| 43 | |||
| 44 | .img { | ||
| 45 | width: 80px; | ||
| 46 | height: 80px; | ||
| 47 | } | ||
| 48 | } | ||
| 49 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/MessageBox/index.js
0 → 100644
src/components/MessageBox/src/main.js
0 → 100644
| 1 | const defaults = { | ||
| 2 | title: null, | ||
| 3 | message: '', | ||
| 4 | type: '', | ||
| 5 | iconClass: '', | ||
| 6 | showInput: false, | ||
| 7 | showClose: true, | ||
| 8 | modalFade: true, | ||
| 9 | lockScroll: true, | ||
| 10 | closeOnClickModal: true, | ||
| 11 | closeOnPressEscape: true, | ||
| 12 | closeOnHashChange: true, | ||
| 13 | inputValue: null, | ||
| 14 | inputPlaceholder: '', | ||
| 15 | inputType: 'text', | ||
| 16 | inputPattern: null, | ||
| 17 | inputValidator: null, | ||
| 18 | inputErrorMessage: '', | ||
| 19 | showConfirmButton: true, | ||
| 20 | showCancelButton: false, | ||
| 21 | confirmButtonPosition: 'right', | ||
| 22 | confirmButtonHighlight: false, | ||
| 23 | cancelButtonHighlight: false, | ||
| 24 | confirmButtonText: '', | ||
| 25 | cancelButtonText: '', | ||
| 26 | confirmButtonClass: '', | ||
| 27 | cancelButtonClass: '', | ||
| 28 | customClass: '', | ||
| 29 | beforeClose: null, | ||
| 30 | dangerouslyUseHTMLString: false, | ||
| 31 | center: false, | ||
| 32 | roundButton: false, | ||
| 33 | distinguishCancelAndClose: false | ||
| 34 | }; | ||
| 35 | |||
| 36 | import Vue from 'vue'; | ||
| 37 | import msgboxVue from './main.vue'; | ||
| 38 | import merge from 'element-ui/src/utils/merge'; | ||
| 39 | import { isVNode } from 'element-ui/src/utils/vdom'; | ||
| 40 | |||
| 41 | const MessageBoxConstructor = Vue.extend(msgboxVue); | ||
| 42 | |||
| 43 | let currentMsg, instance; | ||
| 44 | let msgQueue = []; | ||
| 45 | |||
| 46 | const defaultCallback = action => { | ||
| 47 | if (currentMsg) { | ||
| 48 | let callback = currentMsg.callback; | ||
| 49 | if (typeof callback === 'function') { | ||
| 50 | if (instance.showInput) { | ||
| 51 | callback(instance.inputValue, action); | ||
| 52 | } else { | ||
| 53 | callback(action); | ||
| 54 | } | ||
| 55 | } | ||
| 56 | if (currentMsg.resolve) { | ||
| 57 | if (action === 'confirm') { | ||
| 58 | if (instance.showInput) { | ||
| 59 | currentMsg.resolve({ value: instance.inputValue, action }); | ||
| 60 | } else { | ||
| 61 | currentMsg.resolve(action); | ||
| 62 | } | ||
| 63 | } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) { | ||
| 64 | currentMsg.reject(action); | ||
| 65 | } | ||
| 66 | } | ||
| 67 | } | ||
| 68 | }; | ||
| 69 | |||
| 70 | const initInstance = () => { | ||
| 71 | instance = new MessageBoxConstructor({ | ||
| 72 | el: document.createElement('div') | ||
| 73 | }); | ||
| 74 | |||
| 75 | instance.callback = defaultCallback; | ||
| 76 | }; | ||
| 77 | |||
| 78 | const showNextMsg = () => { | ||
| 79 | if (!instance) { | ||
| 80 | initInstance(); | ||
| 81 | } | ||
| 82 | instance.action = ''; | ||
| 83 | |||
| 84 | if (!instance.visible || instance.closeTimer) { | ||
| 85 | if (msgQueue.length > 0) { | ||
| 86 | currentMsg = msgQueue.shift(); | ||
| 87 | |||
| 88 | let options = currentMsg.options; | ||
| 89 | for (let prop in options) { | ||
| 90 | if (options.hasOwnProperty(prop)) { | ||
| 91 | instance[prop] = options[prop]; | ||
| 92 | } | ||
| 93 | } | ||
| 94 | if (options.callback === undefined) { | ||
| 95 | instance.callback = defaultCallback; | ||
| 96 | } | ||
| 97 | |||
| 98 | let oldCb = instance.callback; | ||
| 99 | instance.callback = (action, instance) => { | ||
| 100 | oldCb(action, instance); | ||
| 101 | showNextMsg(); | ||
| 102 | }; | ||
| 103 | if (isVNode(instance.message)) { | ||
| 104 | instance.$slots.default = [instance.message]; | ||
| 105 | instance.message = null; | ||
| 106 | } else { | ||
| 107 | delete instance.$slots.default; | ||
| 108 | } | ||
| 109 | ['modal', 'showClose', 'closeOnClickModal', 'closeOnPressEscape', 'closeOnHashChange'].forEach(prop => { | ||
| 110 | if (instance[prop] === undefined) { | ||
| 111 | instance[prop] = true; | ||
| 112 | } | ||
| 113 | }); | ||
| 114 | document.body.appendChild(instance.$el); | ||
| 115 | |||
| 116 | Vue.nextTick(() => { | ||
| 117 | instance.visible = true; | ||
| 118 | }); | ||
| 119 | } | ||
| 120 | } | ||
| 121 | }; | ||
| 122 | |||
| 123 | const MessageBox = function(options, callback) { | ||
| 124 | if (Vue.prototype.$isServer) return; | ||
| 125 | if (typeof options === 'string' || isVNode(options)) { | ||
| 126 | options = { | ||
| 127 | message: options | ||
| 128 | }; | ||
| 129 | if (typeof arguments[1] === 'string') { | ||
| 130 | options.title = arguments[1]; | ||
| 131 | } | ||
| 132 | } else if (options.callback && !callback) { | ||
| 133 | callback = options.callback; | ||
| 134 | } | ||
| 135 | |||
| 136 | if (typeof Promise !== 'undefined') { | ||
| 137 | return new Promise((resolve, reject) => { // eslint-disable-line | ||
| 138 | msgQueue.push({ | ||
| 139 | options: merge({}, defaults, MessageBox.defaults, options), | ||
| 140 | callback: callback, | ||
| 141 | resolve: resolve, | ||
| 142 | reject: reject | ||
| 143 | }); | ||
| 144 | |||
| 145 | showNextMsg(); | ||
| 146 | }); | ||
| 147 | } else { | ||
| 148 | msgQueue.push({ | ||
| 149 | options: merge({}, defaults, MessageBox.defaults, options), | ||
| 150 | callback: callback | ||
| 151 | }); | ||
| 152 | |||
| 153 | showNextMsg(); | ||
| 154 | } | ||
| 155 | }; | ||
| 156 | |||
| 157 | MessageBox.setDefaults = defaults => { | ||
| 158 | MessageBox.defaults = defaults; | ||
| 159 | }; | ||
| 160 | |||
| 161 | MessageBox.alert = (message, title, options) => { | ||
| 162 | if (typeof title === 'object') { | ||
| 163 | options = title; | ||
| 164 | title = ''; | ||
| 165 | } else if (title === undefined) { | ||
| 166 | title = ''; | ||
| 167 | } | ||
| 168 | return MessageBox(merge({ | ||
| 169 | title: title, | ||
| 170 | message: message, | ||
| 171 | $type: 'alert', | ||
| 172 | closeOnPressEscape: false, | ||
| 173 | closeOnClickModal: false | ||
| 174 | }, options)); | ||
| 175 | }; | ||
| 176 | |||
| 177 | MessageBox.close = () => { | ||
| 178 | instance.doClose(); | ||
| 179 | instance.visible = false; | ||
| 180 | msgQueue = []; | ||
| 181 | currentMsg = null; | ||
| 182 | }; | ||
| 183 | |||
| 184 | export default MessageBox; | ||
| 185 | export { MessageBox }; |
src/components/MessageBox/src/main.vue
0 → 100644
| 1 | <template> | ||
| 2 | <transition name="msgbox-fade"> | ||
| 3 | <div class="el-message-box__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClick" role="dialog" | ||
| 4 | aria-modal="true" :aria-label="title || 'dialog'"> | ||
| 5 | <div class="el-message-box" :class="[customClass, center && 'el-message-box--center']"> | ||
| 6 | <div class="el-message-box__header" v-if="title !== null"> | ||
| 7 | <div class="el-message-box__title"> | ||
| 8 | <div :class="['el-message-box__status', icon]" v-if="icon && center"> | ||
| 9 | </div> | ||
| 10 | <span>{{ title }}</span> | ||
| 11 | </div> | ||
| 12 | <button type="button" class="el-message-box__headerbtn" aria-label="Close" v-if="showClose" | ||
| 13 | @click="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')" | ||
| 14 | @keydown.enter="handleAction(distinguishCancelAndClose ? 'close' : 'cancel')"> | ||
| 15 | <i class="el-message-box__close el-icon-close"></i> | ||
| 16 | </button> | ||
| 17 | </div> | ||
| 18 | <div class="el-message-box__content"> | ||
| 19 | <div class="el-message-box__message" v-if="message !== ''"> | ||
| 20 | <slot> | ||
| 21 | <p>{{ message }}</p> | ||
| 22 | </slot> | ||
| 23 | </div> | ||
| 24 | </div> | ||
| 25 | </div> | ||
| 26 | </div> | ||
| 27 | </transition> | ||
| 28 | </template> | ||
| 29 | |||
| 30 | <script type="text/babel"> | ||
| 31 | import Popup from 'element-ui/src/utils/popup'; | ||
| 32 | import Locale from 'element-ui/src/mixins/locale'; | ||
| 33 | import { addClass, removeClass } from 'element-ui/src/utils/dom'; | ||
| 34 | import { t } from 'element-ui/src/locale'; | ||
| 35 | import Dialog from 'element-ui/src/utils/aria-dialog'; | ||
| 36 | |||
| 37 | let messageBox; | ||
| 38 | let typeMap = { | ||
| 39 | success: 'success', | ||
| 40 | info: 'info', | ||
| 41 | warning: 'warning', | ||
| 42 | error: 'error' | ||
| 43 | }; | ||
| 44 | |||
| 45 | export default { | ||
| 46 | mixins: [Popup, Locale], | ||
| 47 | |||
| 48 | props: { | ||
| 49 | modal: { | ||
| 50 | default: true | ||
| 51 | }, | ||
| 52 | lockScroll: { | ||
| 53 | default: true | ||
| 54 | }, | ||
| 55 | showClose: { | ||
| 56 | type: Boolean, | ||
| 57 | default: true | ||
| 58 | }, | ||
| 59 | closeOnClickModal: { | ||
| 60 | default: true | ||
| 61 | }, | ||
| 62 | closeOnPressEscape: { | ||
| 63 | default: true | ||
| 64 | }, | ||
| 65 | closeOnHashChange: { | ||
| 66 | default: true | ||
| 67 | }, | ||
| 68 | center: { | ||
| 69 | default: false, | ||
| 70 | type: Boolean | ||
| 71 | }, | ||
| 72 | roundButton: { | ||
| 73 | default: false, | ||
| 74 | type: Boolean | ||
| 75 | } | ||
| 76 | }, | ||
| 77 | computed: { | ||
| 78 | icon () { | ||
| 79 | const { type, iconClass } = this; | ||
| 80 | return iconClass || (type && typeMap[type] ? `el-icon-${typeMap[type]}` : ''); | ||
| 81 | }, | ||
| 82 | |||
| 83 | confirmButtonClasses () { | ||
| 84 | return `el-button--primary ${this.confirmButtonClass}`; | ||
| 85 | }, | ||
| 86 | cancelButtonClasses () { | ||
| 87 | return `${this.cancelButtonClass}`; | ||
| 88 | } | ||
| 89 | }, | ||
| 90 | |||
| 91 | methods: { | ||
| 92 | getSafeClose () { | ||
| 93 | const currentId = this.uid; | ||
| 94 | return () => { | ||
| 95 | this.$nextTick(() => { | ||
| 96 | if (currentId === this.uid) this.doClose(); | ||
| 97 | }); | ||
| 98 | }; | ||
| 99 | }, | ||
| 100 | doClose () { | ||
| 101 | if (!this.visible) return; | ||
| 102 | this.visible = false; | ||
| 103 | this._closing = true; | ||
| 104 | |||
| 105 | this.onClose && this.onClose(); | ||
| 106 | messageBox.closeDialog(); // 解绑 | ||
| 107 | if (this.lockScroll) { | ||
| 108 | setTimeout(this.restoreBodyStyle, 200); | ||
| 109 | } | ||
| 110 | this.opened = false; | ||
| 111 | this.doAfterClose(); | ||
| 112 | setTimeout(() => { | ||
| 113 | if (this.action) this.callback(this.action, this); | ||
| 114 | }); | ||
| 115 | }, | ||
| 116 | |||
| 117 | handleWrapperClick () { | ||
| 118 | if (this.closeOnClickModal) { | ||
| 119 | this.handleAction(this.distinguishCancelAndClose ? 'close' : 'cancel'); | ||
| 120 | } | ||
| 121 | }, | ||
| 122 | |||
| 123 | handleInputEnter () { | ||
| 124 | if (this.inputType !== 'textarea') { | ||
| 125 | return this.handleAction('confirm'); | ||
| 126 | } | ||
| 127 | }, | ||
| 128 | |||
| 129 | handleAction (action) { | ||
| 130 | if (this.$type === 'prompt' && action === 'confirm' && !this.validate()) { | ||
| 131 | return; | ||
| 132 | } | ||
| 133 | this.action = action; | ||
| 134 | if (typeof this.beforeClose === 'function') { | ||
| 135 | this.close = this.getSafeClose(); | ||
| 136 | this.beforeClose(action, this, this.close); | ||
| 137 | } else { | ||
| 138 | this.doClose(); | ||
| 139 | } | ||
| 140 | }, | ||
| 141 | |||
| 142 | validate () { | ||
| 143 | if (this.$type === 'prompt') { | ||
| 144 | const inputPattern = this.inputPattern; | ||
| 145 | if (inputPattern && !inputPattern.test(this.inputValue || '')) { | ||
| 146 | this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); | ||
| 147 | addClass(this.getInputElement(), 'invalid'); | ||
| 148 | return false; | ||
| 149 | } | ||
| 150 | const inputValidator = this.inputValidator; | ||
| 151 | if (typeof inputValidator === 'function') { | ||
| 152 | const validateResult = inputValidator(this.inputValue); | ||
| 153 | if (validateResult === false) { | ||
| 154 | this.editorErrorMessage = this.inputErrorMessage || t('el.messagebox.error'); | ||
| 155 | addClass(this.getInputElement(), 'invalid'); | ||
| 156 | return false; | ||
| 157 | } | ||
| 158 | if (typeof validateResult === 'string') { | ||
| 159 | this.editorErrorMessage = validateResult; | ||
| 160 | addClass(this.getInputElement(), 'invalid'); | ||
| 161 | return false; | ||
| 162 | } | ||
| 163 | } | ||
| 164 | } | ||
| 165 | this.editorErrorMessage = ''; | ||
| 166 | removeClass(this.getInputElement(), 'invalid'); | ||
| 167 | return true; | ||
| 168 | }, | ||
| 169 | getFirstFocus () { | ||
| 170 | const btn = this.$el.querySelector('.el-message-box__btns .el-button'); | ||
| 171 | const title = this.$el.querySelector('.el-message-box__btns .el-message-box__title'); | ||
| 172 | return btn || title; | ||
| 173 | }, | ||
| 174 | getInputElement () { | ||
| 175 | const inputRefs = this.$refs.input.$refs; | ||
| 176 | return inputRefs.input || inputRefs.textarea; | ||
| 177 | }, | ||
| 178 | handleClose () { | ||
| 179 | this.handleAction('close'); | ||
| 180 | } | ||
| 181 | }, | ||
| 182 | |||
| 183 | watch: { | ||
| 184 | inputValue: { | ||
| 185 | immediate: true, | ||
| 186 | handler (val) { | ||
| 187 | this.$nextTick(_ => { | ||
| 188 | if (this.$type === 'prompt' && val !== null) { | ||
| 189 | this.validate(); | ||
| 190 | } | ||
| 191 | }); | ||
| 192 | } | ||
| 193 | }, | ||
| 194 | |||
| 195 | visible (val) { | ||
| 196 | if (val) { | ||
| 197 | this.uid++; | ||
| 198 | if (this.$type === 'alert' || this.$type === 'confirm') { | ||
| 199 | this.$nextTick(() => { | ||
| 200 | this.$refs.confirm.$el.focus(); | ||
| 201 | }); | ||
| 202 | } | ||
| 203 | this.focusAfterClosed = document.activeElement; | ||
| 204 | messageBox = new Dialog(this.$el, this.focusAfterClosed, this.getFirstFocus()); | ||
| 205 | } | ||
| 206 | |||
| 207 | // prompt | ||
| 208 | if (this.$type !== 'prompt') return; | ||
| 209 | if (val) { | ||
| 210 | setTimeout(() => { | ||
| 211 | if (this.$refs.input && this.$refs.input.$el) { | ||
| 212 | this.getInputElement().focus(); | ||
| 213 | } | ||
| 214 | }, 500); | ||
| 215 | } else { | ||
| 216 | this.editorErrorMessage = ''; | ||
| 217 | removeClass(this.getInputElement(), 'invalid'); | ||
| 218 | } | ||
| 219 | } | ||
| 220 | }, | ||
| 221 | |||
| 222 | mounted () { | ||
| 223 | this.$nextTick(() => { | ||
| 224 | if (this.closeOnHashChange) { | ||
| 225 | window.addEventListener('hashchange', this.close); | ||
| 226 | } | ||
| 227 | }); | ||
| 228 | }, | ||
| 229 | |||
| 230 | beforeDestroy () { | ||
| 231 | if (this.closeOnHashChange) { | ||
| 232 | window.removeEventListener('hashchange', this.close); | ||
| 233 | } | ||
| 234 | setTimeout(() => { | ||
| 235 | messageBox.closeDialog(); | ||
| 236 | }); | ||
| 237 | }, | ||
| 238 | |||
| 239 | data () { | ||
| 240 | return { | ||
| 241 | uid: 1, | ||
| 242 | title: undefined, | ||
| 243 | message: '', | ||
| 244 | type: '', | ||
| 245 | iconClass: '', | ||
| 246 | customClass: '', | ||
| 247 | showInput: false, | ||
| 248 | inputValue: null, | ||
| 249 | inputPlaceholder: '', | ||
| 250 | inputType: 'text', | ||
| 251 | inputPattern: null, | ||
| 252 | inputValidator: null, | ||
| 253 | inputErrorMessage: '', | ||
| 254 | showConfirmButton: true, | ||
| 255 | showCancelButton: false, | ||
| 256 | action: '', | ||
| 257 | confirmButtonText: '', | ||
| 258 | cancelButtonText: '', | ||
| 259 | confirmButtonLoading: false, | ||
| 260 | cancelButtonLoading: false, | ||
| 261 | confirmButtonClass: '', | ||
| 262 | confirmButtonDisabled: false, | ||
| 263 | cancelButtonClass: '', | ||
| 264 | editorErrorMessage: null, | ||
| 265 | callback: null, | ||
| 266 | dangerouslyUseHTMLString: false, | ||
| 267 | focusAfterClosed: null, | ||
| 268 | isOnComposition: false, | ||
| 269 | distinguishCancelAndClose: false | ||
| 270 | }; | ||
| 271 | } | ||
| 272 | }; | ||
| 273 | </script> |
src/components/NoticeBar/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="my-outbox"> | ||
| 3 | <div class="my-inbox" ref='box'> | ||
| 4 | <div class="my-list" :style="note" v-for="(item,index) in sendVal" :key='index' ref='list'> | ||
| 5 | <span class="my-uname">{{ item }}</span> | ||
| 6 | </div> | ||
| 7 | </div> | ||
| 8 | </div> | ||
| 9 | </template> | ||
| 10 | |||
| 11 | <script> | ||
| 12 | export default { | ||
| 13 | name: 'my-marquee-left', | ||
| 14 | props: { | ||
| 15 | sendVal: { | ||
| 16 | type: Array, | ||
| 17 | default: [] | ||
| 18 | } | ||
| 19 | }, | ||
| 20 | data () { | ||
| 21 | return { | ||
| 22 | note: { | ||
| 23 | backgroundSize: "20px 20px", | ||
| 24 | backgroundRepeat: "no-repeat", | ||
| 25 | backgroundPosition: "1% 50%" | ||
| 26 | }, | ||
| 27 | // 定时器标识 | ||
| 28 | nowTime: null, | ||
| 29 | // 每一个内容的宽度 | ||
| 30 | disArr: [] | ||
| 31 | } | ||
| 32 | }, | ||
| 33 | mounted () { | ||
| 34 | // var that = this | ||
| 35 | var item = this.$refs.list | ||
| 36 | var len = this.sendVal.length | ||
| 37 | var arr = [] | ||
| 38 | // 因为设置的margin值一样,所以取第一个就行。 | ||
| 39 | var margin = this.getMargin(item[0]) | ||
| 40 | for (var i = 0; i < len; i++) { | ||
| 41 | arr.push(item[i].clientWidth + margin) // 把宽度和 margin 加起来就是每一个元素需要移动的距离 | ||
| 42 | } | ||
| 43 | this.disArr = arr | ||
| 44 | this.moveLeft() | ||
| 45 | }, | ||
| 46 | beforeDestroy () { | ||
| 47 | // 页面关闭清除定时器 | ||
| 48 | clearInterval(this.nowTime) | ||
| 49 | // 清除定时器标识 | ||
| 50 | this.nowTime = null | ||
| 51 | }, | ||
| 52 | methods: { | ||
| 53 | // 获取margin属性 | ||
| 54 | getMargin (obj) { | ||
| 55 | var marg = window.getComputedStyle(obj, null)['margin-right'] | ||
| 56 | marg = marg.replace('px', '') | ||
| 57 | return Number(marg) // 强制转化成数字 | ||
| 58 | }, | ||
| 59 | // 移动的方法 | ||
| 60 | moveLeft () { | ||
| 61 | var that = this | ||
| 62 | var outbox = this.$refs.box | ||
| 63 | // 初始位置 | ||
| 64 | var startDis = 0 | ||
| 65 | // console.log('that.disArr: ', that.disArr) | ||
| 66 | this.nowTime = setInterval(function () { | ||
| 67 | startDis -= 0.5 | ||
| 68 | // console.log('初始化移动:', startDis) | ||
| 69 | if (Math.abs(startDis) > Math.abs(that.disArr[0])) { | ||
| 70 | // 每次移动完一个元素的距离,就把这个元素的宽度 | ||
| 71 | that.disArr.push(that.disArr.shift()) | ||
| 72 | // 每次移动完一个元素的距离,就把列表数据的第一项放到最后一项 | ||
| 73 | // console.log('that.sendVal: ', that.sendVal) | ||
| 74 | // console.log('that.sendVal: ', that.sendVal.shift()) | ||
| 75 | that.sendVal.push(that.sendVal.shift()) | ||
| 76 | startDis = 0 | ||
| 77 | // console.log('移动') | ||
| 78 | } else { | ||
| 79 | // console.log('不来不来就不来...') | ||
| 80 | } | ||
| 81 | // 每次都让盒子移动指定的距离,在我自己做的项目中,这种字符串拼接的方法并没有生效 | ||
| 82 | // outbox.style = 'transform: translateX3d(' + startDis + 'px)' | ||
| 83 | // 后面换了es6的模板字符串就可以了 | ||
| 84 | outbox.style = `transform: translateX(${startDis}px)` | ||
| 85 | // outbox.style = 'transform: translateX(\' + startDis + \' px)' | ||
| 86 | // outbox.style.marginLeft = 'startDis' | ||
| 87 | // console.log('这里:', startDis) | ||
| 88 | }, 1000 / 60) | ||
| 89 | } | ||
| 90 | } | ||
| 91 | } | ||
| 92 | </script> | ||
| 93 | |||
| 94 | <style lang="scss" scoped> | ||
| 95 | .my-outbox { | ||
| 96 | color: #fff; | ||
| 97 | overflow: hidden; | ||
| 98 | line-height: 28px; | ||
| 99 | background: rgba(0, 0, 0, 0.1); | ||
| 100 | width: 100%; | ||
| 101 | |||
| 102 | .my-inbox { | ||
| 103 | white-space: nowrap; | ||
| 104 | |||
| 105 | .my-list { | ||
| 106 | margin-right: 15px; | ||
| 107 | display: inline-block; | ||
| 108 | font-size: 14px; | ||
| 109 | text-indent: 30px; | ||
| 110 | |||
| 111 | .my-uname { | ||
| 112 | color: red; | ||
| 113 | } | ||
| 114 | } | ||
| 115 | } | ||
| 116 | } | ||
| 117 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -107,7 +107,7 @@ export default { | ... | @@ -107,7 +107,7 @@ export default { |
| 107 | .ls-mask { | 107 | .ls-mask { |
| 108 | width: 100%; | 108 | width: 100%; |
| 109 | height: 100%; | 109 | height: 100%; |
| 110 | z-index: 100000; | 110 | z-index: 100; |
| 111 | position: fixed; | 111 | position: fixed; |
| 112 | left: 0; | 112 | left: 0; |
| 113 | top: 0; | 113 | top: 0; | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="navbar-con"> | ||
| 2 | <div class="navbar" v-theme.background="mTheme"> | 3 | <div class="navbar" v-theme.background="mTheme"> |
| 3 | <div class="logo"> | 4 | <div class="logo"> |
| 4 | <img v-if="logo" :src="logo" class="header-logo"> | 5 | <img v-if="logo" :src="logo" class="header-logo"> |
| ... | @@ -19,16 +20,26 @@ | ... | @@ -19,16 +20,26 @@ |
| 19 | </el-dropdown> | 20 | </el-dropdown> |
| 20 | </div> | 21 | </div> |
| 21 | </div> | 22 | </div> |
| 23 | <NoticeBar class="NoticeBar" :sendVal="sendVal" /> | ||
| 24 | </div> | ||
| 22 | </template> | 25 | </template> |
| 23 | <script> | 26 | <script> |
| 27 | import NoticeBar from '@/components/NoticeBar/index' | ||
| 24 | import { mapGetters } from 'vuex' | 28 | import { mapGetters } from 'vuex' |
| 25 | export default { | 29 | export default { |
| 30 | components: { | ||
| 31 | NoticeBar | ||
| 32 | }, | ||
| 26 | computed: { | 33 | computed: { |
| 27 | ...mapGetters(['sidebar', 'avatar', 'name']) | 34 | ...mapGetters(['sidebar', 'avatar', 'name']) |
| 28 | }, | 35 | }, |
| 29 | data () { | 36 | data () { |
| 30 | return { | 37 | return { |
| 31 | logo: require('../../image/logo.png') | 38 | logo: require('../../image/logo.png'), |
| 39 | sendVal: [ | ||
| 40 | '222222222222222222222222222222222', | ||
| 41 | '222222233333333333333333333333' | ||
| 42 | ] | ||
| 32 | } | 43 | } |
| 33 | }, | 44 | }, |
| 34 | methods: { | 45 | methods: { |
| ... | @@ -53,6 +64,15 @@ export default { | ... | @@ -53,6 +64,15 @@ export default { |
| 53 | } | 64 | } |
| 54 | </script> | 65 | </script> |
| 55 | <style lang="scss" scoped> | 66 | <style lang="scss" scoped> |
| 67 | .navbar-con { | ||
| 68 | position: relative; | ||
| 69 | } | ||
| 70 | |||
| 71 | .NoticeBar { | ||
| 72 | position: absolute; | ||
| 73 | bottom: 0; | ||
| 74 | } | ||
| 75 | |||
| 56 | .el-dropdown-menu { | 76 | .el-dropdown-menu { |
| 57 | padding: 0 !important; | 77 | padding: 0 !important; |
| 58 | border: 1px solid #EBEEF5; | 78 | border: 1px solid #EBEEF5; | ... | ... |
| ... | @@ -24,6 +24,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -24,6 +24,7 @@ router.beforeEach(async (to, from, next) => { |
| 24 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) | 24 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) |
| 25 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | 25 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) |
| 26 | const routeTo = Cookies.get('routerTo') | 26 | const routeTo = Cookies.get('routerTo') |
| 27 | console.log(routeTo) | ||
| 27 | if (routeTo && routeTo !== '/') { | 28 | if (routeTo && routeTo !== '/') { |
| 28 | next({ ...to, replace: true }) | 29 | next({ ...to, replace: true }) |
| 29 | } else { | 30 | } else { | ... | ... |
| ... | @@ -116,23 +116,20 @@ | ... | @@ -116,23 +116,20 @@ |
| 116 | .title-block { | 116 | .title-block { |
| 117 | display: inline-block; | 117 | display: inline-block; |
| 118 | position: relative; | 118 | position: relative; |
| 119 | background: #3498db; | 119 | text-align: left; |
| 120 | color: #fff !important; | 120 | width: 100%; |
| 121 | text-align: center; | 121 | line-height: 26px; |
| 122 | padding: 0px 20px; | 122 | padding-left: 10px; |
| 123 | height: 30px; | 123 | font-size: 16px; |
| 124 | line-height: 30px; | 124 | border-bottom: 1px solid $borderColor; |
| 125 | border-radius: 5px 5px 5px 0px; | ||
| 126 | letter-spacing: 2px; | ||
| 127 | } | 125 | } |
| 128 | 126 | ||
| 129 | .title-block .triangle { | 127 | .title-block:after { |
| 130 | width: 0px; | 128 | content: " "; |
| 131 | height: 0px; | 129 | width: 0; |
| 130 | height: 16px; | ||
| 132 | position: absolute; | 131 | position: absolute; |
| 133 | border: 5px solid transparent; | 132 | border-left: 3px solid $light-blue; |
| 134 | border-top: 5px solid #3498db; | 133 | left: 0; |
| 135 | border-right: 5px solid #3498db; | 134 | top: 5px; |
| 136 | left: 0px; | ||
| 137 | bottom: -10px; | ||
| 138 | } | 135 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
| 16 | left: 0; | 16 | left: 0; |
| 17 | z-index: 1001; | 17 | z-index: 1001; |
| 18 | background-color: $subMenuBg; | 18 | background-color: $subMenuBg; |
| 19 | overflow: hidden; | 19 | // overflow: hidden; |
| 20 | 20 | ||
| 21 | .horizontal-collapse-transition { | 21 | .horizontal-collapse-transition { |
| 22 | transition: 0s width ease-in-out, 0s padding-left ease-in-out, | 22 | transition: 0s width ease-in-out, 0s padding-left ease-in-out, |
| ... | @@ -25,8 +25,9 @@ | ... | @@ -25,8 +25,9 @@ |
| 25 | 25 | ||
| 26 | .scrollbar-wrapper { | 26 | .scrollbar-wrapper { |
| 27 | overflow-x: hidden !important; | 27 | overflow-x: hidden !important; |
| 28 | overflow-y: auto; | 28 | // overflow-y: auto; |
| 29 | margin-right: 0 !important; | 29 | margin-right: 0 !important; |
| 30 | height: 90vh; | ||
| 30 | 31 | ||
| 31 | &::-webkit-scrollbar { | 32 | &::-webkit-scrollbar { |
| 32 | display: none; | 33 | display: none; |
| ... | @@ -52,7 +53,6 @@ | ... | @@ -52,7 +53,6 @@ |
| 52 | background-color: transparent !important; | 53 | background-color: transparent !important; |
| 53 | border: none; | 54 | border: none; |
| 54 | height: 100%; | 55 | height: 100%; |
| 55 | // overflow-y: auto; | ||
| 56 | width: 100% !important; | 56 | width: 100% !important; |
| 57 | } | 57 | } |
| 58 | 58 | ... | ... |
| ... | @@ -3,7 +3,8 @@ | ... | @@ -3,7 +3,8 @@ |
| 3 | 作者:calliope | 3 | 作者:calliope |
| 4 | --> | 4 | --> |
| 5 | <template> | 5 | <template> |
| 6 | <lb-table border :column="tableData.columns" :data="tableData.data" :maxHeight="200" heightNumSetting :pagination="false"> | 6 | <lb-table border :column="tableData.columns" :data="tableData.data" :maxHeight="200" heightNumSetting |
| 7 | :pagination="false"> | ||
| 7 | </lb-table> | 8 | </lb-table> |
| 8 | </template> | 9 | </template> |
| 9 | <script> | 10 | <script> |
| ... | @@ -40,7 +41,7 @@ export default { | ... | @@ -40,7 +41,7 @@ export default { |
| 40 | } | 41 | } |
| 41 | }, | 42 | }, |
| 42 | { | 43 | { |
| 43 | width: '200', | 44 | width: '150', |
| 44 | label: '身份证读卡器', | 45 | label: '身份证读卡器', |
| 45 | render: (h, scope) => { | 46 | render: (h, scope) => { |
| 46 | return ( | 47 | return ( |
| ... | @@ -51,7 +52,7 @@ export default { | ... | @@ -51,7 +52,7 @@ export default { |
| 51 | } | 52 | } |
| 52 | }, | 53 | }, |
| 53 | { | 54 | { |
| 54 | width: '200', | 55 | width: '150', |
| 55 | prop: 'sqrxm', | 56 | prop: 'sqrxm', |
| 56 | label: '姓名/名称', | 57 | label: '姓名/名称', |
| 57 | render: (h, scope) => { | 58 | render: (h, scope) => { |
| ... | @@ -66,7 +67,7 @@ export default { | ... | @@ -66,7 +67,7 @@ export default { |
| 66 | label: '证件种类', | 67 | label: '证件种类', |
| 67 | render: (h, scope) => { | 68 | render: (h, scope) => { |
| 68 | return ( | 69 | return ( |
| 69 | <el-select value={scope.row[scope.column.property]} | 70 | <el-select class="width100" value={scope.row[scope.column.property]} |
| 70 | onChange={(val) => { scope.row[scope.column.property] = val }}> | 71 | onChange={(val) => { scope.row[scope.column.property] = val }}> |
| 71 | { | 72 | { |
| 72 | this.dictData['A30'].map(option => { | 73 | this.dictData['A30'].map(option => { | ... | ... |
| ... | @@ -7,6 +7,28 @@ | ... | @@ -7,6 +7,28 @@ |
| 7 | justify-content: space-between; | 7 | justify-content: space-between; |
| 8 | } | 8 | } |
| 9 | 9 | ||
| 10 | .workbench { | ||
| 11 | flex-wrap: wrap; | ||
| 12 | height: 100%; | ||
| 13 | |||
| 14 | li { | ||
| 15 | width: 32.5%; | ||
| 16 | height: 118px; | ||
| 17 | @include flex-center; | ||
| 18 | flex-direction: column; | ||
| 19 | color: #fff; | ||
| 20 | |||
| 21 | i { | ||
| 22 | color: #fff; | ||
| 23 | font-size: 30px; | ||
| 24 | } | ||
| 25 | } | ||
| 26 | |||
| 27 | li:nth-child(1) { | ||
| 28 | margin-bottom: 6px; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 10 | .marginZL15 { | 32 | .marginZL15 { |
| 11 | margin: 0 15px; | 33 | margin: 0 15px; |
| 12 | } | 34 | } | ... | ... |
| ... | @@ -3,8 +3,14 @@ | ... | @@ -3,8 +3,14 @@ |
| 3 | <div class="home-left"> | 3 | <div class="home-left"> |
| 4 | <el-row :gutter="8"> | 4 | <el-row :gutter="8"> |
| 5 | <el-col :span="12"> | 5 | <el-col :span="12"> |
| 6 | <el-card shadow="hover"> | 6 | <el-card shadow="hover" :body-style="{ padding: '0' }"> |
| 7 | 鼠标悬浮时显示 | 7 | <ul class="workbench flexst"> |
| 8 | <li v-for="(item, index) in newsListData" class="pointer" :key="index" | ||
| 9 | :style="{ backgroundColor: item.color }"> | ||
| 10 | <i class="el-icon-s-claim"></i> | ||
| 11 | {{ item.title }} | ||
| 12 | </li> | ||
| 13 | </ul> | ||
| 8 | </el-card> | 14 | </el-card> |
| 9 | </el-col> | 15 | </el-col> |
| 10 | <el-col :span="12"> | 16 | <el-col :span="12"> |
| ... | @@ -14,7 +20,7 @@ | ... | @@ -14,7 +20,7 @@ |
| 14 | <i class="el-icon-s-unfold pointer"></i> | 20 | <i class="el-icon-s-unfold pointer"></i> |
| 15 | </div> | 21 | </div> |
| 16 | <ul> | 22 | <ul> |
| 17 | <li v-for="(item, index) in notice" :key="index" class="flexst"> | 23 | <li v-for="(item, index) in notice" :key="index" class="flexst pointer"> |
| 18 | <p class="list-title">{{ item.title }}</p> | 24 | <p class="list-title">{{ item.title }}</p> |
| 19 | <p class="marginZL15">{{ item.date }}</p> | 25 | <p class="marginZL15">{{ item.date }}</p> |
| 20 | <p>{{ item.state }}</p> | 26 | <p>{{ item.state }}</p> |
| ... | @@ -41,11 +47,11 @@ | ... | @@ -41,11 +47,11 @@ |
| 41 | <el-col :span="12"> | 47 | <el-col :span="12"> |
| 42 | <el-card shadow="hover"> | 48 | <el-card shadow="hover"> |
| 43 | <div slot="header" class="flexst"> | 49 | <div slot="header" class="flexst"> |
| 44 | <h5 class="title">公司邮件</h5> | 50 | <h5 class="title">法律法规</h5> |
| 45 | <i class="el-icon-s-unfold pointer"></i> | 51 | <i class="el-icon-s-unfold pointer"></i> |
| 46 | </div> | 52 | </div> |
| 47 | <ul> | 53 | <ul> |
| 48 | <li v-for="(item, index) in mailList" :key="index" class="flexst"> | 54 | <li v-for="(item, index) in mailList" @click="handleView" :key="index" class="flexst pointer"> |
| 49 | <p class="right15">{{ item.date }}</p> | 55 | <p class="right15">{{ item.date }}</p> |
| 50 | <p class="list-title">{{ item.title }}</p> | 56 | <p class="list-title">{{ item.title }}</p> |
| 51 | </li> | 57 | </li> |
| ... | @@ -73,6 +79,38 @@ export default { | ... | @@ -73,6 +79,38 @@ export default { |
| 73 | components: { calendar }, | 79 | components: { calendar }, |
| 74 | data () { | 80 | data () { |
| 75 | return { | 81 | return { |
| 82 | newsListData: [ | ||
| 83 | { | ||
| 84 | icon: '', | ||
| 85 | title: '任务', | ||
| 86 | color: '#61AEFF' | ||
| 87 | }, | ||
| 88 | { | ||
| 89 | icon: '', | ||
| 90 | title: '邮件', | ||
| 91 | color: '#43DEB3' | ||
| 92 | }, | ||
| 93 | { | ||
| 94 | icon: '', | ||
| 95 | title: '消息', | ||
| 96 | color: '#F3C143' | ||
| 97 | }, | ||
| 98 | { | ||
| 99 | icon: '', | ||
| 100 | title: '日历', | ||
| 101 | color: '#F09936' | ||
| 102 | }, | ||
| 103 | { | ||
| 104 | icon: '', | ||
| 105 | title: '常用功能', | ||
| 106 | color: '#9C92FF' | ||
| 107 | }, | ||
| 108 | { | ||
| 109 | icon: '', | ||
| 110 | title: '申请', | ||
| 111 | color: '#589FFF' | ||
| 112 | } | ||
| 113 | ], | ||
| 76 | chartData: [{ | 114 | chartData: [{ |
| 77 | year: '1991', | 115 | year: '1991', |
| 78 | value: 15468 | 116 | value: 15468 |
| ... | @@ -92,14 +130,11 @@ export default { | ... | @@ -92,14 +130,11 @@ export default { |
| 92 | year: '1996', | 130 | year: '1996', |
| 93 | value: 31056 | 131 | value: 31056 |
| 94 | }, { | 132 | }, { |
| 95 | year: '1997', | 133 | year: '1995', |
| 96 | value: 31982 | 134 | value: 17000 |
| 97 | }, { | ||
| 98 | year: '1998', | ||
| 99 | value: 32040 | ||
| 100 | }, { | 135 | }, { |
| 101 | year: '1999', | 136 | year: '1996', |
| 102 | value: 33233 | 137 | value: 31056 |
| 103 | }], | 138 | }], |
| 104 | notice: [ | 139 | notice: [ |
| 105 | { | 140 | { |
| ... | @@ -168,6 +203,10 @@ export default { | ... | @@ -168,6 +203,10 @@ export default { |
| 168 | this.buildChart(); | 203 | this.buildChart(); |
| 169 | }, | 204 | }, |
| 170 | methods: { | 205 | methods: { |
| 206 | handleView () { | ||
| 207 | const href = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf' | ||
| 208 | window.open(href, '_blank'); | ||
| 209 | }, | ||
| 171 | buildChart () { | 210 | buildChart () { |
| 172 | var chart = new G2.Chart({ | 211 | var chart = new G2.Chart({ |
| 173 | container: 'mountNode', | 212 | container: 'mountNode', |
| ... | @@ -204,5 +243,6 @@ export default { | ... | @@ -204,5 +243,6 @@ export default { |
| 204 | } | 243 | } |
| 205 | </script> | 244 | </script> |
| 206 | <style scoped lang="scss"> | 245 | <style scoped lang="scss"> |
| 246 | @import "~@/styles/mixin.scss"; | ||
| 207 | @import "./index.scss"; | 247 | @import "./index.scss"; |
| 208 | </style> | 248 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -61,6 +61,7 @@ class data extends filter { | ... | @@ -61,6 +61,7 @@ class data extends filter { |
| 61 | }, | 61 | }, |
| 62 | { | 62 | { |
| 63 | label: "操作", | 63 | label: "操作", |
| 64 | width: 100, | ||
| 64 | render: (h, scope) => { | 65 | render: (h, scope) => { |
| 65 | return <el-button type="text" icon='el-icon-view' onClick={() => { vm.dydjbClick(scope) }}>打印登记薄</el-button> | 66 | return <el-button type="text" icon='el-icon-view' onClick={() => { vm.dydjbClick(scope) }}>打印登记薄</el-button> |
| 66 | } | 67 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <dialogBox title="家庭房产查询" @closeDialog="closeDialog" width="90%" :isButton="false" v-model="myValue"> | 2 | <dialogBox title="家庭房产查询" @closeDialog="closeDialog" isMain width="70%" :isButton="false" v-model="myValue"> |
| 3 | <div class="jtfccx-edit"> | 3 | <div class="jtfccx-edit"> |
| 4 | <div class="jtfccx-edit-con"> | 4 | <div class="jtfccx-edit-con"> |
| 5 | <b class="title">申请信息</b> | 5 | <b class="title">申请信息</b> |
| ... | @@ -26,19 +26,18 @@ | ... | @@ -26,19 +26,18 @@ |
| 26 | <b class="title">权利人</b> | 26 | <b class="title">权利人</b> |
| 27 | <personInfoTable @getInfoList="handleGetQlList" :dataList="qldataList" /> | 27 | <personInfoTable @getInfoList="handleGetQlList" :dataList="qldataList" /> |
| 28 | <div class="submit-button"> | 28 | <div class="submit-button"> |
| 29 | <el-button type="primary" @click="queryChick()">查询</el-button> | 29 | <el-button type="primary" @click="queryChick">查询</el-button> |
| 30 | <el-button @click="resetClick()">重置</el-button> | 30 | <el-button @click="resetClick">重置</el-button> |
| 31 | </div> | 31 | </div> |
| 32 | <b class="title">查询结果</b> | 32 | <b class="title" v-if="isSearch">查询结果</b> |
| 33 | <!-- <p>查询编号:{{cxbh}}</p> --> | 33 | <lb-table :column="searchData.columns" v-if="isSearch" :data="searchData.data" :maxHeight="200" heightNumSetting |
| 34 | <lb-table :column="searchData.columns" border :data="searchData.data" :maxHeight="200" heightNumSetting | ||
| 35 | :pagination="false"> | 34 | :pagination="false"> |
| 36 | </lb-table> | 35 | </lb-table> |
| 37 | </div> | 36 | </div> |
| 38 | 37 | ||
| 39 | <div class="submit-button" style="padding-bottom:20px"> | 38 | <div class="submit-button" v-if="isSearch" style="padding-bottom:20px"> |
| 40 | <el-button type="primary">无房证明打印(1)</el-button> | 39 | <el-button type="primary" v-if="searchData.data.length > 0">房产结果打印(1)</el-button> |
| 41 | <el-button type="primary">房产结果打印(1)</el-button> | 40 | <el-button type="primary" v-else>无房证明打印(1)</el-button> |
| 42 | <el-button @click="closeDialog">关闭</el-button> | 41 | <el-button @click="closeDialog">关闭</el-button> |
| 43 | </div> | 42 | </div> |
| 44 | </div> | 43 | </div> |
| ... | @@ -57,10 +56,9 @@ export default { | ... | @@ -57,10 +56,9 @@ export default { |
| 57 | props: { | 56 | props: { |
| 58 | value: { type: Boolean, default: false }, | 57 | value: { type: Boolean, default: false }, |
| 59 | }, | 58 | }, |
| 60 | mounted() { | 59 | mounted () { |
| 61 | sendThis(this); | 60 | sendThis(this); |
| 62 | }, | 61 | }, |
| 63 | |||
| 64 | data () { | 62 | data () { |
| 65 | return { | 63 | return { |
| 66 | myValue: this.value, | 64 | myValue: this.value, |
| ... | @@ -69,6 +67,7 @@ export default { | ... | @@ -69,6 +67,7 @@ export default { |
| 69 | ycyrgx: 1, | 67 | ycyrgx: 1, |
| 70 | cxlx: '1' //查询类型 1:房产查询 2:登记簿查询 | 68 | cxlx: '1' //查询类型 1:房产查询 2:登记簿查询 |
| 71 | }, | 69 | }, |
| 70 | isSearch: false, | ||
| 72 | dataList: [{ | 71 | dataList: [{ |
| 73 | sqrxm: '', | 72 | sqrxm: '', |
| 74 | sqrzjlxbm: '', | 73 | sqrzjlxbm: '', |
| ... | @@ -131,14 +130,10 @@ export default { | ... | @@ -131,14 +130,10 @@ export default { |
| 131 | }, | 130 | }, |
| 132 | queryChick () { | 131 | queryChick () { |
| 133 | this.addJtfc.djSqcxDO = { ...this.ruleForm } | 132 | this.addJtfc.djSqcxDO = { ...this.ruleForm } |
| 134 | // this.$message({ | ||
| 135 | // type: 'success', | ||
| 136 | // message: '删除成功!' | ||
| 137 | // }); | ||
| 138 | |||
| 139 | addJtfcCxjgXx(this.addJtfc).then(res => { | 133 | addJtfcCxjgXx(this.addJtfc).then(res => { |
| 140 | this.searchData.data = res.result; | 134 | this.searchData.data = res.result; |
| 141 | console.log(res); | 135 | console.log(res); |
| 136 | this.isSearch = true | ||
| 142 | }) | 137 | }) |
| 143 | }, | 138 | }, |
| 144 | resetClick () { | 139 | resetClick () { |
| ... | @@ -148,12 +143,12 @@ export default { | ... | @@ -148,12 +143,12 @@ export default { |
| 148 | handleRead (row) { }, | 143 | handleRead (row) { }, |
| 149 | 144 | ||
| 150 | //抵押 | 145 | //抵押 |
| 151 | dyClick(){ | 146 | dyClick () { |
| 152 | 147 | ||
| 153 | }, | 148 | }, |
| 154 | 149 | ||
| 155 | //查封 | 150 | //查封 |
| 156 | cfClick(){ | 151 | cfClick () { |
| 157 | 152 | ||
| 158 | } | 153 | } |
| 159 | } | 154 | } |
| ... | @@ -162,6 +157,7 @@ export default { | ... | @@ -162,6 +157,7 @@ export default { |
| 162 | <style scoped lang="scss"> | 157 | <style scoped lang="scss"> |
| 163 | @import "~@/styles/mixin.scss"; | 158 | @import "~@/styles/mixin.scss"; |
| 164 | @import "~@/styles/public.scss"; | 159 | @import "~@/styles/public.scss"; |
| 160 | |||
| 165 | .title { | 161 | .title { |
| 166 | padding-bottom: 10px; | 162 | padding-bottom: 10px; |
| 167 | margin-bottom: 10px; | 163 | margin-bottom: 10px; | ... | ... |
| ... | @@ -61,7 +61,6 @@ class data extends filter { | ... | @@ -61,7 +61,6 @@ class data extends filter { |
| 61 | { | 61 | { |
| 62 | 62 | ||
| 63 | label: '登记状态', | 63 | label: '登记状态', |
| 64 | width: '150', | ||
| 65 | align: 'center', | 64 | align: 'center', |
| 66 | fixed: 'right', | 65 | fixed: 'right', |
| 67 | render: (h, scope) => { | 66 | render: (h, scope) => { |
| ... | @@ -69,9 +68,7 @@ class data extends filter { | ... | @@ -69,9 +68,7 @@ class data extends filter { |
| 69 | <div> | 68 | <div> |
| 70 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.dyClick(scope) }}>抵押</el-button> | 69 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.dyClick(scope) }}>抵押</el-button> |
| 71 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.cfClick(scope) }}>查封</el-button> | 70 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { this.cfClick(scope) }}>查封</el-button> |
| 72 | |||
| 73 | </div> | 71 | </div> |
| 74 | |||
| 75 | ) | 72 | ) |
| 76 | } | 73 | } |
| 77 | } | 74 | } | ... | ... |
| ... | @@ -81,8 +81,18 @@ export default { | ... | @@ -81,8 +81,18 @@ export default { |
| 81 | handleAdd () { | 81 | handleAdd () { |
| 82 | this.isDialog = true; | 82 | this.isDialog = true; |
| 83 | }, | 83 | }, |
| 84 | handleViewClick (scope) { | ||
| 85 | var sqcxBsm = scope.row.bsmSqcx; | ||
| 86 | this.$popup("申请查询记录", "sqcx/sqcxjl/components/sqcxjlInfo", { | ||
| 87 | formData: { | ||
| 88 | sqcxBsm: sqcxBsm, | ||
| 84 | }, | 89 | }, |
| 85 | }; | 90 | cancel: function () { }, //取消事件的回调 |
| 91 | confirm: function () { }, | ||
| 92 | }); | ||
| 93 | } | ||
| 94 | } | ||
| 95 | } | ||
| 86 | </script> | 96 | </script> |
| 87 | <style scoped lang="scss"> | 97 | <style scoped lang="scss"> |
| 88 | @import "~@/styles/public.scss"; | 98 | @import "~@/styles/public.scss"; | ... | ... |
| ... | @@ -69,6 +69,13 @@ class data extends filter { | ... | @@ -69,6 +69,13 @@ class data extends filter { |
| 69 | { | 69 | { |
| 70 | prop: "cxyt", | 70 | prop: "cxyt", |
| 71 | label: "查询用途" | 71 | label: "查询用途" |
| 72 | }, | ||
| 73 | { | ||
| 74 | label: "操作", | ||
| 75 | width: 80, | ||
| 76 | render: (h, scope) => { | ||
| 77 | return <el-button type="text" icon='el-icon-view' onClick={() => { vm.handleViewClick(scope) }}>查看</el-button> | ||
| 78 | } | ||
| 72 | } | 79 | } |
| 73 | ] | 80 | ] |
| 74 | } | 81 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div > | 2 | <div> |
| 3 | <el-form :model="ruleForm" label-width="120px"> | 3 | <el-form :model="ruleForm" label-width="120px"> |
| 4 | <el-row> | 4 | <el-row> |
| 5 | <el-col :span="24" style="margin-bottom: 15px"> | 5 | <el-col :span="24" style="margin-bottom: 15px"> |
| ... | @@ -29,14 +29,8 @@ | ... | @@ -29,14 +29,8 @@ |
| 29 | 29 | ||
| 30 | <el-row> | 30 | <el-row> |
| 31 | <el-col> | 31 | <el-col> |
| 32 | <lb-table | 32 | <lb-table :column="sqrData.columns" border :data="sqrData.data" :maxHeight="200" heightNumSetting |
| 33 | :column="sqrData.columns" | 33 | :pagination="false"> |
| 34 | border | ||
| 35 | :data="sqrData.data" | ||
| 36 | :maxHeight="200" | ||
| 37 | heightNumSetting | ||
| 38 | :pagination="false" | ||
| 39 | > | ||
| 40 | </lb-table> | 34 | </lb-table> |
| 41 | </el-col> | 35 | </el-col> |
| 42 | </el-row> | 36 | </el-row> |
| ... | @@ -51,14 +45,8 @@ | ... | @@ -51,14 +45,8 @@ |
| 51 | </el-row> | 45 | </el-row> |
| 52 | <el-row> | 46 | <el-row> |
| 53 | <el-col> | 47 | <el-col> |
| 54 | <lb-table | 48 | <lb-table :column="qlrData.columns" border :data="qlrData.data" :maxHeight="200" heightNumSetting |
| 55 | :column="qlrData.columns" | 49 | :pagination="false"> |
| 56 | border | ||
| 57 | :data="qlrData.data" | ||
| 58 | :maxHeight="200" | ||
| 59 | heightNumSetting | ||
| 60 | :pagination="false" | ||
| 61 | > | ||
| 62 | </lb-table> | 50 | </lb-table> |
| 63 | </el-col> | 51 | </el-col> |
| 64 | </el-row> | 52 | </el-row> |
| ... | @@ -73,19 +61,13 @@ | ... | @@ -73,19 +61,13 @@ |
| 73 | </el-row> | 61 | </el-row> |
| 74 | <el-row> | 62 | <el-row> |
| 75 | <el-col> | 63 | <el-col> |
| 76 | <p>查询编号:{{cxbh}}</p> | 64 | <p>查询编号:{{ cxbh }}</p> |
| 77 | </el-col> | 65 | </el-col> |
| 78 | </el-row> | 66 | </el-row> |
| 79 | <el-row> | 67 | <el-row> |
| 80 | <el-col> | 68 | <el-col> |
| 81 | <lb-table | 69 | <lb-table :column="cxjgData.columns" :data="cxjgData.data" :maxHeight="200" heightNumSetting |
| 82 | border | 70 | :pagination="false"> |
| 83 | :column="cxjgData.columns" | ||
| 84 | :data="cxjgData.data" | ||
| 85 | :maxHeight="200" | ||
| 86 | heightNumSetting | ||
| 87 | :pagination="false" | ||
| 88 | > | ||
| 89 | </lb-table> | 71 | </lb-table> |
| 90 | </el-col> | 72 | </el-col> |
| 91 | </el-row> | 73 | </el-row> |
| ... | @@ -104,12 +86,12 @@ export default { | ... | @@ -104,12 +86,12 @@ export default { |
| 104 | // }, | 86 | // }, |
| 105 | props: ["formData"], | 87 | props: ["formData"], |
| 106 | 88 | ||
| 107 | created() { | 89 | created () { |
| 108 | // debugger; | 90 | // debugger; |
| 109 | // alert(this.formData.sqcxBsm); | 91 | // alert(this.formData.sqcxBsm); |
| 110 | }, | 92 | }, |
| 111 | 93 | ||
| 112 | data() { | 94 | data () { |
| 113 | return { | 95 | return { |
| 114 | ruleForm: { | 96 | ruleForm: { |
| 115 | cxyt: "", | 97 | cxyt: "", |
| ... | @@ -134,8 +116,7 @@ export default { | ... | @@ -134,8 +116,7 @@ export default { |
| 134 | }; | 116 | }; |
| 135 | }, | 117 | }, |
| 136 | 118 | ||
| 137 | mounted() { | 119 | mounted () { |
| 138 | debugger; | ||
| 139 | sendThis(this); | 120 | sendThis(this); |
| 140 | var sqcxBsm = this.formData.sqcxBsm; | 121 | var sqcxBsm = this.formData.sqcxBsm; |
| 141 | 122 | ||
| ... | @@ -145,19 +126,17 @@ export default { | ... | @@ -145,19 +126,17 @@ export default { |
| 145 | this.sqrData.data = res.result.sqxx; | 126 | this.sqrData.data = res.result.sqxx; |
| 146 | this.qlrData.data = res.result.qlrxx; | 127 | this.qlrData.data = res.result.qlrxx; |
| 147 | this.cxjgData.data = res.result.djSqcxCxjgDOList; | 128 | this.cxjgData.data = res.result.djSqcxCxjgDOList; |
| 148 | this.cxbh=res.result.djSqcxDO.cxbh; | 129 | this.cxbh = res.result.djSqcxDO.cxbh; |
| 149 | 130 | ||
| 150 | } | 131 | } |
| 151 | }) | 132 | }) |
| 152 | .catch((error) => { | 133 | .catch((error) => { |
| 153 | console.log(error); | 134 | console.log(error); |
| 154 | }); | 135 | }) |
| 155 | }, | 136 | }, |
| 156 | |||
| 157 | methods: {}, | 137 | methods: {}, |
| 158 | }; | 138 | }; |
| 159 | </script> | 139 | </script> |
| 160 | <style scoped lang="scss"> | 140 | <style scoped lang="scss"> |
| 161 | @import "~@/styles/mixin.scss"; | 141 | @import "~@/styles/mixin.scss"; |
| 162 | |||
| 163 | </style> | 142 | </style> | ... | ... |
| ... | @@ -8,7 +8,7 @@ class data extends filter { | ... | @@ -8,7 +8,7 @@ class data extends filter { |
| 8 | constructor() { | 8 | constructor() { |
| 9 | super() | 9 | super() |
| 10 | } | 10 | } |
| 11 | cxjgcolumns() { | 11 | cxjgcolumns () { |
| 12 | return [ | 12 | return [ |
| 13 | { | 13 | { |
| 14 | prop: 'qszt', | 14 | prop: 'qszt', |
| ... | @@ -73,7 +73,6 @@ class data extends filter { | ... | @@ -73,7 +73,6 @@ class data extends filter { |
| 73 | { | 73 | { |
| 74 | 74 | ||
| 75 | label: '登记状态', | 75 | label: '登记状态', |
| 76 | width: '150', | ||
| 77 | align: 'center', | 76 | align: 'center', |
| 78 | fixed: 'right', | 77 | fixed: 'right', |
| 79 | render: (h, scope) => { | 78 | render: (h, scope) => { |
| ... | @@ -86,7 +85,7 @@ class data extends filter { | ... | @@ -86,7 +85,7 @@ class data extends filter { |
| 86 | } | 85 | } |
| 87 | ] | 86 | ] |
| 88 | } | 87 | } |
| 89 | sqrcolumns() { | 88 | sqrcolumns () { |
| 90 | return [ | 89 | return [ |
| 91 | { | 90 | { |
| 92 | prop: 'sqrxm', | 91 | prop: 'sqrxm', |
| ... | @@ -107,7 +106,7 @@ class data extends filter { | ... | @@ -107,7 +106,7 @@ class data extends filter { |
| 107 | ] | 106 | ] |
| 108 | } | 107 | } |
| 109 | 108 | ||
| 110 | qlrcolumns() { | 109 | qlrcolumns () { |
| 111 | return [ | 110 | return [ |
| 112 | { | 111 | { |
| 113 | prop: 'sqrxm', | 112 | prop: 'sqrxm', | ... | ... |
| ... | @@ -78,7 +78,6 @@ export default { | ... | @@ -78,7 +78,6 @@ export default { |
| 78 | handleViewClick (scope) { | 78 | handleViewClick (scope) { |
| 79 | var sqcxBsm = scope.row.bsmSqcx; | 79 | var sqcxBsm = scope.row.bsmSqcx; |
| 80 | this.$popup("申请查询记录", "sqcx/sqcxjl/components/sqcxjlInfo", { | 80 | this.$popup("申请查询记录", "sqcx/sqcxjl/components/sqcxjlInfo", { |
| 81 | height: "800px", | ||
| 82 | formData: { | 81 | formData: { |
| 83 | sqcxBsm: sqcxBsm, | 82 | sqcxBsm: sqcxBsm, |
| 84 | }, | 83 | }, | ... | ... |
| ... | @@ -65,10 +65,11 @@ class data extends filter { | ... | @@ -65,10 +65,11 @@ class data extends filter { |
| 65 | }, | 65 | }, |
| 66 | { | 66 | { |
| 67 | label: "操作", | 67 | label: "操作", |
| 68 | width: 80, | ||
| 68 | render: (h, scope) => { | 69 | render: (h, scope) => { |
| 69 | return <el-button type="text" icon='el-icon-view' onClick={() => { vm.handleViewClick(scope) }}>查看</el-button> | 70 | return <el-button type="text" icon='el-icon-view' onClick={() => { vm.handleViewClick(scope) }}>查看</el-button> |
| 70 | } | 71 | } |
| 71 | }, | 72 | } |
| 72 | ] | 73 | ] |
| 73 | } | 74 | } |
| 74 | } | 75 | } | ... | ... |
| ... | @@ -35,7 +35,7 @@ | ... | @@ -35,7 +35,7 @@ |
| 35 | </template> | 35 | </template> |
| 36 | <script> | 36 | <script> |
| 37 | import table from "@/utils/mixin/table"; | 37 | import table from "@/utils/mixin/table"; |
| 38 | import { getCertificateList } from "@/api/fqsq.js"; | 38 | import { getCertificateList } from "@/api/bdcqz.js"; |
| 39 | import { datas } from "../javascript/fzxxdata"; | 39 | import { datas } from "../javascript/fzxxdata"; |
| 40 | export default { | 40 | export default { |
| 41 | mixins: [table], | 41 | mixins: [table], |
| ... | @@ -60,10 +60,10 @@ export default { | ... | @@ -60,10 +60,10 @@ export default { |
| 60 | methods: { | 60 | methods: { |
| 61 | // 列表渲染接口 | 61 | // 列表渲染接口 |
| 62 | fetchData () { | 62 | fetchData () { |
| 63 | this.ruleForm.bsmSldy = this.$parent.unitData[0].bsmSldy | 63 | this.ruleForm.bsmSldy = this.$parent.unitData[0].bsmSldy; |
| 64 | getCertificateList(this.ruleForm).then(res => { | 64 | getCertificateList(this.ruleForm).then(res => { |
| 65 | if (res.code === 200) { | 65 | if (res.code === 200) { |
| 66 | this.tableData.data = res.result | 66 | this.tableData.data = res.result; |
| 67 | } | 67 | } |
| 68 | }) | 68 | }) |
| 69 | } | 69 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="szxx"> | 2 | <div class="szxx"> |
| 3 | <el-card class="box-card" v-for="(item,index) in tableData" :key="index"> | 3 | <el-card class="box-card" v-for="(item, index) in tableData" :key="index"> |
| 4 | <div slot="header" class="szxx_header"> | 4 | <div slot="header" class="szxx_header"> |
| 5 | <span class="header_type">{{item.bdcqzlx == 1 ? '不动产权证书' : '不动产登记证明'}}</span> | 5 | <span class="header_type">{{ |
| 6 | <div class="header_text">{{item.bdcqzh}}</div> | 6 | item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明" |
| 7 | }}</span> | ||
| 8 | <div class="header_text">{{ item.bdcqzh }}</div> | ||
| 7 | </div> | 9 | </div> |
| 8 | <div class="szxx_body card_padding"> | 10 | <div class="szxx_body card_padding"> |
| 9 | <div class="text color_iray"> | 11 | <div class="text color_iray"> |
| 10 | <span>{{item.qllxmc}}</span> | 12 | <span>{{ item.qllxmc }}</span> |
| 11 | </div> | 13 | </div> |
| 12 | <div class="text color_red"> | 14 | <div class="text color_red"> |
| 13 | <span>{{item.qlr}}</span> | 15 | <span>{{ item.qlr }}</span> |
| 14 | </div> | 16 | </div> |
| 15 | <div class="text color_iray"> | 17 | <div class="text color_iray"> |
| 16 | <span>{{item.gyfs == 1 ? '单独所有' : item.gyfs == 2 ? '共同共有' : '按份所有'}}</span> | 18 | <span>{{ |
| 19 | item.gyqk | ||
| 20 | }}</span> | ||
| 17 | </div> | 21 | </div> |
| 18 | <div class="text color_red"> | 22 | <div class="text color_red"> |
| 19 | <span>{{item.bdcdyh}}</span> | 23 | <span>{{ item.bdcdyh }}</span> |
| 20 | </div> | 24 | </div> |
| 21 | <div class="text color_iray"> | 25 | <div class="text color_iray"> |
| 22 | <span>{{item.yt}}</span> | 26 | <span>{{ item.yt }}</span> |
| 23 | </div> | 27 | </div> |
| 24 | <div class="text color_red"> | 28 | <div class="text color_red"> |
| 25 | <span>{{item.mj}}</span> | 29 | <span>{{ item.mj }}</span> |
| 26 | </div> | 30 | </div> |
| 27 | <div class="text color_iray"> | 31 | <div class="text color_iray"> |
| 28 | <span>{{item.syqx}}</span> | 32 | <span>{{ item.syqx }}</span> |
| 29 | </div> | 33 | </div> |
| 30 | <div v-if="item.ysxlh"> | 34 | <div v-if="item.ysxlh"> |
| 31 | <div class="top_line middle_margin"></div> | 35 | <div class="top_line middle_margin"></div> |
| 32 | <div class="text color_iray"> | 36 | <div class="text color_iray"> |
| 33 | <span>印刷序列号:{{item.ysxlh}}</span> | 37 | <span>印刷序列号:{{ item.ysxlh }}</span> |
| 34 | </div> | 38 | </div> |
| 35 | </div> | 39 | </div> |
| 36 | </div> | 40 | </div> |
| 37 | <div class="card_padding"> | 41 | <div class="card_padding"> |
| 38 | <div class="top_line middle_margin"></div> | 42 | <div class="top_line middle_margin"></div> |
| 39 | <div class="text" v-if="item.bsmSz"> | 43 | <div class="text" v-if="item.ysxlh"> |
| 40 | <el-button class="operation_button" type="text" @click="openZsylDialog(item,1)">证书预览</el-button> | 44 | <el-button |
| 41 | <el-button class="operation_button" type="text" @click="openInvalidDiglog(item)">再次打印({{item.szcs}})</el-button> | 45 | class="operation_button" |
| 46 | type="text" | ||
| 47 | @click="openZsylDialog(item, 1)" | ||
| 48 | >证书预览</el-button | ||
| 49 | > | ||
| 50 | <el-button | ||
| 51 | class="operation_button" | ||
| 52 | type="text" | ||
| 53 | @click="openInvalidDiglog(item)" | ||
| 54 | >再次打印({{ item.szcs }})</el-button | ||
| 55 | > | ||
| 42 | </div> | 56 | </div> |
| 43 | <div class="text" v-else> | 57 | <div class="text" v-else> |
| 44 | <el-button class="operation_button" type="text" @click="openZsylDialog(item,2)">证书打印({{item.szcs}})</el-button> | 58 | <el-button |
| 59 | class="operation_button" | ||
| 60 | type="text" | ||
| 61 | @click="openZsylDialog(item, 2)" | ||
| 62 | >证书打印({{ item.szcs }})</el-button | ||
| 63 | > | ||
| 45 | </div> | 64 | </div> |
| 46 | </div> | 65 | </div> |
| 47 | </el-card> | 66 | </el-card> |
| 48 | <el-dialog title="证书打印" :visible.sync="invalidDiglog" width="30%" :modal-append-to-body='false' top='30vh'> | 67 | <el-dialog |
| 68 | title="证书打印" | ||
| 69 | :visible.sync="invalidDiglog" | ||
| 70 | width="30%" | ||
| 71 | :modal-append-to-body="false" | ||
| 72 | top="30vh" | ||
| 73 | > | ||
| 49 | <div class="invalid-diglog"> | 74 | <div class="invalid-diglog"> |
| 50 | <div class="invalid-title"> | 75 | <div class="invalid-title"> |
| 51 | <i class="el-icon-question invalid-icon"></i> | 76 | <i class="el-icon-question invalid-icon"></i> |
| 52 | <div class="invalid-body">您确定作废证书并再次打印?</div> | 77 | <div class="invalid-body">您确定作废证书并再次打印?</div> |
| 53 | </div> | 78 | </div> |
| 54 | <div class="invalid-reson">作废原因:</div> | 79 | <div class="invalid-reson">作废原因:</div> |
| 55 | <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input> | 80 | <el-input |
| 81 | v-model="zfyy" | ||
| 82 | placeholder="请输入作废原因" | ||
| 83 | type="textarea" | ||
| 84 | :rows="4" | ||
| 85 | ></el-input> | ||
| 56 | <div class="dialog-footer"> | 86 | <div class="dialog-footer"> |
| 57 | <el-button @click="closeInvalidDiglog()">取 消</el-button> | 87 | <el-button @click="closeInvalidDiglog()">取 消</el-button> |
| 58 | <el-button type="primary" @click="confirmInvalid()">确 定</el-button> | 88 | <el-button type="primary" @click="confirmInvalid()">确 定</el-button> |
| 59 | </div> | 89 | </div> |
| 60 | </div> | 90 | </div> |
| 61 | </el-dialog> | 91 | </el-dialog> |
| 62 | <el-empty description="暂无数据" v-if="tableData.length==0"></el-empty> | 92 | <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty> |
| 63 | </div> | 93 | </div> |
| 64 | </template> | 94 | </template> |
| 65 | <script> | 95 | <script> |
| 66 | import { getBdcqzList, invalidCertificate } from "@/api/fqsq.js"; | 96 | import { getSlsqBdcqzList, invalidCertificate } from "@/api/fqsq.js"; |
| 67 | 97 | ||
| 68 | export default { | 98 | export default { |
| 69 | components: { }, | 99 | components: {}, |
| 70 | props: { | 100 | props: {}, |
| 71 | }, | 101 | data() { |
| 72 | data () { | ||
| 73 | return { | 102 | return { |
| 74 | tableData: [], | 103 | tableData: [], |
| 75 | bdcqzlx: 1, | 104 | bdcqzlx: 1, |
| 76 | bdcqz: {}, | 105 | bdcqz: {}, |
| 77 | zfyy: '', | 106 | zfyy: "", |
| 78 | invalidDiglog: false, | 107 | invalidDiglog: false, |
| 79 | bsmSz: '', | 108 | bsmSz: "", |
| 80 | }; | 109 | }; |
| 81 | }, | 110 | }, |
| 82 | created () { | 111 | created() { |
| 83 | this.list(); | 112 | this.list(); |
| 84 | }, | 113 | }, |
| 85 | methods: { | 114 | methods: { |
| 86 | //初始化列表 | 115 | //初始化列表 |
| 87 | list () { | 116 | list() { |
| 88 | var bsmSldy = this.$parent.unitData[0].bsmSldy | 117 | // var bsmSldy = this.$parent.unitData[0].bsmSldy; |
| 89 | getBdcqzList({ bsmSldy: bsmSldy }).then(res => { | 118 | var bsmSlsq = this.$route.query.bsmSlsq; |
| 119 | getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => { | ||
| 90 | if (res.code === 200) { | 120 | if (res.code === 200) { |
| 91 | this.tableData = res.result | 121 | this.tableData = res.result; |
| 92 | if (res.result) { | 122 | if (res.result) { |
| 93 | this.bdcqz = res.result[0] | 123 | this.bdcqz = res.result[0]; |
| 94 | } | 124 | } |
| 95 | } | 125 | } |
| 96 | }) | 126 | }); |
| 97 | }, | 127 | }, |
| 98 | //打开证书预览弹窗 | 128 | //打开证书预览弹窗 |
| 99 | openZsylDialog (item, type) { | 129 | openZsylDialog(item, type) { |
| 100 | let that = this; | 130 | let that = this; |
| 101 | if(type == 1){ | 131 | if (type == 1) { |
| 102 | //证书预览 | 132 | //证书预览 |
| 103 | this.$popup("证书预览","workflow/components/zsyl",{ | 133 | this.$popup("证书预览", "workflow/components/zsyl", { |
| 104 | height: '650px', | 134 | height: "650px", |
| 105 | width: "800px", | 135 | width: "800px", |
| 106 | formData: { | 136 | formData: { |
| 107 | bdcqz: item | 137 | bdcqz: item, |
| 108 | }, | 138 | }, |
| 109 | btnShow: false, | 139 | btnShow: false, |
| 110 | cancel: () => { | 140 | cancel: () => { |
| ... | @@ -113,51 +143,51 @@ export default { | ... | @@ -113,51 +143,51 @@ export default { |
| 113 | confirm: () => { | 143 | confirm: () => { |
| 114 | console.log("取消回调"); | 144 | console.log("取消回调"); |
| 115 | }, | 145 | }, |
| 116 | }) | 146 | }); |
| 117 | }else{ | 147 | } else { |
| 118 | //证书打印 | 148 | //证书打印 |
| 119 | this.$popup("证书打印","workflow/components/zsdy",{ | 149 | this.$popup("证书打印", "workflow/components/zsdy", { |
| 120 | height: '700px', | 150 | height: "700px", |
| 121 | width: "800px", | 151 | width: "800px", |
| 122 | formData: { | 152 | formData: { |
| 123 | bsmSlsq: this.bsmSlsq, | 153 | bsmSlsq: this.bsmSlsq, |
| 124 | bdcqz: item | 154 | bdcqz: item, |
| 125 | }, | 155 | }, |
| 126 | btnShow: true, | 156 | btnShow: true, |
| 127 | confirmText: '打印证书', | 157 | confirmText: "打印证书", |
| 128 | cancel: () => { | 158 | cancel: () => { |
| 129 | console.log("取消回调"); | 159 | console.log("取消回调"); |
| 130 | }, | 160 | }, |
| 131 | confirm: () => { | 161 | confirm: () => { |
| 132 | that.list(); | 162 | that.list(); |
| 133 | }, | 163 | }, |
| 134 | }) | 164 | }); |
| 135 | } | 165 | } |
| 136 | }, | 166 | }, |
| 137 | //再次打印 | 167 | //再次打印 |
| 138 | openInvalidDiglog (item) { | 168 | openInvalidDiglog(item) { |
| 139 | this.bsmSz = item.bsmSz; | 169 | this.bsmSz = item.bsmSz; |
| 140 | this.invalidDiglog = true | 170 | this.invalidDiglog = true; |
| 141 | }, | 171 | }, |
| 142 | closeInvalidDiglog () { | 172 | closeInvalidDiglog() { |
| 143 | this.invalidDiglog = false | 173 | this.invalidDiglog = false; |
| 144 | this.bsmSz = ''; | 174 | this.bsmSz = ""; |
| 145 | this.zfyy = ''; | 175 | this.zfyy = ""; |
| 146 | }, | 176 | }, |
| 147 | //作废缮证信息 | 177 | //作废缮证信息 |
| 148 | confirmInvalid () { | 178 | confirmInvalid() { |
| 149 | invalidCertificate({ "bsmSz": this.bsmSz, "zfyy": this.zfyy }).then(res => { | 179 | invalidCertificate({ bsmSz: this.bsmSz, zfyy: this.zfyy }).then((res) => { |
| 150 | if (res.code === 200) { | 180 | if (res.code === 200) { |
| 151 | this.list(); | 181 | this.list(); |
| 152 | this.$message.success('作废成功'); | 182 | this.$message.success("作废成功"); |
| 153 | this.invalidDiglog = false; | 183 | this.invalidDiglog = false; |
| 154 | this.openZsylDialog(this.bdcqz); | 184 | this.openZsylDialog(this.bdcqz); |
| 155 | } else { | 185 | } else { |
| 156 | this.$message.error(res.message); | 186 | this.$message.error(res.message); |
| 157 | } | 187 | } |
| 158 | }) | 188 | }); |
| 159 | } | 189 | }, |
| 160 | } | 190 | }, |
| 161 | }; | 191 | }; |
| 162 | </script> | 192 | </script> |
| 163 | <style scoped lang='scss'> | 193 | <style scoped lang='scss'> |
| ... | @@ -228,7 +258,7 @@ export default { | ... | @@ -228,7 +258,7 @@ export default { |
| 228 | } | 258 | } |
| 229 | 259 | ||
| 230 | .card_padding { | 260 | .card_padding { |
| 231 | padding-top: 8px | 261 | padding-top: 8px; |
| 232 | } | 262 | } |
| 233 | 263 | ||
| 234 | .invalid-diglog { | 264 | .invalid-diglog { |
| ... | @@ -269,6 +299,6 @@ export default { | ... | @@ -269,6 +299,6 @@ export default { |
| 269 | } | 299 | } |
| 270 | 300 | ||
| 271 | /deep/.el-card__body { | 301 | /deep/.el-card__body { |
| 272 | padding: 0px | 302 | padding: 0px; |
| 273 | } | 303 | } |
| 274 | </style> | 304 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -36,7 +36,7 @@ | ... | @@ -36,7 +36,7 @@ |
| 36 | </div> | 36 | </div> |
| 37 | <div class="zsyl-right"> | 37 | <div class="zsyl-right"> |
| 38 | <div class="zsyl-title">附记</div> | 38 | <div class="zsyl-title">附记</div> |
| 39 | <div class="zsyl-text"></div> | 39 | <div class="zsyl-text"> {{ bdcqz.fj }}</div> |
| 40 | </div> | 40 | </div> |
| 41 | </div> | 41 | </div> |
| 42 | </div> | 42 | </div> |
| ... | @@ -94,17 +94,7 @@ export default { | ... | @@ -94,17 +94,7 @@ export default { |
| 94 | }, | 94 | }, |
| 95 | //获取证书内容 | 95 | //获取证书内容 |
| 96 | getRowValue(code){ | 96 | getRowValue(code){ |
| 97 | var value = this.bdcqz[code] | 97 | var value = this.bdcqz[code]; |
| 98 | if(code == 'gyqk'){ | ||
| 99 | switch(value){ | ||
| 100 | case '1': | ||
| 101 | return '单独所有'; | ||
| 102 | case '2': | ||
| 103 | return '共同共有'; | ||
| 104 | case '3': | ||
| 105 | return '按份所有'; | ||
| 106 | } | ||
| 107 | } | ||
| 108 | return value; | 98 | return value; |
| 109 | }, | 99 | }, |
| 110 | //打印证书 | 100 | //打印证书 | ... | ... |
| ... | @@ -50,6 +50,12 @@ export function getForm(tabName, djywbm) { | ... | @@ -50,6 +50,12 @@ export function getForm(tabName, djywbm) { |
| 50 | case "zdjbxx": | 50 | case "zdjbxx": |
| 51 | form = require("@/views/registerBook/zdjbxx.vue"); | 51 | form = require("@/views/registerBook/zdjbxx.vue"); |
| 52 | break; | 52 | break; |
| 53 | case "ygmm100": | ||
| 54 | form=require("@/views/ywbl/ygdj/slxx.vue"); | ||
| 55 | break; | ||
| 56 | case "ygmm300": | ||
| 57 | form=require("@/views/ywbl/fdcq2/slxx.vue"); | ||
| 58 | break; | ||
| 53 | case "cfdjxx": | 59 | case "cfdjxx": |
| 54 | form = require("@/views/registerBook/cfdj.vue"); | 60 | form = require("@/views/registerBook/cfdj.vue"); |
| 55 | break; | 61 | break; | ... | ... |
| ... | @@ -8,7 +8,7 @@ class data extends filter { | ... | @@ -8,7 +8,7 @@ class data extends filter { |
| 8 | constructor() { | 8 | constructor() { |
| 9 | super() | 9 | super() |
| 10 | } | 10 | } |
| 11 | columns () { | 11 | columns() { |
| 12 | return [ | 12 | return [ |
| 13 | { | 13 | { |
| 14 | label: '序号', | 14 | label: '序号', |
| ... | @@ -33,7 +33,14 @@ class data extends filter { | ... | @@ -33,7 +33,14 @@ class data extends filter { |
| 33 | }, | 33 | }, |
| 34 | { | 34 | { |
| 35 | prop: "ywrmc", | 35 | prop: "ywrmc", |
| 36 | label: "义务人" | 36 | label: "义务人", |
| 37 | render: (h, scope) => { | ||
| 38 | if (scope.row.bdcqzh=="") { | ||
| 39 | return <div>{scope.row.ywrmc}</div> | ||
| 40 | } else{ | ||
| 41 | return <div>{scope.row.ywrmc}</div> | ||
| 42 | } | ||
| 43 | } | ||
| 37 | }, | 44 | }, |
| 38 | { | 45 | { |
| 39 | prop: "mj", | 46 | prop: "mj", | ... | ... |
| ... | @@ -318,10 +318,8 @@ export default { | ... | @@ -318,10 +318,8 @@ export default { |
| 318 | }) | 318 | }) |
| 319 | break; | 319 | break; |
| 320 | case "B7": | 320 | case "B7": |
| 321 | this.$popup({ | 321 | this.$popup("证书领取", "workflow/components/zslq",{ |
| 322 | title: "证书领取", | 322 | height: "700px", |
| 323 | editItem: "workflow/components/zslq", | ||
| 324 | height: "500px", | ||
| 325 | formData: {}, | 323 | formData: {}, |
| 326 | btnShow: true, | 324 | btnShow: true, |
| 327 | cancel: () => { | 325 | cancel: () => { | ... | ... |
| ... | @@ -8,11 +8,6 @@ | ... | @@ -8,11 +8,6 @@ |
| 8 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> | 8 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> |
| 9 | <el-row> | 9 | <el-row> |
| 10 | <el-col :span="8"> | 10 | <el-col :span="8"> |
| 11 | <el-form-item label="业务来源" prop="ywlymc"> | ||
| 12 | <el-input v-model="ruleForm.ywlymc"></el-input> | ||
| 13 | </el-form-item> | ||
| 14 | </el-col> | ||
| 15 | <el-col :span="8"> | ||
| 16 | <el-form-item label="申请业务名称" prop="sqywmc"> | 11 | <el-form-item label="申请业务名称" prop="sqywmc"> |
| 17 | <el-input v-model="ruleForm.sqywmc"></el-input> | 12 | <el-input v-model="ruleForm.sqywmc"></el-input> |
| 18 | </el-form-item> | 13 | </el-form-item> |
| ... | @@ -22,13 +17,13 @@ | ... | @@ -22,13 +17,13 @@ |
| 22 | <el-input v-model="ruleForm.qlrmc"></el-input> | 17 | <el-input v-model="ruleForm.qlrmc"></el-input> |
| 23 | </el-form-item> | 18 | </el-form-item> |
| 24 | </el-col> | 19 | </el-col> |
| 25 | </el-row> | ||
| 26 | <el-row> | ||
| 27 | <el-col :span="8"> | 20 | <el-col :span="8"> |
| 28 | <el-form-item label="义务人" prop="ywrmc"> | 21 | <el-form-item label="义务人" prop="ywrmc"> |
| 29 | <el-input v-model="ruleForm.ywrmc"></el-input> | 22 | <el-input v-model="ruleForm.ywrmc"></el-input> |
| 30 | </el-form-item> | 23 | </el-form-item> |
| 31 | </el-col> | 24 | </el-col> |
| 25 | </el-row> | ||
| 26 | <el-row> | ||
| 32 | <el-col :span="8"> | 27 | <el-col :span="8"> |
| 33 | <el-form-item label="受理时间" prop="slsj"> | 28 | <el-form-item label="受理时间" prop="slsj"> |
| 34 | <el-date-picker v-model="ruleForm.slsj" value-format="yyyy-MM-dd" class="width100" type="date" | 29 | <el-date-picker v-model="ruleForm.slsj" value-format="yyyy-MM-dd" class="width100" type="date" |
| ... | @@ -55,7 +50,6 @@ export default { | ... | @@ -55,7 +50,6 @@ export default { |
| 55 | return { | 50 | return { |
| 56 | myValue: this.value, | 51 | myValue: this.value, |
| 57 | ruleForm: { | 52 | ruleForm: { |
| 58 | ywlymc: '', | ||
| 59 | sqywmc: '', | 53 | sqywmc: '', |
| 60 | qlrmc: '', | 54 | qlrmc: '', |
| 61 | ywrmc: '', | 55 | ywrmc: '', | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="from-clues"> | 2 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | ||
| 4 | <div class="from-clues-header"> | 3 | <div class="from-clues-header"> |
| 5 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px"> | 4 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px"> |
| 6 | <el-row> | 5 | <el-row> |
| ... | @@ -57,7 +56,7 @@ | ... | @@ -57,7 +56,7 @@ |
| 57 | </div> | 56 | </div> |
| 58 | <div class="from-clues-content"> | 57 | <div class="from-clues-content"> |
| 59 | <lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort" | 58 | <lb-table :page-size="pageData.size" class="loadingtext" @sort-change="handleSort" |
| 60 | :current-page.sync="pageData.currentPage" :heightNum="300" :total="tableData.total" | 59 | :current-page.sync="pageData.currentPage" :heightNum="290" :total="tableData.total" |
| 61 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | 60 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" |
| 62 | :data="tableData.data"> | 61 | :data="tableData.data"> |
| 63 | </lb-table> | 62 | </lb-table> |
| ... | @@ -98,6 +97,13 @@ export default { | ... | @@ -98,6 +97,13 @@ export default { |
| 98 | sendThis(this); | 97 | sendThis(this); |
| 99 | this.queryClick() | 98 | this.queryClick() |
| 100 | }, | 99 | }, |
| 100 | watch: { | ||
| 101 | queryForm: { | ||
| 102 | handler (newName, oldName) { | ||
| 103 | }, | ||
| 104 | immediate: true | ||
| 105 | } | ||
| 106 | }, | ||
| 101 | methods: { | 107 | methods: { |
| 102 | // 列表渲染接口 | 108 | // 列表渲染接口 |
| 103 | queryClick () { | 109 | queryClick () { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <!-- 受理信息 --> | 2 | <!-- 受理信息 --> |
| 3 | <div class="slxx"> | 3 | <div class="slxx"> |
| 4 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag" | 4 | <el-form |
| 5 | label-width="120px"> | 5 | :model="ruleForm" |
| 6 | :rules="rules" | ||
| 7 | ref="ruleForm" | ||
| 8 | :label-position="flag ? 'top' : ''" | ||
| 9 | :inline="flag" | ||
| 10 | label-width="120px" | ||
| 11 | > | ||
| 6 | <div class="slxx_con"> | 12 | <div class="slxx_con"> |
| 7 | <div class="slxx_title">受理信息</div> | 13 | <div class="slxx_title title-block">受理信息</div> |
| 8 | <el-row :gutter="10"> | 14 | <el-row :gutter="10"> |
| 9 | <el-col :span="8"> | 15 | <el-col :span="8"> |
| 10 | <el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:" prop="ywh"> | 16 | <el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:"> |
| 11 | <el-input disabled v-model="ruleForm.ywh"></el-input> | 17 | <el-input disabled v-model="ruleForm.slywxx.ywh"></el-input> |
| 12 | </el-form-item> | 18 | </el-form-item> |
| 13 | </el-col> | 19 | </el-col> |
| 14 | <el-col :span="8"> | 20 | <el-col :span="8"> |
| 15 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:" prop="slry"> | 21 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:"> |
| 16 | <el-input disabled v-model="ruleForm.slry"></el-input> | 22 | <el-input disabled v-model="ruleForm.slywxx.slry"></el-input> |
| 17 | </el-form-item> | 23 | </el-form-item> |
| 18 | </el-col> | 24 | </el-col> |
| 19 | <el-col :span="8"> | 25 | <el-col :span="8"> |
| 20 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:" prop="slsj"> | 26 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:"> |
| 21 | <el-input disabled v-model="ruleForm.slsj"></el-input> | 27 | <el-input disabled v-model="ruleForm.slywxx.slsj"></el-input> |
| 22 | </el-form-item> | 28 | </el-form-item> |
| 23 | </el-col> | 29 | </el-col> |
| 24 | </el-row> | 30 | </el-row> |
| 25 | <el-row :gutter="10"> | 31 | <el-row :gutter="10"> |
| 26 | <el-col :span="8"> | 32 | <el-col :span="8"> |
| 27 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:" prop="qllx"> | 33 | <el-form-item |
| 28 | <el-select disabled v-model="ruleForm.qllx" filterable clearable placeholder="请选择权利类型"> | 34 | :class="flag ? 'marginBot0' : ''" |
| 29 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 35 | label="权利类型:" |
| 30 | </el-option> | 36 | prop="qllx" |
| 31 | </el-select> | 37 | > |
| 38 | <el-input disabled v-model="ruleForm.slywxx.qllxmc"></el-input> | ||
| 32 | </el-form-item> | 39 | </el-form-item> |
| 33 | </el-col> | 40 | </el-col> |
| 34 | <el-col :span="8"> | 41 | <el-col :span="8"> |
| 35 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:" prop="djlx"> | 42 | <el-form-item |
| 36 | <el-select disabled v-model="ruleForm.djlx" filterable clearable placeholder="请选择登记类型"> | 43 | :class="flag ? 'marginBot0' : ''" |
| 37 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 44 | label="登记类型:" |
| 38 | </el-option> | 45 | prop="djlx" |
| 39 | </el-select> | 46 | > |
| 47 | <el-input disabled v-model="ruleForm.slywxx.djlxmc"></el-input> | ||
| 40 | </el-form-item> | 48 | </el-form-item> |
| 41 | </el-col> | 49 | </el-col> |
| 42 | <el-col :span="8"> | 50 | <el-col :span="8"> |
| 43 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:" prop="djqx"> | 51 | <el-form-item |
| 44 | <el-input disabled v-model="ruleForm.djqxmc"></el-input> | 52 | :class="flag ? 'marginBot0' : ''" |
| 45 | </el-form-item> | 53 | label="登记情形:" |
| 46 | </el-col> | 54 | prop="djqx" |
| 47 | </el-row> | 55 | > |
| 48 | <div class="slxx_title">查封不动产情况</div> | 56 | <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input> |
| 49 | <el-row :gutter="10"> | ||
| 50 | <el-col :span="8"> | ||
| 51 | <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产权证号:" prop="bdcqzh"> | ||
| 52 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
| 53 | </el-form-item> | ||
| 54 | </el-col> | ||
| 55 | <el-col :span="8"> | ||
| 56 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利人:" prop="qlr"> | ||
| 57 | <el-input disabled v-model="ruleForm.qlr"></el-input> | ||
| 58 | </el-form-item> | ||
| 59 | </el-col> | ||
| 60 | <el-col :span="8"> | ||
| 61 | <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产单元号:" prop="bdcdyh"> | ||
| 62 | <el-input disabled v-model="ruleForm.bdcdyh"></el-input> | ||
| 63 | </el-form-item> | ||
| 64 | </el-col> | ||
| 65 | </el-row> | ||
| 66 | <el-row :gutter="10"> | ||
| 67 | <el-col :span="8"> | ||
| 68 | <el-form-item :class="flag ? 'marginBot0' : ''" label="面积:" prop="mj"> | ||
| 69 | <el-input disabled v-model="ruleForm.mj"></el-input> | ||
| 70 | </el-form-item> | ||
| 71 | </el-col> | ||
| 72 | |||
| 73 | <el-col :span="16"> | ||
| 74 | <el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:" prop="zl"> | ||
| 75 | <el-input disabled v-model="ruleForm.zl"></el-input> | ||
| 76 | </el-form-item> | ||
| 77 | </el-col> | ||
| 78 | </el-row> | ||
| 79 | <el-row :gutter="10"> | ||
| 80 | <el-col :span="8"> | ||
| 81 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利性质" prop="qlxz"> | ||
| 82 | <el-input disabled v-model="ruleForm.zrzDetail.zrzh"></el-input> | ||
| 83 | </el-form-item> | ||
| 84 | </el-col> | ||
| 85 | <el-col :span="8"> | ||
| 86 | <el-form-item :class="flag ? 'marginBot0' : ''" label="用途:" prop="yt"> | ||
| 87 | <el-input disabled v-model="ruleForm.ghytmc"></el-input> | ||
| 88 | </el-form-item> | ||
| 89 | </el-col> | ||
| 90 | <el-col :span="8"> | ||
| 91 | <el-form-item :class="flag ? 'marginBot0' : ''" label="取得价格:" prop="qdjg"> | ||
| 92 | <el-input disabled v-model="ruleForm.qdjg"></el-input> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | </el-row> | ||
| 96 | <el-row :gutter="10"> | ||
| 97 | <el-col :span="8"> | ||
| 98 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封机关:"> | ||
| 99 | <el-input disabled v-model="ruleForm.fwyt"></el-input> | ||
| 100 | </el-form-item> | ||
| 101 | </el-col> | ||
| 102 | <el-col :span="8"> | ||
| 103 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封类型:"> | ||
| 104 | <el-input disabled v-model="ruleForm.fwxz"></el-input> | ||
| 105 | </el-form-item> | ||
| 106 | </el-col> | ||
| 107 | <el-col :span="8"> | ||
| 108 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文件:"> | ||
| 109 | <el-input disabled v-model="ruleForm.fwjg"></el-input> | ||
| 110 | </el-form-item> | ||
| 111 | </el-col> | ||
| 112 | </el-row> | ||
| 113 | <el-row :gutter="10"> | ||
| 114 | <el-col :span="8"> | ||
| 115 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封文号:"> | ||
| 116 | <el-input disabled v-model="ruleForm.fwyt"></el-input> | ||
| 117 | </el-form-item> | ||
| 118 | </el-col> | ||
| 119 | <el-col :span="8"> | ||
| 120 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封起始时间:"> | ||
| 121 | <el-input disabled v-model="ruleForm.fwxz"></el-input> | ||
| 122 | </el-form-item> | ||
| 123 | </el-col> | ||
| 124 | <el-col :span="8"> | ||
| 125 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封结束时间:"> | ||
| 126 | <el-input disabled v-model="ruleForm.fwjg"></el-input> | ||
| 127 | </el-form-item> | ||
| 128 | </el-col> | ||
| 129 | </el-row> | ||
| 130 | <el-row :gutter="10"> | ||
| 131 | <el-col> | ||
| 132 | <el-form-item :class="flag ? 'marginBot0' : ''" label="查封范围:" prop="cffw"> | ||
| 133 | <el-input class="textArea" type="textarea" v-model="ruleForm.cffw"></el-input> | ||
| 134 | </el-form-item> | ||
| 135 | </el-col> | ||
| 136 | </el-row> | ||
| 137 | <el-row :gutter="10"> | ||
| 138 | <el-col> | ||
| 139 | <el-form-item :class="flag ? 'marginBot0' : ''" label="附记:" prop="fj"> | ||
| 140 | <el-input class="textArea" type="textarea" v-model="ruleForm.fj"></el-input> | ||
| 141 | </el-form-item> | ||
| 142 | </el-col> | ||
| 143 | </el-row> | ||
| 144 | <div class="slxx_title">不动产权利人信息</div> | ||
| 145 | <el-row :gutter="10"> | ||
| 146 | <el-col :span="14"> | ||
| 147 | <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:"> | ||
| 148 | <el-radio-group v-model="ruleForm.gyfs"> | ||
| 149 | <el-radio label="1">单独所有</el-radio> | ||
| 150 | <el-radio label="2">共同共有</el-radio> | ||
| 151 | <el-radio label="3">按份所有</el-radio> | ||
| 152 | </el-radio-group> | ||
| 153 | </el-form-item> | ||
| 154 | </el-col> | ||
| 155 | <el-col :span="5" v-show="ruleForm.gyfs == '2'"> | ||
| 156 | <el-form-item :class="flag ? 'marginBot0' : ''" label="是否分别持证:"> | ||
| 157 | <el-radio-group v-model="ruleForm.sffbcz"> | ||
| 158 | <el-radio label="1">是</el-radio> | ||
| 159 | <el-radio label="0">否</el-radio> | ||
| 160 | </el-radio-group> | ||
| 161 | </el-form-item> | ||
| 162 | </el-col> | ||
| 163 | <el-col :span="5" v-show="ruleForm.gyfs == '2'"> | ||
| 164 | <el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:"> | ||
| 165 | <el-select v-model="ruleForm.czr" placeholder="持证人"> | ||
| 166 | <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value"> | ||
| 167 | </el-option> | ||
| 168 | </el-select> | ||
| 169 | </el-form-item> | ||
| 170 | </el-col> | ||
| 171 | </el-row> | ||
| 172 | <InformationTable :tableData="ruleForm.qlrxx" :gyfs="ruleForm.gyfs" /> | ||
| 173 | <div class="slxx_title">登记原因</div> | ||
| 174 | <el-row :gutter="10"> | ||
| 175 | <el-col> | ||
| 176 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy"> | ||
| 177 | <el-input class="textArea" type="textarea" v-model="ruleForm.djyy"></el-input> | ||
| 178 | </el-form-item> | 57 | </el-form-item> |
| 179 | </el-col> | 58 | </el-col> |
| 180 | </el-row> | 59 | </el-row> |
| 60 | <div class="slxx_title title-block">抵押不动产情况</div> | ||
| 181 | </div> | 61 | </div> |
| 182 | <el-row class="btn" v-if="!$route.query.viewtype"> | 62 | <el-row class="btn" v-if="!$route.query.viewtype"> |
| 183 | <el-form-item :class="flag ? 'marginBot0' : ''"> | 63 | <el-form-item :class="flag ? 'marginBot0' : ''"> |
| ... | @@ -192,17 +72,15 @@ import InformationTable from "@/views/workflow/components/InformationTable"; | ... | @@ -192,17 +72,15 @@ import InformationTable from "@/views/workflow/components/InformationTable"; |
| 192 | import { Init } from "@/api/diyaqFlow.js"; | 72 | import { Init } from "@/api/diyaqFlow.js"; |
| 193 | import { mapGetters } from "vuex"; | 73 | import { mapGetters } from "vuex"; |
| 194 | export default { | 74 | export default { |
| 195 | async created () { | 75 | async created() { |
| 196 | this.propsParam = this.$attrs; | 76 | this.propsParam = this.$attrs; |
| 197 | var formdata = new FormData(); | 77 | var formdata = new FormData(); |
| 198 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | 78 | formdata.append("bsmSldy", this.propsParam.bsmSldy); |
| 79 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 199 | formdata.append("djlx", this.propsParam.djlx); | 80 | formdata.append("djlx", this.propsParam.djlx); |
| 200 | Init(formdata).then((res) => { | 81 | Init(formdata).then((res) => { |
| 201 | if (res.code === 200 && res.result) { | 82 | if (res.code === 200 && res.result) { |
| 202 | this.ruleForm = { | 83 | this.ruleForm = res.result; |
| 203 | ...res.result, | ||
| 204 | ...res.result.qlxxdatas, | ||
| 205 | } | ||
| 206 | } | 84 | } |
| 207 | }); | 85 | }); |
| 208 | }, | 86 | }, |
| ... | @@ -210,42 +88,12 @@ export default { | ... | @@ -210,42 +88,12 @@ export default { |
| 210 | computed: { | 88 | computed: { |
| 211 | ...mapGetters(["dictData", "flag"]), | 89 | ...mapGetters(["dictData", "flag"]), |
| 212 | }, | 90 | }, |
| 213 | data () { | 91 | data() { |
| 214 | return { | 92 | return { |
| 215 | disabled: true, | 93 | disabled: true, |
| 216 | tdytOption: [], | ||
| 217 | czrOptions: [], | ||
| 218 | ruleForm: { | 94 | ruleForm: { |
| 219 | ywh: "", | 95 | slywxx:{} |
| 220 | slry: "", | 96 | |
| 221 | slsj: "", | ||
| 222 | qllx: "", | ||
| 223 | djlx: "", | ||
| 224 | djqx: "", | ||
| 225 | // 宗地代码 | ||
| 226 | zddm: "", | ||
| 227 | bdcdyh: "", | ||
| 228 | qlxzmc: "", | ||
| 229 | qlrxx: [], | ||
| 230 | // 自然幢号 | ||
| 231 | zrzh: "", | ||
| 232 | // 户不动产单元号 | ||
| 233 | hbdcdyh: '', | ||
| 234 | djzt: '', | ||
| 235 | // 图幅丘幢号 | ||
| 236 | tfqzh: '', | ||
| 237 | zl: '', | ||
| 238 | // 房屋用途 | ||
| 239 | fwyt: '', | ||
| 240 | fwxz: '', | ||
| 241 | fwjg: '', | ||
| 242 | // 权利人信息 | ||
| 243 | gyfs: "1", | ||
| 244 | // 是否分别持证 | ||
| 245 | sffbcz: "", | ||
| 246 | // 持证人 | ||
| 247 | czr: "", | ||
| 248 | djyy: '' | ||
| 249 | }, | 97 | }, |
| 250 | //传递参数 | 98 | //传递参数 |
| 251 | propsParam: {}, | 99 | propsParam: {}, |
| ... | @@ -253,9 +101,9 @@ export default { | ... | @@ -253,9 +101,9 @@ export default { |
| 253 | }; | 101 | }; |
| 254 | }, | 102 | }, |
| 255 | methods: { | 103 | methods: { |
| 256 | list (bsmSldy) { | 104 | list(bsmSldy) { |
| 257 | Init({ | 105 | Init({ |
| 258 | bsmSldy: bsmSldy.split(',') | 106 | bsmSldy: bsmSldy.split(","), |
| 259 | }).then((res) => { | 107 | }).then((res) => { |
| 260 | if (res.code === 200 && res.result) { | 108 | if (res.code === 200 && res.result) { |
| 261 | this.ruleForm = { | 109 | this.ruleForm = { |
| ... | @@ -267,7 +115,7 @@ export default { | ... | @@ -267,7 +115,7 @@ export default { |
| 267 | } | 115 | } |
| 268 | }); | 116 | }); |
| 269 | }, | 117 | }, |
| 270 | onSubmit () { | 118 | onSubmit() { |
| 271 | fristReg(this.ruleForm).then((res) => { | 119 | fristReg(this.ruleForm).then((res) => { |
| 272 | if (res.code === 200 && res.result) { | 120 | if (res.code === 200 && res.result) { |
| 273 | console.log(res); | 121 | console.log(res); |
| ... | @@ -280,77 +128,5 @@ export default { | ... | @@ -280,77 +128,5 @@ export default { |
| 280 | </script> | 128 | </script> |
| 281 | <style scoped lang='scss'> | 129 | <style scoped lang='scss'> |
| 282 | @import "~@/styles/public.scss"; | 130 | @import "~@/styles/public.scss"; |
| 283 | 131 | @import "~@/styles/slxx/slxx.scss"; | |
| 284 | /deep/.el-form { | ||
| 285 | display: flex; | ||
| 286 | flex-direction: column; | ||
| 287 | height: calc(100vh - 130px); | ||
| 288 | background-color: aqua; | ||
| 289 | } | ||
| 290 | |||
| 291 | /deep/.el-form-item__label { | ||
| 292 | padding: 0; | ||
| 293 | } | ||
| 294 | |||
| 295 | /deep/.el-radio { | ||
| 296 | margin-right: 10px; | ||
| 297 | } | ||
| 298 | |||
| 299 | /deep/.el-select { | ||
| 300 | width: 100%; | ||
| 301 | } | ||
| 302 | |||
| 303 | /deep/.el-form-item { | ||
| 304 | margin-bottom: 8px; | ||
| 305 | } | ||
| 306 | |||
| 307 | .marginBot0 { | ||
| 308 | margin-bottom: 0 !important; | ||
| 309 | } | ||
| 310 | |||
| 311 | .slxx { | ||
| 312 | box-sizing: border-box; | ||
| 313 | } | ||
| 314 | |||
| 315 | .slxx_con { | ||
| 316 | flex: 1; | ||
| 317 | height: 100%; | ||
| 318 | background-color: #ffffff; | ||
| 319 | overflow-y: auto; | ||
| 320 | padding-right: 3px; | ||
| 321 | overflow-x: hidden; | ||
| 322 | } | ||
| 323 | |||
| 324 | .submit_btn { | ||
| 325 | height: 50px; | ||
| 326 | } | ||
| 327 | |||
| 328 | .slxx_title { | ||
| 329 | border-bottom: 1px solid $borderColor; | ||
| 330 | padding-left: 10px; | ||
| 331 | padding-bottom: 5px; | ||
| 332 | margin-bottom: 10px; | ||
| 333 | margin-top: 5px; | ||
| 334 | font-size: 16px; | ||
| 335 | font-weight: 500; | ||
| 336 | color: #4a4a4a; | ||
| 337 | } | ||
| 338 | |||
| 339 | .btn { | ||
| 340 | text-align: center; | ||
| 341 | padding-top: 10px; | ||
| 342 | height: 36px; | ||
| 343 | background-color: #ffffff; | ||
| 344 | padding: 5px 0; | ||
| 345 | } | ||
| 346 | |||
| 347 | .textArea { | ||
| 348 | /deep/.el-textarea__inner { | ||
| 349 | min-height: 90px !important; | ||
| 350 | } | ||
| 351 | } | ||
| 352 | |||
| 353 | /deep/.el-form-item__label { | ||
| 354 | padding-bottom: 0px; | ||
| 355 | } | ||
| 356 | </style> | 132 | </style> | ... | ... |
src/views/ywbl/ygdj/slxx.vue
0 → 100644
| 1 | <template> | ||
| 2 | <!-- 受理信息 --> | ||
| 3 | <div class="slxx"> | ||
| 4 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag" | ||
| 5 | label-width="120px"> | ||
| 6 | <div class="slxx_con"> | ||
| 7 | <div class="slxx_title title-block"> | ||
| 8 | 受理信息 | ||
| 9 | <div class="triangle"></div> | ||
| 10 | </div> | ||
| 11 | <el-row :gutter="10" v-if="ruleForm.slywxx"> | ||
| 12 | <el-col :span="8"> | ||
| 13 | <el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:"> | ||
| 14 | <el-input disabled v-model="ruleForm.slywxx.ywh"></el-input> | ||
| 15 | </el-form-item> | ||
| 16 | </el-col> | ||
| 17 | <el-col :span="8"> | ||
| 18 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:"> | ||
| 19 | <el-input disabled v-model="ruleForm.slywxx.slry"></el-input> | ||
| 20 | </el-form-item> | ||
| 21 | </el-col> | ||
| 22 | <el-col :span="8"> | ||
| 23 | <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:"> | ||
| 24 | <el-input disabled v-model="ruleForm.slywxx.slsj"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | </el-row> | ||
| 28 | <el-row :gutter="10" v-if="ruleForm.slywxx"> | ||
| 29 | <el-col :span="8"> | ||
| 30 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利类型:"> | ||
| 31 | <el-input disabled v-model="ruleForm.slywxx.qllxmc"></el-input> | ||
| 32 | </el-form-item> | ||
| 33 | </el-col> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记类型:"> | ||
| 36 | <el-input disabled v-model="ruleForm.slywxx.djlxmc"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记情形:"> | ||
| 41 | <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | </el-row> | ||
| 45 | <div class="slxx_title title-block"> | ||
| 46 | 不动产单元情况 | ||
| 47 | <div class="triangle"></div> | ||
| 48 | </div> | ||
| 49 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 50 | <el-col :span="8"> | ||
| 51 | <el-form-item :class="flag ? 'marginBot0' : ''" label="不动产单元号:"> | ||
| 52 | <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input> | ||
| 53 | </el-form-item> | ||
| 54 | </el-col> | ||
| 55 | <el-col :span="16"> | ||
| 56 | <el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:"> | ||
| 57 | <el-input disabled v-model="ruleForm.qlxx.zl"></el-input> | ||
| 58 | </el-form-item> | ||
| 59 | </el-col> | ||
| 60 | </el-row> | ||
| 61 | <el-row :gutter="10" > | ||
| 62 | <el-col :span="8"> | ||
| 63 | <el-form-item :class="flag ? 'marginBot0' : ''" label="规划用途:"> | ||
| 64 | <el-input disabled v-model="ruleForm.ygdj.ghyt"></el-input> | ||
| 65 | </el-form-item> | ||
| 66 | </el-col> | ||
| 67 | <el-col :span="8"> | ||
| 68 | <el-form-item :class="flag ? 'marginBot0' : ''" label="土地使用起止时间:"> | ||
| 69 | <el-input disabled v-model="ruleForm.ygdj.ghyt"></el-input> | ||
| 70 | </el-form-item> | ||
| 71 | </el-col> | ||
| 72 | <el-col :span="8"> | ||
| 73 | <el-form-item :class="flag ? 'marginBot0' : ''" label="土地使用期限:"> | ||
| 74 | <el-input disabled v-model="ruleForm.ygdj.ghyt"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | </el-row> | ||
| 78 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 79 | <el-col :span="8"> | ||
| 80 | <el-form-item :class="flag ? 'marginBot0' : ''" label="房屋用途:"> | ||
| 81 | <el-input disabled v-model="ruleForm.qlxx.ytmc"></el-input> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item :class="flag ? 'marginBot0' : ''" label="房屋性质:"> | ||
| 86 | <el-input disabled v-model="ruleForm.ygdj.fwxzmc"></el-input> | ||
| 87 | </el-form-item> | ||
| 88 | </el-col> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item :class="flag ? 'marginBot0' : ''" label="房屋结构:"> | ||
| 91 | <el-input disabled v-model="ruleForm.ygdj.fwjgmc"></el-input> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | </el-row> | ||
| 95 | <el-row :gutter="10" > | ||
| 96 | <el-col :span="8"> | ||
| 97 | <el-form-item :class="flag ? 'marginBot0' : ''" label="所在层:"> | ||
| 98 | <el-input disabled v-model="ruleForm.ygdj.szc"></el-input> | ||
| 99 | </el-form-item> | ||
| 100 | </el-col> | ||
| 101 | <el-col :span="8"> | ||
| 102 | <el-form-item :class="flag ? 'marginBot0' : ''" label="总层数:"> | ||
| 103 | <el-input disabled v-model="ruleForm.ygdj.zcs"></el-input> | ||
| 104 | </el-form-item> | ||
| 105 | </el-col> | ||
| 106 | <el-col :span="8"> | ||
| 107 | <el-form-item :class="flag ? 'marginBot0' : ''" label="竣工时间:"> | ||
| 108 | <el-input disabled v-model="ruleForm.ygdj.jgsj"></el-input> | ||
| 109 | </el-form-item> | ||
| 110 | </el-col> | ||
| 111 | </el-row> | ||
| 112 | <el-row :gutter="10" v-if="ruleForm.qlxx"> | ||
| 113 | <el-col :span="8"> | ||
| 114 | <el-form-item :class="flag ? 'marginBot0' : ''" label="建筑面积:"> | ||
| 115 | <el-input disabled v-model="ruleForm.qlxx.mj"></el-input> | ||
| 116 | </el-form-item> | ||
| 117 | </el-col> | ||
| 118 | <el-col :span="8"> | ||
| 119 | <el-form-item :class="flag ? 'marginBot0' : ''" label="专有建筑面积:"> | ||
| 120 | <el-input disabled v-model="ruleForm.ygdj.zyjzmj"></el-input> | ||
| 121 | </el-form-item> | ||
| 122 | </el-col> | ||
| 123 | <el-col :span="8"> | ||
| 124 | <el-form-item :class="flag ? 'marginBot0' : ''" label="分摊建筑面积:"> | ||
| 125 | <el-input disabled v-model="ruleForm.ygdj.ftjzmj"></el-input> | ||
| 126 | </el-form-item> | ||
| 127 | </el-col> | ||
| 128 | </el-row> | ||
| 129 | <div class="slxx_title title-block"> | ||
| 130 | 权利人信息 | ||
| 131 | <div class="triangle"></div> | ||
| 132 | </div> | ||
| 133 | <el-row :gutter="10"> | ||
| 134 | <el-col :span="14" v-if="ruleForm.qlxx"> | ||
| 135 | <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:"> | ||
| 136 | <el-radio-group :disabled="$route.query.viewtype==1" v-model="ruleForm.slywxx.gyfs"> | ||
| 137 | <el-radio label="1">单独所有</el-radio> | ||
| 138 | <el-radio label="2">共同共有</el-radio> | ||
| 139 | <el-radio label="3">按份所有</el-radio> | ||
| 140 | </el-radio-group> | ||
| 141 | </el-form-item> | ||
| 142 | </el-col> | ||
| 143 | <el-col :span="5" v-show="ruleForm.qlxx&&ruleForm.qlxx.gyfs == '2'"> | ||
| 144 | <el-form-item :class="flag ? 'marginBot0' : ''" label="是否分别持证:"> | ||
| 145 | <el-radio-group v-model="ruleForm.sffbcz"> | ||
| 146 | <el-radio label="1">是</el-radio> | ||
| 147 | <el-radio label="0">否</el-radio> | ||
| 148 | </el-radio-group> | ||
| 149 | </el-form-item> | ||
| 150 | </el-col> | ||
| 151 | <el-col :span="5" v-show="ruleForm.qlxx&&ruleForm.qlxx.gyfs == '2'"> | ||
| 152 | <el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:"> | ||
| 153 | <el-select v-model="ruleForm.czr" placeholder="持证人"> | ||
| 154 | <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value"> | ||
| 155 | </el-option> | ||
| 156 | </el-select> | ||
| 157 | </el-form-item> | ||
| 158 | </el-col> | ||
| 159 | </el-row> | ||
| 160 | <InformationTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" | ||
| 161 | :gyfs="ruleForm.qlxx.gyfs" /> | ||
| 162 | <div class="slxx_title title-block"> | ||
| 163 | 义务人信息 | ||
| 164 | <div class="triangle"></div> | ||
| 165 | </div> | ||
| 166 | <InformationTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateYwrxxList" :tableData="ruleForm.ywrList" | ||
| 167 | :gyfs="ruleForm.qlxx.gyfs" /> | ||
| 168 | <div class="slxx_title title-block"> | ||
| 169 | 登记原因 | ||
| 170 | <div class="triangle"></div> | ||
| 171 | </div> | ||
| 172 | <el-row :gutter="10"> | ||
| 173 | <el-col> | ||
| 174 | <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy"> | ||
| 175 | <el-input class="textArea" type="textarea" :disabled="$route.query.viewtype==1" | ||
| 176 | v-model="ruleForm.ygdj.djyy"> | ||
| 177 | </el-input> | ||
| 178 | </el-form-item> | ||
| 179 | </el-col> | ||
| 180 | </el-row> | ||
| 181 | </div> | ||
| 182 | <el-row class="btn" v-if="!$route.query.viewtype"> | ||
| 183 | <el-form-item :class="flag ? 'marginBot0' : ''"> | ||
| 184 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 185 | </el-form-item> | ||
| 186 | </el-row> | ||
| 187 | </el-form> | ||
| 188 | </div> | ||
| 189 | </template> | ||
| 190 | <script> | ||
| 191 | import InformationTable from "@/views/workflow/components/InformationTable"; | ||
| 192 | import { Init, saveData } from "@/api/ygdjFlow.js"; | ||
| 193 | import { mapGetters } from "vuex"; | ||
| 194 | export default { | ||
| 195 | async created () { | ||
| 196 | //this.propsParam = this.$attrs; | ||
| 197 | var formdata = new FormData(); | ||
| 198 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 199 | formdata.append("djlx", this.propsParam.djlx); | ||
| 200 | |||
| 201 | Init(formdata).then(res => { | ||
| 202 | if (res.code === 200 && res.result) { | ||
| 203 | this.ruleForm = res.result; | ||
| 204 | } | ||
| 205 | }) | ||
| 206 | }, | ||
| 207 | components: { InformationTable }, | ||
| 208 | computed: { | ||
| 209 | ...mapGetters(["dictData", "flag"]), | ||
| 210 | }, | ||
| 211 | data () { | ||
| 212 | return { | ||
| 213 | disabled: true, | ||
| 214 | tdytOption: [], | ||
| 215 | czrOptions: [], | ||
| 216 | ruleForm: {}, | ||
| 217 | //传递参数 | ||
| 218 | propsParam: this.$attrs, | ||
| 219 | rules: {}, | ||
| 220 | }; | ||
| 221 | }, | ||
| 222 | methods: { | ||
| 223 | // 更新权利人信息 | ||
| 224 | upDateQlrxxList (val) { | ||
| 225 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 226 | }, | ||
| 227 | // 更新权利人信息 | ||
| 228 | upDateYwrxxList (val) { | ||
| 229 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 230 | }, | ||
| 231 | onSubmit () { | ||
| 232 | saveData(this.ruleForm).then((res) => { | ||
| 233 | if (res.code === 200) { | ||
| 234 | this.$message({ | ||
| 235 | showClose: true, | ||
| 236 | message: "保存成功!", | ||
| 237 | type: "success", | ||
| 238 | }); | ||
| 239 | } else { | ||
| 240 | this.$message({ | ||
| 241 | showClose: true, | ||
| 242 | message: res.message, | ||
| 243 | type: "error", | ||
| 244 | }); | ||
| 245 | } | ||
| 246 | }); | ||
| 247 | }, | ||
| 248 | }, | ||
| 249 | }; | ||
| 250 | </script> | ||
| 251 | <style scoped lang='scss'> | ||
| 252 | @import "~@/styles/public.scss"; | ||
| 253 | |||
| 254 | /deep/.el-form { | ||
| 255 | display: flex; | ||
| 256 | flex-direction: column; | ||
| 257 | height: calc(100vh - 130px); | ||
| 258 | background-color: aqua; | ||
| 259 | } | ||
| 260 | |||
| 261 | /deep/.el-form-item__label { | ||
| 262 | padding: 0; | ||
| 263 | } | ||
| 264 | |||
| 265 | /deep/.el-radio { | ||
| 266 | margin-right: 10px; | ||
| 267 | } | ||
| 268 | |||
| 269 | /deep/.el-select { | ||
| 270 | width: 100%; | ||
| 271 | } | ||
| 272 | |||
| 273 | /deep/.el-form-item { | ||
| 274 | margin-bottom: 8px; | ||
| 275 | } | ||
| 276 | |||
| 277 | .marginBot0 { | ||
| 278 | margin-bottom: 0 !important; | ||
| 279 | } | ||
| 280 | |||
| 281 | .slxx { | ||
| 282 | box-sizing: border-box; | ||
| 283 | } | ||
| 284 | |||
| 285 | .slxx_con { | ||
| 286 | flex: 1; | ||
| 287 | height: 100%; | ||
| 288 | background-color: #ffffff; | ||
| 289 | overflow-y: auto; | ||
| 290 | padding-right: 3px; | ||
| 291 | overflow-x: hidden; | ||
| 292 | } | ||
| 293 | |||
| 294 | .submit_btn { | ||
| 295 | height: 50px; | ||
| 296 | } | ||
| 297 | |||
| 298 | .slxx_title { | ||
| 299 | border-bottom: 1px solid $borderColor; | ||
| 300 | padding-left: 10px; | ||
| 301 | padding-bottom: 5px; | ||
| 302 | margin-bottom: 10px; | ||
| 303 | margin-top: 5px; | ||
| 304 | font-size: 16px; | ||
| 305 | font-weight: 500; | ||
| 306 | color: #4a4a4a; | ||
| 307 | } | ||
| 308 | |||
| 309 | .btn { | ||
| 310 | text-align: center; | ||
| 311 | padding-top: 10px; | ||
| 312 | height: 36px; | ||
| 313 | background-color: #ffffff; | ||
| 314 | padding: 5px 0; | ||
| 315 | } | ||
| 316 | |||
| 317 | .textArea { | ||
| 318 | /deep/.el-textarea__inner { | ||
| 319 | min-height: 90px !important; | ||
| 320 | } | ||
| 321 | } | ||
| 322 | |||
| 323 | /deep/.el-form-item__label { | ||
| 324 | padding-bottom: 0px; | ||
| 325 | } | ||
| 326 | </style> |
| ... | @@ -124,6 +124,10 @@ export default { | ... | @@ -124,6 +124,10 @@ export default { |
| 124 | }); | 124 | }); |
| 125 | }, | 125 | }, |
| 126 | handleSelectionChange (val) { | 126 | handleSelectionChange (val) { |
| 127 | val.forEach((item, index) => { | ||
| 128 | item.bsmSsql = item.bsmQlxx | ||
| 129 | item.ybdcqzsh = item.bdcqzh | ||
| 130 | }) | ||
| 127 | this.bdcdysz = val | 131 | this.bdcdysz = val |
| 128 | } | 132 | } |
| 129 | }, | 133 | }, | ... | ... |
| ... | @@ -30,7 +30,7 @@ export function queueDjywmc (djywbm) { | ... | @@ -30,7 +30,7 @@ export function queueDjywmc (djywbm) { |
| 30 | case "A07400": | 30 | case "A07400": |
| 31 | vm = "jsydsyq200"; | 31 | vm = "jsydsyq200"; |
| 32 | break; | 32 | break; |
| 33 | case "A07100"://抵押权首次 | 33 | case "A37100"://抵押权首次 |
| 34 | vm = "bdcqlMain"; | 34 | vm = "bdcqlMain"; |
| 35 | break; | 35 | break; |
| 36 | case "A37200"://抵押权转移 | 36 | case "A37200"://抵押权转移 | ... | ... |
| ... | @@ -30,7 +30,7 @@ | ... | @@ -30,7 +30,7 @@ |
| 30 | flex-direction: column; | 30 | flex-direction: column; |
| 31 | 31 | ||
| 32 | .item-list { | 32 | .item-list { |
| 33 | max-height: calc(100vh - 380px); | 33 | max-height: calc(100vh - 360px); |
| 34 | overflow-y: auto; | 34 | overflow-y: auto; |
| 35 | } | 35 | } |
| 36 | 36 | ||
| ... | @@ -146,6 +146,7 @@ | ... | @@ -146,6 +146,7 @@ |
| 146 | flex: 1; | 146 | flex: 1; |
| 147 | width: 100%; | 147 | width: 100%; |
| 148 | padding: 3px; | 148 | padding: 3px; |
| 149 | |||
| 149 | } | 150 | } |
| 150 | 151 | ||
| 151 | p:nth-child(2) { | 152 | p:nth-child(2) { |
| ... | @@ -189,7 +190,7 @@ | ... | @@ -189,7 +190,7 @@ |
| 189 | cursor: pointer; | 190 | cursor: pointer; |
| 190 | margin-bottom: 15px; | 191 | margin-bottom: 15px; |
| 191 | 192 | ||
| 192 | p { | 193 | p:nth-child(2) { |
| 193 | @include flex-center; | 194 | @include flex-center; |
| 194 | } | 195 | } |
| 195 | 196 | ||
| ... | @@ -202,6 +203,9 @@ | ... | @@ -202,6 +203,9 @@ |
| 202 | flex: 1; | 203 | flex: 1; |
| 203 | width: 100%; | 204 | width: 100%; |
| 204 | padding: 3px; | 205 | padding: 3px; |
| 206 | padding-left: 30px; | ||
| 207 | display: flex; | ||
| 208 | align-items: center; | ||
| 205 | } | 209 | } |
| 206 | 210 | ||
| 207 | p:nth-child(2) { | 211 | p:nth-child(2) { | ... | ... |
| ... | @@ -31,37 +31,21 @@ | ... | @@ -31,37 +31,21 @@ |
| 31 | </ul> | 31 | </ul> |
| 32 | </div> | 32 | </div> |
| 33 | <div class="right-situation el-card box-card is-always-shadow"> | 33 | <div class="right-situation el-card box-card is-always-shadow"> |
| 34 | <div v-if="n >= 0"> | 34 | <div class="right-title">{{ obj[n] }}</div> |
| 35 | <div class="right-title">常办业务列表</div> | ||
| 36 | <ul> | 35 | <ul> |
| 37 | <li v-for="(item, index) in ywList" :key="index" @click="handleSelectYw(item, ywList)" | 36 | <li v-for="(item, index) in itemList" :key="index" @click="handleSelectYw(item, ywList)" |
| 38 | :class="item.cselect ? 'cactive' : ''"> | 37 | :class="item.cselect ? 'cactive' : ''"> |
| 39 | <p> | 38 | <p> |
| 40 | {{ item.djywmc }}<br> | 39 | {{ item.djywmc }}<br> |
| 41 | {{ item.nodename }} | 40 | {{ item.nodename }} |
| 42 | </p> | 41 | </p> |
| 43 | 42 | ||
| 44 | <p v-if="item.sffqlc == 1" class="active" @click.stop="handleCollection(item)"> | ||
| 45 | <i class="el-icon-star-off active"></i> | ||
| 46 | </p> | ||
| 47 | </li> | ||
| 48 | </ul> | ||
| 49 | </div> | ||
| 50 | <div v-if="n == -1"> | ||
| 51 | <div class="right-title">登记情形</div> | ||
| 52 | <ul class="registration"> | ||
| 53 | <li v-for="(item, index) in djqxList" @click="handleSelectYw(item, djqxList)" | ||
| 54 | :class="item.cselect ? 'cactive' : ''" :key="index"> | ||
| 55 | <p> | ||
| 56 | {{ item.nodename }} | ||
| 57 | </p> | ||
| 58 | <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)"> | 43 | <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)"> |
| 59 | <i class="el-icon-star-off" :class="item.userCollect == 1 ? 'active' : ''"></i> | 44 | <i class="el-icon-star-off" :class="item.userCollect == 1 ? 'active' : ''"></i> |
| 60 | </p> | 45 | </p> |
| 61 | </li> | 46 | </li> |
| 62 | </ul> | 47 | </ul> |
| 63 | </div> | 48 | </div> |
| 64 | </div> | ||
| 65 | <div class="submit-button"> | 49 | <div class="submit-button"> |
| 66 | <el-button type="primary" :disabled="btnDisabled" @click="bthSelectClick">选择不动产</el-button> | 50 | <el-button type="primary" :disabled="btnDisabled" @click="bthSelectClick">选择不动产</el-button> |
| 67 | </div> | 51 | </div> |
| ... | @@ -70,7 +54,6 @@ | ... | @@ -70,7 +54,6 @@ |
| 70 | </div> | 54 | </div> |
| 71 | </template> | 55 | </template> |
| 72 | <script> | 56 | <script> |
| 73 | import Cookies from 'js-cookie' | ||
| 74 | import fqsqDialog from "./slectBdc.vue" | 57 | import fqsqDialog from "./slectBdc.vue" |
| 75 | import { getCollectBiz, getleftMenu, getNextNode, addCollectBiz, deleteCollectBiz } from "@/api/ywbl" | 58 | import { getCollectBiz, getleftMenu, getNextNode, addCollectBiz, deleteCollectBiz } from "@/api/ywbl" |
| 76 | export default { | 59 | export default { |
| ... | @@ -81,10 +64,17 @@ export default { | ... | @@ -81,10 +64,17 @@ export default { |
| 81 | leftList: [ | 64 | leftList: [ |
| 82 | '常办业务', '一并申请', '登记簿补录', | 65 | '常办业务', '一并申请', '登记簿补录', |
| 83 | ], | 66 | ], |
| 67 | // 左侧列表 | ||
| 84 | list: [], | 68 | list: [], |
| 85 | djlxList: [], | 69 | djlxList: [], |
| 70 | |||
| 71 | itemList: [], | ||
| 86 | ywList: [], | 72 | ywList: [], |
| 87 | djqxList: [], | 73 | djqxList: [], |
| 74 | obj: { | ||
| 75 | '0': '常办业务列表', | ||
| 76 | '-1': '登记情形' | ||
| 77 | }, | ||
| 88 | isDialog: false, | 78 | isDialog: false, |
| 89 | btnDisabled: true, | 79 | btnDisabled: true, |
| 90 | djywbm: '', | 80 | djywbm: '', |
| ... | @@ -104,12 +94,16 @@ export default { | ... | @@ -104,12 +94,16 @@ export default { |
| 104 | }, | 94 | }, |
| 105 | methods: { | 95 | methods: { |
| 106 | getDataList () { | 96 | getDataList () { |
| 107 | getCollectBiz({ 'target': '#ywsq' }).then(res => { | 97 | getCollectBiz().then(res => { |
| 108 | let { result } = res | 98 | let { result } = res |
| 109 | this.ywList = result | 99 | this.ywList = result |
| 110 | this.ywList.forEach(item => { | 100 | this.ywList.forEach(item => { |
| 111 | this.$set(item, 'cselect', false) | 101 | this.$set(item, 'cselect', false) |
| 102 | item.userCollect = 1 | ||
| 112 | }) | 103 | }) |
| 104 | if (this.n == 0) { | ||
| 105 | this.itemList = this.ywList | ||
| 106 | } | ||
| 113 | }) | 107 | }) |
| 114 | getleftMenu().then(res => { | 108 | getleftMenu().then(res => { |
| 115 | let { result } = res | 109 | let { result } = res |
| ... | @@ -118,9 +112,14 @@ export default { | ... | @@ -118,9 +112,14 @@ export default { |
| 118 | }, | 112 | }, |
| 119 | handleleftTitle (index) { | 113 | handleleftTitle (index) { |
| 120 | this.n = index | 114 | this.n = index |
| 115 | let obj = { | ||
| 116 | '0': this.ywList | ||
| 117 | } | ||
| 118 | this.itemList = obj[this.n] | ||
| 121 | this.list.forEach(item => { | 119 | this.list.forEach(item => { |
| 122 | if (item.check) item.check = false | 120 | if (item.check) item.check = false |
| 123 | }) | 121 | }) |
| 122 | |||
| 124 | }, | 123 | }, |
| 125 | // 业务-登记情形选择 | 124 | // 业务-登记情形选择 |
| 126 | handleSelectYw (item, list) { | 125 | handleSelectYw (item, list) { |
| ... | @@ -135,7 +134,6 @@ export default { | ... | @@ -135,7 +134,6 @@ export default { |
| 135 | this.btnDisabled = false | 134 | this.btnDisabled = false |
| 136 | this.bsmSqyw = item.bsmSqyw | 135 | this.bsmSqyw = item.bsmSqyw |
| 137 | this.djywbm = item.djywbm | 136 | this.djywbm = item.djywbm |
| 138 | console.log(this.djywbm, 'this.djywbm'); | ||
| 139 | } | 137 | } |
| 140 | }, | 138 | }, |
| 141 | handleList (list, obj) { | 139 | handleList (list, obj) { |
| ... | @@ -147,11 +145,11 @@ export default { | ... | @@ -147,11 +145,11 @@ export default { |
| 147 | this.$set(obj, 'check', true) | 145 | this.$set(obj, 'check', true) |
| 148 | this.getNextNode(obj.bsmSqyw) | 146 | this.getNextNode(obj.bsmSqyw) |
| 149 | this.djqxList = [] | 147 | this.djqxList = [] |
| 150 | this.djlxList = [] | 148 | this.itemList = [] |
| 151 | }, | 149 | }, |
| 152 | // 获取下个节点类型 | 150 | // 获取下个节点类型 |
| 153 | getNextNode (bsmSqyw, type) { | 151 | getNextNode (bsmSqyw, type = true) { |
| 154 | getNextNode(bsmSqyw, { 'target': '#ywsq' }).then(res => { | 152 | getNextNode(bsmSqyw).then(res => { |
| 155 | if (res.result.djqx) this.djqxList = res.result.djqx | 153 | if (res.result.djqx) this.djqxList = res.result.djqx |
| 156 | if (res.result.djlx) this.djlxList = res.result.djlx | 154 | if (res.result.djlx) this.djlxList = res.result.djlx |
| 157 | if (type) { | 155 | if (type) { |
| ... | @@ -162,6 +160,7 @@ export default { | ... | @@ -162,6 +160,7 @@ export default { |
| 162 | this.$set(item, 'cselect', false) | 160 | this.$set(item, 'cselect', false) |
| 163 | }) | 161 | }) |
| 164 | } | 162 | } |
| 163 | this.itemList = this.djqxList | ||
| 165 | }) | 164 | }) |
| 166 | }, | 165 | }, |
| 167 | handleCollection (item) { | 166 | handleCollection (item) { |
| ... | @@ -178,6 +177,11 @@ export default { | ... | @@ -178,6 +177,11 @@ export default { |
| 178 | } | 177 | } |
| 179 | }) | 178 | }) |
| 180 | } else { | 179 | } else { |
| 180 | this.$confirm('此操作将取消收藏, 是否继续?', '提示', { | ||
| 181 | confirmButtonText: '确定', | ||
| 182 | cancelButtonText: '取消', | ||
| 183 | type: 'warning' | ||
| 184 | }).then(() => { | ||
| 181 | deleteCollectBiz(item.bsmSqyw).then(res => { | 185 | deleteCollectBiz(item.bsmSqyw).then(res => { |
| 182 | if (res.code == 200) { | 186 | if (res.code == 200) { |
| 183 | item.userCollect = '2' | 187 | item.userCollect = '2' |
| ... | @@ -188,6 +192,12 @@ export default { | ... | @@ -188,6 +192,12 @@ export default { |
| 188 | that.getDataList() | 192 | that.getDataList() |
| 189 | } | 193 | } |
| 190 | }) | 194 | }) |
| 195 | }).catch(() => { | ||
| 196 | this.$message({ | ||
| 197 | type: 'info', | ||
| 198 | message: '已取消收藏' | ||
| 199 | }) | ||
| 200 | }) | ||
| 191 | } | 201 | } |
| 192 | }, | 202 | }, |
| 193 | handleSelect (item) { | 203 | handleSelect (item) { |
| ... | @@ -198,11 +208,11 @@ export default { | ... | @@ -198,11 +208,11 @@ export default { |
| 198 | }, | 208 | }, |
| 199 | // 登记类型 | 209 | // 登记类型 |
| 200 | handleDjlxSelect (item) { | 210 | handleDjlxSelect (item) { |
| 201 | this.btnDisabled = true | ||
| 202 | this.djlxList.forEach(item => { | 211 | this.djlxList.forEach(item => { |
| 203 | if (item.cselect) item.cselect = false | 212 | item.cselect = false |
| 204 | }) | 213 | }) |
| 205 | this.$set(item, 'cselect', true) | 214 | this.btnDisabled = true |
| 215 | item.cselect = true | ||
| 206 | if (item.sffqlc == '1') { | 216 | if (item.sffqlc == '1') { |
| 207 | this.btnDisabled = false | 217 | this.btnDisabled = false |
| 208 | this.bsmSqyw = item.bsmSqyw | 218 | this.bsmSqyw = item.bsmSqyw |
| ... | @@ -225,4 +235,12 @@ export default { | ... | @@ -225,4 +235,12 @@ export default { |
| 225 | <style scoped lang='scss'> | 235 | <style scoped lang='scss'> |
| 226 | @import "~@/styles/mixin.scss"; | 236 | @import "~@/styles/mixin.scss"; |
| 227 | @import './ywsq.scss'; | 237 | @import './ywsq.scss'; |
| 238 | |||
| 239 | /deep/.el-collapse-item__content { | ||
| 240 | padding-bottom: 0; | ||
| 241 | } | ||
| 242 | |||
| 243 | /deep/.el-collapse-item__wrap { | ||
| 244 | border-bottom: none; | ||
| 245 | } | ||
| 228 | </style> | 246 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -6,17 +6,26 @@ | ... | @@ -6,17 +6,26 @@ |
| 6 | <el-row> | 6 | <el-row> |
| 7 | <el-col :span="5"> | 7 | <el-col :span="5"> |
| 8 | <el-form-item label="分发编号"> | 8 | <el-form-item label="分发编号"> |
| 9 | <el-input v-model="approveForm.batchno" @clear="queryClick()" clearable placeholder="分发编号"></el-input> | 9 | <el-input v-model="ruleForm.batchno" @clear="queryClick()" clearable placeholder="分发编号"></el-input> |
| 10 | </el-form-item> | 10 | </el-form-item> |
| 11 | </el-col> | 11 | </el-col> |
| 12 | <el-col :span="8"> | 12 | |
| 13 | <el-form-item label="领取时间"> | 13 | <el-col :span="5"> |
| 14 | <el-date-picker v-model="ruleForm.ffsj" type="daterange" range-separator="至" start-placeholder="开始日期" | 14 | <el-form-item label="开始日期"> |
| 15 | end-placeholder="结束日期" @change="timeChange()" value-format="yyyy-MM-dd HH:mm:ss" clearable> | 15 | <el-date-picker v-model="ruleForm.ffkssj" :picker-options="pickerOptionsStart" type="date" |
| 16 | placeholder="开始日期" value-format="yyyy-MM-dd" clearable> | ||
| 17 | </el-date-picker> | ||
| 18 | </el-form-item> | ||
| 19 | </el-col> | ||
| 20 | <el-col :span="5"> | ||
| 21 | <el-form-item label="结束时间"> | ||
| 22 | <el-date-picker v-model="ruleForm.ffjssj" :picker-options="pickerOptionsEnd" type="date" | ||
| 23 | placeholder="结束日期" value-format="yyyy-MM-dd" clearable> | ||
| 16 | </el-date-picker> | 24 | </el-date-picker> |
| 17 | </el-form-item> | 25 | </el-form-item> |
| 18 | </el-col> | 26 | </el-col> |
| 19 | <el-col :span="11" class="btnColRight"> | 27 | |
| 28 | <el-col :span="9" class="btnColRight"> | ||
| 20 | <el-form-item> | 29 | <el-form-item> |
| 21 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> | 30 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> |
| 22 | <el-button type="primary" @click="openDialog()">新增</el-button> | 31 | <el-button type="primary" @click="openDialog()">新增</el-button> |
| ... | @@ -55,10 +64,6 @@ export default { | ... | @@ -55,10 +64,6 @@ export default { |
| 55 | isDialog: false, | 64 | isDialog: false, |
| 56 | value: '', | 65 | value: '', |
| 57 | ruleForm: { | 66 | ruleForm: { |
| 58 | batchno: "", | ||
| 59 | ffsj: "" | ||
| 60 | }, | ||
| 61 | approveForm: { | ||
| 62 | batchno: '', | 67 | batchno: '', |
| 63 | ffkssj: '', | 68 | ffkssj: '', |
| 64 | ffjssj: '' | 69 | ffjssj: '' |
| ... | @@ -68,6 +73,26 @@ export default { | ... | @@ -68,6 +73,26 @@ export default { |
| 68 | columns: datas.columns(), | 73 | columns: datas.columns(), |
| 69 | data: [], | 74 | data: [], |
| 70 | }, | 75 | }, |
| 76 | // 开始结束日期限制 | ||
| 77 | pickerOptionsStart: { | ||
| 78 | disabledDate: (time) => { | ||
| 79 | if (this.ruleForm.ffjssj) { | ||
| 80 | return ( | ||
| 81 | time.getTime() >= new Date(this.ruleForm.ffjssj).getTime() | ||
| 82 | ); | ||
| 83 | } | ||
| 84 | } | ||
| 85 | }, | ||
| 86 | // 结束日期限制 | ||
| 87 | pickerOptionsEnd: { | ||
| 88 | disabledDate: (time) => { | ||
| 89 | if (this.ruleForm.ffkssj) { | ||
| 90 | return ( | ||
| 91 | time.getTime() <= new Date(this.ruleForm.ffkssj).getTime() | ||
| 92 | ); | ||
| 93 | } | ||
| 94 | } | ||
| 95 | } | ||
| 71 | } | 96 | } |
| 72 | }, | 97 | }, |
| 73 | methods: { | 98 | methods: { |
| ... | @@ -76,7 +101,7 @@ export default { | ... | @@ -76,7 +101,7 @@ export default { |
| 76 | }, | 101 | }, |
| 77 | // 列表渲染接口 | 102 | // 列表渲染接口 |
| 78 | fetchData () { | 103 | fetchData () { |
| 79 | getZsglffList({ ...this.approveForm, ...this.pageData }).then(res => { | 104 | getZsglffList({ ...this.ruleForm, ...this.pageData }).then(res => { |
| 80 | if (res.code === 200) { | 105 | if (res.code === 200) { |
| 81 | let { total, records } = res.result | 106 | let { total, records } = res.result |
| 82 | this.tableData.total = total; | 107 | this.tableData.total = total; |
| ... | @@ -100,17 +125,6 @@ export default { | ... | @@ -100,17 +125,6 @@ export default { |
| 100 | queryClick () { | 125 | queryClick () { |
| 101 | this.fetchData() | 126 | this.fetchData() |
| 102 | }, | 127 | }, |
| 103 | //修改筛选时间 | ||
| 104 | timeChange () { | ||
| 105 | if (this.ruleForm.ffsj != null) { | ||
| 106 | this.approveForm.ffkssj = this.ruleForm.ffsj[0]; | ||
| 107 | this.approveForm.ffjssj = this.ruleForm.ffsj[1]; | ||
| 108 | } else { | ||
| 109 | this.approveForm.ffkssj = '' | ||
| 110 | this.approveForm.ffjssj = '' | ||
| 111 | } | ||
| 112 | this.fetchData() | ||
| 113 | }, | ||
| 114 | //确定证书分发 | 128 | //确定证书分发 |
| 115 | confrimVerify (item) { | 129 | confrimVerify (item) { |
| 116 | this.$confirm('是否确定分发', '提示', { | 130 | this.$confirm('是否确定分发', '提示', { |
| ... | @@ -161,4 +175,8 @@ export default { | ... | @@ -161,4 +175,8 @@ export default { |
| 161 | </script> | 175 | </script> |
| 162 | <style scoped lang="scss"> | 176 | <style scoped lang="scss"> |
| 163 | @import "~@/styles/public.scss"; | 177 | @import "~@/styles/public.scss"; |
| 178 | |||
| 179 | /deep/.el-icon-date { | ||
| 180 | display: none; | ||
| 181 | } | ||
| 164 | </style> | 182 | </style> | ... | ... |
| ... | @@ -9,14 +9,21 @@ | ... | @@ -9,14 +9,21 @@ |
| 9 | <el-input v-model="ruleForm.batchno" @clear="queryClick()" clearable placeholder="入库编号"></el-input> | 9 | <el-input v-model="ruleForm.batchno" @clear="queryClick()" clearable placeholder="入库编号"></el-input> |
| 10 | </el-form-item> | 10 | </el-form-item> |
| 11 | </el-col> | 11 | </el-col> |
| 12 | <el-col :span="8"> | 12 | <el-col :span="5"> |
| 13 | <el-form-item label="人库时间"> | 13 | <el-form-item label="开始日期"> |
| 14 | <el-date-picker v-model="ruleForm.rksj" type="datetimerange" range-separator="至" start-placeholder="开始日期" | 14 | <el-date-picker v-model="ruleForm.rkkssj" :picker-options="pickerOptionsStart" type="date" |
| 15 | end-placeholder="结束日期" @change="timeChange()" value-format="yyyy-MM-dd HH:mm:ss" clearable> | 15 | placeholder="开始日期" value-format="yyyy-MM-dd" clearable> |
| 16 | </el-date-picker> | ||
| 17 | </el-form-item> | ||
| 18 | </el-col> | ||
| 19 | <el-col :span="5"> | ||
| 20 | <el-form-item label="结束时间"> | ||
| 21 | <el-date-picker v-model="ruleForm.rkjssj" :picker-options="pickerOptionsEnd" type="date" | ||
| 22 | placeholder="结束日期" value-format="yyyy-MM-dd" clearable> | ||
| 16 | </el-date-picker> | 23 | </el-date-picker> |
| 17 | </el-form-item> | 24 | </el-form-item> |
| 18 | </el-col> | 25 | </el-col> |
| 19 | <el-col :span="11" class="btnColRight"> | 26 | <el-col :span="9" class="btnColRight"> |
| 20 | <el-form-item> | 27 | <el-form-item> |
| 21 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> | 28 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> |
| 22 | <el-button type="primary" @click="openDialog()">新增</el-button> | 29 | <el-button type="primary" @click="openDialog()">新增</el-button> |
| ... | @@ -54,7 +61,6 @@ export default { | ... | @@ -54,7 +61,6 @@ export default { |
| 54 | isDialog: false, | 61 | isDialog: false, |
| 55 | viewDialog: false, | 62 | viewDialog: false, |
| 56 | ruleForm: { | 63 | ruleForm: { |
| 57 | rksj: '', | ||
| 58 | batchno: '', | 64 | batchno: '', |
| 59 | rkkssj: '', | 65 | rkkssj: '', |
| 60 | rkjssj: '' | 66 | rkjssj: '' |
| ... | @@ -64,7 +70,27 @@ export default { | ... | @@ -64,7 +70,27 @@ export default { |
| 64 | columns: datas.columns(), | 70 | columns: datas.columns(), |
| 65 | data: [], | 71 | data: [], |
| 66 | }, | 72 | }, |
| 67 | }; | 73 | // 开始结束日期限制 |
| 74 | pickerOptionsStart: { | ||
| 75 | disabledDate: (time) => { | ||
| 76 | if (this.ruleForm.rkjssj) { | ||
| 77 | return ( | ||
| 78 | time.getTime() >= new Date(this.ruleForm.rkjssj).getTime() | ||
| 79 | ); | ||
| 80 | } | ||
| 81 | } | ||
| 82 | }, | ||
| 83 | // 结束日期限制 | ||
| 84 | pickerOptionsEnd: { | ||
| 85 | disabledDate: (time) => { | ||
| 86 | if (this.ruleForm.rkkssj) { | ||
| 87 | return ( | ||
| 88 | time.getTime() <= new Date(this.ruleForm.rkkssj).getTime() | ||
| 89 | ); | ||
| 90 | } | ||
| 91 | } | ||
| 92 | } | ||
| 93 | } | ||
| 68 | }, | 94 | }, |
| 69 | methods: { | 95 | methods: { |
| 70 | // 列表渲染接口 | 96 | // 列表渲染接口 |
| ... | @@ -92,17 +118,6 @@ export default { | ... | @@ -92,17 +118,6 @@ export default { |
| 92 | queryClick () { | 118 | queryClick () { |
| 93 | this.fetchData() | 119 | this.fetchData() |
| 94 | }, | 120 | }, |
| 95 | //修改筛选时间 | ||
| 96 | timeChange (val) { | ||
| 97 | if (this.ruleForm.rksj != null) { | ||
| 98 | this.ruleForm.rkkssj = this.ruleForm.rksj[0]; | ||
| 99 | this.ruleForm.rkjssj = this.ruleForm.rksj[1]; | ||
| 100 | } else { | ||
| 101 | this.ruleForm.rkkssj = '' | ||
| 102 | this.ruleForm.rkjssj = '' | ||
| 103 | } | ||
| 104 | this.fetchData() | ||
| 105 | }, | ||
| 106 | //删除证书入库数据 | 121 | //删除证书入库数据 |
| 107 | delZsrk (item) { | 122 | delZsrk (item) { |
| 108 | this.$confirm('确定要删除吗, 是否继续?', '提示', { | 123 | this.$confirm('确定要删除吗, 是否继续?', '提示', { |
| ... | @@ -153,4 +168,8 @@ export default { | ... | @@ -153,4 +168,8 @@ export default { |
| 153 | </script> | 168 | </script> |
| 154 | <style scoped lang="scss"> | 169 | <style scoped lang="scss"> |
| 155 | @import "~@/styles/public.scss"; | 170 | @import "~@/styles/public.scss"; |
| 171 | |||
| 172 | /deep/.el-icon-date { | ||
| 173 | display: none; | ||
| 174 | } | ||
| 156 | </style> | 175 | </style> | ... | ... |
| 1 | import filter from '@/utils/filter.js' | 1 | import filter from '@/utils/filter.js' |
| 2 | let vm = null | 2 | let vm = null |
| 3 | |||
| 4 | const sendThis = (_this) => { | 3 | const sendThis = (_this) => { |
| 5 | vm = _this | 4 | vm = _this |
| 6 | } | 5 | } |
| ... | @@ -60,7 +59,6 @@ class data extends filter { | ... | @@ -60,7 +59,6 @@ class data extends filter { |
| 60 | }, | 59 | }, |
| 61 | { | 60 | { |
| 62 | label: '操作', | 61 | label: '操作', |
| 63 | width: '200', | ||
| 64 | align: 'center', | 62 | align: 'center', |
| 65 | fixed: 'right', | 63 | fixed: 'right', |
| 66 | render: (h, scope) => { | 64 | render: (h, scope) => { | ... | ... |
-
Please register or sign in to post a comment