diff --git a/enterprise-manager-ui/admin/src/assets/mixins/formdialog.js b/enterprise-manager-ui/admin/src/assets/mixins/formdialog.js index d74861b3ca898bac39eee3bbd720ed8011c46d10..b905af6e3ddb4b62cbb9a6a909f2675d9e57acfa 100644 --- a/enterprise-manager-ui/admin/src/assets/mixins/formdialog.js +++ b/enterprise-manager-ui/admin/src/assets/mixins/formdialog.js @@ -1,6 +1,6 @@ export default { created() { - // this.getData(); + // this.getData(); }, beforeDestroy() { clearTimeout(this.loadingTimer); @@ -8,30 +8,30 @@ export default { methods: { // 娓叉煋鍓嶇疆澶勭悊 beforeRender(data) { - return data - }, - // 娓叉煋鍚庣疆澶勭悊 - afterRender(data) { + console.log(data); + return data; }, + // 娓叉煋鍚庣疆澶勭悊 + afterRender(data) {}, // 鎻愪氦琛ㄥ崟鐨勫墠缃鐞� beforeSubmit(data) { - return data + return data; }, // 鎻愪氦琛ㄥ崟鐨勫悗缃鐞�, 浼氶樆鏂粯璁ょ殑鍥為€€琛屼负 afterSubmit(data) { this.$router.go(-1); }, - // 寮€鍚€佸叧闂� - changePath(path) { - this.pageInfo.list = path + "/list"; - this.pageInfo.del = path + "/delete"; - this.pageInfo.add = path + "/add"; - this.pageInfo.edit = path + "/edit"; - this.pageInfo.view = path + "/view"; - }, - + // 寮€鍚€佸叧闂� + changePath(path) { + this.pageInfo.list = path + "/list"; + this.pageInfo.del = path + "/delete"; + this.pageInfo.add = path + "/add"; + this.pageInfo.edit = path + "/edit"; + this.pageInfo.view = path + "/view"; + }, + // 榛樿鎷夊彇鏁版嵁 getData() { this.loading = true; @@ -46,19 +46,19 @@ export default { res.entity = this.util_toDateStr(res.entity, this.toDate); this.form = Object.assign({}, this.form, res.entity); this.dict = Object.assign({}, this.dict, res.dict); - + this.afterRender(res); }) - .catch(error => { - this.$message.error(error.message) - throw error + .catch((error) => { + this.$message.error(error.message); + throw error; }) - .then(data => { + .then((data) => { clearTimeout(this.loadingTimer); this.loadingTimer = setTimeout(() => { this.loading = false; }, 300); - }) + }); }, // 鎻愪氦琛ㄥ崟 submitForm(ref) { @@ -67,70 +67,83 @@ export default { el.validate((valid) => { if (!valid) return; this.loading = true; - this.$post(this.urls.saveUrl || this.pageInfo.saveUrl, this.beforeSubmit(this.form)) - .then(res => { + this.$post( + this.urls.saveUrl || this.pageInfo.saveUrl, + this.beforeSubmit(this.form) + ) + .then((res) => { this.$message.success(res.msg); this.afterSubmit(res); }) - .catch(error => { + .catch((error) => { this.$message.error(error.message); }) - .then(data => { + .then((data) => { clearTimeout(this.loadingTimer); this.loadingTimer = setTimeout(() => { this.loading = false; }, 200); - }) + }); }); }, // 澶嶅埗涓€涓暟缁勬垨瀵硅薄 util_copy(data) { - return JSON.parse(JSON.stringify(data)) + return JSON.parse(JSON.stringify(data)); }, // 宸ュ叿鏂规硶锛屾妸鏁板瓧杞寲涓哄瓧绗︿覆 util_toString(data, array) { //鍘熷鏁版嵁 const dataCopy = Object.assign({}, data); - array.forEach(item => { + array.forEach((item) => { //濡傛灉鐩哥瓑鍋氭搷浣� - dataCopy[item] = dataCopy[item] === undefined ? '' : dataCopy[item] + ''; - }) + dataCopy[item] = + dataCopy[item] === undefined ? "" : dataCopy[item] + ""; + }); return dataCopy; }, // 宸ュ叿鏂规硶锛屾妸瀛楃涓茶浆鍖栦负鏁扮粍 util_toArrays(data, array) { const dataCopy = Object.assign({}, data); - array.forEach(item => { - dataCopy[item] = dataCopy[item] === undefined ? [] : dataCopy[item].split(","); - }) + array.forEach((item) => { + dataCopy[item] = + dataCopy[item] === undefined || dataCopy[item] === "" + ? [] + : dataCopy[item].split(","); + }); return dataCopy; }, // 宸ュ叿鏂规硶锛屾妸瀛楃涓茶浆鍖栦负鏍煎紡鍖栨棩鏈� util_toDateStr(data, array) { const dataCopy = Object.assign({}, data); - array.forEach(item => { - dataCopy[item] = dataCopy[item] === undefined ? '' : this.util_formatterDate(dataCopy[item]); - }) + array.forEach((item) => { + dataCopy[item] = + dataCopy[item] === undefined + ? "" + : this.util_formatterDate(dataCopy[item]); + }); return dataCopy; }, util_formatterDate(time) { let date = new Date(Number(time)); - let Y = date.getFullYear() + '-'; - let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; - let D = this.panLeft(date.getDate()) + ' '; - let h = this.panLeft(date.getHours()) + ':'; - let m = this.panLeft(date.getMinutes()) + ':'; + let Y = date.getFullYear() + "-"; + let M = + (date.getMonth() + 1 < 10 + ? "0" + (date.getMonth() + 1) + : date.getMonth() + 1) + "-"; + let D = this.panLeft(date.getDate()) + " "; + let h = this.panLeft(date.getHours()) + ":"; + let m = this.panLeft(date.getMinutes()) + ":"; let s = this.panLeft(date.getSeconds()); return Y + M + D + h + m + s; }, panLeft(num) { - return num < 10 ? '0' + num : num; + return num < 10 ? "0" + num : num; }, // 浠巇ict瀛楁鏆村姏鍙栧€硷紝鍙栦笉鍒板垯杩斿洖鍘熷€� util_formatter(key, val) { try { - return this.dict[key][val] + return this.dict[key][val]; } catch (error) { return val; } @@ -143,24 +156,24 @@ export default { } }); }, 0); - } + }, }, computed: { pageInfo() { let currUrl = this.$route.path; - let urlArray = currUrl.split('/'); + let urlArray = currUrl.split("/"); let type = urlArray.pop(); - urlArray.push('save'); - let saveUrl = urlArray.join('/'); + urlArray.push("save"); + let saveUrl = urlArray.join("/"); urlArray.pop(); - urlArray.push('edit'); - let editUrl = urlArray.join('/'); + urlArray.push("edit"); + let editUrl = urlArray.join("/"); urlArray.pop(); - urlArray.push('add'); - let addUrl = urlArray.join('/'); + urlArray.push("add"); + let addUrl = urlArray.join("/"); urlArray.pop(); - urlArray.push('view'); - let viewUrl = urlArray.join('/'); + urlArray.push("view"); + let viewUrl = urlArray.join("/"); return { type, currUrl, @@ -184,9 +197,6 @@ export default { toString: [], // 闇€瑕佹妸number杞寲涓簊tring鐨勮〃鍗曞瓧娈祅ame鏁扮粍 toArrays: [], // 闇€瑕佹妸number杞寲涓篴rrays鐨勮〃鍗曞瓧娈祅ame鏁扮粍 toDate: [], // 闇€瑕佹妸number杞寲涓篸ate鐨勮〃鍗曞瓧娈祅ame鏁扮粍 - } - } -} - - - + }; + }, +}; diff --git a/enterprise-manager-ui/admin/src/assets/mixins/table.js b/enterprise-manager-ui/admin/src/assets/mixins/table.js index c34a23ad3b187f264f47ad624b4dd99515ce5940..3e13ef24480b80d2a39d01f9363d9223fe1b07de 100644 --- a/enterprise-manager-ui/admin/src/assets/mixins/table.js +++ b/enterprise-manager-ui/admin/src/assets/mixins/table.js @@ -1,11 +1,15 @@ -import axios from 'axios'; +import axios from "axios"; import { - formatter, formatterAmount, formatterDate, formatterDateOnly, find, -} from '@/assets/utils/table'; + formatter, + formatterAmount, + formatterDate, + formatterDateOnly, + find, +} from "@/assets/utils/table"; const tagsMap = { - 1: 'danger', - 0: 'success' + 1: "danger", + 0: "success", }; export default { @@ -13,21 +17,24 @@ export default { this.getData(); }, watch: { - '$route'(route) { - if(route.path=='/device/electron/list'||route.path=='/device/meet/list'){ - this.changePath("device") + $route(route) { + if ( + route.path == "/device/electron/list" || + route.path == "/device/meet/list" + ) { + this.changePath("device"); } this.query = Object.assign({}, this.query, route.query); this.getData(); - } + }, }, beforeDestroy() { - this.source.cancel('鑷姩鍙栨秷ajax鎿嶄綔'); + this.source.cancel("鑷姩鍙栨秷ajax鎿嶄綔"); clearTimeout(this.loadingTimer); }, methods: { test() { - console.log("test") + console.log("test"); }, // 寮€鍚€佸叧闂� changePath(path) { @@ -41,11 +48,13 @@ export default { return Promise.resolve(); }, // 琛ㄦ牸鎺ユ敹鏁版嵁鍓� - beforeRender(data) { return data }, + beforeRender(data) { + return data; + }, // 琛ㄦ牸鎺ユ敹鏁版嵁鍚� - afterRender(data) { }, + afterRender(data) {}, // 鍒犻櫎鍔ㄤ綔鍙戠敓鍚� - afterDel(data) { }, + afterDel(data) {}, // 榛樿鎷夊彇鏁版嵁 async getData() { try { @@ -55,7 +64,7 @@ export default { } this.tableData.loading = true; this.$post(this.pageInfo.list, this.query, { - cancelToken: this.source.token + cancelToken: this.source.token, }) .then(({ data }) => { this.tableData = this.beforeRender( @@ -63,44 +72,52 @@ export default { ); this.afterRender(this.tableData); }) - .catch(error => { - if (error.message == '鑷姩鍙栨秷ajax鎿嶄綔') return + .catch((error) => { + if (error.message == "鑷姩鍙栨秷ajax鎿嶄綔") return; this.$message.error(error.message); }) - .then(data => { + .then((data) => { clearTimeout(this.loadingTimer); this.loadingTimer = setTimeout(() => { this.tableData.loading = false; }, 300); - }) + }); }, // 澶嶅埗涓€涓暟缁勬垨瀵硅薄 util_copy(data) { - if (typeof data !== 'object') return data; - return JSON.parse(JSON.stringify(data)) + if (typeof data !== "object") return data; + return JSON.parse(JSON.stringify(data)); }, _showAll(item) { let data = this.util_copy(item); data.isShowAll = true; - this.util_update(item.id, data) + this.util_update(item.id, data); }, // 瓒呴暱鏂囨湰灞曞紑鏀惰捣 util_short(key, size) { - return row => { - let string = row[key] || ''; + return (row) => { + let string = row[key] || ""; if (string.length < size || row.isShowAll) return string; return ( <span> - {string.substr(0, 50) + '...'} - <el-button size='mini' type='text' onClick={() => { this._showAll(row) }}>鏇村</el-button> + {string.substr(0, 50) + "..."} + <el-button + size="mini" + type="text" + onClick={() => { + this._showAll(row); + }} + > + 鏇村 + </el-button> </span> - ) - } + ); + }; }, // 浠巇ict瀛楁鏆村姏鍙栧€硷紝鍙栦笉鍒板垯杩斿洖鍘熷€� util_formatter(key, val) { try { - return this.tableData.dict[key][val] + return this.tableData.dict[key][val]; } catch (error) { return val; } @@ -108,20 +125,24 @@ export default { // 閫氳繃id淇敼鏌愭潯璁板綍 util_update(id, newData, idColumnName) { let table = this.tableData.data; - let { index, data } = find(table, !idColumnName ? 'id' : idColumnName, id); + let { index, data } = find( + table, + !idColumnName ? "id" : idColumnName, + id + ); table.splice(index, 1, Object.assign({}, data, newData)); }, // 宸ュ叿鏂规硶锛屾妸鏁板瓧杞寲涓哄瓧绗︿覆 util_toString(data, array) { const dataCopy = Object.assign({}, data); for (var item in data) { - dataCopy[item] = dataCopy[item] === undefined ? '' : dataCopy[item] + ''; - + dataCopy[item] = + dataCopy[item] === undefined ? "" : dataCopy[item] + ""; } return dataCopy; }, util_formatterDate(time, fmt) { - if (!time) return ''; + if (!time) return ""; let date = new Date(Number(time)); var o = { "M+": date.getMonth() + 1, //鏈堜唤 @@ -130,11 +151,21 @@ export default { "m+": date.getMinutes(), //鍒� "s+": date.getSeconds(), //绉� "q+": Math.floor((date.getMonth() + 3) / 3), //瀛e害 - "S": date.getMilliseconds() //姣 + S: date.getMilliseconds(), //姣 }; - if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); + if (/(y+)/.test(fmt)) + fmt = fmt.replace( + RegExp.$1, + (date.getFullYear() + "").substr(4 - RegExp.$1.length) + ); for (var k in o) - if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + if (new RegExp("(" + k + ")").test(fmt)) + fmt = fmt.replace( + RegExp.$1, + RegExp.$1.length == 1 + ? o[k] + : ("00" + o[k]).substr(("" + o[k]).length) + ); return fmt; }, util_getPrevMonthDate() { @@ -142,141 +173,181 @@ export default { var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDate(); - if (month == 0) {//骞翠唤涓�0浠h〃,鏄湰骞寸殑绗竴鏈�,鎵€浠ヤ笉鑳藉噺 - month = 11;//鏈堜唤涓轰笂骞寸殑鏈€鍚庢湀浠� - year--;//骞翠唤鍑�1 + if (month == 0) { + //骞翠唤涓�0浠h〃,鏄湰骞寸殑绗竴鏈�,鎵€浠ヤ笉鑳藉噺 + month = 11; //鏈堜唤涓轰笂骞寸殑鏈€鍚庢湀浠� + year--; //骞翠唤鍑�1 return new Date(year, month, day); } - month--;//鍚﹀垯,鍙噺鍘绘湀浠� + month--; //鍚﹀垯,鍙噺鍘绘湀浠� return new Date(year, month, day); }, // 鏍煎紡鍖栧崟鍏冩牸鏁版嵁 formatter(row, column, val) { const content = formatter(this.tableData, column, val); - return content ? <el-tag type={'info'} size='mini'>{content}</el-tag> : val + return content ? ( + <el-tag type={"info"} size="mini"> + {content} + </el-tag> + ) : ( + "--" + ); }, formatterYES(row, column, val) { const content = formatter(this.tableData, column, val); if (content) { - if (val == '0') { - return <el-tag type={'danger'} size='mini'>{content}</el-tag> - } else if (val == '1') { - return <el-tag type={'success'} size='mini'>{content}</el-tag> + if (val == "0") { + return ( + <el-tag type={"danger"} size="mini"> + {content} + </el-tag> + ); + } else if (val == "1") { + return ( + <el-tag type={"success"} size="mini"> + {content} + </el-tag> + ); } } else { - return val + return val; } }, formatterStatus(row, column, val) { const content = formatter(this.tableData, column, val); if (content) { - if (val == '0') { - return <el-tag size='mini'>{content}</el-tag> - } else if (val == '1') { - return <el-tag type={'danger'} size='mini'>{content}</el-tag> - } else if (val == '2') { - return <el-tag type={'success'} size='mini'>{content}</el-tag> + if (val == "0") { + return <el-tag size="mini">{content}</el-tag>; + } else if (val == "1") { + return ( + <el-tag type={"danger"} size="mini"> + {content} + </el-tag> + ); + } else if (val == "2") { + return ( + <el-tag type={"success"} size="mini"> + {content} + </el-tag> + ); } } else { - return val + return val; } }, formatterDictLink(row, column, val) { const content = formatter(this.tableData, column, val); let underline = false; - let type = "primary" + let type = "primary"; if (val === 3) { - type = 'danger' + type = "danger"; } - return content ? <el-link type={type} underline={underline} onClick={() => { this.toDrawerMsg(row) }} size='mini'>{content}</el-link> : val + return content ? ( + <el-link + type={type} + underline={underline} + onClick={() => { + this.toDrawerMsg(row); + }} + size="mini" + > + {content} + </el-link> + ) : ( + val + ); }, formatters(row, column, val) { if (val) { - return ( - val.split(',').map(v => formatter(this.tableData, column, v) ).join(",") - ) + return val + .split(",") + .map((v) => formatter(this.tableData, column, v)) + .join(","); } - return '--' + return "--"; }, formatterLink(row, column, val) { //const content = formatter(this.tableData, column-2, val); - return <el-link type="primary" href={val} target="_blank">{row.fileName}</el-link> + return ( + <el-link type="primary" href={val} target="_blank"> + {row.fileName} + </el-link> + ); //return content; // return content ? <el-tag type={'info'} size='mini'>{content}</el-tag> : val }, formatterString(row, column, val) { - return formatter(this.tableData, column, val) + return formatter(this.tableData, column, val); }, // 鏍煎紡鍖栧崟鍏冩牸鏁版嵁 0鏄剧ず 0.00 formatterAmount(row, column) { - return formatterAmount(row, column) + return formatterAmount(row, column); }, // 鏍煎紡鍖栧崟鍏冩牸鏁版嵁閽卞崟浣嶉噷鎹㈢畻鎴愬厓 formatterMoney(row, column, val) { - return ((val || 0) / 1000).toFixed(2) + return ((val || 0) / 1000).toFixed(2); }, // 鏍煎紡鍖栧崟鍏冩牸鏁版嵁 formatterDate(row, column) { //console.log("date:",row,column) - if(formatterDate(row, column)){ - return formatterDate(row, column) - }else{ - return '--' + if (formatterDate(row, column)) { + return formatterDate(row, column); + } else { + return "--"; } }, // 鏍煎紡鍖栧崟鍏冩牸鏁版嵁 鍙骞存湀鏃� formatterDateOnly(row, column) { - return formatterDateOnly(row, column) + return formatterDateOnly(row, column); }, // 鏍煎紡鍖栦汉鍛� formaterPeople(row, column, val) { - let info + let info; if (val) { - if (typeof (val) === 'number') { - info = <el-tag type={'info'} size='mini'>{this.util_formatter('assigneeList', val)}</el-tag> - } else { + if (typeof val === "number") { info = ( - val.split(',').map(v => { - if (this.tableData.dict["assigneeList"][v] != undefined) { - return <el-tag type={'info'} size='mini'>{this.util_formatter('assigneeList', v)}</el-tag> - } - }) - ) + <el-tag type={"info"} size="mini"> + {this.util_formatter("assigneeList", val)} + </el-tag> + ); + } else { + info = val.split(",").map((v) => { + if (this.tableData.dict["assigneeList"][v] != undefined) { + return ( + <el-tag type={"info"} size="mini"> + {this.util_formatter("assigneeList", v)} + </el-tag> + ); + } + }); } } else { - info = '--' + info = "--"; } - return info + return info; }, // 澶氶€夎〃鏍艰 handleSelectionChange(val) { - this.selection = val.map(i => i.id); + this.selection = val.map((i) => i.id); }, // 褰撴煇涓€琛岃鐐瑰嚮鏃朵細瑙﹀彂璇ヤ簨浠� - handleRowClick(row, column, event) { - - }, + handleRowClick(row, column, event) {}, // 鍚堝苟琛ㄦ牸琛屽垪 - handleSpanMethod() { - - }, + handleSpanMethod() {}, // 鑷畾涔夎〃鏍兼帓搴� - handleSortChange() { - - }, + handleSortChange() {}, // 鑷畾涔夌储寮曞彿 handleIndexMethod(index) { //prePageResult 姣忛〉鏉℃暟 - // console.log("index:"+index) + // console.log("index:"+index) let size = this.tableData.pageInfo.prePageResult; let page = this.tableData.pageInfo.currPage; - let count = parseInt(size) * (parseInt(page) - 1) + let count = parseInt(size) * (parseInt(page) - 1); return count + index + 1; - }, // 鑷畾涔夎〃鏍奸€夋嫨琛屾槸鍚﹁兘鍕鹃€� @@ -285,93 +356,91 @@ export default { }, // 璁剧疆鍗曞厓琛屾牱寮� - tableRowClassName() { }, + tableRowClassName() {}, // 鎵归噺鍒犻櫎 toBatchDel() { - this.toDel(this.selection.join(','), true); + this.toDel(this.selection.join(","), true); }, // 鍗曚釜鍒犻櫎 toDel(id, isBatch) { if (!id) { - return this.$message.warning('璇烽€変腑涓€鏉¤褰�'); + return this.$message.warning("璇烽€変腑涓€鏉¤褰�"); } this.$get(this.pageInfo.del, { id: id }) - .then(res => { - this.$message.success(res.msg) + .then((res) => { + this.$message.success(res.msg); // 鏇存柊鏁版嵁 if (isBatch) { // 鎵归噺鍒犻櫎锛屽埛鏂伴〉闈� this.getData(); } else { let table = this.tableData.data; - let { index } = find(table, 'id', id); + let { index } = find(table, "id", id); table.splice(index, 1); this.tableData.pageInfo.totalResult -= 1; } this.afterDel(id); }) - .catch(error => { + .catch((error) => { this.$message.error(error.message); - }) + }); }, // 鏂板 toAdd() { this.$router.push({ path: this.pageInfo.add, query: this.tableConfig.addQuery, - }) + }); }, // 缂栬緫 toEdit(row, query) { this.$router.push({ path: this.pageInfo.edit, - query: Object.assign({}, { id: row.id }, query) - }) + query: Object.assign({}, { id: row.id }, query), + }); }, // 鏌ョ湅 toView(row, query) { - console.log(this.pageInfo.view) + console.log(this.pageInfo.view); this.$router.push({ path: this.pageInfo.view, - query: Object.assign({}, { id: row.id }, query) - }) + query: Object.assign({}, { id: row.id }, query), + }); }, // 瀵煎叆 toImport() { this.$router.push({ path: this.pageInfo.importView, query: this.tableConfig.addQuery, - }) + }); }, // 杩斿洖 toBack() { this.$router.push({ - path: this.pageInfo.back - }) + path: this.pageInfo.back, + }); }, // 寮€鍚€佸叧闂� - open() { - - }, - + open() {}, }, computed: { tableConfig() { - return Object.assign({}, this.defaultConfig, this.config) + return Object.assign({}, this.defaultConfig, this.config); }, pageInfo() { - const urls = { // 鎿嶄綔鎵€闇€鐨剈rl鍦板潃锛屽拰url鍚岃矾寰� + const urls = { + // 鎿嶄綔鎵€闇€鐨剈rl鍦板潃锛屽拰url鍚岃矾寰� list: this.$route.path, - edit: this.$route.path.replace('/list', '/edit'), - save: this.$route.path.replace('/list', '/save'), - del: this.$route.path.replace('/list', '/delete'), - add: this.$route.path.replace('/list', '/add'), - view: this.$route.path.replace('/list', '/view'), - importView: this.$route.path.replace('/list', '/importView'), - exclude: this.$route.path.replace('/list', '/list/exclude'), - } - return Object.assign({}, urls, this.urls) + edit: this.$route.path.replace("/list", "/edit"), + save: this.$route.path.replace("/list", "/save"), + del: this.$route.path.replace("/list", "/delete"), + add: this.$route.path.replace("/list", "/add"), + view: this.$route.path.replace("/list", "/view"), + importView: this.$route.path.replace("/list", "/importView"), + exclude: this.$route.path.replace("/list", "/list/exclude"), + }; + return Object.assign({}, urls, this.urls); }, }, data() { @@ -401,17 +470,15 @@ export default { back: this.toBack, importView: this.toImport, refresh: this.getData, - } + }, }, - tableData: { // 琛ㄦ牸鏁版嵁 + tableData: { + // 琛ㄦ牸鏁版嵁 loading: true, // ajax璇锋眰鐘舵€� dict: {}, result: [], pageInfo: {}, - } - } - } -} - - - + }, + }; + }, +}; diff --git a/enterprise-manager-ui/admin/src/components/ImageUpload.vue b/enterprise-manager-ui/admin/src/components/ImageUpload.vue index efbe3fa8ca353d1b6ac0ba0c6340fc5eed687a9f..e0d707fae7baea80e8535850aa261a0bcc736cc8 100644 --- a/enterprise-manager-ui/admin/src/components/ImageUpload.vue +++ b/enterprise-manager-ui/admin/src/components/ImageUpload.vue @@ -49,6 +49,7 @@ :file-list="imgList" accept=".jpeg,.png,.jpg,.bmp,.gif" :headers="headers" + :limit="limit" v-else > <i class="el-icon-plus"></i> @@ -98,6 +99,10 @@ export default { type: Boolean, default: false, }, + limit: { + type: Number, + default: undefined, + }, }, mounted() { // 鍒ゆ柇鏄惁涓哄鍥句笂浼� diff --git a/enterprise-manager-ui/admin/src/views/company/list.vue b/enterprise-manager-ui/admin/src/views/company/list.vue index 8b8505846a0f724883162f6e8953210a1953f04f..4770703a0450a69635180c19dffee414a8adf366 100644 --- a/enterprise-manager-ui/admin/src/views/company/list.vue +++ b/enterprise-manager-ui/admin/src/views/company/list.vue @@ -1,77 +1,91 @@ <template> - <div class="page"> - <LayoutTable :data="tableData" :config="tableConfig" notDel> - </LayoutTable> + <div class="page"> + <LayoutTable :data="tableData" :config="tableConfig" notDel> </LayoutTable> - <drawer-show ref="drawerform" @ok="getData" /> - </div> + <drawer-show ref="drawerform" @ok="getData" /> + </div> </template> <script> - /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ - import drawerShow from "./drawershow"; - import table from "@/assets/mixins/table"; - export default { - name: "CompanyList", - components: { - drawerShow -}, - mixins: [table], - created() { - }, - methods: { +/** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ +import drawerShow from "./drawershow"; +import table from "@/assets/mixins/table"; +export default { + name: "CompanyList", + components: { + drawerShow, + }, + mixins: [table], + created() {}, + methods: { + /** 閲嶅啓鏂板鏂规硶 */ + toAdd(row) { + this.$refs.drawerform.add(row); + }, + /** 閲嶅啓缂栬緫鏂规硶 */ + toEdit(row) { + this.$refs.drawerform.edit(row); + }, + /** 閲嶅啓鏌ョ湅鏂规硶 */ + toView(row) { + this.$refs.drawerform.view(row); + }, + }, + data() { + return { + config: { + search: [ + { + name: "companyName", + type: "text", + label: "鍏徃鍚嶇О", + fuzzy: true, + }, + ], + columns: [ + { type: "index", label: "搴忓彿", width: 50 }, - /** 閲嶅啓鏂板鏂规硶 */ - toAdd(row) { - this.$refs.drawerform.add(row); - }, - /** 閲嶅啓缂栬緫鏂规硶 */ - toEdit(row) { - this.$refs.drawerform.edit(row); - }, - /** 閲嶅啓鏌ョ湅鏂规硶 */ - toView(row) { - this.$refs.drawerform.view(row); - }, - - }, - data() { - return { + { label: "鍏徃鍚嶇О", prop: "companyName" }, - config: { - search: [ - { - name: "companyName", - type: "text", - label: "鍏徃鍚嶇О", - fuzzy: true, - }, - ], - columns: [ - {type: "index",label: "搴忓彿",width: 50}, + { label: "鑱旂郴鐢佃瘽", prop: "contactPhone" }, - {label: "鍏徃鍚嶇О", prop: "companyName"}, + { + label: "缁忚惀鍦板潃", + prop: "businessAdress", + formatter: this.formatters, + }, - {label: "鑱旂郴鐢佃瘽", prop: "contactPhone"}, + { + label: "鎻忚堪", + prop: "companyIntroduction", + formatter: this.formatters, + }, - {label: "缁忚惀鍦板潃", prop: "businessAdress",formatter: this.formatters}, + { + label: "鏇存柊鏃堕棿", + prop: "updateTime", + formatter: this.formatterDate, + }, - {label: "鎻忚堪", prop: "companyIntroduction",formatter: this.formatters}, - - {label: "鏇存柊鏃堕棿", prop: "createTime", formatter: this.formatterDate}, - - { - label: "鎿嶄綔", - width: 240, - formatter: row => { - return ( - <table-buttons noAdd noView row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> - ); - } - } - ] - } - }; - } + { + label: "鎿嶄綔", + width: 240, + formatter: (row) => { + return ( + <table-buttons + noAdd + noView + row={row} + onEdit={this.toEdit} + onView={this.toView} + onDel={this.toDel} + /> + ); + }, + }, + ], + }, }; + }, +}; </script> diff --git a/enterprise-manager-ui/admin/src/views/favorites/product/list.vue b/enterprise-manager-ui/admin/src/views/favorites/product/list.vue index 4b56530955b6060289d0962a2016ec67946b30ec..6603767a480d1b91d2fbd241b547ed02cb788c3d 100644 --- a/enterprise-manager-ui/admin/src/views/favorites/product/list.vue +++ b/enterprise-manager-ui/admin/src/views/favorites/product/list.vue @@ -1,66 +1,72 @@ <template> - <div class="page"> - <LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> - </LayoutTable> + <div class="page"> + <LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> + </LayoutTable> - - <drawer-show ref="drawerform" @ok="getData" /> - </div> + <drawer-show ref="drawerform" @ok="getData" /> + </div> </template> <script> - /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ - import drawerShow from "./drawershow"; - import table from "@/assets/mixins/table"; - export default { - name: "FavoritesProductList", - components: { - drawerShow -}, - mixins: [table], - created() { - }, - methods: { - /** 閲嶅啓鏂板鏂规硶 */ - toAdd(row) { - this.$refs.drawerform.add(row); - }, - /** 閲嶅啓缂栬緫鏂规硶 */ - toEdit(row) { - this.$refs.drawerform.edit(row); - }, - /** 閲嶅啓鏌ョ湅鏂规硶 */ - toView(row) { - this.$refs.drawerform.view(row); - }, - - }, - data() { - return { - config: { - search: [ - ], - columns: [ - {type: "selection", width: 60}, - {type: "index",label: "搴忓彿",width: 50}, +/** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ +import drawerShow from "./drawershow"; +import table from "@/assets/mixins/table"; +export default { + name: "FavoritesProductList", + components: { + drawerShow, + }, + mixins: [table], + created() {}, + methods: { + /** 閲嶅啓鏂板鏂规硶 */ + toAdd(row) { + this.$refs.drawerform.add(row); + }, + /** 閲嶅啓缂栬緫鏂规硶 */ + toEdit(row) { + this.$refs.drawerform.edit(row); + }, + /** 閲嶅啓鏌ョ湅鏂规硶 */ + toView(row) { + this.$refs.drawerform.view(row); + }, + }, + data() { + return { + config: { + search: [], + columns: [ + { type: "selection", width: 60 }, + { type: "index", label: "搴忓彿", width: 50 }, - {label: "鐢ㄦ埛", prop: "userId", formatter: this.formatter}, + { label: "鐢ㄦ埛", prop: "userId", formatter: this.formatter }, - {label: "浜у搧", prop: "productId", formatter: this.formatter}, + { label: "浜у搧", prop: "productId", formatter: this.formatter }, - {label: "鍒涘缓鐢ㄦ埛", prop: "createUserId", formatter: this.formatter}, - { - label: "鎿嶄綔", - width: 240, - formatter: row => { - return ( - <table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> - ); - } - } - ] - } - }; - } + { + label: "鍒涘缓鐢ㄦ埛", + prop: "createUserId", + formatter: this.formatter, + }, + { + label: "鎿嶄綔", + width: 240, + formatter: (row) => { + return ( + <table-buttons + noAdd + row={row} + onEdit={this.toEdit} + onView={this.toView} + onDel={this.toDel} + /> + ); + }, + }, + ], + }, }; + }, +}; </script> diff --git a/enterprise-manager-ui/admin/src/views/feedback/drawershow.vue b/enterprise-manager-ui/admin/src/views/feedback/drawershow.vue index 63b6f33781efc7c0718ae06d0598881db40047d4..f0c2aea5d2cd8969d75f46f460c5da0859e58588 100644 --- a/enterprise-manager-ui/admin/src/views/feedback/drawershow.vue +++ b/enterprise-manager-ui/admin/src/views/feedback/drawershow.vue @@ -64,6 +64,7 @@ prop="deptId" v-model="form.deptId" placeholder="璇疯緭鍏ユ墍灞為儴闂�" + :enum-data="dict.deptId" /> </el-row> <!-- <el-row> @@ -271,6 +272,11 @@ export default { cancel() { this.open = false; }, + /**鑾峰彇鏁版嵁鍓嶅脊妗� */ + beforeRender(data) { + data.entity.deptId = String(data.entity.deptId); + return data; + }, /**鑾峰彇鏁版嵁鍚庡脊妗� */ afterRender(data) { this.open = true; diff --git a/enterprise-manager-ui/admin/src/views/feedback/list.vue b/enterprise-manager-ui/admin/src/views/feedback/list.vue index 3be4bc8ebe055de1cfc99cef2209aa9696132e0f..bd57ec9e0b7af785e86490dccdc327b22ec84c08 100644 --- a/enterprise-manager-ui/admin/src/views/feedback/list.vue +++ b/enterprise-manager-ui/admin/src/views/feedback/list.vue @@ -169,17 +169,38 @@ export default { width: 240, formatter: (row) => { return ( - <el-button - type="text" - icon="el-icon-edit" - size="mini" - onClick={() => { - this.toEdit(row); - }} - title="璇︽儏" - > - 璇︽儏 - </el-button> + <table-buttons + noAdd + noView + row={row} + onEdit={this.toEdit} + onView={this.toView} + onDel={this.toDel} + /> + // <div> + // <el-button + // type="text" + // icon="el-icon-edit" + // size="mini" + // onClick={() => { + // this.toEdit(row); + // }} + // title="璇︽儏" + // > + // 璇︽儏 + // </el-button> + // <el-button + // type="text" + // icon="el-icon-edit" + // size="mini" + // onClick={() => { + // this.toEdit(row); + // }} + // title="璇︽儏" + // > + // 鍒犻櫎 + // </el-button> + // </div> ); }, }, diff --git a/enterprise-manager-ui/admin/src/views/labels/list.vue b/enterprise-manager-ui/admin/src/views/labels/list.vue index 76e0257d950c7e242e232e4a7aadf61a60095d51..ea1e8f6d29f6e4543cd4030ce82fa37057d2fdbb 100644 --- a/enterprise-manager-ui/admin/src/views/labels/list.vue +++ b/enterprise-manager-ui/admin/src/views/labels/list.vue @@ -1,86 +1,93 @@ <template> - <div class="page"> - <LayoutTable :data="tableData" :config="tableConfig"> - </LayoutTable> + <div class="page"> + <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable> - - <drawer-show ref="drawerform" @ok="getData" /> - </div> + <drawer-show ref="drawerform" @ok="getData" /> + </div> </template> <script> - /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ - import drawerShow from "./drawershow"; - import table from "@/assets/mixins/table"; - export default { - name: "LabelsList", - components: { - drawerShow -}, - mixins: [table], - created() { - }, - methods: { - /** 閲嶅啓鏂板鏂规硶 */ - toAdd(row) { - this.$refs.drawerform.add(row); - }, - /** 閲嶅啓缂栬緫鏂规硶 */ - toEdit(row) { - this.$refs.drawerform.edit(row); - }, - /** 閲嶅啓鏌ョ湅鏂规硶 */ - toView(row) { - this.$refs.drawerform.view(row); - }, - - }, - data() { - return { - config: { - search: [ +/** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ +import drawerShow from "./drawershow"; +import table from "@/assets/mixins/table"; +export default { + name: "LabelsList", + components: { + drawerShow, + }, + mixins: [table], + created() {}, + methods: { + /** 閲嶅啓鏂板鏂规硶 */ + toAdd(row) { + this.$refs.drawerform.add(row); + }, + /** 閲嶅啓缂栬緫鏂规硶 */ + toEdit(row) { + this.$refs.drawerform.edit(row); + }, + /** 閲嶅啓鏌ョ湅鏂规硶 */ + toView(row) { + this.$refs.drawerform.view(row); + }, + }, + data() { + return { + config: { + search: [ + { + name: "labelName", + type: "text", + label: "鏍囩鍚嶇О", + }, + ], + columns: [ + { type: "selection", width: 60 }, + { type: "index", label: "搴忓彿", width: 50 }, - { - name: "labelName", - type: "text", - label: "鏍囩鍚嶇О" - } - ], - columns: [ - {type: "selection", width: 60}, - {type: "index",label: "搴忓彿",width: 50}, + { label: "鏍囩鍚嶇О", prop: "labelName" }, - {label: "鏍囩鍚嶇О", prop: "labelName"}, - - {label: "鏍囩鎻忚堪", prop: "labelDesc",formatter: this.formatters}, - - - {label: "鏍囩鍥炬爣", prop: "labelLogoPath",formatter: (row) => { - return row.labelLogoPath != "" ? ( - <el-image - style="width: 70px; height: 70px" - src={row.labelLogoPath} - preview-src-list={[row.labelLogoPath]} - ></el-image> - ) : ( - "--" - ); - },}, + // { label: "鏍囩鎻忚堪", prop: "labelDesc", formatter: this.formatters }, + { + label: "鏍囩鍥炬爣", + prop: "labelLogoPath", + formatter: (row) => { + return row.labelLogoPath != "" ? ( + <el-image + style="width: 70px; height: 70px" + src={row.labelLogoPath} + preview-src-list={[row.labelLogoPath]} + ></el-image> + ) : ( + "--" + ); + }, + }, - {label: "鍒涘缓鏃堕棿", prop: "createTime", formatter: this.formatterDate}, - { - label: "鎿嶄綔", - width: 240, - formatter: row => { - return ( - <table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> - ); - } - } - ] - } - }; - } + { + label: "鍒涘缓鏃堕棿", + prop: "createTime", + formatter: this.formatterDate, + }, + { + label: "鎿嶄綔", + width: 240, + formatter: (row) => { + return ( + <table-buttons + noAdd + row={row} + onEdit={this.toEdit} + onView={this.toView} + onDel={this.toDel} + /> + ); + }, + }, + ], + }, }; + }, +}; </script> diff --git a/enterprise-manager-ui/admin/src/views/news/drawershow.vue b/enterprise-manager-ui/admin/src/views/news/drawershow.vue index 38976ceda982bc804368c4f7fefb94fd3fe16fed..2e38e01c0e0c8ed89fe4e29ecb3764d6f38ab24d 100644 --- a/enterprise-manager-ui/admin/src/views/news/drawershow.vue +++ b/enterprise-manager-ui/admin/src/views/news/drawershow.vue @@ -5,7 +5,7 @@ :visible.sync="open" :direction="direction" :destroy-on-close="true" - size="100%" + size="70%" > <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <div class="form"> @@ -37,6 +37,7 @@ v-model="form.titleLogoPath" prePath="/file/preview" :isList="true" + :limit="9" ref="imgList" /> </Field> @@ -174,13 +175,17 @@ export default { cancel() { this.open = false; }, + /**鑾峰彇鏁版嵁鍓嶅脊妗� */ + beforeRender(data) { + data.entity.deptId = String(data.entity.deptId); + return data; + }, /**鑾峰彇鏁版嵁鍚庡脊妗� */ afterRender(data) { this.open = true; }, // 鎻愪氦鍓嶆暟鎹鐞� beforeSubmit(data) { - console.log(data, "123"); let arr = []; arr = this.$refs.imgList.imgList.map((v) => { return v.response ? v.response.url : v.url.substr(v.url.indexOf("f")); diff --git a/enterprise-manager-ui/admin/src/views/news/list.vue b/enterprise-manager-ui/admin/src/views/news/list.vue index d4cc14184f46eb32f419437374674ccbbc5c6eaf..d1042bca22e163fa867aec94594ed48069e9bc5d 100644 --- a/enterprise-manager-ui/admin/src/views/news/list.vue +++ b/enterprise-manager-ui/admin/src/views/news/list.vue @@ -138,7 +138,7 @@ export default { { label: "鍒涘缓鏃堕棿", - prop: "createDateTime", + prop: "createTime", formatter: this.formatterDate, }, diff --git a/enterprise-manager-ui/admin/src/views/staff/drawershow.vue b/enterprise-manager-ui/admin/src/views/staff/drawershow.vue index 2f240eea9ee94eb23a7ec26eb3490018461c15fc..ca3448e50278ad5af33fdda31c5e06223a83a2c2 100644 --- a/enterprise-manager-ui/admin/src/views/staff/drawershow.vue +++ b/enterprise-manager-ui/admin/src/views/staff/drawershow.vue @@ -1,197 +1,231 @@ <template> - <!-- 寮瑰嚭妗嗚〃鍗� --> - <el-drawer - :title="title" - :visible.sync="open" - :direction="direction" - :destroy-on-close="true" - size="50%"> - <el-form ref="form" :model="form" :rules="rules" label-width="120px"> - <el-row> - <Field :span="20" label="鍛樺伐濮撳悕" prop="name" v-model="form.name" placeholder="璇疯緭鍏ュ憳宸ュ鍚�"/> - <Field :span="20" label="鎵€灞炲叕鍙�" prop="companyIds" v-model="form.companyIds" :multiple="true" type="select" :enum-data="dict.companyIds" placeholder="璇疯緭鍏ユ墍灞炲叕鍙�"/> - <Field :span="20" label="鑱屼綅" prop="positionId" v-model="form.positionId" type="select" :enum-data="dict.positionId" placeholder="璇疯緭鍏ヨ亴浣岻D"/> - <Field :span="20" label="鑱旂郴鐢佃瘽" prop="phoneNumber" v-model="form.phoneNumber" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"/> - <!-- <Field :span="20" label="鍛樺伐鐘舵€�" type="select" prop="staffStatus" v-model="form.staffStatus" :enum-data="dict.staffStatus" placeholder="璇疯緭鍏ュ憳宸ョ姸鎬�"/> --> - <Field :span="20" label="澶村儚" prop="photoPath" placeholder="璇疯緭鍏ョ収鐗�"><imageUpload v-model="form.photoPath" prePath="/file/preview"/> </Field> - <Field :span="20" label="閭欢鍦板潃" prop="email" v-model="form.email" placeholder="璇疯緭鍏ラ偖浠跺湴鍧€"/> - <Field :span="20" label="澶囨敞" prop="remark" v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�"/> + <!-- 寮瑰嚭妗嗚〃鍗� --> + <el-drawer + :title="title" + :visible.sync="open" + :direction="direction" + :destroy-on-close="true" + size="50%" + > + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> + <el-row> + <Field + :span="20" + label="鍛樺伐濮撳悕" + prop="name" + v-model="form.name" + placeholder="璇疯緭鍏ュ憳宸ュ鍚�" + /> + <Field + :span="20" + label="鎵€灞炲叕鍙�" + prop="companyIds" + v-model="form.companyIds" + :multiple="true" + type="select" + :enum-data="dict.companyIds" + placeholder="璇疯緭鍏ユ墍灞炲叕鍙�" + /> + <Field + :span="20" + label="鑱屼綅" + prop="positionId" + v-model="form.positionId" + type="select" + :enum-data="dict.positionId" + placeholder="璇疯緭鍏ヨ亴浣岻D" + /> + <Field + :span="20" + label="鑱旂郴鐢佃瘽" + prop="phoneNumber" + v-model="form.phoneNumber" + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" + /> + <!-- <Field :span="20" label="鍛樺伐鐘舵€�" type="select" prop="staffStatus" v-model="form.staffStatus" :enum-data="dict.staffStatus" placeholder="璇疯緭鍏ュ憳宸ョ姸鎬�"/> --> + <Field :span="20" label="澶村儚" prop="photoPath" placeholder="璇疯緭鍏ョ収鐗�" + ><imageUpload v-model="form.photoPath" prePath="/file/preview" /> + </Field> + <Field + :span="20" + label="閭欢鍦板潃" + prop="email" + v-model="form.email" + placeholder="璇疯緭鍏ラ偖浠跺湴鍧€" + /> + <Field + :span="20" + label="澶囨敞" + prop="remark" + v-model="form.remark" + type="textarea" + placeholder="璇疯緭鍏ュ娉�" + /> + </el-row> - </el-row> - - <form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn /> - </el-form> - - </el-drawer> + <form-buttons + @submit="submitForm" + v-if="pageInfo.type != 'view'" + noCancelBtn + /> + </el-form> + </el-drawer> </template> <script> - import form from "@/assets/mixins/formdialog"; - export default { - name: "StaffDetail", - mixins: [form], - components: { - - }, - created() { - this.changePath("staff") - }, - data() { - var checkEmail = (rule, value, callback) => { - let mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; - if (!value) { //濡傛灉杈撳叆涓虹┖鐩存帴杩斿洖 - callback(); - } else { - //濡傛灉瀛楃涓� string 涓惈鏈変笌 RegExpObject 鍖归厤鐨勬枃鏈紝鍒欒繑鍥� true锛屽惁鍒欒繑鍥� false銆� - if (mailReg.test(value)) { //鍖归厤鎴愬姛杩斿洖 - callback(); - } else { //鍖归厤涓嶆垚鍔熻繑鍥為敊璇樉绀� - callback(new Error("閭鏍煎紡:xx@xx.xx锛屽彧鍚暟瀛椼€佸ぇ灏忓啓瀛楁瘝銆佷笅鍒掔嚎銆佹í鏉�")); - } - } - }; - var checkPhone = (rule,value,callback) =>{ - let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/ - if(!value){ - callback() - }else{ - if(phoneReg.test(value)){ - callback() - }else{ - callback(new Error("鐢佃瘽鏍煎紡:13銆�14銆�15銆�17銆�18寮€澶�+9浣嶉樋鎷変集鏁板瓧")) - } - } - } - return { - - // 閬僵灞� - loading: true, - // 寮瑰嚭灞傛爣棰� - title: "鍛樺伐鍩烘湰淇℃伅", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - direction:"rtl", - toString:[ - "gender", - "staffType", - "staffStatus", - "source", - "positionId" - ], - toArrays:["companyIds"], - - toDate:[ - "birthday", - "entryDate", - "regularDate", - "leaveDate", - ], - // 琛ㄥ崟鏍¢獙 - rules: { - name: [ - {required: true,message: "璇疯緭鍏ュ憳宸ュ鍚�", trigger: "blur" }, - {max: 64,message: "鏈€澶氬彧鑳藉綍鍏�64涓瓧绗�",trigger: "blur",}, - ], - positionId: [ - {required: true,message: "璇烽€夋嫨鑱屼綅", trigger: "blur" } - ], - companyIds: [ - {required: true,message: "璇烽€夋嫨鎵€灞炰紒涓�", trigger: "blur" } - ], - phoneNumber: [ - {required: true,message: "璇疯緭鍏ヨ仈绯荤數璇�", trigger: "blur" }, - { validator: checkPhone,trigger: "blur" }, - {max: 11,message: "鏈€澶氬彧鑳藉綍鍏�11涓瓧绗�",trigger: "blur",}, - ], - email: [ - - { validator: checkEmail,trigger: "blur" } - ], - } - }; - }, +import form from "@/assets/mixins/formdialog"; +export default { + name: "StaffDetail", + mixins: [form], + components: {}, + created() { + this.changePath("staff"); + }, + data() { + var checkEmail = (rule, value, callback) => { + let mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; + if (!value) { + //濡傛灉杈撳叆涓虹┖鐩存帴杩斿洖 + callback(); + } else { + //濡傛灉瀛楃涓� string 涓惈鏈変笌 RegExpObject 鍖归厤鐨勬枃鏈紝鍒欒繑鍥� true锛屽惁鍒欒繑鍥� false銆� + if (mailReg.test(value)) { + //鍖归厤鎴愬姛杩斿洖 + callback(); + } else { + //鍖归厤涓嶆垚鍔熻繑鍥為敊璇樉绀� + callback( + new Error("閭鏍煎紡:xx@xx.xx锛屽彧鍚暟瀛椼€佸ぇ灏忓啓瀛楁瘝銆佷笅鍒掔嚎銆佹í鏉�") + ); + } + } + }; + var checkPhone = (rule, value, callback) => { + let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/; + if (!value) { + callback(); + } else { + if (phoneReg.test(value)) { + callback(); + } else { + callback(new Error("鐢佃瘽鏍煎紡:13銆�14銆�15銆�17銆�18寮€澶�+9浣嶉樋鎷変集鏁板瓧")); + } + } + }; + return { + // 閬僵灞� + loading: true, + // 寮瑰嚭灞傛爣棰� + title: "鍛樺伐鍩烘湰淇℃伅", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + direction: "rtl", + toString: ["gender", "staffType", "staffStatus", "source", "positionId"], + toArrays: ["companyIds"], - methods: { - /** 缂栬緫 */ - edit(row) { - this.reset() - this.query = { id: row.id }; - this.urls.currUrl ="staff/edit"; - this.getData(); - this.pageInfo.type="edit" - this.title = "淇敼鍛樺伐鍩烘湰淇℃伅"; - }, - /** 鏂板 */ - add(row) { - this.reset() - this.urls.currUrl = "staff/add"; - this.getData(); - this.pageInfo.type="add" - this.title = "鏂板鍛樺伐鍩烘湰淇℃伅"; - }, - /** 鏌ョ湅*/ - view(row) { - this.reset() - this.query = { id: row.id }; - this.urls.currUrl ="staff/view"; - this.getData(); - this.pageInfo.type="view" - this.title = "鍛樺伐鍩烘湰淇℃伅璇︾粏"; - }, - /**鍙栨秷鎸夐挳 */ - cancel() { - this.open = false; - }, - /**鑾峰彇鏁版嵁鍚庡脊妗� */ - afterRender(data) { - this.open = true; - }, + toDate: ["birthday", "entryDate", "regularDate", "leaveDate"], + // 琛ㄥ崟鏍¢獙 + rules: { + name: [ + { required: true, message: "璇疯緭鍏ュ憳宸ュ鍚�", trigger: "blur" }, + { max: 64, message: "鏈€澶氬彧鑳藉綍鍏�64涓瓧绗�", trigger: "blur" }, + ], + positionId: [ + { required: true, message: "璇烽€夋嫨鑱屼綅", trigger: "blur" }, + ], + companyIds: [ + { required: true, message: "璇烽€夋嫨鎵€灞炰紒涓�", trigger: "blur" }, + ], + phoneNumber: [ + { required: true, message: "璇疯緭鍏ヨ仈绯荤數璇�", trigger: "blur" }, + { validator: checkPhone, trigger: "blur" }, + { max: 11, message: "鏈€澶氬彧鑳藉綍鍏�11涓瓧绗�", trigger: "blur" }, + ], + email: [{ validator: checkEmail, trigger: "blur" }], + }, + }; + }, - beforeSubmit(data) { + methods: { + /** 缂栬緫 */ + edit(row) { + this.reset(); + this.query = { id: row.id }; + this.urls.currUrl = "staff/edit"; + this.getData(); + this.pageInfo.type = "edit"; + this.title = "淇敼鍛樺伐鍩烘湰淇℃伅"; + }, + /** 鏂板 */ + add(row) { + this.reset(); + this.urls.currUrl = "staff/add"; + this.getData(); + this.pageInfo.type = "add"; + this.title = "鏂板鍛樺伐鍩烘湰淇℃伅"; + }, + /** 鏌ョ湅*/ + view(row) { + this.reset(); + this.query = { id: row.id }; + this.urls.currUrl = "staff/view"; + this.getData(); + this.pageInfo.type = "view"; + this.title = "鍛樺伐鍩烘湰淇℃伅璇︾粏"; + }, + /**鍙栨秷鎸夐挳 */ + cancel() { + this.open = false; + }, + /**鑾峰彇鏁版嵁鍚庡脊妗� */ + afterRender(data) { + this.open = true; + }, - data.companyIds=data.companyIds.join(",") + beforeSubmit(data) { + data.companyIds = data.companyIds.join(","); - return data - }, + return data; + }, - afterSubmit(data) { - this.open = false; - this.$emit("ok"); - }, + afterSubmit(data) { + this.open = false; + this.$emit("ok"); + }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - name : "", - gender : 1, - birthday : null, - photoPath : "", - Email : "", - phoneNumber : "", - idCard : "", - workNum : "", - companyName : "", - positionId : null, - positionName : "", - staffType : 1, - staffStatus : 1, - source : 1, - registerPath : "", - entryDate : null, - regularDate : null, - leaveDate : null, - remark : "", - sumViews : 0, - viewsByDay : 0, - sendBusinessCardTimes : 0, - }; - this.resetForm("form"); - }, - resetForm(refName) { - if (this.$refs[refName]) { - this.$refs[refName].resetFields(); - } - }, - }, - }; + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + name: "", + gender: 1, + birthday: null, + photoPath: "", + Email: "", + phoneNumber: "", + idCard: "", + workNum: "", + companyName: "", + positionId: null, + positionName: "", + staffType: 1, + staffStatus: 1, + source: 1, + registerPath: "", + entryDate: null, + regularDate: null, + leaveDate: null, + remark: "", + sumViews: 0, + viewsByDay: 0, + sendBusinessCardTimes: 0, + }; + this.resetForm("form"); + }, + resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields(); + } + }, + }, +}; </script> diff --git a/enterprise-manager-ui/admin/src/views/staff/list.vue b/enterprise-manager-ui/admin/src/views/staff/list.vue index 6eecb6ebf05472563cea20b0cceaa3453cc418c3..a85ddb8676bfb37ce4770fd426dfd1d441363fde 100644 --- a/enterprise-manager-ui/admin/src/views/staff/list.vue +++ b/enterprise-manager-ui/admin/src/views/staff/list.vue @@ -1,157 +1,185 @@ <template> - <div class="page"> - <LayoutTable :data="tableData" notDel :config="tableConfig"> - </LayoutTable> + <div class="page"> + <LayoutTable :data="tableData" notDel :config="tableConfig"> </LayoutTable> - - <drawer-show ref="drawerform" @ok="getData" /> - </div> + <drawer-show ref="drawerform" @ok="getData" /> + </div> </template> <script> - /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ - import drawerShow from "./drawershow"; - import table from "@/assets/mixins/table"; - export default { - name: "StaffList", - components: { - drawerShow -}, - mixins: [table], - created() { - }, - methods: { - /** 閲嶅啓鏂板鏂规硶 */ - toAdd(row) { - this.$refs.drawerform.add(row); - }, - /** 閲嶅啓缂栬緫鏂规硶 */ - toEdit(row) { - this.$refs.drawerform.edit(row); - }, - /** 閲嶅啓鏌ョ湅鏂规硶 */ - toView(row) { - this.$refs.drawerform.view(row); - }, - // 绂昏亴鎿嶄綔 - toDimission(row){ - console.log(row); - // 鍏堝脊绐楁彁闂� - this.$confirm('姝ゆ搷浣滃皢'+row.name+'浣滅鑱屽鐞嗭紝绂昏亴鍚庯紝璇ュ憳宸ュ湪涔嬪墠鍙戦€佺殑鍚嶇墖灏嗕笉鍋氬睍绀猴紝瀹㈡埛鐐瑰嚮鍚嶇墖娑堟伅鍚庤烦杞嚦涔嬪墠缁戝畾鐨勪紒涓氳鎯咃紙鑻ヨ鍛樺伐鏈夊寮犱紒涓氬悕鐗囷紝浠ョ涓€涓负鍑嗭級锛屾槸鍚︾户缁紵', '绯荤粺鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷' - }).then(() => { - // 鍏堜慨鏀圭姸鎬佸湪淇敼 - let query = JSON.parse(JSON.stringify(row)) - query.staffStatus=3 - console.log(this.$refs.drawerform.urls.saveUrl); - - this.$post('staff/leave',{id:query.id}) - .then(res => { - this.$message.success(res.msg); - this.getData() - }) - }).catch(() => {}); +/** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */ +import drawerShow from "./drawershow"; +import table from "@/assets/mixins/table"; +export default { + name: "StaffList", + components: { + drawerShow, + }, + mixins: [table], + created() {}, + methods: { + /** 閲嶅啓鏂板鏂规硶 */ + toAdd(row) { + this.$refs.drawerform.add(row); + }, + /** 閲嶅啓缂栬緫鏂规硶 */ + toEdit(row) { + this.$refs.drawerform.edit(row); + }, + /** 閲嶅啓鏌ョ湅鏂规硶 */ + toView(row) { + this.$refs.drawerform.view(row); + }, + // 绂昏亴鎿嶄綔 + toDimission(row) { + console.log(row); + // 鍏堝脊绐楁彁闂� + this.$confirm( + "姝ゆ搷浣滃皢" + + row.name + + "浣滅鑱屽鐞嗭紝绂昏亴鍚庯紝璇ュ憳宸ュ湪涔嬪墠鍙戦€佺殑鍚嶇墖灏嗕笉鍋氬睍绀猴紝瀹㈡埛鐐瑰嚮鍚嶇墖娑堟伅鍚庤烦杞嚦涔嬪墠缁戝畾鐨勪紒涓氳鎯咃紙鑻ヨ鍛樺伐鏈夊寮犱紒涓氬悕鐗囷紝浠ョ涓€涓负鍑嗭級锛屾槸鍚︾户缁紵", + "绯荤粺鎻愮ず", + { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + } + ) + .then(() => { + // 鍏堜慨鏀圭姸鎬佸湪淇敼 + let query = JSON.parse(JSON.stringify(row)); + query.staffStatus = 3; + console.log(this.$refs.drawerform.urls.saveUrl); + + this.$post("staff/leave", { id: query.id }).then((res) => { + this.$message.success(res.msg); + this.getData(); + }); + }) + .catch(() => {}); + }, + // 閲嶅啓getData + async getData() { + this.query = Object.assign( + { staffStatus: 1 }, + this.query, + this.$route.query + ); + try { + await this.beforeFecth(); + } catch (error) { + return; + } + this.tableData.loading = true; + this.$post(this.pageInfo.list, this.query, { + cancelToken: this.source.token, + }) + .then(({ data }) => { + this.tableData = this.beforeRender( + Object.assign({}, this.tableData, data) + ); + this.afterRender(this.tableData); + }) + .catch((error) => { + if (error.message == "鑷姩鍙栨秷ajax鎿嶄綔") return; + this.$message.error(error.message); + }) + .then((data) => { + clearTimeout(this.loadingTimer); + this.loadingTimer = setTimeout(() => { + this.tableData.loading = false; + }, 300); + }); + }, + }, + data() { + return { + config: { + search: [ + { + name: "companyId", + type: "select", + placeholder: "璇烽€夋嫨鎵€灞炰紒涓�", + label: "鎵€灞炰紒涓�", + }, + + { + name: "name", + type: "text", + placeholder: "璇疯緭鍏ュ憳宸ュ鍚�", + label: "鍛樺伐濮撳悕", + }, + ], + columns: [ + { type: "index", label: "搴忓彿", width: 50 }, + + { label: "鍛樺伐濮撳悕", prop: "name" }, + + { + label: "澶村儚", + prop: "photoPath", + formatter: (row) => { + return row.photoPath != "" ? ( + <el-image + style="width: 70px; height: 70px" + src={row.photoPath} + preview-src-list={[row.photoPath]} + ></el-image> + ) : ( + "--" + ); }, - // 閲嶅啓getData - async getData() { - this.query = Object.assign({staffStatus:1}, this.query, this.$route.query); - try { - await this.beforeFecth(); - } catch (error) { - return; - } - this.tableData.loading = true; - this.$post(this.pageInfo.list, this.query, { - cancelToken: this.source.token - }) - .then(({ data }) => { - this.tableData = this.beforeRender( - Object.assign({}, this.tableData, data) - ); - this.afterRender(this.tableData); - }) - .catch(error => { - if (error.message == '鑷姩鍙栨秷ajax鎿嶄綔') return - this.$message.error(error.message); - }) - .then(data => { - clearTimeout(this.loadingTimer); - this.loadingTimer = setTimeout(() => { - this.tableData.loading = false; - }, 300); - }) + }, + + { label: "鑱旂郴鐢佃瘽", prop: "phoneNumber" }, + + { label: "閭欢鍦板潃", prop: "email", formatter: this.formatters }, + + { label: "鎵€灞炲叕鍙�", prop: "companyIds", formatter: this.formatters }, + + { label: "鑱屼綅", prop: "positionId", formatter: this.formatter }, + { label: "鍙戦€佸悕鐗囨鏁�", prop: "sendBusinessCardTimes" }, + { label: "绱鏌ョ湅娆℃暟", prop: "sumViews" }, + + { + label: "鏈€杩戞洿鏂版椂闂�", + prop: "updateTime", + formatter: this.formatterDate, + }, + { + label: "鏇存柊浜哄憳", + prop: "updateUserId", + formatter: this.formatter, + }, + // {label: "鍛樺伐鐘舵€�", prop: "staffStatus",formatter: this.formatter}, + { + label: "鎿嶄綔", + width: 240, + formatter: (row) => { + return ( + <div> + <table-buttons + noAdd + noView + row={row} + onEdit={this.toEdit} + onView={this.toView} + onDel={this.toDel} + /> + <span + onClick={() => { + this.toDimission(row); + }} + style="color:#409EFF;margin-left:20px" + > + 绂昏亴 + </span> + </div> + ); }, - - }, - data() { - return { - config: { - search: [ - - - { - name: "companyId", - type: "select", - placeholder:"璇烽€夋嫨鎵€灞炰紒涓�", - label: "鎵€灞炰紒涓�" - }, - - { - name: "name", - type: "text", - placeholder:"璇疯緭鍏ュ憳宸ュ鍚�", - label: "鍛樺伐濮撳悕" - }, - - - ], - columns: [ - {type: "index",label: "搴忓彿",width: 50}, - - {label: "鍛樺伐濮撳悕", prop: "name"}, - - {label: "澶村儚", prop: "photoPath",formatter: (row) => { - return row.photoPath != "" ? ( - <el-image - style="width: 70px; height: 70px" - src={row.photoPath} - preview-src-list={[row.photoPath]} - ></el-image> - ) : ( - "--" - ); - },}, - - {label: "鑱旂郴鐢佃瘽", prop: "phoneNumber"}, - - {label: "閭欢鍦板潃", prop: "email",formatter: this.formatters}, - - {label: "鎵€灞炲叕鍙�", prop: "companyIds",formatter: this.formatters}, - - - {label: "鑱屼綅", prop: "positionId",formatter:this.formatter}, - {label: "鍙戦€佸悕鐗囨鏁�", prop: "sendBusinessCardTimes"}, - {label: "绱鏌ョ湅娆℃暟", prop: "sumViews"}, - - {label: "鏈€杩戞洿鏂版椂闂�", prop: "updateTime", formatter: this.formatterDate}, - {label: "鏇存柊浜哄憳", prop: "updateUserId", formatter: this.formatter}, - // {label: "鍛樺伐鐘舵€�", prop: "staffStatus",formatter: this.formatter}, - { - label: "鎿嶄綔", - width: 240, - formatter: row => { - return ( - <div> - <table-buttons noAdd noView row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> - <span onClick={ ()=>{this.toDimission(row)}} style="color:#409EFF;margin-left:20px">绂昏亴</span> - </div> - ); - } - } - ] - } - }; - } + }, + ], + }, }; + }, +}; </script>