From e500f3ad66d88053118d76f4c838f6f176736615 Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期三, 19 十月 2022 17:10:16 +0800 Subject: [PATCH] 封装table组件,封装上传组件,修改消息发布,修改bug --- dist.rar | 0 src/views/operate/message/myIndex/createUser/index.vue | 8 src/views/systemSetting/baseSetting/user/components/main/index.vue | 8 src/views/systemSetting/device/point/index.vue | 18 src/components/myUpload/index.vue | 105 ++++++ src/components/Table/index.vue | 221 +++++++++++- src/views/layout/components/Header/index.vue | 4 src/views/operate/log/index.vue | 62 ++ src/views/operate/message/myIndex/index.vue | 44 ++ src/router/index.js | 10 src/views/operate/myWait/index.vue | 14 src/views/operate/disposal/casepool/pool/index.vue | 31 + /dev/null | 379 ---------------------- src/views/operate/disposal/casepool/pool/createUser/ill/index.vue | 6 src/views/systemSetting/baseSetting/user/components/createUser/index.vue | 5 src/views/operate/lawEnforcement/index.vue | 47 ++ src/views/systemSetting/baseSetting/role/index.vue | 4 17 files changed, 480 insertions(+), 486 deletions(-) diff --git a/dist.rar b/dist.rar index c3739d7..1375850 100644 --- a/dist.rar +++ b/dist.rar Binary files differ diff --git a/src/components/Table/index.vue b/src/components/Table/index.vue index 23b30cf..42c1d51 100644 --- a/src/components/Table/index.vue +++ b/src/components/Table/index.vue @@ -1,25 +1,54 @@ <template> <div class="Table"> - <el-table ref="multipleTable" :data="tableData" 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" :min-width="5"> - </el-table-column> - <el-table-column v-for="(item,idx) in option.group" :key="item.prop" :label="item.label" :prop="item.prop" - :min-width="item['min-width'] ? item['item.min-width']:'10'"> - <template slot-scope="scope"> - <div v-if="item.type === 'text'"> - {{scope.row[item.prop]}} - </div> - <div v-else class="operationBox"> - <div class="divider" v-for="(child,index) in item.children" :key="child.operationName"> - <span @click="backMykey(scope.$index,child.mykey)">{{child.operationName}}</span> - <el-divider direction="vertical" v-if="index !== item.children.length-1"></el-divider> + <div class="datatable"> + <el-table ref="multipleTable" :data="tableData" 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" :min-width="5"> + </el-table-column> + <el-table-column v-for="(item,idx) in option.group" :key="item.prop" :label="item.label" + :prop="item.prop" :min-width="item['min-width'] ? item['item.min-width']:'10'"> + <template slot-scope="scope"> + <div v-if="item.type === 'text'"> + {{scope.row[item.prop]}} </div> - </div> - </template> - </el-table-column> - </el-table> + <slot v-else name="operation" :info="scope"> + <div class="operationBox"> + <div class="divider" v-for="(child,index) in item.children" :key="child.operationName"> + <!-- @click="backMykey(scope.$index,child.mykey)" --> + <span>{{child.operationName}}</span> + <el-divider direction="vertical" v-if="index !== item.children.length-1"> + </el-divider> + </div> + </div> + </slot> + </template> + </el-table-column> + </el-table> + </div> + <!-- tools --> + <div class="tools"> + <div class="funs"> + <div class="funsItem sp-item"> + <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> + </div> + <div class="funsItem sp-item"> + <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox> + </div> + <div class="funsItem"> + <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange"> + <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" + :disabled="item.disabled"> + </el-option> + </el-select> + </div> + </div> + <div class="pagination"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="myTotalNum" + :page-size="pageSize" @current-change="changeCurrentPage"> + </el-pagination> + </div> + </div> </div> </template> <script> @@ -27,22 +56,58 @@ export default { data() { return { - + myTotalNum: null, + pageSize: 2, + currentPage: 1, + all: false, + unsame: false, + myIdx: null, + options: [ + { + value: 1, + label: '鎵归噺鍚敤', + }, + { + value: 2, + label: '鎵归噺绂佺敤', + }, + { + value: 3, + label: '鎵归噺鍒犻櫎', + } + ], + tempList: [] } }, props: { + // 琛ㄦ牸鏁版嵁 tableData: { type: Array, dafault: () => [], }, + // 琛ㄥご銆乸rop銆佺被鍨� tableOption: { type: Object, default: () => { } }, - openDialog:{ - type:Function, - default:()=>{()=>{console.log(1)}} + // 寮圭獥 + openDialog: { + type: Function, + default: () => {} + }, + // 鑾峰彇褰撳墠椤� + getCurrentPage:{ + type: Function, + default: () => {} + }, + // 鍒嗛〉鎬绘暟 + totalNum:{ + type:Number, + default:1 } + }, + created(){ + this.myTotalNum = JSON.parse(JSON.stringify(this.totalNum)); }, computed: { option() { @@ -59,19 +124,113 @@ } return ''; }, - // 鑾峰彇鐐瑰嚮鐨勫叧閿瓧 - backMykey(index,value){ - this.$emit('openDialog',{index,mykey:value}) - } + // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� + changeCurrentPage(page) { + this.currentPage = page; + this.$emit('getCurrentPage',page); + }, + // 鍏ㄩ�� + selectAll() { + this.$refs.multipleTable.toggleAllSelection(); + }, + // 鍙嶉�� + disSame(list) { + list.forEach(row => { + this.$refs.multipleTable.toggleRowSelection(row) + }) + }, + // 鍒嗛〉涓嬫媺妗嗘壒閲忔搷浣� + async selectChange(list) { + console.log(this.tempList); + if (this.tempList.length !== 0) { + if (list === 3) { + await this.handleDelete(this.tempList); + } else if (list === 2) { + await this.mulUpdateStatus(this.tempList, 0); + } else { + await this.mulUpdateStatus(this.tempList, 1); + } + this.myIdx = null; + } else { + this.myIdx = null; + this.$message({ + type: 'warning', + message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁', + }) + } + }, } } </script> <style lang="scss" scoped> .Table { width: 100%; - .el-table{ + + .el-table { color: #4b9bb7; } + .tools { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + + .funs { + display: flex; + .sp-item{ + border: 1px solid #17324c; + } + .funsItem { + line-height: 28px; + display: flex; + align-items: center; + border-radius: 4px; + font-size: 12px; + margin-left: 10px; + + .el-checkbox { + width: 80px; + padding: 0 10px; + } + + .el-select { + width: 120px; + } + + &::v-deep .el-input__inner { + border: none; + background-color: #09152f; + } + + &:hover .el-checkbox { + color: #4b9bb7; + } + } + + } + + .pagination { + margin-top: 50px; + display: flex; + line-height: 50px; + justify-content: center; + + .el-pagination { + + &::v-deep li, + &::v-deep .btn-prev, + &::v-deep .btn-next { + background-color: #071f39; + color: #4b9bb7; + } + + &::v-deep .active { + background-color: #409eff; + color: #fff; + } + } + } + } &::v-deep .warning-row { background-color: #06122c; } @@ -79,10 +238,12 @@ &::v-deep .success-row { background-color: #071f39; } - .operationBox{ + + .operationBox { display: flex; } - .el-divider{ + + .el-divider { background-color: #4b9bb7; } } diff --git a/src/components/myUpload/index.vue b/src/components/myUpload/index.vue new file mode 100644 index 0000000..d51b510 --- /dev/null +++ b/src/components/myUpload/index.vue @@ -0,0 +1,105 @@ +<template> + <div class="my-upload"> + <el-upload :file-list="fileList" class="upload-demo" action="/sccg/file/medias" :multiple="multiple" + :show-file-list="flag" :before-upload="beforeUpload" :limit="limit" :on-success="handleSuccess" + :on-error="handleError" :list-type="listType" :headers="getToken()"> + <div class="upload-btn" :style="{'height':btnHeight,'width':btnWidth}"> + <i class="el-icon-plus"></i> + <span>涓婁紶鍥剧墖</span> + </div> + </el-upload> + </div> +</template> +<script> + +export default { + data() { + return { + // 鏂囦欢鍒楄〃 + fileList: [], + // 鏄惁鏄剧ず鏂囦欢鍒楄〃 + flag: true, + // 澶氶�� + multiple: false, + // 闄愬埗 + limit: 50, + // 鎸夐挳楂樺害 + btnHeight: '120px', + // 鎸夐挳瀹藉害 + btnWidth: '120px', + // 鏂囦欢鍒楄〃绫诲瀷 + listType: 'picture-card' + }; + }, + methods: { + // 涓婁紶涔嬪墠鍥炶皟 + beforeUpload(rawFile) { + console.log(rawFile); + if (rawFile.type !== 'image/png' && rawFile.type !== 'image/svg+xml' && rawFile.type !== 'image/jpg' && rawFile.type !== 'image/jpeg') { + this.$message.error('鍥剧墖蹇呴』鏄� jpg/svg/jpeg/png 鏍煎紡!') + return false + } else if (rawFile.size / 105 / 105 > 2) { + this.$message.error('涓婁紶鍥剧墖涓嶈兘瓒呰繃 2MB!') + return false + } + return true + }, + // 涓婁紶鎴愬姛鍥炶皟 + handleSuccess(res, file, filelist) { + console.log(res); + }, + // 涓婁紶澶辫触鍥炶皟 + handleError(err, file, fileList) { + console.log(err); + }, + // 鑾峰彇token + getToken() { + const token = sessionStorage.getItem('token'); + const tokenHead = sessionStorage.getItem('tokenHead'); + if (token && tokenHead) { + return { Authorization: tokenHead + token } + } + } + }, + props: { + + } +} +</script> +<style lang="scss" scoped> +.my-upload { + .upload-demo { + display: flex; + } + + :deep(.el-upload--picture-card) { + width: 120px; + height: 120px; + } + :deep(.el-upload-list__item){ + width: 120px; + height: 120px; + } + .upload-btn { + // background-color: rgba(249, 249, 249, 1); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 4px; + + &:hover i{ + color: #409eff; + } + + i { + font-size: 30px; + font-weight: 650; + } + + span { + line-height: 22px; + } + } +} +</style> \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 7e6331e..035541c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -36,11 +36,6 @@ component: () => import('@/views/systemSetting/baseSetting/role') }, { - path: 'authority', - name: 'authority', - component: () => import('@/views/systemSetting/baseSetting/authority') - }, - { path: 'department', name: 'department', component: () => import('@/views/systemSetting/baseSetting/department') @@ -114,11 +109,6 @@ name: 'illegalBuild', component: () => import('@/views/operate/baseSetting/illegalBuild'), }, - { - path: "threepack", - name: 'threepack', - component: () => import('@/views/operate/baseSetting/threepack'), - } ] }, { diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue index 5498981..7570cb8 100644 --- a/src/views/layout/components/Header/index.vue +++ b/src/views/layout/components/Header/index.vue @@ -240,7 +240,7 @@ position: absolute; top: 60px; width: 120px; - + z-index: 3000; .user-card__item { padding: 5px 0; @@ -273,7 +273,7 @@ top: 60px; width: 180px; left: -50px; - + z-index: 3000; :deep(.el-card__body) { padding: 0; } diff --git a/src/views/operate/baseSetting/threepack/createUser/index.vue b/src/views/operate/baseSetting/threepack/createUser/index.vue deleted file mode 100644 index f8a35ae..0000000 --- a/src/views/operate/baseSetting/threepack/createUser/index.vue +++ /dev/null @@ -1,186 +0,0 @@ -<template> - <div class="createUser"> - <main> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :rules="storeRules" :model="storeInfo" - label-position="right"> - <!-- 闂ㄥ簵涓讳汉 --> - <el-form-item class="optionItem" label="闂ㄥ簵涓讳汉:" prop="owner"> - <el-input v-model="storeInfo.owner" placeholder="璇峰~鍐欓棬搴椾富浜�"></el-input> - </el-form-item> - <!-- 韬唤璇佷俊鎭� --> - <el-form-item class="optionItems" label="韬唤璇佷俊鎭�:" prop="idcardinfo"> - <el-input placeholder="璇峰~鍐欒韩浠借瘉淇℃伅" v-model="storeInfo.idcardinfo"></el-input> - </el-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact"> - <el-input placeholder="璇峰~鍐欓棬搴楄仈绯绘柟寮�" v-model="storeInfo.contact"></el-input> - </el-form-item> - <!-- 闂ㄥ簵鍦板潃 --> - <el-form-item class="optionItem" label="闂ㄥ簵鍦板潃:" prop="storeaddr"> - <el-input placeholder="璇峰~鍐欓棬搴楀湴鍧�" v-model="storeInfo.storeaddr"></el-input> - </el-form-item> - <!-- 闂ㄥ簵鐓х墖 --> - <el-form-item class="optionItem" label="闂ㄥ簵鐓х墖:" prop="storephoto"> - <el-upload class="upload-demo" :show-file-list="false" - action="/sccg/file/medias" :headers="getToken()" multiple - :limit="50"> - <el-button type="primary" v-if="storeInfo.storephoto === '' ">涓婁紶闂ㄥ簵鍥剧墖</el-button> - <img :src="storeInfo.storephoto" alt="" v-else> - </el-upload> - </el-form-item> - <!-- 闂ㄥ簵鍚嶇О --> - <el-form-item class="optionItem" label="闂ㄥ簵鍚嶇О:" prop="storename"> - <el-input type="textarea" v-model="storeInfo.storename" placeholder="璇疯緭鍏ラ棬搴楀悕绉版弿杩板唴瀹�"></el-input> - </el-form-item> - <!-- 闂ㄥ簵绉垎 --> - <el-form-item class="optionItem" label="闂ㄥ簵绉垎:" prop="storescore"> - <el-input v-model="storeInfo.storescore" 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> - </div> - </el-form-item> - </el-form> - - </div> - </main> - </div> -</template> -<script> -export default { - data() { - // 鐢ㄦ埛濮撳悕楠岃瘉瑙勫垯 - const checkName = (rule,value,callback)=>{ - console.log(rule,value,callback); - if(!value){ - - } - } - return { - storeInfo: { - contact: '', - idcardinfo: '', - owner: '', - storeaddr: '', - storename: '', - storephoto: '', - storescore: '', - }, - storeRules: { - owner: [ - { required: true, trigger: 'blur', validator: checkName }, - ] - } - } - }, - created() { - - }, - methods: { - handleUser() { - this.$refs.user.validate((valid) => { - if (valid) { - const { storeInfo } = this; - console.log(storeInfo); - // this.$axios({ - // method: 'post', - // url: 'sccg/store/storeinfo/add', - // data: storeInfo - // }).then(res => { - // console.log(res); - // }) - // this.$axios.post('/sccg/role/update/', { - // id: role.id, - // status: role.status, - // description: role.description, - // name: role.name, - // sort: 0 - // }).then(res => { - // this.$emit('changeDialog', { dialogUpdate: false }); - // this.getUserList(); - // }) - } else { - return false; - } - }) - }, - // 鑾峰彇token - getToken() { - const token = sessionStorage.getItem('token'); - const tokenHead = sessionStorage.getItem('tokenHead'); - if (token && tokenHead) { - return { Authorization: tokenHead + token }; - } - } - }, - props: ['getUserList'] -} -</script> -<style lang="scss" scoped> -.createUser { - border-radius: 1px; - background-color: #09152f; - - main { - // border: 1px solid #fff; - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-bottom: 50px; - - .mainContent { - display: flex; - justify-content: center; - padding-top: 50px; - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - - } - } - - &::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - ::v-deep .el-form-item__label { - color: #4b9bb7; - } - - ::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/baseSetting/threepack/index.vue b/src/views/operate/baseSetting/threepack/index.vue deleted file mode 100644 index 3317bbc..0000000 --- a/src/views/operate/baseSetting/threepack/index.vue +++ /dev/null @@ -1,535 +0,0 @@ -<template> - <div class="userList"> - <div class="headerTitle"> - 杩愯惀绠$悊銆嬪熀纭�璁剧疆銆嬭繚瑙勪簨椤硅缃� - </div> - <header> - <div class="headerContent"> - <div class="search"> - <span>绛涢�夋潯浠�:</span> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input> - <div class="findBtn"> - <el-button type="primary" @click="getUserList">鏌ヨ</el-button> - </div> - </div> - <div class="addUser"> - <el-button class="addBtn" type="primary" @click="dialogCreate = true">鏂板闂ㄥ簵</el-button> - <el-dialog :visible.sync="dialogCreate" title="鏂板闂ㄥ簵" width="45%" v-if="dialogCreate" - :before-close="handleClose"> - <createUser :refresh="getUserList" /> - </el-dialog> - </div> - </div> - </header> - <main> - <div class="mainContent"> - <!-- 鏁版嵁灞曠ず --> - <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" - @selection-change="tableChange"> - <el-table-column type="selection" min-width="5"> - </el-table-column> - <el-table-column prop="id" label="闂ㄥ簵缂栧彿" min-width="10"> - </el-table-column> - <el-table-column prop="storePhoto" label="闂ㄥ簵鐓х墖" min-width="10"> - </el-table-column> - <el-table-column prop="sotreName" label="闂ㄥ簵鍚嶇О" min-width="10"> - </el-table-column> - <el-table-column prop="owner" label="濮撳悕" min-width="10"> - </el-table-column> - <el-table-column prop="storeAddress" label="鍦板潃" min-width="10"> - </el-table-column> - <el-table-column prop="contact" label="鑱旂郴鏂瑰紡" min-width="10"> - </el-table-column> - <el-table-column prop="storeScore" label="闂ㄥ簵绉垎" min-width="10"> - </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="10"> - <template slot-scope="scope"> - <div class="operation"> - <span @click="handleFind(scope.row)">鏌ョ湅</span> - <span class="line">|</span> - <span @click="handleDelete(scope.row)">鍒犻櫎</span> - </div> - </template> - </el-table-column> - </el-table> - <!-- 鏌ョ湅淇敼椤甸潰 --> - <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '鏉冮檺璁剧疆' :'鏌ョ湅瑙掕壊淇℃伅'" - v-if="dialogUpdate" :before-close="handleClose"> - <updateUser :updateFlag="updateFlag" :userInfo=userInfo - :getUserList=" context ? getUserList : getUserList" @changeDialog="changeDialog" /> - </el-dialog> - <!-- tools --> - <div class="tools"> - <div class="funs"> - <div class="funsItem"> - <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> - </div> - <div class="funsItem"> - <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox> - </div> - <div class="funsItem"> - <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange"> - <el-option v-for="item in options" :key="item.value" :label="item.label" - :value="item.value" :disabled="item.disabled"> - </el-option> - </el-select> - </div> - </div> - <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> - </div> - </main> - </div> -</template> -<script> -import updateUser from "./updateUser" -import createUser from "./createUser" -export default { - components: { - updateUser,createUser - }, - data() { - return { - tableData: [], - context: "", - dialogCreate: false, - dialogUpdate: false, - updateFlag: false, - userInfo: '', - totalNum: null, - pageSize: 10, - currentPage: 1, - all: false, - unsame: false, - myIdx: 0, - options: [ - { - value: 0, - label: '鎵归噺鎿嶄綔', - disabled: true, - }, - { - value: 1, - label: '鎵归噺鍚敤', - }, - { - value: 2, - label: '鎵归噺绂佺敤', - }, - { - value: 3, - label: '鎵归噺鍒犻櫎', - } - ], - tempList: [] - } - }, - created() { - this.getUserList(); - }, - methods: { - // 鎵归噺鍒犻櫎 - mulDelete(idArr){ - console.log(idArr); - this.$axios({ - method:'delete', - url:'sccg/violations/batch_delete?ids='+idArr, - }).then(res=>{ - this.getUserList(); - this.$message({ - message:res.message, - type:res.code === 200 ? 'success' : 'warning' - }) - }) - }, - // 鎵ц涓嬫媺妗嗘搷浣� - selectChange(val) { - let ids = []; - this.tempList.forEach(item => { - ids.push(item.number); - }) - if (ids.length !== 0) { - if (val === 3) { - this.mulDelete(ids); - } - } else { - this.$message({ - type: 'warning', - message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁', - }) - } - }, - // 鐩戝惉琛ㄦ牸閫変腑鐘舵�� - tableChange(list) { - this.tempList = list; - if (list.length === this.tableData.length) { - this.all = true; - } else { - this.all = false - } - }, - // 鍏ㄩ�� - selectAll() { - this.$refs.multipleTable.toggleAllSelection(); - }, - // 鍙嶉�� - disSame(list) { - list.forEach(row => { - this.$refs.multipleTable.toggleRowSelection(row) - }) - }, - // 鍒犻櫎鍗曟潯鏁版嵁 - handleDelete({ number }) { - console.log(number); - this.$confirm('纭鍒犻櫎锛�') - .then(_ => { - console.log(1); - this.$axios({ - method: 'delete', - url: `sccg/violations/delete?id=${number}`, - }) - .then(res => { - console.log(res); - this.$message({ - type: res.code === 200 ? 'success' : 'warning', - message: res.message - }) - - this.getUserList(); - }) - }) - .catch(_ => { console.log(2) }); - }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getUserList() { - const { currentPage, pageSize, context } = this; - // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� - this.$axios({ - method: 'get', - url: `sccg/store/storeinfo/list?pageNum=${currentPage}&size=${pageSize}&keyword=${context}`, - }) - .then(res => { - this.tableData = res.data.records; - this.totalNum = res.data.total; - }) - }, - // search() { - // const that = this; - // const { currentPage, pageSize, context } = this; - // // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� - // if (context == '') { - // this.$axios.get('sccg/role/list?keyword=' + '&pageNum=' + currentPage + '&pageSize=' + pageSize).then(res => { - // if (res.code === 200) { - // console.log(res); - // res.data.list.forEach(item => { - // // item.createTime = helper(item.createTime); - // item.status == 1 ? item.status = true : item.status = false; - // }) - // that.tableData = res.data.list; - // this.totalNum = res.data.list.length; - // } - // }) - // } else { - // this.$axios({ - // method: 'get', - // url: 'sccg/role/list?keyword=' + context + '&pageNum=' + currentPage + '&pageSize=' + pageSize, - // }).then(res => { - // if (res.code === 200) { - // res.data.list.forEach(item => { - // item.status == 1 ? item.status = true : item.status = false; - // }) - // that.tableData = res.data.list - // this.totalNum = res.data.list.length; - // } - // }) - // } - // }, - // 璁剧疆琛ㄦ牸鏂戦┈绾� - tableRowClassName({ row, rowIndex }) { - if ((rowIndex + 1) % 2 == 0) { - return 'warning-row'; - } else { - return 'success-row'; - } - return ''; - }, - // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼) - handleFind(rowData) { - this.dialogUpdate = true; - this.updateFlag = false; - this.userInfo = rowData; - }, - // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� - changeCurrentPage(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - this.getUserList(); - }, - changeDialog(val) { - this.dialogUpdate = val.dialogUpdate; - console.log(val); - }, - handleClose(done) { - this.$confirm('纭鍏抽棴锛�') - .then(_ => { - this.dialogCreate = false; - this.dialogUpdate = false; - done(); - }) - .catch(_ => { }); - } - } -} -</script> -<style lang="scss" scoped> -.userList { - text-align: left; - margin: 10px 20px; - color: #4b9bb7; - - .headerTitle { - line-height: 40px; - } - - header { - background-color: #09152f; - border: 1pox solid #fff; - - .headerContent { - padding: 0 40px; - display: flex; - line-height: 100px; - justify-content: space-between; - align-items: center; - - .search { - display: flex; - justify-content: flex-start; - - span { - flex: 1; - } - - .el-input { - flex: 2; - color: #1d3f57; - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - } - - } - - .findBtn { - line-height: 100px; - margin-left: 15px; - display: flex; - align-items: center; - margin-top: -2px; - - .el-button { - padding: 12px 25px; - border-radius: 20px; - } - } - - .addBtn { - background-color: #eb5d01; - border: none; - border-radius: 20px; - padding: 12px 30px; - } - } - } - - main { - background-color: #09152f; - margin-top: 20px; - padding-bottom: 50px; - border: 1pox solid #fff; - - .mainTitle { - line-height: 60px; - } - - .tools { - display: flex; - justify-content: space-between; - align-items: center; - padding: 0 20px; - - .funs { - display: flex; - - .funsItem { - line-height: 28px; - display: flex; - align-items: center; - border: 1px solid #17324c; - border-radius: 4px; - font-size: 12px; - margin-left: 10px; - - .el-checkbox { - width: 80px; - padding: 0 10px; - } - - .el-select { - width: 120px; - } - - &::v-deep .el-input__inner { - border: none; - background-color: #09152f; - } - - &:hover { - border: 1px solid #4b9bb7; - } - - &:hover .el-checkbox { - color: #4b9bb7; - } - } - - } - - .pagination { - margin-top: 50px; - display: flex; - line-height: 50px; - justify-content: center; - - .el-pagination { - - &::v-deep li, - &::v-deep .btn-prev, - &::v-deep .btn-next { - background-color: #071f39; - color: #4b9bb7; - } - - &::v-deep .active { - background-color: #409eff; - color: #fff; - } - } - } - } - - .el-table { - color: #4b9bb7; - font-size: 10px; - - &::v-deep .cell { - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - - &::v-deep .el-table__empty-block { - background-color: #09152f; - } - - &::v-deep .el-table__empty-block { - color: #4b9bb7; - } - - .operation { - display: flex; - - .line { - padding: 0 5px; - } - - span:hover { - cursor: pointer; - } - } - } - - .el-table::v-deep .warning-row { - background: #06122c; - } - - .el-table::v-deep .success-row { - background: #071f39; - } - - &::v-deep .switchStyle .el-switch__label { - position: absolute; - display: none; - color: #fff; - } - - &::v-deep .el-switch__core { - background-color: rgba(166, 166, 166, 1); - } - - &::v-deep .switchStyle .el-switch__label--left { - z-index: 9; - left: 20px; - } - - &::v-deep .switchStyle .el-switch__label--right { - z-index: 9; - left: 4px; - } - - &::v-deep .switchStyle .el-switch__label.is-active { - display: block; - } - - &::v-deep .switchStyle.el-switch .el-switch__core, - &::v-deep .el-switch .el-switch__label { - width: 50px !important; - } - } - - &::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/operate/baseSetting/threepack/updateUser/index.vue b/src/views/operate/baseSetting/threepack/updateUser/index.vue deleted file mode 100644 index 5b0cf9a..0000000 --- a/src/views/operate/baseSetting/threepack/updateUser/index.vue +++ /dev/null @@ -1,195 +0,0 @@ -<template> - <div class="updateUser"> - <main> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="things" label-position="right"> - <!-- 杩濊浜嬮」缂栧彿 --> - <el-form-item class="optionItem" label="杩濊浜嬮」缂栧彿:" prop="number"> - <el-input v-model="things.number" placeholder="璇峰~鍐欒繚瑙勪簨椤圭紪鍙�" :disabled="!updateFlag"></el-input> - </el-form-item> - <!-- 鎵�灞炵被鍨� --> - <el-form-item class="optionItems" label="鎵�灞炵被鍨�:" prop="typeThird"> - <el-select v-model="things.typeThird" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" disabled> - <el-option v-for="item in typeThirdList" :key="item.id" :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 鎵�灞炲ぇ绫� --> - <el-form-item class="optionItem" label="鎵�灞炲ぇ绫�:" prop="typeSecond"> - <el-select v-model="things.typeSecond" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" disabled> - <el-option v-for="item in typeSecondList" :key="item.id" :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 鎵�灞炲皬绫� --> - <el-form-item class="optionItem" label="鎵�灞炲皬绫�:" prop="typeFirst"> - <el-select v-model="things.typeFirst" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" disabled> - <el-option v-for="item in typeFirstList" :key="item.id" :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 妗堢敱 --> - <el-form-item class="optionItem" label="妗堢敱:" prop="type"> - <el-input type="textarea" autosize v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�" - :disabled="!updateFlag" disabled></el-input> - </el-form-item> - <!-- <el-form-item v-if="updateFlag"> - <div class="optionBtn"> - <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭 - </el-button> - </div> - </el-form-item> --> - </el-form> - - </div> - </main> - </div> -</template> -<script> -export default { - data() { - return { - things: { - number: 0, - type: '', - typeFirst: '', - typeSecond: '', - typeThird: '', - }, - roleList: [], - typeThirdList:[], - typeSecondList:[], - typeFirstList:[], - } - }, - created() { - console.log(this.userInfo); - this.things = JSON.parse(JSON.stringify(this.userInfo)); - // 鑾峰彇鎵�灞炵被鍨嬪垪琛� - this.getTypeThird(); - this.getTypeSecond(); - this.getTypeFirst(); - }, - methods: { - // handleUser() { - // this.$refs.user.validate((valid) => { - // if (valid) { - // const { role } = this; - // console.log(role); - // this.$axios.post('/sccg/role/update/' + role.id, { - // id: role.id, - // status: role.status, - // description: role.description, - // name: role.name, - // sort: 0 - // }).then(res => { - // this.$emit('changeDialog', { dialogUpdate: false }); - // this.getUserList(); - // }) - // } else { - // return false; - // } - // }) - // }, - // 鏌ヨ鎵�灞炵被鍨� - getTypeThird() { - this.$axios({ - method: 'get', - url: "sccg/violations/query/type_first", - }) - .then(res => { - this.typeThirdList = res.data; - }) - }, - // 鏌ヨ鎵�灞炲ぇ绫� - getTypeSecond(){ - this.$axios({ - method: 'get', - url: "sccg/violations/query/type_second", - }) - .then(res => { - this.typeSecondList = res.data; - }) - }, - // 鏌ヨ鎵�灞炲皬绫� - getTypeFirst(){ - this.$axios({ - method: 'get', - url: "sccg/violations/query/type_third", - }) - .then(res => { - this.typeFirstList = res.data; - }) - } - }, - props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog'] -} -</script> -<style lang="scss" scoped> -.updateUser { - border-radius: 1px; - background-color: #09152f; - - main { - // border: 1px solid #fff; - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-bottom: 50px; - - .mainContent { - display: flex; - justify-content: center; - padding-top: 50px; - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - - } - } - - &::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - ::v-deep .el-form-item__label { - color: #4b9bb7; - } - - ::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue b/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue index bdbfc1b..905a665 100644 --- a/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue +++ b/src/views/operate/disposal/casepool/pool/createUser/ill/index.vue @@ -124,6 +124,7 @@ </template> <script> import MyMap from '@/components/map' +import {parseTime} from '@/utils/index' import { validateName, validatePhone, validateCardId, validateNum } from '@/utils/validate' export default { components: { @@ -365,7 +366,10 @@ that.$axios({ method: 'post', url: 'sccg/base_case/addition_illegal_building', - data: ill, + data: { + ...ill, + alarmTime:parseTime(ill.alarmTime) + }, }) .then(res => { if (res.code === 200) { diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue index 7af8961..8799435 100644 --- a/src/views/operate/disposal/casepool/pool/index.vue +++ b/src/views/operate/disposal/casepool/pool/index.vue @@ -29,7 +29,7 @@ <MyIll v-if="newAddType === 1" :refresh="getUserList" :mytype=newAddType @changeDialog=changeDialog /> <!-- 杩濊鐧昏 --> - <myVio v-else :mytype=newAddType @changeDialog=changeDialog :refresh="getUserList" /> + <myVio v-else :refresh="getUserList" :mytype=newAddType @changeDialog=changeDialog /> </el-dialog> </div> </div> @@ -62,26 +62,33 @@ <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span> </template> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'category' :'category'" :label="mystatus===1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'" :min-width="mystatus===1?'10':'20'"> + <el-table-column :prop="mystatus === 1 ? 'category' :'category'" + :label="mystatus===1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'" :min-width="mystatus===1?'10':'15'"> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'" min-width="10"> + <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'" + min-width="10"> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'actionCause' :'communityId'" :label="mystatus===1 ? '妗堢敱' : '鎵�灞炵ぞ鍖�'" min-width="10"> + <el-table-column :prop="mystatus === 1 ? 'actionCause' :'communityId'" + :label="mystatus===1 ? '妗堢敱' : '鎵�灞炵ぞ鍖�'" min-width="10"> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '鎶ヨ鐐逛綅' : '杩濇硶寤虹瓚闀裤�佸銆侀珮'" :min-width="mystatus===1?'10' :'20' "> + <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '鎶ヨ鐐逛綅' : '杩濇硶寤虹瓚闀裤�佸銆侀珮'" + :min-width="mystatus===1?'10' :'20' "> <template slot-scope="scope"> - <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'绫�'+'銆�'+ scope.row.buildingWidth+'绫�'+'銆�'+scope.row.buildingHigh+'绫�'}}</span></div> + <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'绫�'+'銆�'+ + scope.row.buildingWidth+'绫�'+'銆�'+scope.row.buildingHigh+'绫�'}}</span></div> <div v-else>{{scope.row.site}}</div> </template> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'street' :'buildingArea'" :label="mystatus===1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'" min-width="10"> + <el-table-column :prop="mystatus === 1 ? 'street' :'buildingArea'" + :label="mystatus===1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'" min-width="10"> </el-table-column> <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15" v-if="mystatus===1"> <template slot-scope="scope"> <span>{{filterTime(scope.row.alarmTime)}}</span> </template> </el-table-column> - <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'" :label="mystatus===1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'" min-width="10"> + <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'" + :label="mystatus===1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'" min-width="10"> </el-table-column> <el-table-column prop="operation" label="鎿嶄綔" min-width="20"> <template slot-scope="scope"> @@ -509,7 +516,7 @@ }) }, // 澶勭悊鏃堕棿 - filterTime(time){ + filterTime(time) { return helper(time); } } @@ -583,6 +590,7 @@ } } } + main { background-color: #09152f; margin-top: 20px; @@ -644,9 +652,11 @@ .funs { display: flex; - .funs-sp{ + + .funs-sp { border: 1px solid #17324c; } + .funsItem { line-height: 28px; display: flex; @@ -708,6 +718,7 @@ white-space: nowrap; overflow: hidden; } + .operation { display: flex; diff --git a/src/views/operate/lawEnforcement/index.vue b/src/views/operate/lawEnforcement/index.vue index 68ec27e..d635173 100644 --- a/src/views/operate/lawEnforcement/index.vue +++ b/src/views/operate/lawEnforcement/index.vue @@ -1,11 +1,24 @@ <template> <div class="law-enforcement"> - <MyTable :tableData="list" :tableOption="tableOption" @openDialog="changeDialog"> + <!-- table琛ㄦ牸灞曠ず --> + <MyTable + :tableData="list" + :tableOption="tableOption" + :totalNum="totalNum" + @getCurrentPage="getCurrentPage" + @openDialog="changeDialog"> + <template #operation="{info}"> + <div class="btn"> + <!-- 鎿嶄綔鍖哄煙 --> + <!-- {{getData(info)}} --> + <span @click="dataView(info)">鏌ョ湅</span> + </div> + </template> </MyTable> - <!-- 缁勪欢鍖� --> + <!-- 寮圭獥 --> <div class="dialog"> <el-dialog v-if="visible" :visible.async="visible" title="闂鐧昏" width="60%" :before-close="handleClose"> - <MyView :viewData=showData /> + <MyView :viewData=showData /> </el-dialog> </div> </div> @@ -15,7 +28,7 @@ import MyView from './components/dataView' export default { components: { - MyTable,MyView + MyTable, MyView }, data() { return { @@ -63,21 +76,25 @@ children: [ { operationName: '鏌ョ湅', - mykey : 'look', + mykey: 'look', }, { operationName: '淇敼', - mykey:'update', + mykey: 'update', } ] }, ] }, - visible:false, - showData:{}, + visible: false, + totalNum:'', + showData: {}, } }, - methods:{ + created(){ + this.totalNum = this.list.length; + }, + methods: { // 鍏抽棴瀵硅瘽妗� handleClose(done) { this.$confirm('纭鍏抽棴锛�') @@ -88,10 +105,18 @@ .catch(_ => { }); }, // 鑾峰彇鎿嶄綔缁撴灉 - changeDialog({index,mykey}){ - console.log(index,mykey); + changeDialog({ index, mykey }) { + console.log(index, mykey); this.showData = this.list[index]; this.visible = true; + }, + // 鏁版嵁灞曠ず + dataView(data) { + console.log(data); + }, + // 鑾峰彇褰撳墠椤垫暟鎹� + getCurrentPage(current){ + console.log(current); } } } diff --git a/src/views/operate/log/index.vue b/src/views/operate/log/index.vue index 5480f57..f3786ff 100644 --- a/src/views/operate/log/index.vue +++ b/src/views/operate/log/index.vue @@ -12,7 +12,7 @@ </div> <div class="message-status"> <span>鎿嶄綔绫诲瀷:</span> - <el-select v-model="operationType" style="margin-left:20px"> + <el-select v-model="operationType"> <el-option v-for="item in operationTypeList" :key="item.id" :label="item.operationType" :value="item.operationType"> </el-option> @@ -20,7 +20,10 @@ </div> <div class="message-kind"> <span>鏃堕棿鑼冨洿:</span> - <el-input placeholder="閫夋嫨鏃堕棿鑼冨洿" v-model="timeArea"></el-input> + <el-date-picker v-model="mytime" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡"> + </el-date-picker> + <!-- <el-input placeholder="閫夋嫨鏃堕棿鑼冨洿" v-model="timeArea"></el-input> --> </div> <div class="find"> <el-button type="primary" icon="el-icon-search" @click="setTableData">鏌ヨ</el-button> @@ -38,13 +41,13 @@ </div> </div> <!-- 鏁版嵁灞曠ず --> - <el-table ref="multipleTable" + <el-table ref="multipleTable" :default-sort="{prop: 'createTime'}" :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" + :data="tableData" style="width: 100%" @sort-change="sortTime" :row-class-name="tableRowClassName" @selection-change="tableChange"> <el-table-column type="selection" min-width="5"> </el-table-column> - <el-table-column prop="createTime" label="鏃ュ織鏃堕棿" min-width="10"> + <el-table-column prop="createTime" sortable label="鏃ュ織鏃堕棿" min-width="10"> <template slot-scope="scope"> <span>{{changeTime(scope.row.createTime)}}</span> </template> @@ -120,10 +123,12 @@ label: '鎵归噺鍒犻櫎', } ], + mysort: 0, tempList: [], timeArea: '', operationType: '鍏ㄩ儴', operationTypeList: [], + mytime: '', } }, created() { @@ -140,6 +145,11 @@ current: currentPage, size: pageSize, }); + let fileName = arr.headers['content-disposition']; + console.log(fileName); + if (fileName) { + fileName = fileName.slice(fileName.indexOf('filename=') + 9); + } const blob = new Blob([arr.data], { type: 'application/octet-stream' }) @@ -149,7 +159,7 @@ const href = window.URL.createObjectURL(blob) downloadElement.href = href // // 涓嬭浇鍚庢枃浠跺悕 - // downloadElement.download = '鏃ュ織鎶ュ憡'+'.xlsx' + downloadElement.download = fileName document.body.appendChild(downloadElement) // 鐐瑰嚮涓嬭浇 downloadElement.click() @@ -165,7 +175,6 @@ // 鑾峰彇鎿嶄綔绫诲瀷 async getOperationType() { let arr = await this.getLogsOperationType(); - console.log(arr); arr.data.data.unshift({ id: 0, operationType: '鍏ㄩ儴' }) return arr.data.data; }, @@ -199,19 +208,30 @@ this.tableData = arr.records; this.totalNum = arr.total }, + // 鏃堕棿鎺掑簭 + sortTime({ column, prop, order }) { + if (order === 'ascending') { + this.mysort = 0 + } else { + this.mysort = 1 + } + this.setTableData(); + }, // 鑾峰彇鏃ュ織鏁版嵁 async getLogList() { - const { currentPage, pageSize, context, operationType } = this; + const { currentPage, pageSize, context, operationType, mysort } = this; let arr = await this.getLogsList({ content: context, current: currentPage, endTime: '', id: '', operationType: operationType === '鍏ㄩ儴' ? '' : operationType, - portEqulpment: '', + portEquipment: '', size: pageSize, startTime: '', + sort: mysort }) + console.log(arr) return arr.data.data; }, // 鎵归噺涓嬫媺妗嗘搷浣� @@ -330,6 +350,10 @@ if (index === 1) { this.setTableData(); } + }, + // + timechange(data) { + console.log(data); } } } @@ -364,19 +388,25 @@ .message-kind { display: flex; justify-content: flex-start; - - span { - flex: 1; - } - + align-items: center; + flex: 1; .el-input { - flex: 2; + flex: 1; color: #1d3f57; &::v-deep .el-input__inner { background-color: #09152f; border: 1px solid #17324c; } + } + .el-select{ + flex: 1; + } + .el-date-editor{ + flex: 1; + } + :deep(.el-range-input){ + background-color: #09152f; } } @@ -389,7 +419,7 @@ margin-top: -2px; .el-button { - padding: 12px 25px; + padding: 10px 20px; border-radius: 20px; } } diff --git a/src/views/operate/message/myIndex/createUser/index.vue b/src/views/operate/message/myIndex/createUser/index.vue index 9ecfc81..a3e141e 100644 --- a/src/views/operate/message/myIndex/createUser/index.vue +++ b/src/views/operate/message/myIndex/createUser/index.vue @@ -43,9 +43,9 @@ <!-- 鎻愰啋鏂瑰紡 --> <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode"> <el-radio-group v-model="role.channelCode"> - <el-radio :label="1">绔欏唴淇�</el-radio> - <el-radio :label="2">閭欢</el-radio> - <el-radio :label="3">鐭俊</el-radio> + <el-radio label="01">绔欏唴淇�</el-radio> + <el-radio label="02">閭欢</el-radio> + <el-radio label="03">鐭俊</el-radio> </el-radio-group> <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span> </el-form-item> @@ -104,7 +104,7 @@ targetTo: '', targetFrom:null, body: '', - channelCode: 1, + channelCode: '01', }, createRoleRules: { messageType: [ diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue index 24c4114..bd09596 100644 --- a/src/views/operate/message/myIndex/index.vue +++ b/src/views/operate/message/myIndex/index.vue @@ -12,11 +12,17 @@ </div> <div class="message-status"> <span>娑堟伅鐘舵��:</span> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input> + <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��"> + <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> </div> <div class="message-kind"> <span>娑堟伅鍒嗙被:</span> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input> + <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鍒嗙被"> + <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> </div> <div class="find"> <el-button type="primary" icon="el-icon-search">鏌ヨ</el-button> @@ -47,7 +53,7 @@ <span>{{changeTime(scope.row)}}</span> </template> </el-table-column> - <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="10"> + <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15"> </el-table-column> <el-table-column prop="channelCode" label="娑堟伅鍒嗙被" min-width="10"> <template slot-scope="scope"> @@ -149,7 +155,37 @@ label: '鎵归噺鍒犻櫎', } ], - tempList: [] + tempList: [], + messageStatus: 0, + messageKind: 0, + statusList: [ + { + label: '鍏ㄩ儴', + value: 0, + }, + { + label: '鏈彂甯�', + value: 1, + }, + { + label: '宸插彂甯�', + value: 2, + } + ], + kindList: [ + { + label: '鍏ㄩ儴', + value: 0, + }, + { + label: '鍏ㄩ儴', + value: 0, + }, + { + label: '鍏ㄩ儴', + value: 0, + }, + ] } }, created() { diff --git a/src/views/operate/myWait/index.vue b/src/views/operate/myWait/index.vue index 6eaf02b..6efd191 100644 --- a/src/views/operate/myWait/index.vue +++ b/src/views/operate/myWait/index.vue @@ -1,7 +1,7 @@ <template> <div class="userList"> <div class="headerTitle"> - 杩愯惀绠$悊銆嬪熀纭�璁剧疆銆嬭繚瑙勪簨椤硅缃� + 杩愯惀绠$悊銆嬫垜鐨勫緟鍔� </div> <header> <div class="headerContent"> @@ -12,13 +12,6 @@ <el-button type="primary" @click="getUserList">鏌ヨ</el-button> </div> </div> - <!-- <div class="addUser"> - <el-button class="addBtn" type="primary" @click="dialogCreate = true">鏂板杩濊绫诲瀷</el-button> - <el-dialog :visible.sync="dialogCreate" title="鏂板杩濊绫诲瀷" width="45%" v-if="dialogCreate" - :before-close="handleClose"> - <createUser :refresh="getUserList" /> - </el-dialog> - </div> --> </div> </header> <main> @@ -35,6 +28,9 @@ <el-table-column prop="category" label="闂灏忕被" min-width="10"> </el-table-column> <el-table-column prop="eventSource" label="闂鎻忚堪" min-width="10"> + <template slot-scope="scope"> + <span>{{scope.row.eventSource===1 ? '杩濊': '杩濆缓'}}</span> + </template> </el-table-column> <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10"> </el-table-column> @@ -43,7 +39,7 @@ <span>{{getRestTime(scope.row.limitTime)}}</span> </template> </el-table-column> - <el-table-column prop="type" label="闂鐘舵��" min-width="10"> + <el-table-column prop="stepName" label="闂鐘舵��" min-width="10"> </el-table-column> <el-table-column min-width="10"> </el-table-column> diff --git a/src/views/systemSetting/baseSetting/authority/createUser/index.vue b/src/views/systemSetting/baseSetting/authority/createUser/index.vue deleted file mode 100644 index 99aa8a6..0000000 --- a/src/views/systemSetting/baseSetting/authority/createUser/index.vue +++ /dev/null @@ -1,394 +0,0 @@ -<template> - <div class="createUser"> - <header> - <div class="headerTitle">鏂板璐︽埛</div> - <div class="headerTip"> - <span>*</span> - <label>涓哄繀濉」</label> - </div> - </header> - <main> - <div class="mainTitle">鍩虹淇℃伅</div> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules" - label-position="right"> - <!-- 鐢ㄦ埛鍚嶇О --> - <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="nickName"> - <el-input v-model="user.nickName" placeholder="濉啓鐢ㄦ埛鍚嶇О"></el-input> - </el-form-item> - <!-- 鐢ㄦ埛瀵嗙爜 --> - <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password"> - <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"></el-input> - </el-form-item> - <!-- 鎵�灞炵敤鎴峰鍚� --> - <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="username"> - <el-input v-model="user.username" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input> - </el-form-item> - <!-- 鎬у埆 --> - <!-- <el-form-item class="optionItem" label="鎬у埆:" prop="gender"> - <el-radio-group v-model="user.gender"> - <el-radio :label="1">鐢�</el-radio> - <el-radio :label="2">濂�</el-radio> - </el-radio-group> - </el-form-item> --> - <!-- 鏄惁鍏氬憳 --> - <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy"> - <el-radio-group v-model="user.isDy"> - <el-radio :label="1">鏄�</el-radio> - <el-radio :label="0">鍚�</el-radio> - </el-radio-group> - </el-form-item> - <!-- 鎵�灞炴墜鏈哄彿鐮� --> - <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile"> - <el-input v-model="user.mobile" placeholder="璇峰~鍐欐墜鏈哄彿鐮�"></el-input> - </el-form-item> - <!-- 閭鍦板潃 --> - <el-form-item class="optionItem" label="閭鍦板潃:" prop="email"> - <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�"></el-input> - </el-form-item> - <!-- 閫夋嫨瑙掕壊 --> - <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role"> - <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�"> - <el-option v-for="item in roleList" :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="userType"> - <el-select v-model="user.userType" 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="zj"> - <div class="optionHandleSp"> - <el-input class="areaNumber" v-model="user.zj.areaNumber" placeholder="鐢佃瘽鍖哄彿"> - </el-input> - <el-input class="telNumber" v-model="user.zj.phoneNumber" placeholder="鐢佃瘽鍙风爜"> - </el-input> - <el-input class="moreNumber" v-model="user.zj.moreNumber" placeholder="鍒嗘満鍙风爜"> - </el-input> - </div> - </el-form-item> - <!-- 鎵�灞為儴闂� --> - <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId"> - <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�"> - <el-option v-for="item in typeList" :key="item.name" :label="item.departName" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 褰撳墠鑱屽姟 --> - <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle"> - <el-select v-model="user.work" 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> - <!-- 濉啓鎵�灞瀖ac鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac"> - <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input> - </el-form-item> --> - <!-- 濉啓鎵�灞瀒p鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip"> - <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></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 validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); - } - }; - const validatePass = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - const rep = /^\w+$/; - if (!rep.test(value)) { - callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); - } - } - }; - const validateTruename = (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("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } - } - }; - const validateMail = (rule, value, callback) => { - if (value) { - const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; - if (!rep.test(value)) { - callback(new Error("璇疯緭鍏ユ纭殑閭")) - } - } - }; - const validateRole = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateType = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateDepartment = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateWork = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateMac = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateIp = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - return { - user: { - nickName: '', - password: '', - username: '', - // gender: 1, - isDy: 0, - mobile: '', - email: '', - // role: null, - userType: null, - zj: { - areaNumber: '', - phoneNumber: "", - moreNumber: "", - }, - departmentId: null, - jobTitle: null, - // mac: '', - // ip: '', - }, - createUserRules: { - nickName: [ - { required: true, trigger: "blur", validator: validateNickname }, - ], - password: [ - { required: true, trigger: "blur", validator: validatePass }, - ], - username: [ - { required: true, trigger: "blur", validator: validateTruename }, - ], - // gender: [ - // { required: true, trigger: "blur" }, - // ], - isDy: [ - { required: true, trigger: "blur" }, - ], - mobile: [ - { required: true, trigger: "blur", validator: validatePhone }, - ], - email: [ - { required: false, trigger: "blur", validator: validateMail }, - ], - // role: [ - // { required: true, trigger: "blur", validator: validateRole }, - // ], - userType: [ - { required: true, trigger: "blur", validator: validateType }, - ], - zj: [ - { required: false, trigger: "blur" }, - ], - departmentId: [ - { required: true, trigger: "blur", validator: validateDepartment }, - ], - jobTitle: [ - { required: true, trigger: "blur", validator: validateWork }, - ], - // mac: [ - // { required: false, trigger: "blur", validator: validateMac }, - // ], - // ip: [ - // { required: false, trigger: "blur", validator: validateIp }, - // ], - }, - roleList: [ - { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 } - ], - typeList: [] - } - }, - created() { - const that = this; - // 鑾峰彇瑙掕壊鍒楄〃 - // this.$axios.get('') - // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃 - // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{ - // console.log(res); - // }) - // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 - this.$axios.get('sccg/depart/page').then(res => { - that.typeList = res.data.records; - }) - }, - methods: { - handleUser() { - const { user } = this; - console.log(user); - this.$axios.post('sccg/admin/register', { - departmentId: user.departmentId, - email: user.email, - jsDy: user.isDy, - jobTitle: user.jobTitle, - mobile: user.mobile, - nickName: user.nickName, - password: user.password, - userType: user.userType, - username: user.username, - }).then(res => { - if (res.code === 200) { - this.refresh(); - } - }) - } - }, - props: ['refresh'] -} -</script> -<style lang="scss" scoped> -.createUser { - border-radius: 1px; - background-color: #09152f; - - header { - display: flex; - justify-content: space-between; - height: 60px; - line-height: 60px; - padding: 0 20px; - border: 1px solid #fff; - - .headerTitle { - color: #4b9bb7; - font-weight: 600; - } - - .headerTip span { - color: #ff3b6c; - } - - .headerTip label { - color: #4b9bb7; - } - } - - main { - border: 1px solid #fff; - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-bottom: 50px; - .mainTitle { - color: #4b9bb7; - font-weight: 600; - line-height: 100px; - font-size: 14px; - } - - .mainContent { - display: flex; - justify-content: center; - - &::v-deep .el-form-item__label { - color: #4b9bb7; - } - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - - } - } -} -</style> \ No newline at end of file diff --git a/src/views/systemSetting/baseSetting/authority/index.vue b/src/views/systemSetting/baseSetting/authority/index.vue deleted file mode 100644 index 21c4cc2..0000000 --- a/src/views/systemSetting/baseSetting/authority/index.vue +++ /dev/null @@ -1,347 +0,0 @@ -<template> - <div class="userList"> - <header> - <div class="headerContent"> - <div class="search"> - <span>绛涢�夋潯浠�:</span> - <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="search"></el-input> - <div class="findBtn"> - <el-button type="primary" @click="handlePhone">鏌ヨ</el-button> - </div> - </div> - <div class="addUser"> - <el-button class="addBtn" type="primary" @click="dialogCreate = true">娣诲姞鐢ㄦ埛</el-button> - <el-dialog :visible.sync="dialogCreate" width="45%" v-if="dialogCreate"> - <createUser :refresh="getUserList" /> - </el-dialog> - </div> - </div> - </header> - <main> - <div class="mainContent"> - <!-- 鏁版嵁灞曠ず --> - <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="鐢ㄦ埛ID" min-width="5"> - <template slot-scope="scope">{{ scope.row.id }}</template> - </el-table-column> - <el-table-column prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10"> - </el-table-column> - <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="10"> - </el-table-column> - <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="10"> - </el-table-column> - <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="10"> - </el-table-column> - <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="10"> - </el-table-column> - <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="10"> - </el-table-column> - <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10"> - </el-table-column> - <el-table-column prop="status" label="鍚敤" min-width="5"> - <template slot-scope="scope"> - <el-switch class="switchStyle" v-model="scope.row.status" active-text="寮�" inactive-text="鍏�" - active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)"> - </el-switch> - </template> - </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> - <template slot-scope="scope"> - <div class="operation"> - <!-- <span @click="handleChangeRole(scope.row)">淇敼瑙掕壊</span> --> - <span @click="handleFind(scope.row)">鏌ョ湅</span> - <span class="line">|</span> - <!-- <span>淇敼瀵嗙爜</span> --> - <!-- <span>鍒犻櫎</span> --> - <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span> - </div> - </template> - </el-table-column> - </el-table> - <!-- 鏌ョ湅淇敼椤甸潰 --> - <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate"> - <updateUser :updateFlag="updateFlag" :userInfo=userInfo /> - </el-dialog> - <!-- 鍒嗛〉 --> - <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> - </div> -</template> -<script> -import createUser from "./createUser" -import updateUser from "./updateUser" -import helper from "@/utils/mydate.js" -export default { - components: { - createUser, updateUser - }, - data() { - return { - tableData: [], - search: "", - dialogCreate: false, - dialogUpdate: false, - updateFlag: false, - userInfo: '', - totalNum: 200, - pageSize: 4, - currentPage: 1, - } - }, - created() { - this.getUserList(); - }, - methods: { - // 淇敼瑙掕壊 - handleChangeRole(obj) { - this.dialogUpdate = true - this.user = obj; - // console.log(obj) - }, - // 淇敼鐢ㄦ埛鐘舵�� - handleChangeStatus(obj) { - let { id, status } = obj; - status == true ? status = 1 : status = 0; - console.log(id, status); - this.$axios.post(`sccg/admin/updateStatus/` + id + '?status=' + status).then(res => { - console.log(res); - }) - }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getUserList() { - const that = this; - this.dialogCreate = false; - // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� - this.$axios.get('sccg/admin/list').then(res => { - if (res.code === 200) { - res.data.records.forEach(item => { - item.createTime = helper(item.createTime); - item.status == 1 ? item.status = true : item.status = false; - }) - that.totalNum = res.data.records.length; - that.tableData = res.data.records; - } - }) - }, - // 璁剧疆琛ㄦ牸鏂戦┈绾� - tableRowClassName({ row, rowIndex }) { - if ((rowIndex + 1) % 2 == 0) { - return 'warning-row'; - } else { - return 'success-row'; - } - return ''; - }, - // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼) - handleFind(rowData) { - this.dialogUpdate = true; - this.updateFlag = false; - this.userInfo = rowData; - }, - // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅 - handleUpdate(rowData) { - this.dialogUpdate = true; - this.updateFlag = true; - this.userInfo = rowData - }, - // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� - changeCurrentPage(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - this.getUserList(); - }, - // 鐢ㄦ埛鏌ヨ(鏆傛椂鏀寔鐢佃瘽鍙风爜) - handlePhone() { - const { search, getUserList } = this; - const that = this; - if (search == '') { - getUserList(); - return; - } - this.dialogCreate = false; - // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭� - this.$axios.get(`sccg/admin/list?mobile=${search}`).then(res => { - if (res.code === 200) { - res.data.records.forEach(item => { - item.createTime = helper(item.createTime); - item.status == 1 ? item.status = true : item.status = false; - }) - that.totalNum = res.data.records.length; - that.tableData = res.data.records; - } - }) - } - } -} -</script> -<style lang="scss" scoped> -.userList { - text-align: left; - margin: 10px 20px; - color: #4b9bb7; - - header { - background-color: #09152f; - border: 1pox solid #fff; - - .headerContent { - padding: 0 40px; - display: flex; - line-height: 100px; - justify-content: space-between; - align-items: center; - - .search { - display: flex; - justify-content: flex-start; - - span { - flex: 1; - } - - .el-input { - flex: 2; - color: #1d3f57; - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - } - - } - - .findBtn { - line-height: 100px; - margin-left: 15px; - display: flex; - align-items: center; - margin-top: -2px; - - .el-button { - padding: 12px 25px; - border-radius: 20px; - } - } - - .addBtn { - background-color: #eb5d01; - border: none; - border-radius: 20px; - padding: 12px 30px; - } - } - } - - main { - background-color: #09152f; - margin-top: 20px; - padding-bottom: 50px; - border: 1pox solid #fff; - - .mainTitle { - line-height: 60px; - } - - .pagination { - margin-top: 50px; - display: flex; - line-height: 50px; - justify-content: center; - - &::v-deep li, - &::v-deep .btn-prev, - &::v-deep .btn-next { - background-color: #071f39; - color: #4b9bb7; - } - } - - .el-table { - color: #4b9bb7; - font-size: 10px; - - &::v-deep .el-table__empty-block { - background-color: #09152f; - } - - &::v-deep .el-table__empty-block { - color: #4b9bb7; - } - - .operation { - display: flex; - - .line { - padding: 0 5px; - } - - span:hover { - cursor: pointer; - } - } - } - - .el-table::v-deep .warning-row { - background: #06122c; - } - - .el-table::v-deep .success-row { - background: #071f39; - } - - &::v-deep .switchStyle .el-switch__label { - position: absolute; - display: none; - color: #fff; - } - - &::v-deep .el-switch__core { - background-color: rgba(166, 166, 166, 1); - } - - &::v-deep .switchStyle .el-switch__label--left { - z-index: 9; - left: 20px; - } - - &::v-deep .switchStyle .el-switch__label--right { - z-index: 9; - left: 4px; - } - - &::v-deep .switchStyle .el-switch__label.is-active { - display: block; - } - - &::v-deep .switchStyle.el-switch .el-switch__core, - &::v-deep .el-switch .el-switch__label { - width: 50px !important; - } - } - - &::v-deep .el-dialog__header, - &::v-deep .el-dialog__body { - background-color: #06122c; - } -} -</style> \ No newline at end of file diff --git a/src/views/systemSetting/baseSetting/authority/updateUser/index.vue b/src/views/systemSetting/baseSetting/authority/updateUser/index.vue deleted file mode 100644 index 270ee8c..0000000 --- a/src/views/systemSetting/baseSetting/authority/updateUser/index.vue +++ /dev/null @@ -1,379 +0,0 @@ -<template> - <div class="updateUser"> - <header> - <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div> - </header> - <main> - <div class="mainTitle">鍩虹淇℃伅</div> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules" - label-position="right"> - <!-- 鐢ㄦ埛鍚嶇О --> - <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="username"> - <el-input v-model="user.username" placeholder="濉啓鐢ㄦ埛鍚嶇О" :disabled="true"></el-input> - </el-form-item> - <!-- 鐢ㄦ埛瀵嗙爜 --> - <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password"> - <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" :disabled="true"> - </el-input> - </el-form-item> - <!-- 鎵�灞炵敤鎴峰鍚� --> - <!-- <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="true_name"> - <el-input v-model="user.true_name" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input> - </el-form-item> --> - <!-- 鎬у埆 --> - <!-- <el-form-item class="optionItem" label="鎬у埆:" prop="gender"> - <el-radio-group v-model="user.gender"> - <el-radio :label="1">鐢�</el-radio> - <el-radio :label="2">濂�</el-radio> - </el-radio-group> - </el-form-item> --> - <!-- 鏄惁鍏氬憳 --> - <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy"> - <el-radio-group v-model="user.isDy" disabled> - <el-radio :label="1">鏄�</el-radio> - <el-radio :label="0">鍚�</el-radio> - </el-radio-group> - </el-form-item> - <!-- 鎵�灞炴墜鏈哄彿鐮� --> - <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile"> - <el-input v-model="user.mobile" placeholder="璇峰~鍐欐墜鏈哄彿鐮�" :disabled="true"></el-input> - </el-form-item> - <!-- 閭鍦板潃 --> - <el-form-item class="optionItem" label="閭鍦板潃:" prop="email"> - <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�" :disabled="true"></el-input> - </el-form-item> - <!-- 閫夋嫨瑙掕壊 --> - <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role"> - <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�"> - <el-option v-for="item in roleList" :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="userType"> - <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <!-- 搴ф満/鍒嗘満 --> - <!-- <el-form-item class="optionItem" label="搴ф満/鍒嗘満:" prop="zj"> - <div class="optionHandleSp"> - <el-input class="areaNumber" v-model="user.zj.areaNumber" placeholder="鐢佃瘽鍖哄彿"> - </el-input> - <el-input class="telNumber" v-model="user.zj.phoneNumber" placeholder="鐢佃瘽鍙风爜"> - </el-input> - <el-input class="moreNumber" v-model="user.zj.moreNumber" placeholder="鍒嗘満鍙风爜"> - </el-input> - </div> - </el-form-item> --> - <!-- 鎵�灞為儴闂� --> - <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId"> - <el-select v-model="user.department" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!updateFlag"> - <el-option v-for="item in typeList" :key="item.name" :label="item.departName" - :value="item.id"> - </el-option> - </el-select> - </el-form-item> - <!-- 褰撳墠鑱屽姟 --> - <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle"> - <el-select v-model="user.work" placeholder="璇烽�夋嫨褰撳墠鑱屽姟" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <!-- 濉啓鎵�灞瀖ac鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac"> - <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input> - </el-form-item> --> - <!-- 濉啓鎵�灞瀒p鍦板潃 --> - <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip"> - <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input> - </el-form-item> --> - <el-form-item v-if="updateFlag"> - <div class="optionBtn"> - <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦 - </el-button> - </div> - </el-form-item> - </el-form> - - </div> - </main> - </div> -</template> -<script> -export default { - data() { - const validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); - } - }; - const validatePass = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - const rep = /^\w+$/; - if (!rep.test(value)) { - callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); - } - } - }; - const validateTruename = (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("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } - } - }; - const validateMail = (rule, value, callback) => { - if (value) { - const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; - if (!rep.test(value)) { - callback(new Error("璇疯緭鍏ユ纭殑閭")) - } - } - }; - const validateRole = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateType = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateDepartment = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateWork = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateMac = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - const validateIp = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); - } else { - callback(); - } - }; - return { - user: { - nickName: '', - password: '', - username: '', - // gender: 1, - isDy: 1, - mobile: '', - email: '', - // role: null, - userType: null, - zj: { - areaNumber: '', - phoneNumber: "", - moreNumber: "", - }, - departmentId: null, - jobTitle: null, - // mac: '', - // ip: '', - }, - createUserRules: { - nickName: [ - { required: true, trigger: "blur", validator: validateNickname }, - ], - password: [ - { required: true, trigger: "blur", validator: validatePass }, - ], - username: [ - { required: true, trigger: "blur", validator: validateTruename }, - ], - // gender: [ - // { required: true, trigger: "blur" }, - // ], - isDy: [ - { required: true, trigger: "blur" }, - ], - mobile: [ - { required: true, trigger: "blur", validator: validatePhone }, - ], - email: [ - { required: false, trigger: "blur", validator: validateMail }, - ], - // role: [ - // { required: true, trigger: "blur", validator: validateRole }, - // ], - userType: [ - { required: true, trigger: "blur", validator: validateType }, - ], - zj: [ - { required: false, trigger: "blur" }, - ], - departmentId: [ - { required: true, trigger: "blur", validator: validateDepartment }, - ], - jobTitle: [ - { required: true, trigger: "blur", validator: validateWork }, - ], - // mac: [ - // { required: false, trigger: "blur", validator: validateMac }, - // ], - // ip: [ - // { required: false, trigger: "blur", validator: validateIp }, - // ], - }, - roleList: [ - { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 } - ], - typeList: [] - } - }, - created() { - const that = this; - this.user = JSON.parse(JSON.stringify(that.userInfo)); - // 鑾峰彇瑙掕壊鍒楄〃 - // this.$axios.get('') - // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃 - // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{ - // console.log(res); - // }) - // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 - this.$axios.get('sccg/depart/page').then(res => { - that.typeList = res.data.records; - }) - }, - methods: { - handleUser() { - const { user } = this; - this.$axios.post('sccg/depart/status', { - id: user.departmentId, - status: user.status ? 1 : 0, - }).then(res => { - console.log(res); - }) - } - }, - props: ['userInfo', 'updateFlag'] -} -</script> -<style lang="scss" scoped> -.updateUser { - border-radius: 1px; - background-color: #09152f; - - header { - display: flex; - justify-content: center; - height: 60px; - line-height: 60px; - padding: 0 20px; - border: 1px solid #fff; - .headerTitle { - color: #4b9bb7; - font-weight: 600; - } - - .headerTip span { - color: #ff3b6c; - } - - .headerTip label { - color: #4b9bb7; - } - } - - main { - border: 1px solid #fff; - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-bottom: 50px; - .mainTitle { - color: #4b9bb7; - font-weight: 600; - line-height: 100px; - font-size: 14px; - } - - .mainContent { - display: flex; - justify-content: center; - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - - } - } -} - -.updateUser::v-deep .el-form-item__label { - color: #4b9bb7; -} - -.updateUser::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; -} -</style> \ No newline at end of file diff --git a/src/views/systemSetting/baseSetting/role/index.vue b/src/views/systemSetting/baseSetting/role/index.vue index 38ead8d..84b1695 100644 --- a/src/views/systemSetting/baseSetting/role/index.vue +++ b/src/views/systemSetting/baseSetting/role/index.vue @@ -34,8 +34,8 @@ </el-table-column> <el-table-column prop="sort" label="瑙掕壊绫诲瀷" min-width="10"> </el-table-column> - <el-table-column prop="adminCount" label="榛樿瑙掕壊" min-width="10"> - </el-table-column> + <!-- <el-table-column prop="adminCount" label="榛樿瑙掕壊" min-width="10"> + </el-table-column> --> <el-table-column prop="description" label="澶囨敞" min-width="10"> </el-table-column> <el-table-column prop="status" label="鍚敤" min-width="5"> diff --git a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue index 2ef5e07..0d2574d 100644 --- a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue +++ b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue @@ -22,7 +22,8 @@ placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"></el-input> </el-form-item> </div> - <div class="item-right">閲嶆柊杈撳叆瀵嗙爜鍗充负淇敼锛屽瘑鐮佹湁鏁堟湡榛樿涓�3涓湀</div> + <div class="item-right"></div> + <!-- 閲嶆柊杈撳叆瀵嗙爜鍗充负淇敼锛屽瘑鐮佹湁鏁堟湡榛樿涓�3涓湀 --> </div> <!-- 鎵�灞炵敤鎴峰鍚� --> <div class="user-item"> @@ -181,7 +182,7 @@ data() { const validateNickname = (rule, value, callback) => { if (!value) { - callback(new Error("鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖")); + callback(new Error("鎵�灞炲鍚嶄笉鑳戒负绌�")); } else { callback(); } diff --git a/src/views/systemSetting/baseSetting/user/components/main/index.vue b/src/views/systemSetting/baseSetting/user/components/main/index.vue index 0b3024f..803720a 100644 --- a/src/views/systemSetting/baseSetting/user/components/main/index.vue +++ b/src/views/systemSetting/baseSetting/user/components/main/index.vue @@ -8,7 +8,7 @@ @selection-change="tableChange"> <el-table-column type="selection" min-width="5"> </el-table-column> - <el-table-column label="鐢ㄦ埛ID" min-width="4"> + <el-table-column label="鐢ㄦ埛ID" min-width="6"> <template slot-scope="scope">{{ scope.row.id }}</template> </el-table-column> <el-table-column prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10"> @@ -39,7 +39,7 @@ </el-switch> </template> </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="22"> + <el-table-column prop="operation" label="鎿嶄綔" min-width="20"> <template slot-scope="scope"> <div class="operation"> <span @click="handleChangeRole(scope.row,'role')">淇敼瑙掕壊</span> @@ -464,9 +464,9 @@ font-size: 10px; .operation { display: flex; - + font-size: 10px; .line { - padding: 0 5px; + padding: 0 1px; } span:hover { diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue index acc4e86..a0df916 100644 --- a/src/views/systemSetting/device/point/index.vue +++ b/src/views/systemSetting/device/point/index.vue @@ -1,5 +1,19 @@ <template> <div class="point"> - 111 + <MyUpload></MyUpload> </div> -</template> \ No newline at end of file +</template> +<script> +// 寮曞叆涓婁紶缁勪欢 +import MyUpload from '@/components/myUpload' +export default { + components:{ + MyUpload + }, + data() { + return { + + } + } +} +</script> \ No newline at end of file -- Gitblit v1.8.0