From 74d460aa271f406cf36b2f20aa26b84d7c775217 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期三, 21 九月 2022 17:50:19 +0800 Subject: [PATCH] 新建logo页面,第三方接口,案件池页面搭建 --- src/views/operate/disposal/casepool/index.vue | 222 +++++++++ src/views/operate/disposal/index.vue | 15 src/views/systemSetting/platform/otherInterface/components/createInterface/index.vue | 260 +++++++++++ src/views/systemSetting/platform/otherInterface/index.vue | 225 +++++++++ src/views/systemSetting/platform/portalSetting/index.vue | 2 src/views/systemSetting/platform/otherInterface/components/viewInterface/index.vue | 246 ++++++++++ src/views/operate/baseSetting/index.vue | 15 src/views/operate/disposal/casepool/compenents/checkIn/index.vue | 114 ++++ src/views/systemSetting/baseSetting/user/index.vue | 4 src/router/index.js | 14 src/views/layout/components/Menu/index.vue | 72 +- src/views/systemSetting/platform/mySetting/index.vue | 147 ++++++ 12 files changed, 1,292 insertions(+), 44 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 28129e5..1bdd60a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -57,7 +57,19 @@ { path: "operate", name: 'operate', - component: () => import('@/views/operate/index.vue') + component: () => import('@/views/operate'), + children:[ + { + path:'baseSetting', + name:'baseSetting', + component:()=> import('@/views/operate/baseSetting'), + }, + { + path:'casepool', + name:'casepool', + component:() => import('@/views/operate/disposal/casepool') + } + ] }, { path: "video", diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue index 4f35d59..aa53d58 100644 --- a/src/views/layout/components/Menu/index.vue +++ b/src/views/layout/components/Menu/index.vue @@ -54,7 +54,7 @@ </el-submenu> --> </el-submenu> <!-- 骞冲彴璁剧疆 --> - <el-submenu index="/home/article/add" class="secondMenu"> + <el-submenu index="/home/operate/add" class="secondMenu"> <template slot="title"> <span class="secondSpan">闂ㄦ埛绠$悊</span> </template> @@ -71,17 +71,25 @@ </span> <span class="fisrtSpan">杩愯惀绠$悊</span> </template> - <el-menu-item index="/home/article/add">鎵ф硶绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">璋冨害绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">搴楅摵绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">杞﹁締绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">鍥剧墖绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">瑙嗛绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">娑堟伅绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">瀹℃牳绠$悊</el-menu-item> - <el-menu-item index="/home/article/add">鐭俊绠$悊</el-menu-item> - <el-menu-item index="/home/article">绠楁硶妯″瀷绠$悊</el-menu-item> - <el-menu-item index="/home/article">鏃ュ織绠$悊</el-menu-item> + <el-menu-item index="/home/operate/baseSetting">鍩虹璁剧疆</el-menu-item> + <el-submenu index="/home/operate/disposal"> + <template slot="title"> + <span class="secondSpan">浜嬮」澶勭悊绠$悊</span> + </template> + <el-menu-item index="/home/operate/casepool">妗堜欢姹�</el-menu-item> + </el-submenu> + <el-menu-item index="/home/operate/myWait">鎴戠殑寰呭姙</el-menu-item> + <el-menu-item index="/home/operate/rectification">涓撻」鏁存不</el-menu-item> + <el-menu-item index="/home/operate/">宸℃煡鎵ф硶</el-menu-item> + <el-menu-item index="/home/operate/">妗堝嵎鏌ヨ</el-menu-item> + <el-menu-item index="/home/operate/">闂ㄥ墠浜斿寘澶勭疆绠$悊</el-menu-item> + <el-menu-item index="/home/operate/">绠楁硶妯″瀷绠$悊</el-menu-item> + <el-menu-item index="/home/operate/">杞﹁締绠$悊</el-menu-item> + <el-menu-item index="/home/operate">鍥剧墖绠$悊</el-menu-item> + <el-menu-item index="/home/operate">瑙嗛绠$悊</el-menu-item> + <el-menu-item index="/home/operate">娑堟伅绠$悊</el-menu-item> + <el-menu-item index="/home/operate">鐭俊绠$悊</el-menu-item> + <el-menu-item index="/home/operate">鏃ュ織绠$悊</el-menu-item> </el-submenu> <!-- 瑙嗛宸℃煡妯″潡 --> <el-submenu index="/home/video" class="firstMenu"> @@ -101,11 +109,11 @@ </span> <span class="fisrtSpan">娌圭儫淇℃伅鏌ヨ</span> </template> - <el-menu-item index="/home/article/add">棰勮鐮斿垽</el-menu-item> - <el-menu-item index="/home/article">杩濊妫�绱�</el-menu-item> - <el-menu-item index="/home/article">瓒嬪娍鍒嗘瀽</el-menu-item> - <el-menu-item index="/home/article">鏁版嵁缁熻</el-menu-item> - <el-menu-item index="/home/article">杩愯鎶ュ憡</el-menu-item> + <el-menu-item index="/home/operate/add">棰勮鐮斿垽</el-menu-item> + <el-menu-item index="/home/operate">杩濊妫�绱�</el-menu-item> + <el-menu-item index="/home/operate">瓒嬪娍鍒嗘瀽</el-menu-item> + <el-menu-item index="/home/operate">鏁版嵁缁熻</el-menu-item> + <el-menu-item index="/home/operate">杩愯鎶ュ憡</el-menu-item> </el-submenu> <!-- 鎵ф硶绠$悊妯″潡 --> <el-submenu index="/home/law" class="firstMenu"> @@ -115,11 +123,11 @@ </span> <span class="fisrtSpan">鎵ф硶绠$悊</span> </template> - <el-menu-item index="/home/article/add">棰勮鐮斿垽</el-menu-item> - <el-menu-item index="/home/article">杩濊妫�绱�</el-menu-item> - <el-menu-item index="/home/article">瓒嬪娍鍒嗘瀽</el-menu-item> - <el-menu-item index="/home/article">鏁版嵁缁熻</el-menu-item> - <el-menu-item index="/home/article">杩愯鎶ュ憡</el-menu-item> + <el-menu-item index="/home/operate/add">棰勮鐮斿垽</el-menu-item> + <el-menu-item index="/home/operate">杩濊妫�绱�</el-menu-item> + <el-menu-item index="/home/operate">瓒嬪娍鍒嗘瀽</el-menu-item> + <el-menu-item index="/home/operate">鏁版嵁缁熻</el-menu-item> + <el-menu-item index="/home/operate">杩愯鎶ュ憡</el-menu-item> </el-submenu> <!-- 鏅鸿兘宸℃煡妯″潡 --> <el-submenu index="/home/intellect" class="firstMenu"> @@ -129,11 +137,11 @@ </span> <span class="fisrtSpan">鏅鸿兘宸℃煡</span> </template> - <el-menu-item index="/home/article/add">棰勮鐮斿垽</el-menu-item> - <el-menu-item index="/home/article">杩濊妫�绱�</el-menu-item> - <el-menu-item index="/home/article">瓒嬪娍鍒嗘瀽</el-menu-item> - <el-menu-item index="/home/article">鏁版嵁缁熻</el-menu-item> - <el-menu-item index="/home/article">杩愯鎶ュ憡</el-menu-item> + <el-menu-item index="/home/operate/add">棰勮鐮斿垽</el-menu-item> + <el-menu-item index="/home/operate">杩濊妫�绱�</el-menu-item> + <el-menu-item index="/home/operate">瓒嬪娍鍒嗘瀽</el-menu-item> + <el-menu-item index="/home/operate">鏁版嵁缁熻</el-menu-item> + <el-menu-item index="/home/operate">杩愯鎶ュ憡</el-menu-item> </el-submenu> <!-- 骞冲彴鍩烘湰淇℃伅 --> <el-submenu index="/home/info" class="firstMenu"> @@ -143,11 +151,11 @@ </span> <span class="fisrtSpan">骞冲彴鍩烘湰淇℃伅</span> </template> - <el-menu-item index="/home/article/add">棰勮鐮斿垽</el-menu-item> - <el-menu-item index="/home/article">杩濊妫�绱�</el-menu-item> - <el-menu-item index="/home/article">瓒嬪娍鍒嗘瀽</el-menu-item> - <el-menu-item index="/home/article">鏁版嵁缁熻</el-menu-item> - <el-menu-item index="/home/article">杩愯鎶ュ憡</el-menu-item> + <el-menu-item index="/home/operate/add">棰勮鐮斿垽</el-menu-item> + <el-menu-item index="/home/operate">杩濊妫�绱�</el-menu-item> + <el-menu-item index="/home/operate">瓒嬪娍鍒嗘瀽</el-menu-item> + <el-menu-item index="/home/operate">鏁版嵁缁熻</el-menu-item> + <el-menu-item index="/home/operate">杩愯鎶ュ憡</el-menu-item> </el-submenu> </el-menu> </el-scrollbar> diff --git a/src/views/operate/baseSetting/index.vue b/src/views/operate/baseSetting/index.vue new file mode 100644 index 0000000..b1fb700 --- /dev/null +++ b/src/views/operate/baseSetting/index.vue @@ -0,0 +1,15 @@ +<template> + <div class="baseSetting"> + 1 + </div> +</template> +<script> + export default { + data(){ + return{ + + } + } + } +</script> +<style lang="scss" scoped></style> \ No newline at end of file diff --git a/src/views/operate/disposal/casepool/compenents/checkIn/index.vue b/src/views/operate/disposal/casepool/compenents/checkIn/index.vue new file mode 100644 index 0000000..166a29d --- /dev/null +++ b/src/views/operate/disposal/casepool/compenents/checkIn/index.vue @@ -0,0 +1,114 @@ +<template> + <div class="checkIn"> + <div class="form"> + <!-- :rules="createRoleRules" --> + <el-form ref="user" label-width="140px" autoComplete="on" :model="role" label-position="right"> + <div class="things"> + <div>濉啓鍩虹淇℃伅</div> + <!-- 闂绫诲瀷 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 澶х被鍚嶇О --> + <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status"> + <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷"> + <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value" + :disabled="item.disabled"> + </el-option> + </el-select> + </el-form-item> + <!-- 灏忕被鍚嶇О --> + <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description"> + <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> + </el-form-item> + <!-- 浜嬩欢绛夌骇 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 妗堢敱 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鎵�灞炲幙鍖� --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鎵�灞炵ぞ鍖� --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鎵�灞炶閬� --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 浜嬪彂鍦扮偣 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鏄惁鍏宠仈鍟嗛摵 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鍏宠仈鍟嗛摵鍚嶇О --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 濉啓杞︾墝鍙� --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 闂鎻忚堪 --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + </div> + <div class="person"> + <div>濉啓鍙嶆槧浜轰俊鎭�</div> + <!-- 鍙嶆槧浜� --> + <el-form-item class="optionItem" label="瑙掕壊鍚嶇О:" prop="name"> + <el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴鏂瑰紡 --> + <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status"> + <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷"> + <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value" + :disabled="item.disabled"> + </el-option> + </el-select> + </el-form-item> + <!-- 韬唤璇佸彿 --> + <el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description"> + <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input> + </el-form-item> + </div> + <el-form-item> + <div class="optionBtn"> + <el-button class="btn cancel">鍙栨秷</el-button> + <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 + </el-button> + </div> + </el-form-item> + </el-form> + + </div> + <div class="map">鍦板浘</div> + </div> +</template> +<script> +export default { + data() { + return { + role: { + + }, + createRoleRules: [ + + ], + typeList: [] + } + } +} +</script> +<style lang="scss" scoped> + +</style> \ No newline at end of file diff --git a/src/views/operate/disposal/casepool/index.vue b/src/views/operate/disposal/casepool/index.vue new file mode 100644 index 0000000..2f31b60 --- /dev/null +++ b/src/views/operate/disposal/casepool/index.vue @@ -0,0 +1,222 @@ +<template> + <div class="casepool"> + <!-- 鏌ヨ娣诲姞 --> + <header> + <div class="search"> + <span>鏉ユ簮鏌ヨ锛�</span> + <el-input placeholder="璇疯緭鍏ラ棶棰樻潵婧�"></el-input> + </div> + <div class="add"> + <el-button type="primary" icon="el-icon-plus">娣诲姞</el-button> + </div> + </header> + <!-- 涓讳綋灞曠ず --> + <main> + <div class="mainContent"> + <!-- 瀵艰埅鐘舵�佹爣绛� --> + <div class="nav"> + <el-tabs type="border-card"> + <el-tab-pane :label="item.name" v-for="item in tagList" :key="item.name"> + <!-- 鏁版嵁娓叉煋 --> + <el-table ref="multipleTable" + :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" + :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> + <el-table-column type="selection" min-width="5"> + </el-table-column> + <el-table-column label="浜嬩欢缂栧彿" min-width="6"> + <template slot-scope="scope">{{ scope.row.id }}</template> + </el-table-column> + <el-table-column prop="source" label="闂鏉ユ簮" min-width="10"> + </el-table-column> + <el-table-column prop="bigKind" label="澶х被鍚嶇О" min-width="6"> + </el-table-column> + <el-table-column prop="samllKind" label="灏忕被鍚嶇О" min-width="6"> + </el-table-column> + <el-table-column prop="reson" label="妗堢敱" min-width="10"> + </el-table-column> + <el-table-column prop="location" label="鎶ヨ鐐逛綅" min-width="10"> + </el-table-column> + <el-table-column prop="area" label="鎵�灞炲尯鍩�" min-width="10"> + </el-table-column> + <el-table-column prop="appendTime" label="鎶ヨ鏃堕棿" min-width="10"> + </el-table-column> + <el-table-column prop="duration" label="鎸佺画鏃堕棿" min-width="6"> + </el-table-column> + <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> + <template slot-scope="scope"> + <div class="operation"> + <span @click="handleFind(scope.row)">涓婃姤</span> + <span class="line">|</span> + <span @click="handleUpdate(scope.row)">璋冨害</span> + <span class="line">|</span> + <span>鍐嶅涔�</span> + <span class="line">|</span> + <span>鏆備笉澶勭悊</span> + </div> + </template> + </el-table-column> + </el-table> + </el-tab-pane> + </el-tabs> + </div> + </div> + </main> + <!-- 缁勪欢鍖� --> + <footer> + <el-dialog :visible.async="visible" width="45%"> + <checkIn></checkIn> + </el-dialog> + </footer> + </div> +</template> +<script> + import checkIn from './compenents/checkIn'; +export default { + components:{ + checkIn, + }, + data() { + return { + tagList: [ + { + name: '寰呭鐞�', + value: 0, + }, + { + name: '宸蹭笂鎶�', + value: 0, + }, + { + name: '宸茶皟搴�', + value: 0, + }, + { + name: '鍦ㄥ涔�', + value: 0, + }, + { + name: '鏆備笉澶勭悊', + value: 0, + }, + { + name: '杩濊', + value: 0, + }, + { + name: '杩濆缓', + value: 0, + }, + ], + tableData: [ + { + id: 13413114, + source: '浜哄伐涓婃姤/瑙嗛宸℃煡', + appendTime:'2022-01-09 14:52' + } + ], + visible:true + } + }, + methods: { + // 璁剧疆琛ㄦ牸鏂戦┈绾� + tableRowClassName({ row, rowIndex }) { + if ((rowIndex + 1) % 2 == 0) { + return 'warning-row'; + } else { + return 'success-row'; + } + return ''; + }, + } +} +</script> +<style lang="scss" scoped> +.casepool { + text-align: left; + color: #4b9bb7; + + header { + display: flex; + justify-content: space-between; + padding: 0 20px; + line-height: 60px; + + .search { + display: flex; + + span { + flex: 2; + } + + .el-input { + flex: 5; + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + } + } + + .add { + .el-button { + background-color: #eb5d01; + border: none; + border-radius: 20px; + } + } + } + + main { + .mainContent { + .nav { + &::v-deep .el-tabs--border-card { + border: none; + } + + &::v-deep .el-tabs--border-card>.el-tabs__content { + background-color: #09152f; + } + + &::v-deep .el-tabs__nav-scroll { + background-color: #09152f; + } + + &::v-deep .el-tabs__header { + line-height: 60px; + } + + &::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item { + color: #fff; + } + + &::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active { + color: #4b9bb7; + background-color: #071f39; + border: none; + } + + .el-table{ + font-size: 12px; + color:#4b9bb7; + .line{ + padding: 0 5px; + } + } + + &::v-deep .el-table__empty-block { + background-color: #09152f; + color: #4b9bb7; + } + .el-table::v-deep .warning-row { + background: #06122c; + } + + .el-table::v-deep .success-row { + background: #071f39; + } + } + } + } +} +</style> \ No newline at end of file diff --git a/src/views/operate/disposal/index.vue b/src/views/operate/disposal/index.vue new file mode 100644 index 0000000..75ba792 --- /dev/null +++ b/src/views/operate/disposal/index.vue @@ -0,0 +1,15 @@ +<template> + <div class="disposal"> + <router-view></router-view> + </div> +</template> +<script> + export default { + data(){ + return{ + + } + } + } +</script> +<style lang="scss" scoped></style> \ No newline at end of file diff --git a/src/views/systemSetting/baseSetting/user/index.vue b/src/views/systemSetting/baseSetting/user/index.vue index 6286333..6660c22 100644 --- a/src/views/systemSetting/baseSetting/user/index.vue +++ b/src/views/systemSetting/baseSetting/user/index.vue @@ -308,12 +308,8 @@ &::v-deep .el-table__empty-block { background-color: #09152f; - } - - &::v-deep .el-table__empty-block { color: #4b9bb7; } - .operation { display: flex; diff --git a/src/views/systemSetting/platform/mySetting/index.vue b/src/views/systemSetting/platform/mySetting/index.vue index 8b407a0..b928e83 100644 --- a/src/views/systemSetting/platform/mySetting/index.vue +++ b/src/views/systemSetting/platform/mySetting/index.vue @@ -1,5 +1,146 @@ <template> - <div> - + <div class="mySetting"> + <!-- header 椤甸潰鏍囬鎻愮ず --> + <header> + <div class="headerTitle">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 鑷畾涔夎彍鍗曡缃�</div> + </header> + <!-- main 鍐呭灞曠ず鍖� --> + <main> + <div class="mainContent"> + <!-- 渚ц竟瀵艰埅鏍� --> + <div class="aside"> + <div class="asideItem" v-for="(item,index) in menuList" :key="item.id" @click="getContent(index)"> + <h4>{{item.title}}</h4> + <!-- 瀛愯彍鍗� --> + <ul class="menu"> + <li class="menuItem" v-for="(son,sonIndex) in item.children" @click.stop="getContent(index,sonIndex)"> + <span>{{son.title}}</span> + </li> + </ul> + </div> + </div> + <!-- 鑿滃崟璁剧疆 --> + <div class="content"> + <h4>鑿滃崟绠$悊-{{article.title}}</h4> + <!-- 瀛愯彍鍗曢」鐩� --> + <ul class="edit"> + <li class="editItem"> + <label>鍚嶇О:</label> + <span>{{article.name}}</span> + </li> + <li class="editItem"> + <label>鎻忚堪:</label> + <span>{{article.description}}</span> + </li> + <li class="editItem"> + <label>鏄惁鏄剧ず鑿滃崟:</label> + <span>{{article.hidden===0 ? '鍚�':'鏄�' }}</span> + </li> + </ul> + </div> + </div> + </main> </div> -</template> \ No newline at end of file +</template> +<script> +export default { + data() { + return { + menuList:[], + article:[], + } + }, + created(){ + const { getMenuList } = this; + getMenuList(); + }, + methods:{ + // 鑾峰彇鑿滃崟鍒楄〃 + getMenuList(){ + this.$axios.get('sccg/menu/treeList').then(res=>{ + console.log(res); + const {data} = res; + this.menuList = data; + this.getContent(0); + }) + }, + // 鍒囨崲鑿滃崟鍐呭灞曠ず + getContent(index,sonIndex=null){ + if(sonIndex===null){ + this.article = this.menuList[index]; + return; + } + this.article = this.menuList[index][sonIndex]; + } + } +} +</script> +<style lang="scss" scoped> +.mySetting { + text-align: left; + color: #4b9bb7; + + header { + line-height: 60px; + padding: 0 20px; + } + + main { + .mainContent { + display: flex; + + li { + list-style: none; + } + + .aside { + width: 200px; + border: 1px solid #fff; + padding: 20px; + height: calc(100vh - 120px); + .asideItem { + h4 { + line-height: 40px; + margin: 0; + } + + ul { + padding: 0; + margin: 0; + } + + .menu { + .menuItem { + line-height: 30px; + } + } + } + } + + .content { + flex: 1; + margin-left: 100px; + h4 { + margin: 0; + line-height: 80px; + } + + ul { + padding: 0; + margin: 0; + } + + .edit { + .editItem { + line-height: 40px; + display: flex; + span{ + margin-left: 10px; + } + } + } + } + } + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/otherInterface/components/createInterface/index.vue b/src/views/systemSetting/platform/otherInterface/components/createInterface/index.vue new file mode 100644 index 0000000..1be774b --- /dev/null +++ b/src/views/systemSetting/platform/otherInterface/components/createInterface/index.vue @@ -0,0 +1,260 @@ +<template> + <div class="createmyInterface"> + <main> + <div class="mainContent"> + <el-form ref="user" label-width="140px" autoComplete="on" :model="myInterface" + :rules="createmyInterfaceRules" label-position="right"> + <!-- 搴旂敤鍚嶇О --> + <el-form-item label="搴旂敤鍚嶇О:" prop="applicationName"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓搴旂敤鍚嶇О"></el-input> + </el-form-item> + <!-- 搴旂敤鍥炬爣 --> + <el-form-item label="搴旂敤鍥炬爣:" prop="applicationIconUrl"> + <div class="iconBox"> + <div class="upload"> + <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> + </div> + <div class="iconView"> + <span>绀烘剰鍥�</span> + <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> + </div> + <div class="tip"> + <span>鍙厑璁镐笂浼爅pg,jpeg,png,svg鏍煎紡鐨勫浘鐗囷紝寤鸿灏哄涓�105px*105px</span> + </div> + </div> + </el-form-item> + <!-- 搴旂敤绫诲瀷 --> + <el-form-item label="搴旂敤绫诲瀷:" prop="applicationType"> + <div class="optionItem"> + <el-radio-group v-model="myInterface.applicationType"> + <el-radio :label="1">缃戦〉搴旂敤</el-radio> + </el-radio-group> + </div> + </el-form-item> + <!--缃戠珯url --> + <el-form-item label="缃戠珯url:" prop="websiteUrl"> + <el-input v-model="myInterface.websiteUrl"></el-input> + </el-form-item> + <!-- 搴旂敤鎻忚堪 --> + <el-form-item label="搴旂敤鎻忚堪:" prop="description"> + <el-input v-model="myInterface.description" placeholder="璇峰~鍐欐弿杩�"></el-input> + </el-form-item> + <!-- 鎸夐挳 --> + <el-form-item> + <div class="optionBtn"> + <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 + </el-button> + <el-button class="btn reset">閲嶇疆</el-button> + </div> + </el-form-item> + </el-form> + </div> + </main> + </div> +</template> +<script> +export default { + data() { + const validateApplicationName = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); + } + }; + const validateApplicationIconUrl = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); + } else { + const rep = /^\w+$/; + if (!rep.test(value)) { + callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); + } + } + }; + const validateApplicationType = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑敤鎴峰鍚�")); + } else { + const rep = /^[\u4E00-\u9FA5]{2,4}$/; + if (!rep.test(value)) { + callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕"); + } + } + }; + const validatePhone = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); + } else { + const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ + if (!rep.test(value)) { + callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); + } + } + }; + return { + myInterface: { + }, + createmyInterfaceRules: { + applicationName: [ + { required: true, trigger: "blur", validator: validateApplicationName}, + ], + applicationIconUrl: [ + { required: true, trigger: "blur", validator: validateApplicationIconUrl }, + ], + applicationType: [ + { required: true, trigger: "blur", validator: validateApplicationType }, + ], + websiteUrl: [ + { required: true, trigger: "blur" }, + ], + description: [ + { required: false, trigger: "blur" }, + ], + }, + } + }, + created() { + const that = this; + }, + methods: { + handleUser() { + const { myInterface } = this; + this.$axios.post('sccg/system/portal/thirdApp/add', { + websiteUrl:myInterface.websiteUrl, + applicationIconUrl:myInterface.applicationIconUrl, + applicationType:0, + description:myInterface.description, + applicationName:myInterface.applicationName + }).then(res => { + console.log(res); + // if (res.code === 200) { + // this.refresh(); + // } + }) + }, + }, + props: ['refresh'] +} +</script> +<style lang="scss" scoped> +.createmyInterface { + border-radius: 1px; + background-color: #09152f; + + main { + text-align: left; + padding: 0 55px; + background-color: #09152f; + padding-bottom: 50px; + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + + .iconBox { + display: flex; + + .upload { + display: flex; + align-items: flex-end; + + img { + width: 120px; + height: 120px; + border-radius: 4px; + } + } + + .iconView { + display: flex; + flex-direction: column; + margin-left: 30px; + justify-content: flex-end; + + img { + width: 70px; + height: 70px; + border-radius: 4px; + } + } + + .tip { + display: flex; + align-items: flex-end; + margin-left: 30px; + font-size: 12px; + + span { + line-height: 20px; + } + } + } + .optionBtn{ + margin-top: 30px; + &::v-deep .el-button{ + padding: 12px 40px; + } + .reset{ + border: 1px solid #0079fe; + color: #0079fe; + } + } + &::v-deep .el-form-item__label { + color: #4b9bb7; + } + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + .addPerson { + display: flex; + list-style: none; + padding: 0; + + li { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } + } + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + } + } + + footer { + border-top: 1px solid #fff; + height: 80px; + display: flex; + align-items: center; + justify-content: flex-end; + padding-right: 20px; + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/otherInterface/components/viewInterface/index.vue b/src/views/systemSetting/platform/otherInterface/components/viewInterface/index.vue new file mode 100644 index 0000000..6b28ebb --- /dev/null +++ b/src/views/systemSetting/platform/otherInterface/components/viewInterface/index.vue @@ -0,0 +1,246 @@ +<template> + <div class="createmyInterface"> + <main> + <div class="mainContent"> + <el-form ref="user" label-width="140px" autoComplete="on" :model="myInterface" + :rules="createmyInterfaceRules" label-position="right"> + <!-- 搴旂敤鍚嶇О --> + <el-form-item label="搴旂敤鍚嶇О:" prop="applicationName"> + <el-input v-model="myInterface.applicationName" placeholder="濉啓搴旂敤鍚嶇О"></el-input> + </el-form-item> + <!-- 搴旂敤鍥炬爣 --> + <el-form-item label="搴旂敤鍥炬爣:" prop="applicationIconUrl"> + <div class="iconBox"> + <div class="upload"> + <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> + </div> + <div class="iconView"> + <span>绀烘剰鍥�</span> + <img src="@/assets/imgs/user/default-avatar.jpg" alt=""> + </div> + <div class="tip"> + <span>鍙厑璁镐笂浼爅pg,jpeg,png,svg鏍煎紡鐨勫浘鐗囷紝寤鸿灏哄涓�105px*105px</span> + </div> + </div> + </el-form-item> + <!-- 搴旂敤绫诲瀷 --> + <el-form-item label="搴旂敤绫诲瀷:" prop="applicationType"> + <div class="optionItem"> + <el-radio-group v-model="myInterface.applicationType"> + <el-radio :label="1">缃戦〉搴旂敤</el-radio> + </el-radio-group> + </div> + </el-form-item> + <!--缃戠珯url --> + <el-form-item label="缃戠珯url:" prop="websiteUrl"> + <el-input v-model="myInterface.websiteUrl"></el-input> + </el-form-item> + <!-- 搴旂敤鎻忚堪 --> + <el-form-item label="搴旂敤鎻忚堪:" prop="description"> + <el-input v-model="myInterface.description" placeholder="璇峰~鍐欐弿杩�"></el-input> + </el-form-item> + <!-- 鎸夐挳 --> + <!-- <el-form-item> + <div class="optionBtn"> + <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 + </el-button> + <el-button class="btn reset">閲嶇疆</el-button> + </div> + </el-form-item> --> + </el-form> + </div> + </main> + </div> +</template> +<script> +export default { + data() { + const validateApplicationName = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); + } + }; + const validateApplicationIconUrl = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); + } else { + const rep = /^\w+$/; + if (!rep.test(value)) { + callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); + } + } + }; + const validateApplicationType = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欑敤鎴峰鍚�")); + } else { + const rep = /^[\u4E00-\u9FA5]{2,4}$/; + if (!rep.test(value)) { + callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕"); + } + } + }; + const validatePhone = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); + } else { + const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ + if (!rep.test(value)) { + callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); + } + } + }; + return { + myInterface: { + }, + createmyInterfaceRules: { + applicationName: [ + { required: true, trigger: "blur", validator: validateApplicationName}, + ], + applicationIconUrl: [ + { required: true, trigger: "blur", validator: validateApplicationIconUrl }, + ], + applicationType: [ + { required: true, trigger: "blur", validator: validateApplicationType }, + ], + websiteUrl: [ + { required: true, trigger: "blur" }, + ], + description: [ + { required: false, trigger: "blur" }, + ], + }, + } + }, + created() { + const that = this; + const {userInfo} = this; + this.myInterface = JSON.parse(JSON.stringify(userInfo)); + }, + methods: { + }, + props: ['updateFlag','userInfo'] +} +</script> +<style lang="scss" scoped> +.createmyInterface { + border-radius: 1px; + background-color: #09152f; + + main { + text-align: left; + padding: 0 55px; + background-color: #09152f; + + .mainContent { + display: flex; + justify-content: center; + padding-top: 50px; + + .iconBox { + display: flex; + + .upload { + display: flex; + align-items: flex-end; + + img { + width: 120px; + height: 120px; + border-radius: 4px; + } + } + + .iconView { + display: flex; + flex-direction: column; + margin-left: 30px; + justify-content: flex-end; + + img { + width: 70px; + height: 70px; + border-radius: 4px; + } + } + + .tip { + display: flex; + align-items: flex-end; + margin-left: 30px; + font-size: 12px; + + span { + line-height: 20px; + } + } + } + .optionBtn{ + &::v-deep .el-button{ + padding: 12px 40px; + } + .reset{ + border: 1px solid #0079fe; + color: #0079fe; + } + } + &::v-deep .el-form-item__label { + color: #4b9bb7; + } + + &::v-deep .el-input__inner { + background-color: #09152f; + border: 1px solid #17324c; + } + + .addPerson { + display: flex; + list-style: none; + padding: 0; + + li { + background-color: #cccccc; + width: 36px; + height: 36px; + border-radius: 50%; + color: #fff; + text-align: center; + font-size: 30px; + margin-left: 10px; + } + } + + .el-form-item__content { + width: 400px; + + .el-select { + width: 100%; + } + } + + .optionHandleSp { + display: flex; + + .areaNumber, + .moreNumber { + flex: 1; + } + + .telNumber { + flex: 2; + } + } + + } + } + + footer { + border-top: 1px solid #fff; + height: 80px; + display: flex; + align-items: center; + justify-content: flex-end; + padding-right: 20px; + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/otherInterface/index.vue b/src/views/systemSetting/platform/otherInterface/index.vue index 8b407a0..8046f6e 100644 --- a/src/views/systemSetting/platform/otherInterface/index.vue +++ b/src/views/systemSetting/platform/otherInterface/index.vue @@ -1,5 +1,224 @@ <template> - <div> - + <div class="otherInterface"> + <header> + <div class="headerTitle">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 绗笁鏂瑰簲鐢ㄦ帴鍙g鐞�</div> + <div class="addInterface"> + <el-button class="add" @click="handleAdd">娣诲姞绗笁鏂规帴鍙�</el-button> + </div> + </header> + <main> + <div class="mainContent"> + <!-- @selection-change="handleSelectionChange" --> + <!-- 鏁版嵁娓叉煋 --> + <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" + :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" + :row-class-name="tableRowClassName"> + <el-table-column type="selection" width="55"> + </el-table-column> + <el-table-column label="搴旂敤鍚嶇О" prop="applicationName" min-width="10"> + </el-table-column> + <el-table-column prop="applicationType" label="搴旂敤绫诲瀷" min-width="10"> + </el-table-column> + <el-table-column prop="websiteUrl" label="缃戠珯鍦板潃" min-width="10"> + </el-table-column> + <el-table-column prop="description" label="搴旂敤鎻忚堪" min-width="10"> + </el-table-column> + <el-table-column label="鎿嶄綔" min-width="10"> + <template slot-scope="scope"> + <span @click="handleView(scope.row)">鏌ョ湅</span> + <span class="line">|</span> + <span @click="handleDelete(scope.row)">鍒犻櫎</span> + </template> + </el-table-column> + </el-table> + <!-- 鍒嗛〉 --> + <!-- <div class="pagination"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" + :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" + @next-click="handleNext"> + </el-pagination> + </div> --> + </div> + </main> + <footer> + <!-- 鍒涘缓寮圭獥 --> + <el-dialog :visible.sync="dialogCreate" title="鏂板绗笁鏂规帴鍙�" width="45%" v-if="dialogCreate" + :before-close="handleClose"> + <createInterface /> + </el-dialog> + <!-- 鏌ョ湅寮圭獥 --> + <el-dialog :visible.sync="dialogUpdate" :title="updateFlag ?'淇敼绗笁鏂规帴鍙�':'鏌ョ湅绗笁鏂规帴鍙�'" width="45%" v-if="dialogUpdate" + :before-close="handleClose"> + <viewInterface :updateFlag="updateFlag" :userInfo=userInfo /> + </el-dialog> + </footer> </div> -</template> \ No newline at end of file +</template> +<script> +import createInterface from './components/createInterface'; +import viewInterface from './components/viewInterface' +export default { + components: { + createInterface,viewInterface + }, + data() { + return { + tableData: [], + search: "", + dialogCreate: false, + dialogUpdate: false, + updateFlag: false, + userInfo: '', + // totalNum: 200, + // pageSize: 10, + // currentPage: 1, + } + }, + created() { + this.getUserList(); + }, + methods: { + // 鑾峰彇鎺ュ彛鍒楄〃 + getUserList() { + const that = this; + // const { currentPage, pageSize, search } = this; + this.dialogCreate = false; + this.$axios.get("sccg/system/portal/thirdApp/search").then(res => { + const { code, data } = res; + if (code == 200) { + this.tableData = data; + } + }) + }, + // 璁剧疆琛ㄦ牸鏂戦┈绾� + tableRowClassName({ row, rowIndex }) { + if ((rowIndex + 1) % 2 == 0) { + return 'warning-row'; + } else { + return 'success-row'; + } + return ''; + }, + // 鎵撳紑鏂板鐣岄潰 + handleAdd() { + this.dialogCreate = true; + }, + // 鍒涘缓寮圭獥鍏抽棴 + handleClose(done) { + const that = this; + this.$confirm('纭鍏抽棴锛�') + .then(_ => { + that.dialogCreate = false; + done(); + }) + .catch(_ => { }); + }, + // 鍒涘缓鏌ョ湅寮圭獥 + handleView(rowData){ + this.userInfo = rowData; + this.dialogUpdate = true; + }, + // 鍒犻櫎绗笁鏂规帴鍙� + handleDelete({id}){ + console.log(id); + this.$axios.delete('sccg/system/portal/thirdApp/delete',{params:{ + id + }}).then(res=>{ + console.log(res); + }) + } + // // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� + // changeCurrentPage(page) { + // this.currentPage = page; + // this.getUserList(); + // }, + // // 涓婁竴椤电偣鍑讳簨浠� + // handlePrev(page) { + // this.currentPage = page; + // this.getUserList(); + // }, + // // 涓嬩竴椤电偣鍑讳簨浠� + // handleNext(page) { + // this.currentPage = page; + // this.getUserList(); + // }, + } +} +</script> +<!-- sccg/system/portal/thirdApp/search --> +<style lang="scss" scoped> +.otherInterface { + header { + display: flex; + line-height: 60px; + justify-content: space-between; + padding: 0 20px; + color: #4b9bb7; + + &::v-deep .el-button { + background-color: #eb5d01; + border: none; + color: #fff; + border-radius: 20px; + } + } + + main { + .mainContent { + .el-table { + color: #4b9bb7; + + &::v-deep .el-table__empty-block { + background-color: #06122c; + } + + &::v-deep .el-table__empty-text { + color: #4b9bb7; + } + + &::v-deep .warning-row { + background-color: #06122c; + } + + &::v-deep .success-row { + background-color: #071f39; + } + } + .line{ + padding: 0 5px; + // margin-top: -10px; + } + } + } + + footer { + + &::v-deep .el-dialog__header, + &::v-deep .el-dialog__body { + background-color: #06122c; + } + + &::v-deep .el-dialog__header { + display: flex; + align-items: center; + background-color: #fff; + padding: 20px; + line-height: 60px; + } + + &::v-deep .el-dialog__title { + color: #4b9bb7; + } + + &::v-deep .el-dialog__close { + width: 20px; + height: 20px; + // color: #fff; + } + + &::v-deep .el-dialog__body { + padding: 0; + } + } +} +</style> \ No newline at end of file diff --git a/src/views/systemSetting/platform/portalSetting/index.vue b/src/views/systemSetting/platform/portalSetting/index.vue index 8c6a40d..3f9217c 100644 --- a/src/views/systemSetting/platform/portalSetting/index.vue +++ b/src/views/systemSetting/platform/portalSetting/index.vue @@ -2,7 +2,7 @@ <div class="log"> <header> <div clas="headerTitle"> - 绯荤粺璁剧疆 銆嬮棬鎴风鐞� 銆媗ogo绠$悊 + 绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > logo绠$悊 </div> </header> <main> -- Gitblit v1.8.0